@design.estate/dees-catalog 3.48.5 → 3.49.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/dist_bundle/bundle.js +8828 -3872
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-appui/dees-appui/dees-appui.demo.js +1 -1
  4. package/dist_ts_web/elements/00group-appui/dees-appui/dees-appui.js +2 -2
  5. package/dist_ts_web/elements/00group-appui/dees-appui/view.registry.js +1 -1
  6. package/dist_ts_web/elements/00group-appui/dees-appui-appbar/component.js +1 -1
  7. package/dist_ts_web/elements/00group-appui/dees-appui-appbar/demo.js +1 -1
  8. package/dist_ts_web/elements/00group-appui/dees-appui-maincontent/dees-appui-maincontent.js +1 -1
  9. package/dist_ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.js +1 -1
  10. package/dist_ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.js +2 -2
  11. package/dist_ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.demo.d.ts +1 -1
  12. package/dist_ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.demo.js +2 -2
  13. package/dist_ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.js +1 -1
  14. package/dist_ts_web/elements/00group-button/dees-button/dees-button.demo.js +1 -1
  15. package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +1 -1
  16. package/dist_ts_web/elements/00group-chart/dees-chart-area/component.d.ts +1 -1
  17. package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +1 -1
  18. package/dist_ts_web/elements/00group-chart/dees-chart-area/demo.js +1 -1
  19. package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.demo.js +1 -1
  20. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.d.ts +1 -1
  21. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.js +1 -1
  22. package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.demo.js +4 -1
  23. package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.js +30 -3
  24. package/dist_ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.js +1 -1
  25. package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +1 -1
  26. package/dist_ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.js +1 -1
  27. package/dist_ts_web/elements/00group-form/dees-form/dees-form.demo.js +7 -7
  28. package/dist_ts_web/elements/00group-form/dees-form/dees-form.js +9 -6
  29. package/dist_ts_web/elements/00group-form/dees-form-submit/dees-form-submit.js +1 -1
  30. package/dist_ts_web/elements/00group-input/dees-input-base/dees-input-base.js +1 -1
  31. package/dist_ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.js +1 -1
  32. package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +1 -1
  33. package/dist_ts_web/elements/00group-input/dees-input-datepicker/demo.js +15 -15
  34. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.d.ts +4 -4
  35. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.js +17 -17
  36. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.js +1 -1
  37. package/dist_ts_web/elements/00group-input/dees-input-fileupload/component.d.ts +1 -1
  38. package/dist_ts_web/elements/00group-input/dees-input-fileupload/component.js +1 -1
  39. package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.js +4 -2
  40. package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.js +1 -1
  41. package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.js +1 -1
  42. package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.d.ts +1 -1
  43. package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.js +1 -1
  44. package/dist_ts_web/elements/00group-input/dees-input-richtext/component.js +1 -1
  45. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.js +7 -6
  46. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.js +1 -1
  47. package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.js +7 -5
  48. package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.js +1 -1
  49. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/heading.block.js +6 -5
  50. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/list.block.js +6 -5
  51. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/paragraph.block.js +6 -5
  52. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/quote.block.js +6 -5
  53. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-formatting-menu.js +16 -13
  54. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +3 -3
  55. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-slash-menu.js +19 -15
  56. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-wysiwyg-block.js +1 -1
  57. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.dragdrophandler.d.ts +3 -3
  58. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.dragdrophandler.js +1 -1
  59. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.keyboardhandler.js +1 -1
  60. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.modalmanager.js +1 -1
  61. package/dist_ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.demo.js +7 -7
  62. package/dist_ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.js +3 -3
  63. package/dist_ts_web/elements/00group-layout/dees-chips/dees-chips.d.ts +1 -1
  64. package/dist_ts_web/elements/00group-layout/dees-chips/dees-chips.js +1 -1
  65. package/dist_ts_web/elements/00group-layout/dees-dashboardgrid/dees-dashboardgrid.demo.js +11 -8
  66. package/dist_ts_web/elements/00group-layout/dees-label/dees-label.js +1 -1
  67. package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.js +1 -1
  68. package/dist_ts_web/elements/00group-media/dees-pdf-shared/utils.js +3 -3
  69. package/dist_ts_web/elements/00group-media/dees-tile-pdf/demo.js +1 -1
  70. package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.js +1 -1
  71. package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.demo.js +2 -2
  72. package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +1 -1
  73. package/dist_ts_web/elements/00group-overlay/dees-speechbubble/dees-speechbubble.js +1 -1
  74. package/dist_ts_web/elements/00group-runtime/environments/WebContainerEnvironment.js +1 -1
  75. package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.js +1 -1
  76. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.d.ts +3 -3
  77. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +2 -2
  78. package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.js +3 -3
  79. package/dist_ts_web/elements/00group-utility/dees-icon/dees-icon.demo.js +1 -1
  80. package/dist_ts_web/elements/00group-utility/dees-icon/dees-icon.js +1 -1
  81. package/dist_ts_web/elements/00group-utility/dees-searchbar/dees-searchbar.d.ts +1 -1
  82. package/dist_ts_web/elements/00group-utility/dees-updater/dees-updater.js +1 -1
  83. package/dist_ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.js +1 -1
  84. package/dist_ts_web/elements/00group-workspace/dees-workspace-markdown/dees-workspace-markdown.d.ts +1 -1
  85. package/dist_ts_web/elements/00group-workspace/dees-workspace-markdown/dees-workspace-markdown.js +1 -1
  86. package/dist_ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.js +1 -1
  87. package/dist_ts_web/elements/00group-workspace/dees-workspace-monaco/dees-workspace-monaco.js +1 -1
  88. package/dist_ts_web/pages/zindex-showcase.js +1 -1
  89. package/dist_ts_web/services/DeesServiceLibLoader.js +1 -1
  90. package/dist_ts_web/services/versions.d.ts +1 -1
  91. package/dist_ts_web/services/versions.js +1 -1
  92. package/dist_watch/bundle.js +174 -146
  93. package/dist_watch/bundle.js.map +3 -3
  94. package/license +3 -6
  95. package/package.json +12 -12
  96. package/readme.md +6 -4
  97. package/ts_web/00_commitinfo_data.ts +1 -1
  98. package/ts_web/elements/00group-appui/dees-appui/dees-appui.demo.ts +2 -2
  99. package/ts_web/elements/00group-appui/dees-appui/dees-appui.ts +1 -1
  100. package/ts_web/elements/00group-appui/dees-appui/view.registry.ts +1 -1
  101. package/ts_web/elements/00group-appui/dees-appui-appbar/component.ts +1 -1
  102. package/ts_web/elements/00group-appui/dees-appui-appbar/demo.ts +5 -5
  103. package/ts_web/elements/00group-appui/dees-appui-maincontent/dees-appui-maincontent.ts +1 -1
  104. package/ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.ts +1 -1
  105. package/ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.ts +8 -8
  106. package/ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.demo.ts +1 -1
  107. package/ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.ts +6 -6
  108. package/ts_web/elements/00group-button/dees-button/dees-button.demo.ts +5 -5
  109. package/ts_web/elements/00group-button/dees-button/dees-button.ts +3 -3
  110. package/ts_web/elements/00group-chart/dees-chart-area/component.ts +13 -13
  111. package/ts_web/elements/00group-chart/dees-chart-area/demo.ts +5 -5
  112. package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.demo.ts +2 -2
  113. package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.ts +4 -4
  114. package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.demo.ts +3 -0
  115. package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.ts +31 -4
  116. package/ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.ts +1 -1
  117. package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +12 -12
  118. package/ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.ts +1 -1
  119. package/ts_web/elements/00group-form/dees-form/dees-form.demo.ts +8 -8
  120. package/ts_web/elements/00group-form/dees-form/dees-form.ts +7 -5
  121. package/ts_web/elements/00group-form/dees-form-submit/dees-form-submit.ts +2 -2
  122. package/ts_web/elements/00group-input/dees-input-base/dees-input-base.ts +3 -3
  123. package/ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.ts +1 -1
  124. package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +3 -3
  125. package/ts_web/elements/00group-input/dees-input-datepicker/demo.ts +19 -19
  126. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.ts +18 -18
  127. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.ts +5 -5
  128. package/ts_web/elements/00group-input/dees-input-fileupload/component.ts +3 -3
  129. package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.ts +5 -3
  130. package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.ts +4 -4
  131. package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.ts +1 -1
  132. package/ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.ts +5 -5
  133. package/ts_web/elements/00group-input/dees-input-richtext/component.ts +5 -5
  134. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.ts +6 -5
  135. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.ts +6 -6
  136. package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.ts +12 -10
  137. package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.ts +1 -1
  138. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/heading.block.ts +5 -4
  139. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/list.block.ts +5 -4
  140. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/paragraph.block.ts +5 -4
  141. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/quote.block.ts +5 -4
  142. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-formatting-menu.ts +19 -16
  143. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +6 -6
  144. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-slash-menu.ts +24 -20
  145. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-wysiwyg-block.ts +2 -2
  146. package/ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.dragdrophandler.ts +4 -4
  147. package/ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.keyboardhandler.ts +8 -8
  148. package/ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.modalmanager.ts +2 -2
  149. package/ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.demo.ts +8 -8
  150. package/ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.ts +2 -2
  151. package/ts_web/elements/00group-layout/dees-chips/dees-chips.ts +1 -1
  152. package/ts_web/elements/00group-layout/dees-dashboardgrid/dees-dashboardgrid.demo.ts +16 -12
  153. package/ts_web/elements/00group-layout/dees-label/dees-label.ts +1 -1
  154. package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts +7 -7
  155. package/ts_web/elements/00group-media/dees-pdf-shared/utils.ts +2 -2
  156. package/ts_web/elements/00group-media/dees-tile-pdf/demo.ts +1 -1
  157. package/ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.ts +3 -3
  158. package/ts_web/elements/00group-overlay/dees-modal/dees-modal.demo.ts +24 -24
  159. package/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +10 -10
  160. package/ts_web/elements/00group-overlay/dees-speechbubble/dees-speechbubble.ts +6 -6
  161. package/ts_web/elements/00group-runtime/environments/WebContainerEnvironment.ts +1 -1
  162. package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.ts +10 -10
  163. package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +6 -6
  164. package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.ts +6 -6
  165. package/ts_web/elements/00group-utility/dees-icon/dees-icon.demo.ts +3 -3
  166. package/ts_web/elements/00group-utility/dees-icon/dees-icon.ts +6 -6
  167. package/ts_web/elements/00group-utility/dees-updater/dees-updater.ts +3 -3
  168. package/ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.ts +4 -4
  169. package/ts_web/elements/00group-workspace/dees-workspace-markdown/dees-workspace-markdown.ts +9 -9
  170. package/ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.ts +3 -3
  171. package/ts_web/elements/00group-workspace/dees-workspace-monaco/dees-workspace-monaco.ts +2 -2
  172. package/ts_web/pages/zindex-showcase.ts +11 -11
  173. package/ts_web/services/DeesServiceLibLoader.ts +2 -2
  174. package/ts_web/services/versions.ts +1 -1
  175. /package/{npmextra.json → .smartconfig.json} +0 -0
