@design.estate/dees-catalog 3.49.0 → 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 (171) hide show
  1. package/dist_bundle/bundle.js +8784 -3856
  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.js +1 -1
  23. package/dist_ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.js +1 -1
  24. package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +1 -1
  25. package/dist_ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.js +1 -1
  26. package/dist_ts_web/elements/00group-form/dees-form/dees-form.demo.js +7 -7
  27. package/dist_ts_web/elements/00group-form/dees-form/dees-form.js +9 -6
  28. package/dist_ts_web/elements/00group-form/dees-form-submit/dees-form-submit.js +1 -1
  29. package/dist_ts_web/elements/00group-input/dees-input-base/dees-input-base.js +1 -1
  30. package/dist_ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.js +1 -1
  31. package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +1 -1
  32. package/dist_ts_web/elements/00group-input/dees-input-datepicker/demo.js +15 -15
  33. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.d.ts +4 -4
  34. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.js +17 -17
  35. package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.js +1 -1
  36. package/dist_ts_web/elements/00group-input/dees-input-fileupload/component.d.ts +1 -1
  37. package/dist_ts_web/elements/00group-input/dees-input-fileupload/component.js +1 -1
  38. package/dist_ts_web/elements/00group-input/dees-input-iban/dees-input-iban.js +4 -2
  39. package/dist_ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.js +1 -1
  40. package/dist_ts_web/elements/00group-input/dees-input-phone/dees-input-phone.js +1 -1
  41. package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.d.ts +1 -1
  42. package/dist_ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.js +1 -1
  43. package/dist_ts_web/elements/00group-input/dees-input-richtext/component.js +1 -1
  44. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.js +7 -6
  45. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.js +1 -1
  46. package/dist_ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.js +7 -5
  47. package/dist_ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.js +1 -1
  48. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/heading.block.js +6 -5
  49. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/list.block.js +6 -5
  50. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/paragraph.block.js +6 -5
  51. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/quote.block.js +6 -5
  52. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-formatting-menu.js +16 -13
  53. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.js +3 -3
  54. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-slash-menu.js +19 -15
  55. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/dees-wysiwyg-block.js +1 -1
  56. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.dragdrophandler.d.ts +3 -3
  57. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.dragdrophandler.js +1 -1
  58. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.keyboardhandler.js +1 -1
  59. package/dist_ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.modalmanager.js +1 -1
  60. package/dist_ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.demo.js +7 -7
  61. package/dist_ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.js +3 -3
  62. package/dist_ts_web/elements/00group-layout/dees-chips/dees-chips.d.ts +1 -1
  63. package/dist_ts_web/elements/00group-layout/dees-chips/dees-chips.js +1 -1
  64. package/dist_ts_web/elements/00group-layout/dees-dashboardgrid/dees-dashboardgrid.demo.js +11 -8
  65. package/dist_ts_web/elements/00group-layout/dees-label/dees-label.js +1 -1
  66. package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.js +1 -1
  67. package/dist_ts_web/elements/00group-media/dees-pdf-shared/utils.js +3 -3
  68. package/dist_ts_web/elements/00group-media/dees-tile-pdf/demo.js +1 -1
  69. package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.js +1 -1
  70. package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.demo.js +2 -2
  71. package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +1 -1
  72. package/dist_ts_web/elements/00group-overlay/dees-speechbubble/dees-speechbubble.js +1 -1
  73. package/dist_ts_web/elements/00group-runtime/environments/WebContainerEnvironment.js +1 -1
  74. package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.js +1 -1
  75. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.d.ts +3 -3
  76. package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +2 -2
  77. package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.js +3 -3
  78. package/dist_ts_web/elements/00group-utility/dees-icon/dees-icon.demo.js +1 -1
  79. package/dist_ts_web/elements/00group-utility/dees-icon/dees-icon.js +1 -1
  80. package/dist_ts_web/elements/00group-utility/dees-searchbar/dees-searchbar.d.ts +1 -1
  81. package/dist_ts_web/elements/00group-utility/dees-updater/dees-updater.js +1 -1
  82. package/dist_ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.js +1 -1
  83. package/dist_ts_web/elements/00group-workspace/dees-workspace-markdown/dees-workspace-markdown.d.ts +1 -1
  84. package/dist_ts_web/elements/00group-workspace/dees-workspace-markdown/dees-workspace-markdown.js +1 -1
  85. package/dist_ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.js +1 -1
  86. package/dist_ts_web/elements/00group-workspace/dees-workspace-monaco/dees-workspace-monaco.js +1 -1
  87. package/dist_ts_web/pages/zindex-showcase.js +1 -1
  88. package/dist_ts_web/services/DeesServiceLibLoader.js +1 -1
  89. package/dist_ts_web/services/versions.d.ts +1 -1
  90. package/dist_ts_web/services/versions.js +1 -1
  91. package/license +3 -6
  92. package/package.json +11 -11
  93. package/readme.md +6 -4
  94. package/ts_web/00_commitinfo_data.ts +1 -1
  95. package/ts_web/elements/00group-appui/dees-appui/dees-appui.demo.ts +2 -2
  96. package/ts_web/elements/00group-appui/dees-appui/dees-appui.ts +1 -1
  97. package/ts_web/elements/00group-appui/dees-appui/view.registry.ts +1 -1
  98. package/ts_web/elements/00group-appui/dees-appui-appbar/component.ts +1 -1
  99. package/ts_web/elements/00group-appui/dees-appui-appbar/demo.ts +5 -5
  100. package/ts_web/elements/00group-appui/dees-appui-maincontent/dees-appui-maincontent.ts +1 -1
  101. package/ts_web/elements/00group-appui/dees-appui-mainmenu/dees-appui-mainmenu.ts +1 -1
  102. package/ts_web/elements/00group-appui/dees-appui-tabs/dees-appui-tabs.ts +8 -8
  103. package/ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.demo.ts +1 -1
  104. package/ts_web/elements/00group-appui/dees-mobilenavigation/dees-mobilenavigation.ts +6 -6
  105. package/ts_web/elements/00group-button/dees-button/dees-button.demo.ts +5 -5
  106. package/ts_web/elements/00group-button/dees-button/dees-button.ts +3 -3
  107. package/ts_web/elements/00group-chart/dees-chart-area/component.ts +13 -13
  108. package/ts_web/elements/00group-chart/dees-chart-area/demo.ts +5 -5
  109. package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.demo.ts +2 -2
  110. package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.ts +4 -4
  111. package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.ts +2 -2
  112. package/ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.ts +1 -1
  113. package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +12 -12
  114. package/ts_web/elements/00group-feedback/dees-progressbar/dees-progressbar.ts +1 -1
  115. package/ts_web/elements/00group-form/dees-form/dees-form.demo.ts +8 -8
  116. package/ts_web/elements/00group-form/dees-form/dees-form.ts +7 -5
  117. package/ts_web/elements/00group-form/dees-form-submit/dees-form-submit.ts +2 -2
  118. package/ts_web/elements/00group-input/dees-input-base/dees-input-base.ts +3 -3
  119. package/ts_web/elements/00group-input/dees-input-checkbox/dees-input-checkbox.ts +1 -1
  120. package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +3 -3
  121. package/ts_web/elements/00group-input/dees-input-datepicker/demo.ts +19 -19
  122. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.demo.ts +18 -18
  123. package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown.ts +5 -5
  124. package/ts_web/elements/00group-input/dees-input-fileupload/component.ts +3 -3
  125. package/ts_web/elements/00group-input/dees-input-iban/dees-input-iban.ts +5 -3
  126. package/ts_web/elements/00group-input/dees-input-multitoggle/dees-input-multitoggle.ts +4 -4
  127. package/ts_web/elements/00group-input/dees-input-phone/dees-input-phone.ts +1 -1
  128. package/ts_web/elements/00group-input/dees-input-radiogroup/dees-input-radiogroup.ts +5 -5
  129. package/ts_web/elements/00group-input/dees-input-richtext/component.ts +5 -5
  130. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.demo.ts +6 -5
  131. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.ts +6 -6
  132. package/ts_web/elements/00group-input/dees-input-toggle/dees-input-toggle.demo.ts +12 -10
  133. package/ts_web/elements/00group-input/dees-input-typelist/dees-input-typelist.ts +1 -1
  134. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/heading.block.ts +5 -4
  135. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/list.block.ts +5 -4
  136. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/paragraph.block.ts +5 -4
  137. package/ts_web/elements/00group-input/dees-input-wysiwyg/blocks/text/quote.block.ts +5 -4
  138. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-formatting-menu.ts +19 -16
  139. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-input-wysiwyg.ts +6 -6
  140. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-slash-menu.ts +24 -20
  141. package/ts_web/elements/00group-input/dees-input-wysiwyg/dees-wysiwyg-block.ts +2 -2
  142. package/ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.dragdrophandler.ts +4 -4
  143. package/ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.keyboardhandler.ts +8 -8
  144. package/ts_web/elements/00group-input/dees-input-wysiwyg/wysiwyg.modalmanager.ts +2 -2
  145. package/ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.demo.ts +8 -8
  146. package/ts_web/elements/00group-input/profilepicture/dees-input-profilepicture.ts +2 -2
  147. package/ts_web/elements/00group-layout/dees-chips/dees-chips.ts +1 -1
  148. package/ts_web/elements/00group-layout/dees-dashboardgrid/dees-dashboardgrid.demo.ts +16 -12
  149. package/ts_web/elements/00group-layout/dees-label/dees-label.ts +1 -1
  150. package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts +7 -7
  151. package/ts_web/elements/00group-media/dees-pdf-shared/utils.ts +2 -2
  152. package/ts_web/elements/00group-media/dees-tile-pdf/demo.ts +1 -1
  153. package/ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.ts +3 -3
  154. package/ts_web/elements/00group-overlay/dees-modal/dees-modal.demo.ts +24 -24
  155. package/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +10 -10
  156. package/ts_web/elements/00group-overlay/dees-speechbubble/dees-speechbubble.ts +6 -6
  157. package/ts_web/elements/00group-runtime/environments/WebContainerEnvironment.ts +1 -1
  158. package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.ts +10 -10
  159. package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +6 -6
  160. package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.ts +6 -6
  161. package/ts_web/elements/00group-utility/dees-icon/dees-icon.demo.ts +3 -3
  162. package/ts_web/elements/00group-utility/dees-icon/dees-icon.ts +6 -6
  163. package/ts_web/elements/00group-utility/dees-updater/dees-updater.ts +3 -3
  164. package/ts_web/elements/00group-workspace/dees-workspace-filetree/dees-workspace-filetree.ts +4 -4
  165. package/ts_web/elements/00group-workspace/dees-workspace-markdown/dees-workspace-markdown.ts +9 -9
  166. package/ts_web/elements/00group-workspace/dees-workspace-markdownoutlet/dees-workspace-markdownoutlet.ts +3 -3
  167. package/ts_web/elements/00group-workspace/dees-workspace-monaco/dees-workspace-monaco.ts +2 -2
  168. package/ts_web/pages/zindex-showcase.ts +11 -11
  169. package/ts_web/services/DeesServiceLibLoader.ts +2 -2
  170. package/ts_web/services/versions.ts +1 -1
  171. /package/{npmextra.json → .smartconfig.json} +0 -0
