fix(core): update
This commit is contained in:
		| @@ -15,15 +15,15 @@ | ||||
|   "author": "Lossless GmbH", | ||||
|   "license": "MIT", | ||||
|   "dependencies": { | ||||
|     "@design.estate/dees-domtools": "^2.0.38", | ||||
|     "@design.estate/dees-element": "^2.0.25", | ||||
|     "@design.estate/dees-domtools": "^2.0.39", | ||||
|     "@design.estate/dees-element": "^2.0.27", | ||||
|     "@design.estate/dees-wcctools": "^1.0.78", | ||||
|     "@fortawesome/fontawesome-svg-core": "^6.4.2", | ||||
|     "@fortawesome/free-brands-svg-icons": "^6.4.2", | ||||
|     "@fortawesome/free-regular-svg-icons": "^6.4.2", | ||||
|     "@fortawesome/free-solid-svg-icons": "^6.4.2", | ||||
|     "@push.rocks/smartpromise": "^4.0.3", | ||||
|     "@push.rocks/smartstring": "^4.0.8", | ||||
|     "@push.rocks/smartstring": "^4.0.9", | ||||
|     "@tsclass/tsclass": "^4.0.42", | ||||
|     "highlight.js": "11.8.0", | ||||
|     "pdfjs-dist": "^2.16.105" | ||||
| @@ -35,7 +35,7 @@ | ||||
|     "@gitzone/tswatch": "^2.0.7", | ||||
|     "@push.rocks/projectinfo": "^5.0.2", | ||||
|     "@push.rocks/tapbundle": "^5.0.15", | ||||
|     "@types/node": "^20.5.1" | ||||
|     "@types/node": "^20.5.9" | ||||
|   }, | ||||
|   "files": [ | ||||
|     "ts/**/*", | ||||
|   | ||||
							
								
								
									
										188
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										188
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							| @@ -6,14 +6,14 @@ settings: | ||||
|  | ||||
| dependencies: | ||||
|   '@design.estate/dees-domtools': | ||||
|     specifier: ^2.0.38 | ||||
|     version: 2.0.38 | ||||
|     specifier: ^2.0.39 | ||||
|     version: 2.0.39 | ||||
|   '@design.estate/dees-element': | ||||
|     specifier: ^2.0.25 | ||||
|     version: 2.0.25 | ||||
|     specifier: ^2.0.27 | ||||
|     version: 2.0.27 | ||||
|   '@design.estate/dees-wcctools': | ||||
|     specifier: ^1.0.78 | ||||
|     version: 1.0.78(@types/node@20.5.1) | ||||
|     version: 1.0.78(@types/node@20.5.9) | ||||
|   '@fortawesome/fontawesome-svg-core': | ||||
|     specifier: ^6.4.2 | ||||
|     version: 6.4.2 | ||||
| @@ -30,8 +30,8 @@ dependencies: | ||||
|     specifier: ^4.0.3 | ||||
|     version: 4.0.3 | ||||
|   '@push.rocks/smartstring': | ||||
|     specifier: ^4.0.8 | ||||
|     version: 4.0.8 | ||||
|     specifier: ^4.0.9 | ||||
|     version: 4.0.9 | ||||
|   '@tsclass/tsclass': | ||||
|     specifier: ^4.0.42 | ||||
|     version: 4.0.42 | ||||
| @@ -51,10 +51,10 @@ devDependencies: | ||||
|     version: 2.0.8 | ||||
|   '@gitzone/tstest': | ||||
|     specifier: ^1.0.77 | ||||
|     version: 1.0.77(@types/node@20.5.1)(sinon@15.2.0) | ||||
|     version: 1.0.77(@types/node@20.5.9)(sinon@15.2.0) | ||||
|   '@gitzone/tswatch': | ||||
|     specifier: ^2.0.7 | ||||
|     version: 2.0.7(@types/node@20.5.1) | ||||
|     version: 2.0.7(@types/node@20.5.9) | ||||
|   '@push.rocks/projectinfo': | ||||
|     specifier: ^5.0.2 | ||||
|     version: 5.0.2 | ||||
| @@ -62,8 +62,8 @@ devDependencies: | ||||
|     specifier: ^5.0.15 | ||||
|     version: 5.0.15(sinon@15.2.0) | ||||
|   '@types/node': | ||||
|     specifier: ^20.5.1 | ||||
|     version: 20.5.1 | ||||
|     specifier: ^20.5.9 | ||||
|     version: 20.5.9 | ||||
|  | ||||
| packages: | ||||
|  | ||||
| @@ -77,6 +77,21 @@ packages: | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
|  | ||||
|   /@api.global/typedrequest-interfaces@3.0.1: | ||||
|     resolution: {integrity: sha512-eR2Cr01BYRwIq/X2ajOenWhm8l+/YE4A5kK/9V6I8ZnhtEBMFHG6YjF6Fg8npLJWbvhZXhOms+axZ6JKI71o8g==} | ||||
|     dev: false | ||||
|  | ||||
|   /@api.global/typedrequest@3.0.1: | ||||
|     resolution: {integrity: sha512-ed7wIqK7ErjHsiy+5UMB6lhtRzwfnaurNu/pbjQz67Pugk5DLUuuw36YyIlDhRepoPS4L2EY6zL+wsCciTCcoQ==} | ||||
|     dependencies: | ||||
|       '@api.global/typedrequest-interfaces': 3.0.1 | ||||
|       '@push.rocks/isounique': 1.0.5 | ||||
|       '@push.rocks/lik': 6.0.5 | ||||
|       '@push.rocks/smartdelay': 3.0.5 | ||||
|       '@push.rocks/smartpromise': 4.0.3 | ||||
|       '@push.rocks/webrequest': 3.0.33 | ||||
|     dev: false | ||||
|  | ||||
|   /@apiglobal/typedrequest-interfaces@1.0.20: | ||||
|     resolution: {integrity: sha512-ybsDtavYbzGJYSLodSbkxDvSLYtfMzBTuNZDJpiANt1rZA2MO/GCq8zk5MVLlrUUQIr/7oxPGWqxi1QDwR+RHQ==} | ||||
|  | ||||
| @@ -170,8 +185,8 @@ packages: | ||||
|       js-tokens: 4.0.0 | ||||
|     dev: true | ||||
|  | ||||
|   /@babel/runtime@7.22.10: | ||||
|     resolution: {integrity: sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==} | ||||
|   /@babel/runtime@7.22.15: | ||||
|     resolution: {integrity: sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==} | ||||
|     engines: {node: '>=6.9.0'} | ||||
|     dependencies: | ||||
|       regenerator-runtime: 0.14.0 | ||||
| @@ -183,20 +198,29 @@ packages: | ||||
|     dependencies: | ||||
|       '@jridgewell/trace-mapping': 0.3.9 | ||||
|  | ||||
|   /@design.estate/dees-domtools@2.0.38: | ||||
|     resolution: {integrity: sha512-QfShAH1HW1y7u2cfMbKfTCVMwJEtGZmdKaxp92wvKal+cfcSVRvVIVO1J0bdfqIG8tmV8D3cR2ghKkUFaFsJmg==} | ||||
|   /@design.estate/dees-comms@1.0.24: | ||||
|     resolution: {integrity: sha512-IQrTzQrga8gY17fblRdUmxvWJ64f+xpI9ebj1zYAIsypWYlCS7krREUwH/8iow5fze2FJ1t+gUdMCV1CGqdklg==} | ||||
|     dependencies: | ||||
|       '@api.global/typedrequest': 3.0.1 | ||||
|       '@api.global/typedrequest-interfaces': 3.0.1 | ||||
|       '@push.rocks/smartdelay': 3.0.5 | ||||
|       broadcast-channel: 3.7.0 | ||||
|     dev: false | ||||
|  | ||||
|   /@design.estate/dees-domtools@2.0.39: | ||||
|     resolution: {integrity: sha512-ue4C+SuPpmopF38dMYX7tSLtqxMjEampkSHfpRM2s/+p+yrt+EkVRpsBSk3zfM+8VBqo4Q9PXv1ZjOl2V3L53A==} | ||||
|     dependencies: | ||||
|       '@apiglobal/typedrequest': 2.0.12 | ||||
|       '@designestate/dees-comms': 1.0.22 | ||||
|       '@design.estate/dees-comms': 1.0.24 | ||||
|       '@push.rocks/lik': 6.0.5 | ||||
|       '@push.rocks/smartdelay': 3.0.5 | ||||
|       '@push.rocks/smartjson': 5.0.8 | ||||
|       '@push.rocks/smartjson': 5.0.10 | ||||
|       '@push.rocks/smartpromise': 4.0.3 | ||||
|       '@push.rocks/smartrouter': 1.0.16 | ||||
|       '@push.rocks/smartrx': 3.0.6 | ||||
|       '@push.rocks/smartstate': 2.0.8 | ||||
|       '@push.rocks/smarturl': 3.0.7 | ||||
|       '@push.rocks/webrequest': 3.0.32 | ||||
|       '@push.rocks/webrequest': 3.0.33 | ||||
|       '@push.rocks/websetup': 3.0.19 | ||||
|       '@push.rocks/webstore': 2.0.9 | ||||
|       lit: 2.8.0 | ||||
| @@ -207,10 +231,10 @@ packages: | ||||
|       - utf-8-validate | ||||
|     dev: false | ||||
|  | ||||
|   /@design.estate/dees-element@2.0.25: | ||||
|     resolution: {integrity: sha512-v2IMizlX5/TLEeUOsmlOO3GZlT4GRDY3T7N5CDJe1PCdE0jTDj9KvTWr3rawzzCyxr9DY+UZI4Rwi1IKIjJw8A==} | ||||
|   /@design.estate/dees-element@2.0.27: | ||||
|     resolution: {integrity: sha512-0x2UutRHX0Go/7meuZNiRGO533ur7ZYV8d2/YQky1pXjv6LaFU6QQj2oYxSeNQ4cs8u3spLn25vBUg+/ErVVuw==} | ||||
|     dependencies: | ||||
|       '@design.estate/dees-domtools': 2.0.38 | ||||
|       '@design.estate/dees-domtools': 2.0.39 | ||||
|       '@push.rocks/isounique': 1.0.5 | ||||
|       '@push.rocks/smartrx': 3.0.6 | ||||
|       lit: 2.8.0 | ||||
| @@ -220,12 +244,12 @@ packages: | ||||
|       - utf-8-validate | ||||
|     dev: false | ||||
|  | ||||
|   /@design.estate/dees-wcctools@1.0.78(@types/node@20.5.1): | ||||
|   /@design.estate/dees-wcctools@1.0.78(@types/node@20.5.9): | ||||
|     resolution: {integrity: sha512-7CgbDq+J1Wt2EW1EsDOApskq60jBZ9EOCNOEc0n3otxVOtUvutg6YBjY8fg7l/OJMxJfeJdEkNDlkTYePMIeXQ==} | ||||
|     dependencies: | ||||
|       '@design.estate/dees-domtools': 2.0.38 | ||||
|       '@design.estate/dees-element': 2.0.25 | ||||
|       '@gitzone/tsrun': 1.2.44(@types/node@20.5.1) | ||||
|       '@design.estate/dees-domtools': 2.0.39 | ||||
|       '@design.estate/dees-element': 2.0.27 | ||||
|       '@gitzone/tsrun': 1.2.44(@types/node@20.5.9) | ||||
|       '@push.rocks/smartdelay': 3.0.5 | ||||
|       lit: 2.8.0 | ||||
|     transitivePeerDependencies: | ||||
| @@ -237,15 +261,6 @@ packages: | ||||
|       - utf-8-validate | ||||
|     dev: false | ||||
|  | ||||
|   /@designestate/dees-comms@1.0.22: | ||||
|     resolution: {integrity: sha512-zZ2AwCy49sj1fNyeSMtAxcN4qAGiP5+OjJCtY88YjrNbvD83v4GZpjci0nFUPuvOkCoeo18Uw8xgZSDy8lc59Q==} | ||||
|     dependencies: | ||||
|       '@apiglobal/typedrequest': 2.0.12 | ||||
|       '@apiglobal/typedrequest-interfaces': 1.0.20 | ||||
|       '@pushrocks/smartdelay': 2.0.13 | ||||
|       broadcast-channel: 3.7.0 | ||||
|     dev: false | ||||
|  | ||||
|   /@esbuild/android-arm64@0.17.19: | ||||
|     resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} | ||||
|     engines: {node: '>=12'} | ||||
| @@ -516,26 +531,26 @@ packages: | ||||
|       - supports-color | ||||
|     dev: true | ||||
|  | ||||
|   /@gitzone/tsrun@1.2.44(@types/node@20.5.1): | ||||
|   /@gitzone/tsrun@1.2.44(@types/node@20.5.9): | ||||
|     resolution: {integrity: sha512-7AfL9u+TmD7gLiRaTCimhWm5rq9GGBQnOF4q1FnFh2CAb1FbK5fzUVbj6wo3zGS2H+MSm6dqFA6mvdBI1ox0mQ==} | ||||
|     hasBin: true | ||||
|     dependencies: | ||||
|       '@push.rocks/smartfile': 10.0.28 | ||||
|       '@push.rocks/smartshell': 3.0.3 | ||||
|       ts-node: 10.9.1(@types/node@20.5.1)(typescript@5.1.6) | ||||
|       ts-node: 10.9.1(@types/node@20.5.9)(typescript@5.1.6) | ||||
|       typescript: 5.1.6 | ||||
|     transitivePeerDependencies: | ||||
|       - '@swc/core' | ||||
|       - '@swc/wasm' | ||||
|       - '@types/node' | ||||
|  | ||||
|   /@gitzone/tstest@1.0.77(@types/node@20.5.1)(sinon@15.2.0): | ||||
|   /@gitzone/tstest@1.0.77(@types/node@20.5.9)(sinon@15.2.0): | ||||
|     resolution: {integrity: sha512-YzBXnNqkYOiFf8xAA+m8owblrmAut8ukINghYy4DXoUR+5g1IKrpTjK4A8HzIsvVsQRyHPsQ2YFtsk+utqdivQ==} | ||||
|     hasBin: true | ||||
|     dependencies: | ||||
|       '@apiglobal/typedserver': 2.0.65 | ||||
|       '@gitzone/tsbundle': 2.0.8 | ||||
|       '@gitzone/tsrun': 1.2.44(@types/node@20.5.1) | ||||
|       '@gitzone/tsrun': 1.2.44(@types/node@20.5.9) | ||||
|       '@push.rocks/consolecolor': 2.0.1 | ||||
|       '@push.rocks/smartbrowser': 2.0.5 | ||||
|       '@push.rocks/smartdelay': 3.0.5 | ||||
| @@ -556,13 +571,13 @@ packages: | ||||
|       - utf-8-validate | ||||
|     dev: true | ||||
|  | ||||
|   /@gitzone/tswatch@2.0.7(@types/node@20.5.1): | ||||
|   /@gitzone/tswatch@2.0.7(@types/node@20.5.9): | ||||
|     resolution: {integrity: sha512-rKvyYXsILinp/3OzGkM4KLDPJhleSlF+KFzl90vHh1DuLzJCELWxgl/BSqrBe/UUd5Qyakyf8ZCojUSYUqU5tw==} | ||||
|     hasBin: true | ||||
|     dependencies: | ||||
|       '@apiglobal/typedserver': 2.0.65 | ||||
|       '@gitzone/tsbundle': 2.0.8 | ||||
|       '@gitzone/tsrun': 1.2.44(@types/node@20.5.1) | ||||
|       '@gitzone/tsrun': 1.2.44(@types/node@20.5.9) | ||||
|       '@pushrocks/early': 4.0.3 | ||||
|       '@pushrocks/lik': 6.0.2 | ||||
|       '@pushrocks/smartchok': 1.0.23 | ||||
| @@ -741,7 +756,7 @@ packages: | ||||
|       '@push.rocks/smartfile': 10.0.28 | ||||
|       '@push.rocks/smartpath': 5.0.11 | ||||
|       '@push.rocks/smartpromise': 4.0.3 | ||||
|       '@push.rocks/smartstring': 4.0.8 | ||||
|       '@push.rocks/smartstring': 4.0.9 | ||||
|     dev: true | ||||
|  | ||||
|   /@push.rocks/smartbrowser@2.0.5: | ||||
| @@ -807,10 +822,20 @@ packages: | ||||
|       '@types/through2': 2.0.38 | ||||
|       through2: 4.0.2 | ||||
|  | ||||
|   /@push.rocks/smartjson@5.0.10: | ||||
|     resolution: {integrity: sha512-yuntSMGZ+XNHMrbS9RxotaD+eOgoNTcuDoWsttis+N3Mkc9DIam0pt/ER4NU8TgfMmhT/hKwQH+3DJceDzntoA==} | ||||
|     dependencies: | ||||
|       '@push.rocks/smartstring': 4.0.9 | ||||
|       '@types/buffer-json': 2.0.1 | ||||
|       buffer-json: 2.0.0 | ||||
|       fast-json-stable-stringify: 2.1.0 | ||||
|       lodash.clonedeep: 4.5.0 | ||||
|     dev: false | ||||
|  | ||||
|   /@push.rocks/smartjson@5.0.8: | ||||
|     resolution: {integrity: sha512-oVjSX/GEqDivCS76VthWhlujtYDFwpk+5LxuHkJc+6qrpPe7juT4J8ml/PS6xWAB1uLbPviFsKa08iZs5uOQDQ==} | ||||
|     dependencies: | ||||
|       '@push.rocks/smartstring': 4.0.8 | ||||
|       '@push.rocks/smartstring': 4.0.9 | ||||
|       '@types/buffer-json': 2.0.1 | ||||
|       buffer-json: 2.0.0 | ||||
|       fast-json-stable-stringify: 2.1.0 | ||||
| @@ -881,7 +906,7 @@ packages: | ||||
|     dependencies: | ||||
|       '@push.rocks/isohash': 2.0.1 | ||||
|       '@push.rocks/lik': 6.0.5 | ||||
|       '@push.rocks/smartjson': 5.0.8 | ||||
|       '@push.rocks/smartjson': 5.0.10 | ||||
|       '@push.rocks/smartpromise': 4.0.3 | ||||
|       '@push.rocks/smartrx': 3.0.6 | ||||
|     dev: false | ||||
| @@ -896,8 +921,8 @@ packages: | ||||
|       from2: 2.3.0 | ||||
|       through2: 4.0.2 | ||||
|  | ||||
|   /@push.rocks/smartstring@4.0.8: | ||||
|     resolution: {integrity: sha512-MKOBln6/VuhJVD32pVLOhe8ucXhjrofzbsLXBmI01wZMhWxv02tFaKk2RqfMmkV15g31XuB4KWu05q4qpZz4uQ==} | ||||
|   /@push.rocks/smartstring@4.0.9: | ||||
|     resolution: {integrity: sha512-VB0jzKmI4ZpdzEZe79M8rKVjAReNWGMG6ktzS0R5FeH96SSk3jvfOezgz/RJ7JbRN3UcyR0Ra/mXlpyeqJUHvw==} | ||||
|     dependencies: | ||||
|       '@push.rocks/isounique': 1.0.5 | ||||
|       '@push.rocks/smartenv': 5.0.5 | ||||
| @@ -940,19 +965,14 @@ packages: | ||||
|       - utf-8-validate | ||||
|     dev: true | ||||
|  | ||||
|   /@push.rocks/webrequest@3.0.32: | ||||
|     resolution: {integrity: sha512-9DSzN0rKpu0M9jt+MoWuvba5NrlPngYC7FMcmb2bVCR9HFlQvKJMMxytCDUOrZP38OdnIfWsJmVaxUcnjTKEzA==} | ||||
|   /@push.rocks/webrequest@3.0.33: | ||||
|     resolution: {integrity: sha512-wO2ibVdTMIE4hwsK9pZSNMl1OcFNbn0/ZUjZS18wzHKR4WMMaVUPmI4eHUzc7fWR6PWvkseNGn3JFxA9YK4p1Q==} | ||||
|     dependencies: | ||||
|       '@apiglobal/typedserver': 2.0.65 | ||||
|       '@push.rocks/smartdelay': 3.0.5 | ||||
|       '@push.rocks/smartenv': 5.0.5 | ||||
|       '@push.rocks/smartjson': 5.0.8 | ||||
|       '@push.rocks/smartjson': 5.0.10 | ||||
|       '@push.rocks/smartpromise': 4.0.3 | ||||
|       '@push.rocks/webstore': 2.0.9 | ||||
|     transitivePeerDependencies: | ||||
|       - bufferutil | ||||
|       - supports-color | ||||
|       - utf-8-validate | ||||
|     dev: false | ||||
|  | ||||
|   /@push.rocks/websetup@3.0.19: | ||||
| @@ -969,7 +989,7 @@ packages: | ||||
|       '@apiglobal/typedrequest-interfaces': 2.0.1 | ||||
|       '@push.rocks/lik': 6.0.5 | ||||
|       '@push.rocks/smartenv': 5.0.5 | ||||
|       '@push.rocks/smartjson': 5.0.8 | ||||
|       '@push.rocks/smartjson': 5.0.10 | ||||
|       '@push.rocks/smartpromise': 4.0.3 | ||||
|       '@push.rocks/smartrx': 3.0.6 | ||||
|       fake-indexeddb: 4.0.2 | ||||
| @@ -1633,7 +1653,7 @@ packages: | ||||
|   /@types/accepts@1.3.5: | ||||
|     resolution: {integrity: sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|     dev: true | ||||
|  | ||||
|   /@types/babel__code-frame@7.0.3: | ||||
| @@ -1644,7 +1664,7 @@ packages: | ||||
|     resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} | ||||
|     dependencies: | ||||
|       '@types/connect': 3.4.35 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/buffer-json@2.0.1: | ||||
|     resolution: {integrity: sha512-y2q2QGDqpS8NBtgKg8si+vKfanyd8smKzTglDCm7dXrco1VclSR8G1/uezK+sWbEUxsVPTomv5RxsTl3JAzxLA==} | ||||
| @@ -1668,14 +1688,14 @@ packages: | ||||
|   /@types/clean-css@4.2.6: | ||||
|     resolution: {integrity: sha512-Ze1tf+LnGPmG6hBFMi0B4TEB0mhF7EiMM5oyjLDNPE9hxrPU0W+5+bHvO+eFPA+bt0iC1zkQMoU/iGdRVjcRbw==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|       source-map: 0.6.1 | ||||
|     dev: true | ||||
|  | ||||
|   /@types/co-body@6.1.0: | ||||
|     resolution: {integrity: sha512-3e0q2jyDAnx/DSZi0z2H0yoZ2wt5yRDZ+P7ymcMObvq0ufWRT4tsajyO+Q1VwVWiv9PRR4W3YEjEzBjeZlhF+w==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|       '@types/qs': 6.9.7 | ||||
|     dev: true | ||||
|  | ||||
| @@ -1687,7 +1707,7 @@ packages: | ||||
|   /@types/connect@3.4.35: | ||||
|     resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/content-disposition@0.5.5: | ||||
|     resolution: {integrity: sha512-v6LCdKfK6BwcqMo+wYW05rLS12S0ZO0Fl4w1h4aaZMD7bqT3gVUns6FvLJKGZHQmYn3SX55JWGpziwJRwVgutA==} | ||||
| @@ -1706,13 +1726,13 @@ packages: | ||||
|       '@types/connect': 3.4.35 | ||||
|       '@types/express': 4.17.17 | ||||
|       '@types/keygrip': 1.0.2 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|     dev: true | ||||
|  | ||||
|   /@types/cors@2.8.13: | ||||
|     resolution: {integrity: sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/debounce@1.2.1: | ||||
|     resolution: {integrity: sha512-epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==} | ||||
| @@ -1725,7 +1745,7 @@ packages: | ||||
|   /@types/express-serve-static-core@4.17.35: | ||||
|     resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|       '@types/qs': 6.9.7 | ||||
|       '@types/range-parser': 1.2.4 | ||||
|       '@types/send': 0.17.1 | ||||
| @@ -1741,24 +1761,24 @@ packages: | ||||
|   /@types/finalhandler@1.2.0: | ||||
|     resolution: {integrity: sha512-NgEZKOhxUSXkwNnWNaMXZaopQ5aFGPAYiEpEWIkQ6Dzc4iS0M1oQsvWne2t+ex9QZUAdTz/ZT4tOXJhWtP6mCw==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/from2@2.3.2: | ||||
|     resolution: {integrity: sha512-s1pdctxW2+CA4FOxxTBRxC3RKQL9Br1a2s2LngP4jh1BI84JBL3mDXj87EwcckN9z/IXp8o3ySmvZveGEAAwqw==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/fs-extra@11.0.1: | ||||
|     resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} | ||||
|     dependencies: | ||||
|       '@types/jsonfile': 6.1.1 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/glob@8.1.0: | ||||
|     resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} | ||||
|     dependencies: | ||||
|       '@types/minimatch': 5.1.2 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/html-minifier@4.0.2: | ||||
|     resolution: {integrity: sha512-4IkmkXJP/25R2fZsCHDX2abztXuQRzUAZq39PfCMz2loLFj8vS9y7aF6vDl58koXSTpsF+eL4Lc5Y4Aww/GCTQ==} | ||||
| @@ -1804,7 +1824,7 @@ packages: | ||||
|   /@types/jsonfile@6.1.1: | ||||
|     resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/keygrip@1.0.2: | ||||
|     resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==} | ||||
| @@ -1826,7 +1846,7 @@ packages: | ||||
|       '@types/http-errors': 2.0.1 | ||||
|       '@types/keygrip': 1.0.2 | ||||
|       '@types/koa-compose': 3.2.5 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|     dev: true | ||||
|  | ||||
|   /@types/mime-types@2.1.1: | ||||
| @@ -1848,8 +1868,8 @@ packages: | ||||
|     resolution: {integrity: sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==} | ||||
|     dev: true | ||||
|  | ||||
|   /@types/node@20.5.1: | ||||
|     resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} | ||||
|   /@types/node@20.5.9: | ||||
|     resolution: {integrity: sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==} | ||||
|  | ||||
|   /@types/parse5@6.0.3: | ||||
|     resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} | ||||
| @@ -1876,14 +1896,14 @@ packages: | ||||
|     resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} | ||||
|     dependencies: | ||||
|       '@types/mime': 1.3.2 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/serve-static@1.15.2: | ||||
|     resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} | ||||
|     dependencies: | ||||
|       '@types/http-errors': 2.0.1 | ||||
|       '@types/mime': 3.0.1 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/shortid@0.0.29: | ||||
|     resolution: {integrity: sha1-gJPuBBam4r8qpjOBCRFLP7/6Dps=} | ||||
| @@ -1911,7 +1931,7 @@ packages: | ||||
|   /@types/through2@2.0.38: | ||||
|     resolution: {integrity: sha512-YFu+nHmjxMurkH1BSzA0Z1WrKDAY8jUKPZctNQn7mc+/KKtp2XxnclHFXxdB1m7Iqnzb5aywgP8TMK283LezGQ==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|  | ||||
|   /@types/trusted-types@2.0.3: | ||||
|     resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} | ||||
| @@ -1935,14 +1955,14 @@ packages: | ||||
|   /@types/ws@7.4.7: | ||||
|     resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|     dev: true | ||||
|  | ||||
|   /@types/yauzl@2.10.0: | ||||
|     resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} | ||||
|     requiresBuild: true | ||||
|     dependencies: | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|     dev: true | ||||
|     optional: true | ||||
|  | ||||
| @@ -2300,7 +2320,7 @@ packages: | ||||
|   /broadcast-channel@3.7.0: | ||||
|     resolution: {integrity: sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==} | ||||
|     dependencies: | ||||
|       '@babel/runtime': 7.22.10 | ||||
|       '@babel/runtime': 7.22.15 | ||||
|       detect-node: 2.1.0 | ||||
|       js-sha3: 0.8.0 | ||||
|       microseconds: 0.2.0 | ||||
| @@ -2442,7 +2462,7 @@ packages: | ||||
|       normalize-path: 3.0.0 | ||||
|       readdirp: 3.6.0 | ||||
|     optionalDependencies: | ||||
|       fsevents: 2.3.2 | ||||
|       fsevents: 2.3.3 | ||||
|  | ||||
|   /chownr@1.1.4: | ||||
|     resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} | ||||
| @@ -2825,7 +2845,7 @@ packages: | ||||
|     dependencies: | ||||
|       '@types/cookie': 0.4.1 | ||||
|       '@types/cors': 2.8.13 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|       accepts: 1.3.8 | ||||
|       base64id: 2.0.0 | ||||
|       cookie: 0.4.2 | ||||
| @@ -2844,7 +2864,7 @@ packages: | ||||
|     dependencies: | ||||
|       '@types/cookie': 0.4.1 | ||||
|       '@types/cors': 2.8.13 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|       accepts: 1.3.8 | ||||
|       base64id: 2.0.0 | ||||
|       cookie: 0.4.2 | ||||
| @@ -3213,8 +3233,8 @@ packages: | ||||
|   /fs.realpath@1.0.0: | ||||
|     resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} | ||||
|  | ||||
|   /fsevents@2.3.2: | ||||
|     resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} | ||||
|   /fsevents@2.3.3: | ||||
|     resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} | ||||
|     engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} | ||||
|     os: [darwin] | ||||
|     requiresBuild: true | ||||
| @@ -5289,7 +5309,7 @@ packages: | ||||
|     resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} | ||||
|     hasBin: true | ||||
|  | ||||
|   /ts-node@10.9.1(@types/node@20.5.1)(typescript@5.1.6): | ||||
|   /ts-node@10.9.1(@types/node@20.5.9)(typescript@5.1.6): | ||||
|     resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} | ||||
|     hasBin: true | ||||
|     peerDependencies: | ||||
| @@ -5308,7 +5328,7 @@ packages: | ||||
|       '@tsconfig/node12': 1.0.11 | ||||
|       '@tsconfig/node14': 1.0.3 | ||||
|       '@tsconfig/node16': 1.0.4 | ||||
|       '@types/node': 20.5.1 | ||||
|       '@types/node': 20.5.9 | ||||
|       acorn: 8.10.0 | ||||
|       acorn-walk: 8.2.0 | ||||
|       arg: 4.1.3 | ||||
| @@ -5443,7 +5463,7 @@ packages: | ||||
|   /unload@2.2.0: | ||||
|     resolution: {integrity: sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==} | ||||
|     dependencies: | ||||
|       '@babel/runtime': 7.22.10 | ||||
|       '@babel/runtime': 7.22.15 | ||||
|       detect-node: 2.1.0 | ||||
|     dev: false | ||||
|  | ||||
|   | ||||
| @@ -3,6 +3,6 @@ | ||||
|  */ | ||||
| export const commitinfo = { | ||||
|   name: '@design.estate/dees-catalog', | ||||
|   version: '1.0.183', | ||||
|   version: '1.0.184', | ||||
|   description: 'website for lossless.com' | ||||
| } | ||||
|   | ||||
| @@ -81,12 +81,17 @@ export class DeesContextmenu extends DeesElement { | ||||
|     eventArg.preventDefault(); | ||||
|     const contextMenu = new DeesContextmenu(); | ||||
|     contextMenu.style.position = 'absolute'; | ||||
|     contextMenu.style.zIndex = '2000'; | ||||
|     contextMenu.style.top = `${eventArg.clientY.toString()}px`; | ||||
|     contextMenu.style.left = `${eventArg.clientX.toString()}px`; | ||||
|     contextMenu.style.opacity = '0'; | ||||
|     contextMenu.style.transform = 'scale(0.95,0.95)'; | ||||
|     contextMenu.style.transformOrigin = 'top left'; | ||||
|     contextMenu.menuItems = menuItemsArg; | ||||
|     contextMenu.windowLayer = await DeesWindowLayer.createAndShow(); | ||||
|     contextMenu.windowLayer.addEventListener('click', async () => { | ||||
|       await contextMenu.destroy(); | ||||
|     }) | ||||
|     document.body.append(contextMenu); | ||||
|     await domtools.plugins.smartdelay.delayFor(0); | ||||
|     contextMenu.style.opacity = '1'; | ||||
| @@ -97,6 +102,7 @@ export class DeesContextmenu extends DeesElement { | ||||
|     type: Array, | ||||
|   }) | ||||
|   public menuItems: plugins.tsclass.website.IMenuItem[] = []; | ||||
|   windowLayer: DeesWindowLayer; | ||||
|  | ||||
|   constructor() { | ||||
|     super(); | ||||
| @@ -173,6 +179,9 @@ export class DeesContextmenu extends DeesElement { | ||||
|   } | ||||
|  | ||||
|   public async destroy() { | ||||
|     if (this.windowLayer) { | ||||
|       this.windowLayer.destroy(); | ||||
|     } | ||||
|     this.style.opacity = '0'; | ||||
|     this.style.transform = 'scale(0.95,0,95)'; | ||||
|     await domtools.plugins.smartdelay.delayFor(100); | ||||
|   | ||||
| @@ -122,6 +122,8 @@ export const faIcons = { | ||||
|   users: faUsersSolid, | ||||
| }; | ||||
|  | ||||
| export type TIconKey = keyof typeof faIcons; | ||||
|  | ||||
| declare global { | ||||
|   interface HTMLElementTagNameMap { | ||||
|     'dees-icon': DeesIcon; | ||||
|   | ||||
| @@ -15,22 +15,16 @@ import { DeesWindowLayer } from './dees-windowlayer.js'; | ||||
| export class DeesMobilenavigation extends DeesElement { | ||||
|   // STATIC | ||||
|   public static demo = () => html` | ||||
|     <dees-mobilenavigation | ||||
|       .menuItems="${[ | ||||
|     <dees-button @click=${() => { | ||||
|       DeesMobilenavigation.createAndInit([ | ||||
|         { | ||||
|           name: 'hello1', | ||||
|           action: async () => {}, | ||||
|           name: 'Test', | ||||
|           action: () => { | ||||
|             alert('test'); | ||||
|           }, | ||||
|         }, | ||||
|         { | ||||
|           name: 'hello2', | ||||
|           action: async () => {}, | ||||
|         }, | ||||
|         { | ||||
|           name: 'hello3', | ||||
|           action: async () => {}, | ||||
|         }, | ||||
|       ]}" | ||||
|     ></dees-mobilenavigation> | ||||
|       ]); | ||||
|     }}></dees-button> | ||||
|   `; | ||||
|  | ||||
|   private static singletonRef: DeesMobilenavigation; | ||||
|   | ||||
| @@ -9,9 +9,13 @@ import { | ||||
|   unsafeCSS, | ||||
|   type CSSResult, | ||||
|   state, | ||||
|   resolveExec, | ||||
| } from '@design.estate/dees-element'; | ||||
|  | ||||
| import { DeesContextmenu } from './dees-contextmenu.js' | ||||
|  | ||||
| import * as domtools from '@design.estate/dees-domtools'; | ||||
| import { TIconKey } from './dees-icon.js'; | ||||
|  | ||||
| declare global { | ||||
|   interface HTMLElementTagNameMap { | ||||
| @@ -19,13 +23,36 @@ declare global { | ||||
|   } | ||||
| } | ||||
|  | ||||
| // interfaces | ||||
| export interface IDataAction<T = any> { | ||||
|   name: string; | ||||
|   iconName: string; | ||||
|   iconName: TIconKey; | ||||
|   /** | ||||
|    * the table behaviour to use for this action | ||||
|    * e.g. upload: allows to upload files to the table | ||||
|    */ | ||||
|   useTableBehaviour?: 'upload' | 'cancelUpload' | 'none'; | ||||
|   /** | ||||
|    * the type of the action | ||||
|    */ | ||||
|   type: 'inRow' | 'rightClick' | 'footer' | 'header' | 'preview' | 'keyCombination'; | ||||
|   /** | ||||
|    * allows to check if the action is relevant for the given item | ||||
|    * @param itemArg | ||||
|    * @returns | ||||
|    */ | ||||
|   actionRelevancyCheckFunc?: (itemArg: T) => boolean; | ||||
|   /** | ||||
|    * the actual action function implementation | ||||
|    * @param itemArg | ||||
|    * @returns | ||||
|    */ | ||||
|   actionFunc: (itemArg: T) => Promise<any>; | ||||
| } | ||||
|  | ||||
| export type TDisplayFunction<T = any> = (itemArg: T) => object; | ||||
|  | ||||
| // the table implementation | ||||
| @customElement('dees-table') | ||||
| export class DeesTable<T> extends DeesElement { | ||||
|   public static demo = () => html` | ||||
| @@ -70,22 +97,47 @@ export class DeesTable<T> extends DeesElement { | ||||
|             description: 'Office-Supplies - STAPLES BREMEN', | ||||
|           }, | ||||
|         ]} | ||||
|         .dataActions="${[{ | ||||
|           name: 'upload', | ||||
|           iconName: 'upload', | ||||
|           useTableBehaviour: 'upload', | ||||
|           actionFunc: async (itemArg: any) => { | ||||
|  | ||||
|         dataName="transactions" | ||||
|         .dataActions="${[ | ||||
|           { | ||||
|             name: 'upload', | ||||
|             iconName: 'bell', | ||||
|             useTableBehaviour: 'upload', | ||||
|             type: 'inRow', | ||||
|             actionFunc: async (itemArg: any) => { | ||||
|               alert(itemArg.amount); | ||||
|             }, | ||||
|           }, | ||||
|         },{ | ||||
|           name: 'visibility', | ||||
|           iconName: 'visibility', | ||||
|           useTableBehaviour: 'preview', | ||||
|           actionFunc: async (itemArg: any) => { | ||||
|  | ||||
|           { | ||||
|             name: 'visibility', | ||||
|             iconName: 'copy', | ||||
|             type: 'inRow', | ||||
|             useTableBehaviour: 'preview', | ||||
|             actionFunc: async (itemArg: any) => {}, | ||||
|           }, | ||||
|         }] as IDataAction[]}" | ||||
|         >This is a slotted Text</dees-table> | ||||
|           { | ||||
|             name: 'create new', | ||||
|             iconName: 'instagram', | ||||
|             type: 'header', | ||||
|             useTableBehaviour: 'preview', | ||||
|             actionFunc: async (itemArg: any) => {}, | ||||
|           }, | ||||
|           { | ||||
|             name: 'to gallery', | ||||
|             iconName: 'message', | ||||
|             type: 'footer', | ||||
|             useTableBehaviour: 'preview', | ||||
|             actionFunc: async (itemArg: any) => {}, | ||||
|           }, | ||||
|         ] as IDataAction[]}" | ||||
|         .displayFunction=${(itemArg) => { | ||||
|           return { | ||||
|             ...itemArg, | ||||
|             onlyDisplayProp: 'onlyDisplay', | ||||
|           }; | ||||
|         }} | ||||
|         >This is a slotted Text</dees-table | ||||
|       > | ||||
|     </div> | ||||
|   `; | ||||
|  | ||||
| @@ -105,26 +157,27 @@ export class DeesTable<T> extends DeesElement { | ||||
|   }) | ||||
|   public data: T[] = []; | ||||
|  | ||||
|   @property({ | ||||
|     type: String, | ||||
|     reflect: true, | ||||
|   }) | ||||
|   public dataName: string; | ||||
|  | ||||
|   @property({ | ||||
|     type: Array, | ||||
|   }) | ||||
|   public dataActions: IDataAction[] = []; | ||||
|  | ||||
|   @property({ | ||||
|     attribute: false, | ||||
|   }) | ||||
|   public displayFunction: TDisplayFunction = (itemArg: T) => itemArg as any; | ||||
|  | ||||
|   @property({ | ||||
|     type: Object, | ||||
|   }) | ||||
|   public selectedDataRow: T; | ||||
|  | ||||
|   @property({ | ||||
|     type: String, | ||||
|   }) | ||||
|   public type: 'normal' | 'highlighted' | 'discreet' | 'big' = 'normal'; | ||||
|  | ||||
|   @property({ | ||||
|     type: String, | ||||
|   }) | ||||
|   public status: 'normal' | 'pending' | 'success' | 'error' = 'normal'; | ||||
|  | ||||
|   public files: File[] = []; | ||||
|   public fileWeakMap = new WeakMap(); | ||||
|  | ||||
| @@ -150,11 +203,49 @@ export class DeesTable<T> extends DeesElement { | ||||
|         box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3); | ||||
|         overflow-x: auto; | ||||
|       } | ||||
|  | ||||
|       .header { | ||||
|         display: flex; | ||||
|         justify-content: flex-end; | ||||
|         align-items: center; | ||||
|       } | ||||
|  | ||||
|       .headingContainer { | ||||
|       } | ||||
|  | ||||
|       .heading { | ||||
|         font-family: 'Hubot Sans', 'Inter', sans-serif; | ||||
|       } | ||||
|  | ||||
|       .heading1 { | ||||
|         font-weight: 600; | ||||
|       } | ||||
|       .heading2 { | ||||
|         opacity: 0.6; | ||||
|       } | ||||
|  | ||||
|       .headingSeparation { | ||||
|         margin-top: 7px; | ||||
|         border-bottom: 1px solid ${cssManager.bdTheme('#bcbcbc', '#bcbcbc')}; | ||||
|       } | ||||
|  | ||||
|       .headerActions { | ||||
|         margin-left: auto; | ||||
|         cursor: pointer; | ||||
|       } | ||||
|       .headerAction { | ||||
|         display: flex; | ||||
|         color: ${cssManager.bdTheme('#333', '#ccc')}; | ||||
|       } | ||||
|  | ||||
|       .headerAction:hover { | ||||
|         color: ${cssManager.bdTheme('#555', '#fff')}; | ||||
|       } | ||||
|  | ||||
|       .headerAction dees-icon { | ||||
|         margin-right: 8px; | ||||
|       } | ||||
|  | ||||
|       table, | ||||
|       .noDataSet { | ||||
|         margin-top: 16px; | ||||
| @@ -186,7 +277,7 @@ export class DeesTable<T> extends DeesElement { | ||||
|         background: none; | ||||
|       } | ||||
|       tr.selected .innerCellContainer { | ||||
|         background: ${cssManager.bdTheme('#22222220', '#ffffff20')}; | ||||
|         background: ${cssManager.bdTheme('#22222220', '#ffffff40')}; | ||||
|       } | ||||
|       th { | ||||
|         text-transform: uppercase; | ||||
| @@ -228,14 +319,37 @@ export class DeesTable<T> extends DeesElement { | ||||
|         background: ${cssManager.bdTheme('#CCC', '#111')}; | ||||
|       } | ||||
|  | ||||
|       .tableStatistics { | ||||
|         padding: 4px 16px; | ||||
|         font-size: 12px; | ||||
|       .footer { | ||||
|         font-size: 14px; | ||||
|         color: ${cssManager.bdTheme('#111', '#ffffff90')}; | ||||
|         background: ${cssManager.bdTheme('#eeeeeb', '#00000050')}; | ||||
|         margin: 16px -16px -16px -16px; | ||||
|         border-bottom-left-radius: 3px; | ||||
|         border-bottom-right-radius: 3px; | ||||
|         display: flex; | ||||
|       } | ||||
|  | ||||
|       .tableStatistics { | ||||
|         padding: 8px 16px; | ||||
|       } | ||||
|  | ||||
|       .footerActions { | ||||
|         margin-left: auto; | ||||
|       } | ||||
|  | ||||
|       .footerActions .footerAction { | ||||
|         cursor: pointer; | ||||
|         padding: 8px 16px; | ||||
|         display: flex; | ||||
|       } | ||||
|  | ||||
|       .footerActions .footerAction:hover { | ||||
|         background: ${cssManager.bdTheme('#CCC', '#111')}; | ||||
|       } | ||||
|  | ||||
|       .footerActions dees-icon { | ||||
|         display: flex; | ||||
|         margin-right: 8px; | ||||
|       } | ||||
|     `, | ||||
|   ]; | ||||
| @@ -244,15 +358,44 @@ export class DeesTable<T> extends DeesElement { | ||||
|     return html` | ||||
|       <div class="mainbox"> | ||||
|         <!-- the heading part --> | ||||
|         <div>${this.heading1}</div> | ||||
|         <div>${this.heading2}</div> | ||||
|         <div class="header"> | ||||
|           <div class="headingContainer"> | ||||
|             <div class="heading heading1">${this.heading1}</div> | ||||
|             <div class="heading heading2">${this.heading2}</div> | ||||
|           </div> | ||||
|           <div class="headerActions"> | ||||
|             ${resolveExec(async () => { | ||||
|               const resultArray: TemplateResult[] = []; | ||||
|               for (const action of this.dataActions) { | ||||
|                 if (action.type !== 'header') continue; | ||||
|                 resultArray.push( | ||||
|                   html`<div | ||||
|                     class="headerAction" | ||||
|                     @click=${() => { | ||||
|                       action.actionFunc(this.selectedDataRow); | ||||
|                     }} | ||||
|                   > | ||||
|                     ${action.iconName | ||||
|                       ? html`<dees-icon .iconSize=${14} .iconFA=${action.iconName}></dees-icon> | ||||
|                           ${action.name}` | ||||
|                       : action.name} | ||||
|                   </div>` | ||||
|                 ); | ||||
|               } | ||||
|               return resultArray; | ||||
|             })} | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="headingSeparation"></div> | ||||
|  | ||||
|         <!-- the actual table --> | ||||
|         <style></style> | ||||
|         ${this.data.length > 0 | ||||
|           ? (() => { | ||||
|               const headings: string[] = Object.keys(this.data[0]); | ||||
|               // Only pick up the keys from the first transformed data object | ||||
|               // as all data objects are assumed to have the same structure | ||||
|               const firstTransformedItem = this.displayFunction(this.data[0]); | ||||
|               const headings: string[] = Object.keys(firstTransformedItem); | ||||
|               return html` | ||||
|                 <table> | ||||
|                   <tr> | ||||
| @@ -273,32 +416,42 @@ export class DeesTable<T> extends DeesElement { | ||||
|                       } | ||||
|                     })()} | ||||
|                   </tr> | ||||
|                   ${this.data.map( | ||||
|                     (itemArg) => html` | ||||
|                   ${this.data.map((itemArg) => { | ||||
|                     const transformedItem = this.displayFunction(itemArg); | ||||
|                     const getTr = (elementArg: HTMLElement): HTMLElement => { | ||||
|                       if (elementArg.tagName === 'TR') { | ||||
|                         return elementArg; | ||||
|                       } else { | ||||
|                         return getTr(elementArg.parentElement); | ||||
|                       } | ||||
|                     }; | ||||
|                     return html` | ||||
|                       <tr | ||||
|                         @click=${() => { | ||||
|                           this.selectedDataRow = itemArg; | ||||
|                         }} | ||||
|                         @dragenter=${async (eventArg: DragEvent) => { | ||||
|                           console.log((eventArg.target as HTMLElement).tagName) | ||||
|                           console.log('dragenter'); | ||||
|                           eventArg.preventDefault(); | ||||
|                           eventArg.stopPropagation(); | ||||
|                           (eventArg.target as HTMLElement).parentElement.style.background = '#800000'; | ||||
|                           const realTarget = getTr(eventArg.target as HTMLElement); | ||||
|                           console.log('dragenter'); | ||||
|                           console.log(realTarget); | ||||
|                           setTimeout(() => { | ||||
|                             realTarget.style.background = 'green'; | ||||
|                           }, 0); | ||||
|                         }} | ||||
|                         @dragleave=${async (eventArg: DragEvent) => { | ||||
|                           console.log((eventArg.target as HTMLElement).tagName) | ||||
|                           console.log('dragleave'); | ||||
|                           eventArg.preventDefault(); | ||||
|                           eventArg.stopPropagation(); | ||||
|                           (eventArg.target as HTMLElement).parentElement.style.background = 'none'; | ||||
|                           const realTarget = getTr(eventArg.target as HTMLElement); | ||||
|                           realTarget.style.background = 'none'; | ||||
|                         }} | ||||
|                         @dragover=${async (eventArg: DragEvent) => { | ||||
|                           eventArg.preventDefault(); | ||||
|                         }} | ||||
|                         @drop=${async (eventArg: DragEvent) => { | ||||
|                           eventArg.preventDefault(); | ||||
|                           const newFiles = [] | ||||
|                           const newFiles = []; | ||||
|                           for (const file of Array.from(eventArg.dataTransfer.files)) { | ||||
|                             this.files.push(file); | ||||
|                             newFiles.push(file); | ||||
| @@ -306,17 +459,41 @@ export class DeesTable<T> extends DeesElement { | ||||
|                           } | ||||
|                           const result: File[] = this.fileWeakMap.get(itemArg as object); | ||||
|                           if (!result) { | ||||
|                             this.fileWeakMap.set(itemArg as object, newFiles) | ||||
|                             this.fileWeakMap.set(itemArg as object, newFiles); | ||||
|                           } else { | ||||
|                             result.push(...newFiles); | ||||
|                           } | ||||
|                         }} | ||||
|                         @contextmenu=${async (eventArg: MouseEvent) => { | ||||
|                           DeesContextmenu.openContextMenuWithOptions(eventArg, [ | ||||
|                             { | ||||
|                               name: 'copy', | ||||
|                               iconName: 'copySolid', | ||||
|                               action: async () => { | ||||
|                                 return null; | ||||
|                               }, | ||||
|                             }, | ||||
|                             { | ||||
|                               name: 'edit', | ||||
|                               iconName: 'penToSquare', | ||||
|                               action: async () => { | ||||
|                                 return null; | ||||
|                               }, | ||||
|                             },{ | ||||
|                               name: 'paste', | ||||
|                               iconName: 'pasteSolid', | ||||
|                               action: async () => { | ||||
|                                 return null; | ||||
|                               }, | ||||
|                             }, | ||||
|                           ]) | ||||
|                         }} | ||||
|                         class="${itemArg === this.selectedDataRow ? 'selected' : ''}" | ||||
|                       > | ||||
|                         ${headings.map( | ||||
|                           (headingArg) => html` | ||||
|                             <td> | ||||
|                               <div class="innerCellContainer">${itemArg[headingArg]}</div> | ||||
|                               <div class="innerCellContainer">${transformedItem[headingArg]}</div> | ||||
|                             </td> | ||||
|                           ` | ||||
|                         )} | ||||
| @@ -328,9 +505,19 @@ export class DeesTable<T> extends DeesElement { | ||||
|                                   ${(() => { | ||||
|                                     const actions: TemplateResult[] = []; | ||||
|                                     for (const action of this.dataActions) { | ||||
|                                       actions.push(html`<div class="action">${action.iconName ? html` | ||||
|                                         <dees-icon .iconName=${'upload_file'}></dees-icon> | ||||
|                                       ` : action.name}</div>`) | ||||
|                                       if (action.type !== 'inRow') continue; | ||||
|                                       actions.push( | ||||
|                                         html`<div | ||||
|                                           class="action" | ||||
|                                           @click=${() => action.actionFunc(itemArg)} | ||||
|                                         > | ||||
|                                           ${action.iconName | ||||
|                                             ? html` | ||||
|                                                 <dees-icon .iconFA=${action.iconName}></dees-icon> | ||||
|                                               ` | ||||
|                                             : action.name} | ||||
|                                         </div>` | ||||
|                                       ); | ||||
|                                     } | ||||
|                                     return actions; | ||||
|                                   })()} | ||||
| @@ -340,17 +527,40 @@ export class DeesTable<T> extends DeesElement { | ||||
|                           } | ||||
|                         })()} | ||||
|                       </tr> | ||||
|                     ` | ||||
|                   )} | ||||
|                     `; | ||||
|                   })} | ||||
|                 </table> | ||||
|               `; | ||||
|             })() | ||||
|           : html` <div class="noDataSet">No data set!</div> `} | ||||
|         <div class="tableStatistics"> | ||||
|           ${this.data.length} data rows (total) | | ||||
|           ${this.selectedDataRow | ||||
|             ? html`Row ${this.data.indexOf(this.selectedDataRow) + 1} selected` | ||||
|             : html`No row selected`} | ||||
|         <div class="footer"> | ||||
|           <div class="tableStatistics"> | ||||
|             ${this.data.length} ${this.dataName || 'data rows'} (total) | | ||||
|             ${this.selectedDataRow ? '# ' + `${this.data.indexOf(this.selectedDataRow) + 1}` : `No`} | ||||
|             selected | ||||
|           </div> | ||||
|           <div class="footerActions"> | ||||
|             ${resolveExec(async () => { | ||||
|               const resultArray: TemplateResult[] = []; | ||||
|               for (const action of this.dataActions) { | ||||
|                 if (action.type !== 'footer') continue; | ||||
|                 resultArray.push( | ||||
|                   html`<div | ||||
|                     class="footerAction" | ||||
|                     @click=${() => { | ||||
|                       action.actionFunc(this.selectedDataRow); | ||||
|                     }} | ||||
|                   > | ||||
|                     ${action.iconName | ||||
|                       ? html`<dees-icon .iconSize=${14} .iconFA=${action.iconName}></dees-icon> | ||||
|                           ${action.name}` | ||||
|                       : action.name} | ||||
|                   </div>` | ||||
|                 ); | ||||
|               } | ||||
|               return resultArray; | ||||
|             })} | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
|     `; | ||||
|   | ||||
| @@ -13,6 +13,15 @@ export class DeesWindowLayer extends DeesElement { | ||||
|   // STATIC | ||||
|   public static demo = () => html`<dees-windowlayer></dees-windowlayer>`; | ||||
|  | ||||
|   public static async createAndShow() { | ||||
|     const domtoolsInstance = domtools.DomTools.getGlobalDomToolsSync(); | ||||
|     const windowLayer = new DeesWindowLayer(); | ||||
|     document.body.append(windowLayer); | ||||
|     await domtoolsInstance.convenience.smartdelay.delayFor(0); | ||||
|     windowLayer.show(); | ||||
|     return windowLayer; | ||||
|   } | ||||
|  | ||||
|   // INSTANCE | ||||
|   @property({ | ||||
|     type: Boolean | ||||
| @@ -29,7 +38,7 @@ export class DeesWindowLayer extends DeesElement { | ||||
|       ${domtools.elementBasic.styles} | ||||
|       <style> | ||||
|         .windowOverlay { | ||||
|           transition: all 0.3s; | ||||
|           transition: all 0.2s; | ||||
|           will-change: transform; | ||||
|           position: fixed; | ||||
|           top: 0px; | ||||
| @@ -82,4 +91,11 @@ export class DeesWindowLayer extends DeesElement { | ||||
|     await domtools.convenience.smartdelay.delayFor(0); | ||||
|     this.visible = false; | ||||
|   } | ||||
|  | ||||
|   public async destroy() { | ||||
|     const domtools = await this.domtoolsPromise; | ||||
|     await this.hide(); | ||||
|     await domtools.convenience.smartdelay.delayFor(300); | ||||
|     this.remove(); | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user