package/license CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2020 Lossless GmbH (hello@lossless.com)
1
+ Copyright (c) 2020 Task Venture Capital GmbH (hello@task.vc)
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -8,10 +8,7 @@ copies of the Software, and to permit persons to whom the Software is
8
8
  furnished to do so, subject to the following conditions:
9
9
 
10
10
  The above copyright notice and this permission notice shall be included in all
11
- copies or substantial portions of the Software. You agree to being mentioned
12
- as reference by Lossless GmbH. This includes the use of your entity logos
13
- or profile picture by Lossless GmbH on websites and readme's, also on third party
14
- pages like gitlab.com or github.com.
11
+ copies or substantial portions of the Software.
15
12
 
16
13
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
14
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
@@ -19,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
16
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
17
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
18
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
19
+ SOFTWARE.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "3.48.5",
3
+ "version": "3.49.1",
4
4
  "private": false,
5
5
  "description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
6
6
  "main": "dist_ts_web/index.js",
@@ -16,8 +16,8 @@
16
16
  "author": "Lossless GmbH",
17
17
  "license": "MIT",
18
18
  "dependencies": {
19
- "@design.estate/dees-domtools": "^2.5.1",
20
- "@design.estate/dees-element": "^2.2.2",
19
+ "@design.estate/dees-domtools": "^2.5.4",
20
+ "@design.estate/dees-element": "^2.2.4",
21
21
  "@design.estate/dees-wcctools": "^3.8.0",
22
22
  "@fortawesome/fontawesome-svg-core": "^7.2.0",
23
23
  "@fortawesome/free-brands-svg-icons": "^7.2.0",
@@ -33,8 +33,8 @@
33
33
  "@tiptap/extension-typography": "^2.23.0",
34
34
  "@tiptap/extension-underline": "^2.23.0",
35
35
  "@tiptap/starter-kit": "^2.23.0",
36
- "@tsclass/tsclass": "^9.3.0",
37
- "apexcharts": "^5.10.3",
36
+ "@tsclass/tsclass": "^9.5.0",
37
+ "apexcharts": "^5.10.4",
38
38
  "highlight.js": "11.11.1",
39
39
  "ibantools": "^4.5.1",
40
40
  "lucide": "^0.577.0",
@@ -44,12 +44,12 @@
44
44
  "xterm-addon-fit": "^0.8.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@git.zone/tsbuild": "^4.3.0",
48
- "@git.zone/tsbundle": "^2.9.1",
49
- "@git.zone/tstest": "^3.3.2",
50
- "@git.zone/tswatch": "^3.3.0",
51
- "@push.rocks/projectinfo": "^5.0.2",
52
- "@types/node": "^25.4.0"
47
+ "@git.zone/tsbuild": "^4.4.0",
48
+ "@git.zone/tsbundle": "^2.10.0",
49
+ "@git.zone/tstest": "^3.6.3",
50
+ "@git.zone/tswatch": "^3.3.2",
51
+ "@push.rocks/projectinfo": "^5.1.0",
52
+ "@types/node": "^25.5.0"
53
53
  },