@@ -188,36 +188,39 @@ export class DeesFormattingMenu extends DeesElement {
188
188
 
189
189
  public firstUpdated(): void {
190
190
  // Set up event delegation for the menu
191
- this.shadowRoot?.addEventListener('mousedown', (e: MouseEvent) => {
191
+ this.shadowRoot!.addEventListener('mousedown', (e: Event) => {
192
+ const mouseEvent = e as MouseEvent;
192
193
  const menu = this.shadowRoot?.querySelector('.formatting-menu');
193
- if (menu && menu.contains(e.target as Node)) {
194
+ if (menu && menu.contains(mouseEvent.target as Node)) {
194
195
  // Prevent focus loss
195
- e.preventDefault();
196
- e.stopPropagation();
196
+ mouseEvent.preventDefault();
197
+ mouseEvent.stopPropagation();
197
198
  }
198
199
  });
199
-
200
- this.shadowRoot?.addEventListener('click', (e: MouseEvent) => {
201
- const target = e.target as HTMLElement;
200
+
201
+ this.shadowRoot!.addEventListener('click', (e: Event) => {
202
+ const mouseEvent = e as MouseEvent;
203
+ const target = mouseEvent.target as HTMLElement;
202
204
  const button = target.closest('.format-button') as HTMLElement;
203
-
205
+
204
206
  if (button) {
205
- e.preventDefault();
206
- e.stopPropagation();
207
-
207
+ mouseEvent.preventDefault();
208
+ mouseEvent.stopPropagation();
209
+
208
210
  const command = button.getAttribute('data-command');
209
211
  if (command) {
210
212
  this.applyFormat(command);
211
213
  }
212
214
  }
213
215
  });
214
-
215
- this.shadowRoot?.addEventListener('focus', (e: FocusEvent) => {
216
+
217
+ this.shadowRoot!.addEventListener('focus', (e: Event) => {
218
+ const focusEvent = e as FocusEvent;
216
219
  const menu = this.shadowRoot?.querySelector('.formatting-menu');
217
- if (menu && menu.contains(e.target as Node)) {
220
+ if (menu && menu.contains(focusEvent.target as Node)) {
218
221
  // Prevent menu from taking focus
219
- e.preventDefault();
220
- e.stopPropagation();
222
+ focusEvent.preventDefault();
223
+ focusEvent.stopPropagation();
221
224
  }
222
225
  }, true); // Use capture phase
223
226
  }
@@ -77,7 +77,7 @@ export class DeesInputWysiwyg extends DeesInputBase<string> {
77
77
  @state()
78
78
  accessor selectedText: string = '';
79
79
 
80
- public editorContentRef: HTMLDivElement;
80
+ public editorContentRef!: HTMLDivElement;
81
81
  public isComposing: boolean = false;
82
82
 
83
83
  // Handler instances
@@ -144,7 +144,7 @@ export class DeesInputWysiwyg extends DeesInputBase<string> {
144
144
  // No global selection listener needed
145
145
 
146
146
  // Listen for custom selection events from blocks
147
- this.addEventListener('block-text-selected', (e: CustomEvent) => {
147
+ this.addEventListener('block-text-selected', ((e: CustomEvent) => {
148
148
 
149
149
  if (!this.slashMenu.visible && e.detail.hasSelection && e.detail.text.length > 0) {
150
150
  this.selectedText = e.detail.text;
@@ -164,8 +164,8 @@ export class DeesInputWysiwyg extends DeesInputBase<string> {
164
164
  );
165
165
  }
166
166
  }
167
- });
168
-
167
+ }) as EventListener);
168
+
169
169
  // Hide formatting menu when clicking outside
170
170
  document.addEventListener('mousedown', (e) => {
171
171
  // Check if click is on the formatting menu itself
@@ -896,14 +896,14 @@ export class DeesInputWysiwyg extends DeesInputBase<string> {
896
896
  {
897
897
  name: 'Cancel',
898
898
  action: async (modal) => {
899
- modal.destroy();
899
+ modal!.destroy();
900
900
  resolve(null);
901
901
  }
902
902
  },
903
903
  {
904
904
  name: 'Add Link',
905
905
  action: async (modal) => {
906
- modal.destroy();
906
+ modal!.destroy();
907
907
  resolve(linkUrl);
908
908
  }
909
909
  }
@@ -216,46 +216,50 @@ export class DeesSlashMenu extends DeesElement {
216
216
 
217
217
  public firstUpdated(): void {
218
218
  // Set up event delegation
219
- this.shadowRoot?.addEventListener('mousedown', (e: MouseEvent) => {
219
+ this.shadowRoot!.addEventListener('mousedown', (e: Event) => {
220
+ const mouseEvent = e as MouseEvent;
220
221
  const menu = this.shadowRoot?.querySelector('.slash-menu');
221
- if (menu && menu.contains(e.target as Node)) {
222
+ if (menu && menu.contains(mouseEvent.target as Node)) {
222
223
  // Prevent focus loss
223
- e.preventDefault();
224
- e.stopPropagation();
224
+ mouseEvent.preventDefault();
225
+ mouseEvent.stopPropagation();
225
226
  }
226
227
  });
227
-
228
- this.shadowRoot?.addEventListener('click', (e: MouseEvent) => {
229
- const target = e.target as HTMLElement;
228
+
229
+ this.shadowRoot!.addEventListener('click', (e: Event) => {
230
+ const mouseEvent = e as MouseEvent;
231
+ const target = mouseEvent.target as HTMLElement;
230
232
  const menuItem = target.closest('.slash-menu-item') as HTMLElement;
231
-
233
+
232
234
  if (menuItem) {
233
- e.preventDefault();
234
- e.stopPropagation();
235
-
235
+ mouseEvent.preventDefault();
236
+ mouseEvent.stopPropagation();
237
+
236
238
  const itemType = menuItem.getAttribute('data-item-type');
237
239
  if (itemType) {
238
240
  this.selectItem(itemType);
239
241
  }
240
242
  }
241
243
  });
242
-
243
- this.shadowRoot?.addEventListener('mouseenter', (e: MouseEvent) => {
244
- const target = e.target as HTMLElement;
244
+
245
+ this.shadowRoot!.addEventListener('mouseenter', (e: Event) => {
246
+ const mouseEvent = e as MouseEvent;
247
+ const target = mouseEvent.target as HTMLElement;
245
248
  const menuItem = target.closest('.slash-menu-item') as HTMLElement;
246
-
249
+
247
250
  if (menuItem) {
248
251
  const index = parseInt(menuItem.getAttribute('data-item-index') || '0', 10);
249
252
  this.selectedIndex = index;
250
253
  }
251
254
  }, true); // Use capture phase
252
-
253
- this.shadowRoot?.addEventListener('focus', (e: FocusEvent) => {
255
+
256
+ this.shadowRoot!.addEventListener('focus', (e: Event) => {
257
+ const focusEvent = e as FocusEvent;
254
258
  const menu = this.shadowRoot?.querySelector('.slash-menu');
255
- if (menu && menu.contains(e.target as Node)) {
259
+ if (menu && menu.contains(focusEvent.target as Node)) {
256
260
  // Prevent menu from taking focus
257
- e.preventDefault();
258
- e.stopPropagation();
261
+ focusEvent.preventDefault();
262
+ focusEvent.stopPropagation();
259
263
  }
260
264
  }, true); // Use capture phase
261
265
  }
@@ -33,13 +33,13 @@ export class DeesWysiwygBlock extends DeesElement {
33
33
  }
34
34
  }
35
35
  @property({ type: Object })
36
- accessor block: IBlock;
36
+ accessor block!: IBlock;
37
37
 
38
38
  @property({ type: Boolean })
39
39
  accessor isSelected: boolean = false;
40
40
 
41
41
  @property({ type: Object })
42
- accessor handlers: IBlockEventHandlers;
42
+ accessor handlers!: IBlockEventHandlers;
43
43
 
44
44
  @property({ type: Object })
45
45
  accessor wysiwygComponent: any; // Reference to parent dees-input-wysiwyg
@@ -105,10 +105,10 @@ export class WysiwygDragDropHandler {
105
105
  handleDragEnd(): void {
106
106
  // Clean up visual state
107
107
  const allBlocks = this.component.editorContentRef.querySelectorAll('.block-wrapper');
108
- allBlocks.forEach((block: HTMLElement) => {
109
- block.classList.remove('dragging', 'move-up', 'move-down');
110
- block.style.removeProperty('--drag-offset');
111
- block.style.removeProperty('transform');
108
+ allBlocks.forEach((block) => {
109
+ (block as HTMLElement).classList.remove('dragging', 'move-up', 'move-down');
110
+ (block as HTMLElement).style.removeProperty('--drag-offset');
111
+ (block as HTMLElement).style.removeProperty('transform');
112
112
  });
113
113
 
114
114
  // Remove dragging class from editor
@@ -704,17 +704,17 @@ export class WysiwygKeyboardHandler {
704
704
  const rect = range.getBoundingClientRect();
705
705
 
706
706
  // Get the container element
707
- let container = range.commonAncestorContainer;
707
+ let container: Node = range.commonAncestorContainer;
708
708
  if (container.nodeType === Node.TEXT_NODE) {
709
- container = container.parentElement;
709
+ container = container.parentElement!;
710
710
  }
711
-
711
+
712
712
  // Get the top position of the container
713
713
  const containerRect = (container as Element).getBoundingClientRect();
714
-
714
+
715
715
  // Check if we're near the top (within 5px tolerance for line height variations)
716
716
  const isNearTop = rect.top - containerRect.top < 5;
717
-
717
+
718
718
  // For single-line content, also check if we're at the beginning
719
719
  if (container.textContent && !container.textContent.includes('\n')) {
720
720
  const cursorPos = WysiwygSelection.getCursorPositionInElement(container as Element, ...shadowRoots);
@@ -740,11 +740,11 @@ export class WysiwygKeyboardHandler {
740
740
  const rect = range.getBoundingClientRect();
741
741
 
742
742
  // Get the container element
743
- let container = range.commonAncestorContainer;
743
+ let container: Node = range.commonAncestorContainer;
744
744
  if (container.nodeType === Node.TEXT_NODE) {
745
- container = container.parentElement;
745
+ container = container.parentElement!;
746
746
  }
747
-
747
+
748
748
  // Get the bottom position of the container
749
749
  const containerRect = (container as Element).getBoundingClientRect();
750
750
 
@@ -72,7 +72,7 @@ export class WysiwygModalManager {
72
72
  {
73
73
  name: 'Cancel',
74
74
  action: async (modal) => {
75
- modal.destroy();
75
+ modal!.destroy();
76
76
  resolve(null);
77
77
  }
78
78
  }
@@ -158,7 +158,7 @@ export class WysiwygModalManager {
158
158
  {
159
159
  name: 'Done',
160
160
  action: async (modal) => {
161
- modal.destroy();
161
+ modal!.destroy();
162
162
  }
163
163
  }
164
164
  ]
@@ -56,10 +56,10 @@ export const demoFunc = () => html`
56
56
  const roundProfile = elementArg.querySelector('dees-input-profilepicture[shape="round"]');
57
57
 
58
58
  if (roundProfile) {
59
- roundProfile.addEventListener('change', (event: CustomEvent) => {
59
+ roundProfile.addEventListener('change', ((event: CustomEvent) => {
60
60
  const target = event.target as DeesInputProfilePicture;
61
61
  console.log('Round profile picture changed:', target.value?.substring(0, 50) + '...');
62
- });
62
+ }) as EventListener);
63
63
  }
64
64
  }}>
65
65
  <dees-panel .title=${'Profile Picture Input'} .subtitle=${'Basic usage with round and square shapes'}>
@@ -85,10 +85,10 @@ export const demoFunc = () => html`
85
85
  // Different sizes demo
86
86
  const profiles = elementArg.querySelectorAll('dees-input-profilepicture');
87
87
  profiles.forEach((profile) => {
88
- profile.addEventListener('change', (event: CustomEvent) => {
88
+ profile.addEventListener('change', ((event: CustomEvent) => {
89
89
  const target = event.target as DeesInputProfilePicture;
90
90
  console.log(`Profile (size ${target.size}) changed`);
91
- });
91
+ }) as EventListener);
92
92
  });
93
93
  }}>
94
94
  <dees-panel .title=${'Size Variations'} .subtitle=${'Profile pictures in different sizes'}>
@@ -122,15 +122,15 @@ export const demoFunc = () => html`
122
122
  if (prefilledProfile) {
123
123
  prefilledProfile.value = sampleImageUrl;
124
124
 
125
- prefilledProfile.addEventListener('change', (event: CustomEvent) => {
125
+ prefilledProfile.addEventListener('change', ((event: CustomEvent) => {
126
126
  const target = event.target as DeesInputProfilePicture;
127
127
  const output = elementArg.querySelector('#prefilled-output');
128
128
  if (output) {
129
- output.textContent = target.value ?
130
- `Image data: ${target.value.substring(0, 80)}...` :
129
+ output.textContent = target.value ?
130
+ `Image data: ${target.value.substring(0, 80)}...` :
131
131
  'No image selected';
132
132
  }
133
- });
133
+ }) as EventListener);
134
134
  }
135
135
  }}>
136
136
  <dees-panel .title=${'Pre-filled and Value Binding'} .subtitle=${'Profile picture with initial value and change tracking'}>
@@ -436,10 +436,10 @@ export class DeesInputProfilePicture extends DeesInputBase<DeesInputProfilePictu
436
436
  this.modalInstance.outputSize = this.outputSize;
437
437
  this.modalInstance.outputQuality = this.outputQuality;
438
438
 
439
- this.modalInstance.addEventListener('save', (event: CustomEvent) => {
439
+ this.modalInstance.addEventListener('save', ((event: CustomEvent) => {
440
440
  this.value = event.detail.croppedImage;
441
441
  this.changeSubject.next(this);
442
- });
442
+ }) as EventListener);
443
443
 
444
444
  document.body.appendChild(this.modalInstance);
445
445
  }
@@ -41,7 +41,7 @@ export class DeesChips extends DeesElement {
41
41
  accessor selectableChips: Tag[] = [];
42
42
 
43
43
  @property()
44
- accessor selectedChip: Tag = null;
44
+ accessor selectedChip: Tag | null = null;
45
45
 
46
46
  @property({
47
47
  type: Array,
@@ -1,5 +1,6 @@
1
1
  import { html, css, cssManager } from '@design.estate/dees-element';
2
2
  import type { DeesDashboardgrid } from './dees-dashboardgrid.js';
3
+ import type { LayoutDirection } from './types.js';
3
4
  import '@design.estate/dees-wcctools/demotools';
4
5
 
5
6
  export const demoFunc = () => {
@@ -160,7 +161,7 @@ export const demoFunc = () => {
160
161
  });
161
162
 
162
163
  // Enhanced logging for reflow events
163
- let lastPlaceholderPosition = null;
164
+ let lastPlaceholderPosition: Record<string, string> | null = null;
164
165
  let moveEventCounter = 0;
165
166
 
166
167
  // Helper function to log grid state
@@ -231,25 +232,28 @@ export const demoFunc = () => {
231
232
  // Log initial state
232
233
  logGridState('Initial Grid State');
233
234
 
234
- grid.addEventListener('widget-move', (e: CustomEvent) => {
235
+ grid.addEventListener('widget-move', (e: Event) => {
236
+ const detail = (e as CustomEvent).detail;
235
237
  logGridState('Widget Move', {
236
- widget: e.detail.widget,
237
- displaced: e.detail.displaced,
238
- swappedWith: e.detail.swappedWith
238
+ widget: detail.widget,
239
+ displaced: detail.displaced,
240
+ swappedWith: detail.swappedWith
239
241
  });
240
242
  });
241
243
 
242
- grid.addEventListener('widget-resize', (e: CustomEvent) => {
244
+ grid.addEventListener('widget-resize', (e: Event) => {
245
+ const detail = (e as CustomEvent).detail;
243
246
  logGridState('Widget Resize', {
244
- widget: e.detail.widget,
245
- displaced: e.detail.displaced,
246
- swappedWith: e.detail.swappedWith
247
+ widget: detail.widget,
248
+ displaced: detail.displaced,
249
+ swappedWith: detail.swappedWith
247
250
  });
248
251
  });
249
252
 
250
- grid.addEventListener('widget-remove', (e: CustomEvent) => {
253
+ grid.addEventListener('widget-remove', (e: Event) => {
254
+ const detail = (e as CustomEvent).detail;
251
255
  logGridState('Widget Remove', {
252
- removedWidget: e.detail.widget
256
+ removedWidget: detail.widget
253
257
  });
254
258
  updateStatus();
255
259
  });
@@ -312,7 +316,7 @@ export const demoFunc = () => {
312
316
 
313
317
  // Log compact operations
314
318
  const originalCompact = grid.compact.bind(grid);
315
- grid.compact = (direction?: string) => {
319
+ grid.compact = (direction?: LayoutDirection) => {
316
320
  console.group('🗜️ Compacting Grid');
317
321
  console.log('Direction:', direction || 'vertical');
318
322
  logGridState('Before Compact');
@@ -32,7 +32,7 @@ export class DeesLabel extends DeesElement {
32
32
  type: String,
33
33
  reflect: true,
34
34
  })
35
- accessor description: string;
35
+ accessor description!: string;
36
36
 
37
37
  @property({
38
38
  type: Boolean,
@@ -45,7 +45,7 @@ export class DeesStepper extends DeesElement {
45
45
  @property({
46
46
  type: Object,
47
47
  })
48
- accessor selectedStep: IStep;
48
+ accessor selectedStep!: IStep;
49
49
 
50
50
  constructor() {
51
51
  super();
@@ -214,19 +214,19 @@ export class DeesStepper extends DeesElement {
214
214
  this.setScrollStatus();
215
215
  // Remove entrance class after initial animation completes
216
216
  await this.domtools.convenience.smartdelay.delayFor(350);
217
- this.shadowRoot.querySelector('.step.entrance')?.classList.remove('entrance');
217
+ this.shadowRoot!.querySelector('.step.entrance')?.classList.remove('entrance');
218
218
  }
219
219
 
220
220
  public async updated() {
221
221
  this.setScrollStatus();
222
222
  }
223
223
 
224
- public scroller: typeof domtools.plugins.SweetScroll.prototype;
224
+ public scroller!: typeof domtools.plugins.SweetScroll.prototype;
225
225
 
226
226
  public async setScrollStatus() {
227
- const stepperContainer: HTMLElement = this.shadowRoot.querySelector('.stepperContainer');
228
- const firstStepElement: HTMLElement = this.shadowRoot.querySelector('.step');
229
- const selectedStepElement: HTMLElement = this.shadowRoot.querySelector('.selected');
227
+ const stepperContainer = this.shadowRoot!.querySelector('.stepperContainer') as HTMLElement;
228
+ const firstStepElement = this.shadowRoot!.querySelector('.step') as HTMLElement;
229
+ const selectedStepElement = this.shadowRoot!.querySelector('.selected') as HTMLElement;
230
230
  if (!selectedStepElement) {
231
231
  return;
232
232
  }
@@ -278,7 +278,7 @@ export class DeesStepper extends DeesElement {
278
278
  this.selectedStep = previousStep;
279
279
  await this.domtoolsPromise;
280
280
  await this.domtools.convenience.smartdelay.delayFor(100);
281
- this.selectedStep.onReturnToStepFunc?.(this, this.shadowRoot.querySelector('.selected'));
281
+ this.selectedStep.onReturnToStepFunc?.(this, this.shadowRoot!.querySelector('.selected') as HTMLElement);
282
282
  }
283
283
 
284
284
  public goNext() {
@@ -21,9 +21,9 @@ export function throttle<T extends (...args: any[]) => any>(
21
21
  ): (...args: Parameters<T>) => void {
22
22
  let inThrottle: boolean;
23
23
 
24
- return function executedFunction(...args: Parameters<T>) {
24
+ return (...args: Parameters<T>) => {
25
25
  if (!inThrottle) {
26
- func.apply(this, args);
26
+ func(...args);
27
27
  inThrottle = true;
28
28
  setTimeout(() => inThrottle = false, limit);
29
29
  }
@@ -7,7 +7,7 @@ export const demo = () => {
7
7
  ];
8
8
 
9
9
  const generateGridItems = (count: number) => {
10
- const items = [];
10
+ const items: ReturnType<typeof html>[] = [];
11
11
  for (let i = 0; i < count; i++) {
12
12
  const pdfUrl = samplePdfs[i % samplePdfs.length];
13
13
  items.push(html`
@@ -130,7 +130,7 @@ export class DeesContextmenu extends DeesElement {
130
130
  type: Array,
131
131
  })
132
132
  accessor menuItems: (plugins.tsclass.website.IMenuItem & { shortcut?: string; disabled?: boolean; submenu?: (plugins.tsclass.website.IMenuItem & { shortcut?: string; disabled?: boolean } | { divider: true })[]; divider?: never } | { divider: true })[] = [];
133
- windowLayer: DeesWindowLayer;
133
+ windowLayer!: DeesWindowLayer;
134
134
 
135
135
  private submenu: DeesContextmenu | null = null;
136
136
  private submenuTimeout: any = null;
@@ -278,7 +278,7 @@ export class DeesContextmenu extends DeesElement {
278
278
  }
279
279
 
280
280
  private handleKeydown = (event: KeyboardEvent) => {
281
- const menuItems = Array.from(this.shadowRoot.querySelectorAll('.menuitem:not(.disabled)'));
281
+ const menuItems = Array.from(this.shadowRoot!.querySelectorAll('.menuitem:not(.disabled)'));
282
282
  const currentIndex = menuItems.findIndex(item => item.matches(':hover'));
283
283
 
284
284
  switch (event.key) {
@@ -352,7 +352,7 @@ export class DeesContextmenu extends DeesElement {
352
352
  if (!menuItem.submenu || menuItem.submenu.length === 0) return;
353
353
 
354
354
  // Find the menu item element
355
- const menuItems = Array.from(this.shadowRoot.querySelectorAll('.menuitem'));
355
+ const menuItems = Array.from(this.shadowRoot!.querySelectorAll('.menuitem'));
356
356
  const menuItemElement = menuItems.find(el => el.querySelector('.menuitem-text')?.textContent === menuItem.name) as HTMLElement;
357
357
  if (!menuItemElement) return;
358
358