54
54
  "files": [
55
55
  "ts/**/*",
@@ -60,7 +60,7 @@
60
60
  "dist_ts_web/**/*",
61
61
  "assets/**/*",
62
62
  "cli.js",
63
- "npmextra.json",
63
+ ".smartconfig.json",
64
64
  "readme.md"
65
65
  ],
66
66
  "browserslist": [
package/readme.md CHANGED
@@ -58,13 +58,13 @@ For developers working on this library, please refer to the [UI Components Playb
58
58
  | **Core UI** | [`DeesButton`](#deesbutton), [`DeesButtonExit`](#deesbuttonexit), [`DeesButtonGroup`](#deesbuttongroup), [`DeesBadge`](#deesbadge), [`DeesChips`](#deeschips), [`DeesHeading`](#deesheading), [`DeesHint`](#deeshint), [`DeesIcon`](#deesicon), [`DeesLabel`](#deeslabel), [`DeesPanel`](#deespanel), [`DeesSearchbar`](#deessearchbar), [`DeesSpinner`](#deesspinner), [`DeesToast`](#deestoast), [`DeesWindowcontrols`](#deeswindowcontrols), [`DeesActionbar`](#deesactionbar) |
59
59
  | **Forms** | [`DeesForm`](#deesform), [`DeesInputText`](#deesinputtext), [`DeesInputCheckbox`](#deesinputcheckbox), [`DeesInputDropdown`](#deesinputdropdown), [`DeesInputRadiogroup`](#deesinputradiogroup), [`DeesInputFileupload`](#deesinputfileupload), [`DeesInputIban`](#deesinputiban), [`DeesInputPhone`](#deesinputphone), [`DeesInputQuantitySelector`](#deesinputquantityselector), [`DeesInputMultitoggle`](#deesinputmultitoggle), [`DeesInputToggle`](#deesinputtoggle), [`DeesInputTags`](#deesinputtags), [`DeesInputTypelist`](#deesinputtypelist), [`DeesInputList`](#deesinputlist), [`DeesInputProfilepicture`](#deesinputprofilepicture), [`DeesInputRichtext`](#deesinputrichtext), [`DeesInputWysiwyg`](#deesinputwysiwyg), [`DeesInputDatepicker`](#deesinputdatepicker), [`DeesInputSearchselect`](#deesinputsearchselect), [`DeesInputCode`](#deesinputcode), [`DeesFormSubmit`](#deesformsubmit) |
60
60
  | **App Shell (Layout)** | [`DeesAppui`](#deesappui-️), [`DeesAppuiMainmenu`](#deesappuimainmenu), [`DeesAppuiSecondarymenu`](#deesappuisecondarymenu), [`DeesAppuiMaincontent`](#deesappuimaincontent), [`DeesAppuiAppbar`](#deesappuiappbar), [`DeesAppuiActivitylog`](#deesappuiactivitylog), [`DeesAppuiBottombar`](#deesappuibottombar), [`DeesAppuiProfiledropdown`](#deesappuiprofiledropdown), [`DeesAppuiTabs`](#deesappuitabs), [`DeesMobileNavigation`](#deesmobilenavigation), [`DeesDashboardGrid`](#deesdashboardgrid) |
61
- | **Data Display** | [`DeesTable`](#deestable), [`DeesDataviewCodebox`](#deesdataviewcodebox), [`DeesDataviewStatusobject`](#deesdataviewstatusobject), [`DeesPdf`](#deespdf), [`DeesStatsGrid`](#deesstatsgrid), [`DeesPagination`](#deespagination) |
61
+ | **Data Display** | [`DeesTable`](#deestable), [`DeesDataviewCodebox`](#deesdataviewcodebox), [`DeesDataviewStatusobject`](#deesdataviewstatusobject), [`DeesPdf`](#deespdf), [`DeesStatsGrid`](#deesstatsgrid), [`DeesPagination`](#deespagination), [`DeesStorageBrowser`](#deesstorgebrowser) |
62
62
  | **Media & Tiles** | [`DeesTilePdf`](#deestilepdf), [`DeesTileImage`](#deestileimage), [`DeesTileAudio`](#deestileaudio), [`DeesTileVideo`](#deestilevideo), [`DeesTileNote`](#deestilenote), [`DeesTileFolder`](#deestilefolder), [`DeesPreview`](#deespreview), [`DeesPdfViewer`](#deespdfviewer), [`DeesPdfPreview`](#deespdfpreview), [`DeesImageViewer`](#deesimageviewer), [`DeesAudioViewer`](#deesaudioviewer), [`DeesVideoViewer`](#deesvideoviewer) |
63
63
  | **Visualization** | [`DeesChartArea`](#deeschartarea), [`DeesChartLog`](#deeschartlog) |
64
64
  | **Dialogs & Overlays** | [`DeesModal`](#deesmodal), [`DeesContextmenu`](#deescontextmenu), [`DeesSpeechbubble`](#deesspeechbubble), [`DeesWindowlayer`](#deeswindowlayer) |
65
65
  | **Navigation** | [`DeesStepper`](#deesstepper), [`DeesProgressbar`](#deesprogressbar) |
66
66
  | **Workspace / IDE** | [`DeesWorkspace`](#deesworkspace), [`DeesWorkspaceMonaco`](#deesworkspacemonaco), [`DeesWorkspaceDiffEditor`](#deesworkspacediffeditor), [`DeesWorkspaceFiletree`](#deesworkspacefiletree), [`DeesWorkspaceTerminal`](#deesworkspaceterminal), [`DeesWorkspaceTerminalPreview`](#deesworkspaceterminalpreview), [`DeesWorkspaceMarkdown`](#deesworkspacemarkdown), [`DeesWorkspaceMarkdownoutlet`](#deesworkspacemarkdownoutlet), [`DeesWorkspaceBottombar`](#deesworkspacebottombar) |
67
- | **Theming** | [`DeesTheme`](#deestheme) |
67
+ | **Theming** | [`DeesTheme`](#deestheme), [`DeesUpdater`](#deesupdater) |
68
68
  | **Pre-built Templates** | [`DeesSimpleAppdash`](#deessimpleappdash), [`DeesSimpleLogin`](#deessimplelogin) |
69
69
  | **Shopping** | [`DeesShoppingProductcard`](#deesshoppingproductcard) |
70
70
 
@@ -1780,7 +1780,7 @@ interface ITileFolderItem {
1780
1780
 
1781
1781
  ## License and Legal Information
1782
1782
 
1783
- This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](./LICENSE) file.
1783
+ This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](./license) file.
1784
1784
 
1785
1785
  **Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
1786
1786
 
@@ -1792,9 +1792,11 @@ Use of these trademarks must comply with Task Venture Capital GmbH's Trademark G
1792
1792
 
1793
1793
  ### Company Information
1794
1794
 
1795
- Task Venture Capital GmbH
1795
+ Task Venture Capital GmbH
1796
1796
  Registered at District Court Bremen HRB 35230 HB, Germany
1797
1797
 
1798
1798
  For any legal inquiries or further information, please contact us via email at hello@task.vc.
1799
1799
 
1800
1800
  By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
1801
+
1802
+ By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.48.5',
6
+ version: '3.49.1',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  }
@@ -12,7 +12,7 @@ class DemoDashboardView extends DeesElement {
12
12
  @state()
13
13
  accessor activated: boolean = false;
14
14
 
15
- private ctx: IViewActivationContext;
15
+ private ctx!: IViewActivationContext;
16
16
 
17
17
  private statsTiles: IStatsTile[] = [
18
18
  {
@@ -267,7 +267,7 @@ class DemoSettingsView extends DeesElement {
267
267
  @state()
268
268
  accessor hasChanges: boolean = false;
269
269
 
270
- private appui: DeesAppui;
270
+ private appui!: DeesAppui;
271
271
 
272
272
  onActivate(context: IViewActivationContext) {
273
273
  this.appui = context.appui as any;
@@ -1037,7 +1037,7 @@ export class DeesAppui extends DeesElement {
1037
1037
  if (!config.mainMenu?.sections) return [];
1038
1038
 
1039
1039
  return config.mainMenu.sections.map((section) => ({
1040
- name: section.name,
1040
+ name: section.name || '',
1041
1041
  items: section.views
1042
1042
  .map((viewId) => {
1043
1043
  const view = this.viewRegistry.get(viewId);
@@ -173,7 +173,7 @@ export class ViewRegistry {
173
173
  }
174
174
 
175
175
  // Check for cached instance
176
- let element = shouldCache ? this.instances.get(viewId) : undefined;
176
+ let element: HTMLElement | null | undefined = shouldCache ? this.instances.get(viewId) : undefined;
177
177
 
178
178
  if (element) {
179
179
  // Reuse cached instance - just show it
@@ -122,7 +122,7 @@ export class DeesAppuiBar extends DeesElement {
122
122
  >
123
123
  ${menuItem.iconName ? html`<dees-icon .icon="${`lucide:${menuItem.iconName}`}"></dees-icon>` : ''}
124
124
  ${menuItem.name}
125
- ${hasSubmenu ? this.renderDropdown(menuItem.submenu, itemId, isActive) : ''}
125
+ ${hasSubmenu ? this.renderDropdown(menuItem.submenu!, itemId, isActive) : ''}
126
126
  </div>
127
127
  `;
128
128
  }
@@ -75,21 +75,21 @@ export const demoFunc = () => {
75
75
  // Set up status toggle
76
76
  const statusButtons = elementArg.querySelectorAll('.status-toggle dees-button');
77
77
  statusButtons[0].addEventListener('click', () => {
78
- appbar.user = { ...appbar.user, status: 'online' };
78
+ appbar.user = { ...appbar.user!, status: 'online' };
79
79
  });
80
80
  statusButtons[1].addEventListener('click', () => {
81
- appbar.user = { ...appbar.user, status: 'busy' };
81
+ appbar.user = { ...appbar.user!, status: 'busy' };
82
82
  });
83
83
  statusButtons[2].addEventListener('click', () => {
84
- appbar.user = { ...appbar.user, status: 'away' };
84
+ appbar.user = { ...appbar.user!, status: 'away' };
85
85
  });
86
86
  statusButtons[3].addEventListener('click', () => {
87
- appbar.user = { ...appbar.user, status: 'offline' };
87
+ appbar.user = { ...appbar.user!, status: 'offline' };
88
88
  });
89
89
 
90
90
  // Set up window controls toggle
91
91
  const windowControlsButton = elementArg.querySelector('.window-controls-toggle dees-button');
92
- windowControlsButton.addEventListener('click', () => {
92
+ windowControlsButton!.addEventListener('click', () => {
93
93
  appbar.showWindowControls = !appbar.showWindowControls;
94
94
  });
95
95
 
@@ -165,7 +165,7 @@ export class DeesAppuiMaincontent extends DeesElement {
165
165
  }
166
166
  // Tab selection is now handled by the dees-appui-tabs component
167
167
  // But we need to ensure the tabs component is ready
168
- const tabsComponent = this.shadowRoot.querySelector('dees-appui-tabs') as DeesAppuiTabs;
168
+ const tabsComponent = this.shadowRoot!.querySelector('dees-appui-tabs') as DeesAppuiTabs;
169
169
  if (tabsComponent) {
170
170
  await tabsComponent.updateComplete;
171
171
  }
@@ -46,7 +46,7 @@ export class DeesAppuiMainmenu extends DeesElement {
46
46
  accessor tabs: interfaces.IMenuItem[] = [];
47
47
 
48
48
  @property()
49
- accessor selectedTab: interfaces.IMenuItem;
49
+ accessor selectedTab!: interfaces.IMenuItem;
50
50
 
51
51
  @property({ type: Boolean, reflect: true })
52
52
  accessor collapsed: boolean = false;
@@ -663,21 +663,21 @@ export class DeesAppuiTabs extends DeesElement {
663
663
  }
664
664
 
665
665
  private shouldShowIndicator(): boolean {
666
- return this.selectedTab && this.showTabIndicator && this.tabs.includes(this.selectedTab);
666
+ return !!this.selectedTab && this.showTabIndicator && this.tabs.includes(this.selectedTab);
667
667
  }
668
668
 
669
669
  private getSelectedTabElement(): HTMLElement | null {
670
- const selectedIndex = this.tabs.indexOf(this.selectedTab);
670
+ const selectedIndex = this.tabs.indexOf(this.selectedTab!);
671
671
  const isHorizontal = this.tabStyle === 'horizontal';
672
- const selector = isHorizontal
672
+ const selector = isHorizontal
673
673
  ? `.tabs-wrapper .tabsContainer .tab:nth-child(${selectedIndex + 1})`
674
674
  : `.vertical-wrapper .tabsContainer .tab:nth-child(${selectedIndex + 1})`;
675
-
676
- return this.shadowRoot.querySelector(selector);
675
+
676
+ return this.shadowRoot!.querySelector(selector);
677
677
  }
678
678
 
679
679
  private getIndicatorElement(): HTMLElement | null {
680
- return this.shadowRoot.querySelector('.tabIndicator');
680
+ return this.shadowRoot!.querySelector('.tabIndicator');
681
681
  }
682
682
 
683
683
  private handleInitialTransition(indicator: HTMLElement): void {
@@ -695,7 +695,7 @@ export class DeesAppuiTabs extends DeesElement {
695
695
  const tabContent = tabElement.querySelector('.tab-content') as HTMLElement;
696
696
  if (!tabContent) return;
697
697
 
698
- const wrapperRect = indicator.parentElement.getBoundingClientRect();
698
+ const wrapperRect = indicator.parentElement!.getBoundingClientRect();
699
699
  const contentRect = tabContent.getBoundingClientRect();
700
700
 
701
701
  const contentLeft = contentRect.left - wrapperRect.left;
@@ -707,7 +707,7 @@ export class DeesAppuiTabs extends DeesElement {
707
707
  }
708
708
 
709
709
  private updateVerticalIndicator(indicator: HTMLElement, tabElement: HTMLElement): void {
710
- const tabsContainer = this.shadowRoot.querySelector('.vertical-wrapper .tabsContainer') as HTMLElement;
710
+ const tabsContainer = this.shadowRoot!.querySelector('.vertical-wrapper .tabsContainer') as HTMLElement;
711
711
  if (!tabsContainer) return;
712
712
 
713
713
  indicator.style.top = `${tabElement.offsetTop + tabsContainer.offsetTop}px`;
@@ -1,5 +1,5 @@
1
1
  import { html, css } from '@design.estate/dees-element';
2
- import '../00group-button/dees-button/dees-button.js';
2
+ import '../../00group-button/dees-button/dees-button.js';
3
3
  import '../../00group-layout/dees-panel/dees-panel.js';
4
4
  import '@design.estate/dees-wcctools/demotools';
5
5
 
@@ -301,15 +301,15 @@ export class DeesMobilenavigation extends DeesElement {
301
301
  `;
302
302
  }
303
303
 
304
- private windowLayer: DeesWindowLayer;
304
+ private windowLayer!: DeesWindowLayer;
305
305
 
306
306
  /**
307
307
  * inits the show
308
308
  */
309
309
  public async show() {
310
310
  const domtools = await this.domtoolsPromise;
311
- const main = this.shadowRoot.querySelector('.main');
312
-
311
+ const main = this.shadowRoot!.querySelector('.main');
312
+
313
313
  // Create window layer first (it will get its own z-index)
314
314
  if (!this.windowLayer) {
315
315
  this.windowLayer = await DeesWindowLayer.createAndShow({
@@ -328,7 +328,7 @@ export class DeesMobilenavigation extends DeesElement {
328
328
  zIndexRegistry.register(this, this.mobileNavZIndex);
329
329
 
330
330
  await domtools.convenience.smartdelay.delayFor(10);
331
- main.classList.add('show');
331
+ main!.classList.add('show');
332
332
  }
333
333
 
334
334
  /**
@@ -336,8 +336,8 @@ export class DeesMobilenavigation extends DeesElement {
336
336
  */
337
337
  public async hide() {
338
338
  const domtools = await this.domtoolsPromise;
339
- const main = this.shadowRoot.querySelector('.main');
340
- main.classList.remove('show');
339
+ const main = this.shadowRoot!.querySelector('.main');
340
+ main!.classList.remove('show');
341
341
 
342
342
  // Unregister from z-index registry
343
343
  zIndexRegistry.unregister(this);
@@ -288,8 +288,8 @@ export const demoFunc = () => html`
288
288
  }
289
289
 
290
290
  if (dataBtn && output) {
291
- dataBtn.addEventListener('clicked', (e: CustomEvent) => {
292
- output.textContent = `Clicked: Secondary button with data: ${e.detail.data}`;
291
+ dataBtn.addEventListener('clicked', (e: Event) => {
292
+ output.textContent = `Clicked: Secondary button with data: ${(e as CustomEvent).detail.data}`;
293
293
  });
294
294
  }
295
295
 
@@ -322,9 +322,9 @@ export const demoFunc = () => html`
322
322
  const output = elementArg.querySelector('#form-output');
323
323
 
324
324
  if (form && output) {
325
- form.addEventListener('formData', (e: CustomEvent) => {
326
- output.innerHTML = '<strong>Form submitted with data:</strong><br>' +
327
- JSON.stringify(e.detail.data, null, 2);
325
+ form.addEventListener('formData', (e: Event) => {
326
+ output.innerHTML = '<strong>Form submitted with data:</strong><br>' +
327
+ JSON.stringify((e as CustomEvent).detail.data, null, 2);
328
328
  });
329
329
  }
330
330
 
@@ -31,10 +31,10 @@ export class DeesButton extends DeesElement {
31
31
  return true;
32
32
  }
33
33
  })
34
- accessor text: string;
34
+ accessor text!: string;
35
35
 
36
36
  @property()
37
- accessor eventDetailData: string;
37
+ accessor eventDetailData!: string;
38
38
 
39
39
  @property({
40
40
  type: Boolean,
@@ -69,7 +69,7 @@ export class DeesButton extends DeesElement {
69
69
  accessor insideForm: boolean = false;
70
70
 
71
71
  @property({ type: String, reflect: true })
72
- accessor icon: string;
72
+ accessor icon!: string;
73
73
 
74
74
  @property({ type: String, reflect: true })
75
75
  accessor iconPosition: 'left' | 'right' = 'left';
@@ -37,7 +37,7 @@ export class DeesChartArea extends DeesElement {
37
37
 
38
38
  // instance
39
39
  @state()
40
- accessor chart: ApexCharts;
40
+ accessor chart!: ApexCharts;
41
41
 
42
42
  @property()
43
43
  accessor label: string = 'Untitled Chart';
@@ -68,8 +68,8 @@ export class DeesChartArea extends DeesElement {
68
68
  @property({ type: Number })
69
69
  accessor autoScrollInterval: number = 1000; // Auto-scroll interval in milliseconds (0 to disable)
70
70
 
71
- private resizeObserver: ResizeObserver;
72
- private resizeTimeout: number;
71
+ private resizeObserver!: ResizeObserver;
72
+ private resizeTimeout!: number;
73
73
  private internalChartData: ApexAxisChartSeries = [];
74
74
  private autoScrollTimer: number | null = null;
75
75
  private readonly DEBUG_RESIZE = false; // Set to true to enable resize debugging
@@ -132,7 +132,7 @@ export class DeesChartArea extends DeesElement {
132
132
  if (this.chart) {
133
133
  try {
134
134
  this.chart.destroy();
135
- this.chart = null;
135
+ this.chart = null as any;
136
136
  } catch (error) {
137
137
  console.error('Error destroying chart:', error);
138
138
  }
@@ -170,14 +170,14 @@ export class DeesChartArea extends DeesElement {
170
170
  await new Promise(resolve => requestAnimationFrame(resolve));
171
171
 
172
172
  // Get actual dimensions of the container
173
- const mainbox: HTMLDivElement = this.shadowRoot.querySelector('.mainbox');
174
- const chartContainer: HTMLDivElement = this.shadowRoot.querySelector('.chartContainer');
175
-
173
+ const mainbox: HTMLDivElement | null = this.shadowRoot!.querySelector('.mainbox');
174
+ const chartContainer: HTMLDivElement | null = this.shadowRoot!.querySelector('.chartContainer');
175
+
176
176
  if (!mainbox || !chartContainer) {
177
177
  console.error('Chart containers not found');
178
178
  return;
179
179
  }
180
-
180
+
181
181
  // Calculate initial dimensions
182
182
  const styleChartContainer = window.getComputedStyle(chartContainer);
183
183
  const paddingTop = parseInt(styleChartContainer.paddingTop, 10);
@@ -368,7 +368,7 @@ export class DeesChartArea extends DeesElement {
368
368
  };
369
369
 
370
370
  try {
371
- this.chart = new ApexChartsLib(this.shadowRoot.querySelector('.chartContainer'), options);
371
+ this.chart = new ApexChartsLib(this.shadowRoot!.querySelector('.chartContainer')!, options);
372
372
  await this.chart.render();
373
373
 
374
374
  // Give the chart a moment to fully initialize before resizing
@@ -376,7 +376,7 @@ export class DeesChartArea extends DeesElement {
376
376
  await this.resizeChart();
377
377
 
378
378
  // Ensure resize observer is watching the mainbox
379
- const mainbox = this.shadowRoot.querySelector('.mainbox');
379
+ const mainbox = this.shadowRoot!.querySelector('.mainbox');
380
380
  if (mainbox && this.resizeObserver) {
381
381
  // Disconnect any previous observations
382
382
  this.resizeObserver.disconnect();
@@ -572,9 +572,9 @@ export class DeesChartArea extends DeesElement {
572
572
  }
573
573
 
574
574
  try {
575
- const mainbox: HTMLDivElement = this.shadowRoot.querySelector('.mainbox');
576
- const chartContainer: HTMLDivElement = this.shadowRoot.querySelector('.chartContainer');
577
-
575
+ const mainbox: HTMLDivElement | null = this.shadowRoot!.querySelector('.mainbox');
576
+ const chartContainer: HTMLDivElement | null = this.shadowRoot!.querySelector('.chartContainer');
577
+
578
578
  if (!mainbox || !chartContainer) {
579
579
  return;
580
580
  }
@@ -44,8 +44,8 @@ export const demoFunc = () => {
44
44
  // Get the chart elements
45
45
  const chartElement = elementArg.querySelector('#main-chart') as DeesChartArea;
46
46
  const connectionsChartElement = elementArg.querySelector('#connections-chart') as DeesChartArea;
47
- let intervalId: number;
48
- let connectionsIntervalId: number;
47
+ let intervalId: number | null;
48
+ let connectionsIntervalId: number | null;
49
49
  let currentDataset = 'system';
50
50
 
51
51
  // Y-axis formatters for different datasets
@@ -71,7 +71,7 @@ export const demoFunc = () => {
71
71
 
72
72
  // Generate initial data points for time window
73
73
  const generateInitialData = (baseValue: number, variance: number, interval: number = DATA_POINT_INTERVAL) => {
74
- const data = [];
74
+ const data: Array<{ x: string; y: number }> = [];
75
75
  const now = Date.now();
76
76
  const pointCount = Math.floor(TIME_WINDOW / interval);
77
77
 
@@ -240,10 +240,10 @@ export const demoFunc = () => {
240
240
  // Switch dataset
241
241
  const switchDataset = (name: string) => {
242
242
  currentDataset = name;
243
- const dataset = datasets[name];
243
+ const dataset = (datasets as Record<string, any>)[name];
244
244
  chartElement.label = dataset.label;
245
245
  chartElement.series = dataset.series;
246
- chartElement.yAxisFormatter = formatters[name];
246
+ chartElement.yAxisFormatter = (formatters as Record<string, any>)[name];
247
247
 
248
248
  // Set appropriate y-axis scaling
249
249
  if (name === 'system') {
@@ -8,8 +8,8 @@ export const demoFunc = () => {
8
8
  // Get the log elements
9
9
  const structuredLog = elementArg.querySelector('#structured-log') as DeesChartLog;
10
10
  const rawLog = elementArg.querySelector('#raw-log') as DeesChartLog;
11
- let structuredIntervalId: number;
12
- let rawIntervalId: number;
11
+ let structuredIntervalId: number | null;
12
+ let rawIntervalId: number | null;
13
13
 
14
14
  const serverSources = ['Server', 'Database', 'API', 'Auth', 'Cache', 'Queue', 'WebSocket', 'Scheduler'];
15
15
 
@@ -203,7 +203,7 @@ export class DeesDataviewCodebox extends DeesElement {
203
203
  </style>
204
204
  <div
205
205
  class="mainbox"
206
- @contextmenu="${(eventArg) => {
206
+ @contextmenu="${(eventArg: MouseEvent) => {
207
207
  DeesContextmenu.openContextMenuWithOptions(eventArg, [
208
208
  {
209
209
  name: 'About',
@@ -241,7 +241,7 @@ export class DeesDataviewCodebox extends DeesElement {
241
241
  private codeToDisplayStore = '';
242
242
  private highlightJs: HLJSApi | null = null;
243
243
 
244
- public async updated(_changedProperties) {
244
+ public async updated(_changedProperties: Map<string, any>) {
245
245
  super.updated(_changedProperties);
246
246
  console.log('highlighting now');
247
247
  console.log(this.childNodes);
@@ -267,11 +267,11 @@ export class DeesDataviewCodebox extends DeesElement {
267
267
  this.highlightJs = await DeesServiceLibLoader.getInstance().loadHighlightJs();
268
268
  }
269
269
 
270
- const localCodeNode = this.shadowRoot.querySelector('code');
270
+ const localCodeNode = this.shadowRoot!.querySelector('code');
271
271
  const highlightedHtml = this.highlightJs.highlight(this.codeToDisplayStore, {
272
272
  language: this.progLang,
273
273
  ignoreIllegals: true,
274
274
  });
275
- localCodeNode.innerHTML = highlightedHtml.value;
275
+ localCodeNode!.innerHTML = highlightedHtml.value;
276
276
  }
277
277
  }
@@ -50,6 +50,7 @@ export const demoFunc = () => html` <style>
50
50
  .statusObject=${{
51
51
  id: '1',
52
52
  name: 'API Gateway Service',
53
+ lastUpdated: Date.now(),
53
54
  combinedStatus: 'ok',
54
55
  combinedStatusText: 'All systems operational',
55
56
  details: [
@@ -89,6 +90,7 @@ export const demoFunc = () => html` <style>
89
90
  .statusObject=${{
90
91
  id: '2',
91
92
  name: 'PostgreSQL Cluster',
93
+ lastUpdated: Date.now() - 3600000,
92
94
  combinedStatus: 'partly_ok',
93
95
  combinedStatusText: 'Minor issues detected',
94
96
  details: [
@@ -128,6 +130,7 @@ export const demoFunc = () => html` <style>
128
130
  .statusObject=${{
129
131
  id: '3',
130
132
  name: 'CI/CD Pipeline',
133
+ lastUpdated: Date.now() - 86400000,
131
134
  combinedStatus: 'not_ok',
132
135
  combinedStatusText: 'Build failure',
133
136
  details: [
@@ -29,7 +29,7 @@ export class DeesDataviewStatusobject extends DeesElement {
29
29
  public static demo = demoFunc;
30
30
  public static demoGroups = ['Data View'];
31
31
 
32
- @property({ type: Object }) accessor statusObject: tsclass.code.IStatusObject;
32
+ @property({ type: Object }) accessor statusObject!: tsclass.code.IStatusObject;
33
33
 
34
34
  public static styles = [
35
35
  themeDefaultStyles,
@@ -128,7 +128,7 @@ export class DeesDataviewStatusobject extends DeesElement {
128
128
  grid-template-columns: 48px auto;
129
129
  border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 94%)', 'hsl(0 0% 14.9%)')};
130
130
  transition: background-color 0.15s ease;
131
- padding-right: 16px;
131
+ padding: 0 16px;
132
132
  cursor: context-menu;
133
133
  }
134
134
 
@@ -148,7 +148,7 @@ export class DeesDataviewStatusobject extends DeesElement {
148
148
  .detail .detailsText .label {
149
149
  font-size: 12px;
150
150
  font-weight: 500;
151
- color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')}
151
+ color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
152
152
  margin-bottom: 2px;
153
153
  letter-spacing: -0.01em;
154
154
  }
@@ -159,6 +159,28 @@ export class DeesDataviewStatusobject extends DeesElement {
159
159
  color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
160
160
  line-height: 1.5;
161
161
  }
162
+
163
+ .bottomBar {
164
+ position: relative;
165
+ color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
166
+ background: ${cssManager.bdTheme('hsl(0 0% 97%)', 'hsl(0 0% 7%)')};
167
+ border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
168
+ height: 28px;
169
+ font-size: 12px;
170
+ line-height: 28px;
171
+ display: flex;
172
+ justify-content: flex-end;
173
+ align-items: stretch;
174
+ overflow: hidden;
175
+ flex-shrink: 0;
176
+ }
177
+
178
+ .bottomBar .statusLabel {
179
+ padding: 0 16px;
180
+ display: flex;
181
+ align-items: center;
182
+ font-weight: 500;
183
+ }
162
184
  `,
163
185
  ];
164
186
 
@@ -209,6 +231,11 @@ export class DeesDataviewStatusobject extends DeesElement {
209
231
  </div>
210
232
  `;
211
233
  })}
234
+ <div class="bottomBar">
235
+ <div class="statusLabel">${this.statusObject?.lastUpdated
236
+ ? `Last updated: ${new Date(this.statusObject.lastUpdated).toLocaleString()}`
237
+ : ''}</div>
238
+ </div>
212
239
  </div>
213
240
  `;
214
241
  }
@@ -232,7 +259,7 @@ export class DeesDataviewStatusobject extends DeesElement {
232
259
  await navigator.clipboard.writeText(JSON.stringify(this.statusObject, null, 2));
233
260
 
234
261
  // Show feedback
235
- const button = this.shadowRoot.querySelector('.copyMain') as HTMLElement;
262
+ const button = this.shadowRoot!.querySelector('.copyMain') as HTMLElement;
236
263
  const originalText = button.textContent;
237
264
  button.textContent = 'Copied!';
238
265
 
@@ -878,7 +878,7 @@ export class DeesStatsGrid extends DeesElement {
878
878
 
879
879
  private renderTile(tile: IStatsTile): TemplateResult {
880
880
  const hasActions = tile.actions && tile.actions.length > 0;
881
- const clickable = hasActions && tile.actions.length === 1;
881
+ const clickable = hasActions && tile.actions!.length === 1;
882
882
  const columnSpan = tile.columnSpan && tile.columnSpan > 1 ? tile.columnSpan : undefined;
883
883
 
884
884
  return html`