@3t-transform/threeteeui 1.9.101 → 1.9.103

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 (418) hide show
  1. package/dist/cjs/{auto-be8ad100.js → auto-356ad09b.js} +177 -177
  2. package/dist/cjs/{domsanitiser.options-55ce2d65.js → domsanitiser.options-065dbed8.js} +12 -12
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/{tttx-action-dropdown_1_9_101.cjs.entry.js → tttx-action-dropdown_1_9_103.cjs.entry.js} +51 -51
  5. package/dist/cjs/{tttx-button-v2_1_9_101.cjs.entry.js → tttx-button-v2_1_9_103.cjs.entry.js} +147 -147
  6. package/dist/cjs/{tttx-button_1_9_101.cjs.entry.js → tttx-button_1_9_103.cjs.entry.js} +26 -26
  7. package/dist/cjs/{tttx-chart_1_9_101.cjs.entry.js → tttx-chart_1_9_103.cjs.entry.js} +524 -524
  8. package/dist/cjs/{tttx-checkbox-group-caption_1_9_101.cjs.entry.js → tttx-checkbox-group-caption_1_9_103.cjs.entry.js} +9 -9
  9. package/dist/cjs/{tttx-checkbox-group-heading_1_9_101.cjs.entry.js → tttx-checkbox-group-heading_1_9_103.cjs.entry.js} +9 -9
  10. package/dist/cjs/{tttx-checkbox-group_1_9_101.cjs.entry.js → tttx-checkbox-group_1_9_103.cjs.entry.js} +9 -9
  11. package/dist/cjs/{tttx-checkbox_1_9_101.cjs.entry.js → tttx-checkbox_1_9_103.cjs.entry.js} +33 -33
  12. package/dist/cjs/{tttx-comments_1_9_101.cjs.entry.js → tttx-comments_1_9_103.cjs.entry.js} +204 -204
  13. package/dist/cjs/{tttx-data-pattern_1_9_101.cjs.entry.js → tttx-data-pattern_1_9_103.cjs.entry.js} +20 -20
  14. package/dist/cjs/{tttx-datacard_1_9_101.cjs.entry.js → tttx-datacard_1_9_103.cjs.entry.js} +43 -43
  15. package/dist/cjs/tttx-date-range-picker.cjs.entry.js +212 -212
  16. package/dist/cjs/{tttx-dialog-box_1_9_101.cjs.entry.js → tttx-dialog-box_1_9_103.cjs.entry.js} +94 -94
  17. package/dist/cjs/{tttx-dialog_1_9_101.cjs.entry.js → tttx-dialog_1_9_103.cjs.entry.js} +69 -69
  18. package/dist/cjs/{tttx-expander_1_9_101.cjs.entry.js → tttx-expander_1_9_103.cjs.entry.js} +28 -28
  19. package/dist/cjs/{tttx-filter_1_9_101_4.cjs.entry.js → tttx-filter_1_9_103_4.cjs.entry.js} +386 -386
  20. package/dist/cjs/{tttx-form_1_9_101.cjs.entry.js → tttx-form_1_9_103.cjs.entry.js} +985 -985
  21. package/dist/cjs/{tttx-graph_1_9_101.cjs.entry.js → tttx-graph_1_9_103.cjs.entry.js} +124 -124
  22. package/dist/cjs/{tttx-icon_1_9_101.cjs.entry.js → tttx-icon_1_9_103.cjs.entry.js} +24 -24
  23. package/dist/cjs/{tttx-keyvalue-block_1_9_101.cjs.entry.js → tttx-keyvalue-block_1_9_103.cjs.entry.js} +62 -62
  24. package/dist/cjs/{tttx-loading-spinner_1_9_101_3.cjs.entry.js → tttx-loading-spinner_1_9_103_3.cjs.entry.js} +172 -172
  25. package/dist/cjs/{tttx-multiselect-box_1_9_101.cjs.entry.js → tttx-multiselect-box_1_9_103.cjs.entry.js} +175 -175
  26. package/dist/cjs/{tttx-percentage-bar_1_9_101.cjs.entry.js → tttx-percentage-bar_1_9_103.cjs.entry.js} +56 -56
  27. package/dist/cjs/{tttx-qrcode_1_9_101.cjs.entry.js → tttx-qrcode_1_9_103.cjs.entry.js} +28 -28
  28. package/dist/cjs/{tttx-range-slider_1_9_101.cjs.entry.js → tttx-range-slider_1_9_103.cjs.entry.js} +185 -185
  29. package/dist/cjs/{tttx-select-box_1_9_101.cjs.entry.js → tttx-select-box_1_9_103.cjs.entry.js} +239 -239
  30. package/dist/cjs/{tttx-skeleton_loader_1_9_101.cjs.entry.js → tttx-skeleton_loader_1_9_103.cjs.entry.js} +30 -30
  31. package/dist/cjs/{tttx-table_1_9_101.cjs.entry.js → tttx-table_1_9_103.cjs.entry.js} +72 -72
  32. package/dist/cjs/{tttx-tabs_1_9_101.cjs.entry.js → tttx-tabs_1_9_103.cjs.entry.js} +103 -103
  33. package/dist/cjs/{tttx-tag-v2_1_9_101.cjs.entry.js → tttx-tag-v2_1_9_103.cjs.entry.js} +72 -72
  34. package/dist/cjs/{tttx-textarea_1_9_101.cjs.entry.js → tttx-textarea_1_9_103.cjs.entry.js} +50 -50
  35. package/dist/cjs/{tttx-toggle_1_9_101.cjs.entry.js → tttx-toggle_1_9_103.cjs.entry.js} +30 -30
  36. package/dist/cjs/{tttx-tooltip_1_9_101.cjs.entry.js → tttx-tooltip_1_9_103.cjs.entry.js} +87 -87
  37. package/dist/cjs/{tttx-tree-view_1_9_101.cjs.entry.js → tttx-tree-view_1_9_103.cjs.entry.js} +342 -342
  38. package/dist/cjs/tttx.cjs.js +1 -1
  39. package/dist/collection/components/atoms/tttx-button/tttx-button.js +129 -129
  40. package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +40 -40
  41. package/dist/collection/components/atoms/tttx-button-v2/tttx-button-v2.css +1 -1
  42. package/dist/collection/components/atoms/tttx-button-v2/tttx-button-v2.js +436 -436
  43. package/dist/collection/components/atoms/tttx-button-v2/tttx-button-v2.stories.js +143 -143
  44. package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.js +154 -154
  45. package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.stories.js +58 -58
  46. package/dist/collection/components/atoms/tttx-datacard/tttx-datacard.js +186 -186
  47. package/dist/collection/components/atoms/tttx-datacard/tttx-datacard.stories.js +92 -92
  48. package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +92 -92
  49. package/dist/collection/components/atoms/tttx-icon/tttx-icon.stories.js +26 -26
  50. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.js +137 -137
  51. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.js +94 -94
  52. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.js +194 -194
  53. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.js +53 -53
  54. package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.js +168 -168
  55. package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.stories.js +52 -52
  56. package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.js +81 -81
  57. package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.stories.js +22 -22
  58. package/dist/collection/components/atoms/tttx-skeleton-loader/tttx-skeleton-loader.js +225 -225
  59. package/dist/collection/components/atoms/tttx-skeleton-loader/tttx-skeleton-loader.stories.js +44 -44
  60. package/dist/collection/components/atoms/tttx-tag/tttx-tag.js +157 -157
  61. package/dist/collection/components/atoms/tttx-tag/tttx-tag.stories.js +53 -53
  62. package/dist/collection/components/atoms/tttx-tag-v2/tttx-tag-v2.js +281 -281
  63. package/dist/collection/components/atoms/tttx-tag-v2/tttx-tag-v2.stories.js +84 -84
  64. package/dist/collection/components/atoms/tttx-toggle/tttx-toggle.js +84 -84
  65. package/dist/collection/components/atoms/tttx-toggle/tttx-toggle.stories.js +8 -8
  66. package/dist/collection/components/domsanitiser.options.js +14 -14
  67. package/dist/collection/components/molecules/tttx-action-dropdown/tttx-action-dropdown.js +213 -213
  68. package/dist/collection/components/molecules/tttx-action-dropdown/tttx-action-dropdown.stories.js +55 -55
  69. package/dist/collection/components/molecules/tttx-chart/tttx-chart.js +793 -793
  70. package/dist/collection/components/molecules/tttx-chart/tttx-chart.stories.js +209 -209
  71. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-caption.js +17 -17
  72. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-heading.js +17 -17
  73. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.js +18 -18
  74. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.stories.js +62 -62
  75. package/dist/collection/components/molecules/tttx-comments/tttx-comments.js +536 -536
  76. package/dist/collection/components/molecules/tttx-comments/tttx-comments.stories.js +151 -151
  77. package/dist/collection/components/molecules/tttx-date-range-picker/tttx-date-range-picker.js +292 -292
  78. package/dist/collection/components/molecules/tttx-date-range-picker/tttx-date-range-picker.stories.js +48 -48
  79. package/dist/collection/components/molecules/tttx-dialog/icon-types.js +6 -6
  80. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.js +218 -218
  81. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.stories.js +50 -50
  82. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.js +246 -246
  83. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.stories.js +314 -314
  84. package/dist/collection/components/molecules/tttx-expander/tttx-expander.js +134 -134
  85. package/dist/collection/components/molecules/tttx-expander/tttx-expander.stories.js +46 -46
  86. package/dist/collection/components/molecules/tttx-filter/tttx-filter.js +416 -416
  87. package/dist/collection/components/molecules/tttx-filter/tttx-filter.stories.js +81 -81
  88. package/dist/collection/components/molecules/tttx-form/lib/setErrorState.js +49 -49
  89. package/dist/collection/components/molecules/tttx-form/lib/timecomparatorChecks.js +64 -64
  90. package/dist/collection/components/molecules/tttx-form/lib/validityCheck.js +76 -76
  91. package/dist/collection/components/molecules/tttx-form/tttx-form.js +1267 -1267
  92. package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +595 -595
  93. package/dist/collection/components/molecules/tttx-graph/gauge-label-plugin.js +14 -14
  94. package/dist/collection/components/molecules/tttx-graph/tttx-graph.js +184 -184
  95. package/dist/collection/components/molecules/tttx-graph/tttx-graph.stories.js +32 -32
  96. package/dist/collection/components/molecules/tttx-list/tttx-list.js +165 -165
  97. package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +134 -134
  98. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.js +499 -499
  99. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.js +151 -151
  100. package/dist/collection/components/molecules/tttx-range-slider/tttx-range-slider.js +304 -304
  101. package/dist/collection/components/molecules/tttx-range-slider/tttx-range-slider.stories.js +22 -22
  102. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.js +671 -671
  103. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.stories.js +140 -140
  104. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.js +253 -253
  105. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.stories.js +43 -43
  106. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +764 -764
  107. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +191 -191
  108. package/dist/collection/components/molecules/tttx-table/tttx-table.css +1 -1
  109. package/dist/collection/components/molecules/tttx-table/tttx-table.js +318 -318
  110. package/dist/collection/components/molecules/tttx-table/tttx-table.stories.js +191 -191
  111. package/dist/collection/components/molecules/tttx-table/tttx-table.types.js +1 -1
  112. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.js +253 -253
  113. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.stories.js +82 -82
  114. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.js +420 -420
  115. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.stories.js +81 -81
  116. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.js +73 -73
  117. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.stories.js +97 -97
  118. package/dist/collection/components/molecules/tttx-tooltip/tttx-tooltip.js +253 -253
  119. package/dist/collection/components/molecules/tttx-tooltip/tttx-tootip.stories.js +117 -117
  120. package/dist/collection/components/molecules/tttx-tree-view/helper/helper.js +1 -1
  121. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.css +1 -1
  122. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.js +463 -463
  123. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.stories.js +402 -402
  124. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.js +176 -176
  125. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.stories.js +28 -28
  126. package/dist/collection/components/palette.stories.js +7 -7
  127. package/dist/collection/icons.js +2838 -2838
  128. package/dist/collection/index.js +1 -1
  129. package/dist/collection/shared/domsanitiser.options.js +14 -14
  130. package/dist/components/auto.js +177 -177
  131. package/dist/components/domsanitiser.options.js +12 -12
  132. package/dist/components/index.d.ts +38 -38
  133. package/dist/components/index.js +38 -38
  134. package/dist/components/tttx-action-dropdown_1_9_103.d.ts +11 -0
  135. package/dist/components/{tttx-action-dropdown_1_9_101.js → tttx-action-dropdown_1_9_103.js} +81 -81
  136. package/dist/components/tttx-button-v2.js +182 -182
  137. package/dist/components/tttx-button-v2_1_9_103.d.ts +11 -0
  138. package/dist/components/{tttx-button-v2_1_9_101.js → tttx-button-v2_1_9_103.js} +2 -2
  139. package/dist/components/tttx-button.js +51 -51
  140. package/dist/components/{tttx-dialog_1_9_101.d.ts → tttx-button_1_9_103.d.ts} +4 -4
  141. package/dist/components/{tttx-button_1_9_101.js → tttx-button_1_9_103.js} +2 -2
  142. package/dist/components/{tttx-table_1_9_101.d.ts → tttx-chart_1_9_103.d.ts} +4 -4
  143. package/dist/components/{tttx-chart_1_9_101.js → tttx-chart_1_9_103.js} +574 -574
  144. package/dist/components/tttx-checkbox-group-caption_1_9_103.d.ts +11 -0
  145. package/dist/components/{tttx-checkbox-group-caption_1_9_101.js → tttx-checkbox-group-caption_1_9_103.js} +24 -24
  146. package/dist/components/tttx-checkbox-group-heading_1_9_103.d.ts +11 -0
  147. package/dist/components/{tttx-checkbox-group-heading_1_9_101.js → tttx-checkbox-group-heading_1_9_103.js} +24 -24
  148. package/dist/components/tttx-checkbox-group_1_9_103.d.ts +11 -0
  149. package/dist/components/{tttx-checkbox-group_1_9_101.js → tttx-checkbox-group_1_9_103.js} +25 -25
  150. package/dist/components/tttx-checkbox_1_9_103.d.ts +11 -0
  151. package/dist/components/{tttx-checkbox_1_9_101.js → tttx-checkbox_1_9_103.js} +59 -59
  152. package/dist/components/tttx-comments_1_9_103.d.ts +11 -0
  153. package/dist/components/{tttx-comments_1_9_101.js → tttx-comments_1_9_103.js} +241 -241
  154. package/dist/components/tttx-data-pattern_1_9_103.d.ts +11 -0
  155. package/dist/components/{tttx-data-pattern_1_9_101.js → tttx-data-pattern_1_9_103.js} +80 -80
  156. package/dist/components/tttx-datacard_1_9_103.d.ts +11 -0
  157. package/dist/components/{tttx-datacard_1_9_101.js → tttx-datacard_1_9_103.js} +79 -79
  158. package/dist/components/tttx-date-range-picker.js +242 -242
  159. package/dist/components/tttx-dialog-box_1_9_103.d.ts +11 -0
  160. package/dist/components/{tttx-dialog-box_1_9_101.js → tttx-dialog-box_1_9_103.js} +125 -125
  161. package/dist/components/{tttx-filter_1_9_101.d.ts → tttx-dialog_1_9_103.d.ts} +4 -4
  162. package/dist/components/{tttx-dialog_1_9_101.js → tttx-dialog_1_9_103.js} +103 -103
  163. package/dist/components/tttx-expander_1_9_103.d.ts +11 -0
  164. package/dist/components/{tttx-expander_1_9_101.js → tttx-expander_1_9_103.js} +55 -55
  165. package/dist/components/tttx-filter.js +217 -217
  166. package/dist/components/{tttx-button_1_9_101.d.ts → tttx-filter_1_9_103.d.ts} +4 -4
  167. package/dist/components/{tttx-filter_1_9_101.js → tttx-filter_1_9_103.js} +2 -2
  168. package/dist/components/{tttx-form_1_9_101.d.ts → tttx-form_1_9_103.d.ts} +4 -4
  169. package/dist/components/{tttx-form_1_9_101.js → tttx-form_1_9_103.js} +1039 -1039
  170. package/dist/components/tttx-graph.js +143 -143
  171. package/dist/components/{tttx-graph_1_9_101.d.ts → tttx-graph_1_9_103.d.ts} +4 -4
  172. package/dist/components/{tttx-graph_1_9_101.js → tttx-graph_1_9_103.js} +2 -2
  173. package/dist/components/tttx-icon.js +42 -42
  174. package/dist/components/{tttx-list_1_9_101.d.ts → tttx-icon_1_9_103.d.ts} +4 -4
  175. package/dist/components/{tttx-icon_1_9_101.js → tttx-icon_1_9_103.js} +2 -2
  176. package/dist/components/tttx-keyvalue-block_1_9_103.d.ts +11 -0
  177. package/dist/components/{tttx-keyvalue-block_1_9_101.js → tttx-keyvalue-block_1_9_103.js} +83 -83
  178. package/dist/components/tttx-list.js +92 -92
  179. package/dist/components/{tttx-tabs_1_9_101.d.ts → tttx-list_1_9_103.d.ts} +4 -4
  180. package/dist/components/{tttx-list_1_9_101.js → tttx-list_1_9_103.js} +2 -2
  181. package/dist/components/tttx-loading-spinner.js +92 -92
  182. package/dist/components/tttx-loading-spinner_1_9_103.d.ts +11 -0
  183. package/dist/components/{tttx-loading-spinner_1_9_101.js → tttx-loading-spinner_1_9_103.js} +2 -2
  184. package/dist/components/tttx-multiselect-box_1_9_103.d.ts +11 -0
  185. package/dist/components/{tttx-multiselect-box_1_9_101.js → tttx-multiselect-box_1_9_103.js} +231 -231
  186. package/dist/components/tttx-percentage-bar_1_9_103.d.ts +11 -0
  187. package/dist/components/{tttx-percentage-bar_1_9_101.js → tttx-percentage-bar_1_9_103.js} +80 -80
  188. package/dist/components/tttx-qrcode_1_9_103.d.ts +11 -0
  189. package/dist/components/{tttx-qrcode_1_9_101.js → tttx-qrcode_1_9_103.js} +47 -47
  190. package/dist/components/tttx-range-slider_1_9_103.d.ts +11 -0
  191. package/dist/components/{tttx-range-slider_1_9_101.js → tttx-range-slider_1_9_103.js} +208 -208
  192. package/dist/components/tttx-select-box.js +295 -295
  193. package/dist/components/tttx-select-box_1_9_103.d.ts +11 -0
  194. package/dist/components/{tttx-select-box_1_9_101.js → tttx-select-box_1_9_103.js} +2 -2
  195. package/dist/components/tttx-skeleton_loader_1_9_103.d.ts +11 -0
  196. package/dist/components/{tttx-skeleton_loader_1_9_101.js → tttx-skeleton_loader_1_9_103.js} +57 -57
  197. package/dist/components/tttx-sorter.js +136 -136
  198. package/dist/components/tttx-sorter_1_9_103.d.ts +11 -0
  199. package/dist/components/{tttx-sorter_1_9_101.js → tttx-sorter_1_9_103.js} +2 -2
  200. package/dist/components/tttx-standalone-input.js +136 -136
  201. package/dist/components/tttx-standalone-input_1_9_103.d.ts +11 -0
  202. package/dist/components/{tttx-standalone-input_1_9_101.js → tttx-standalone-input_1_9_103.js} +2 -2
  203. package/dist/components/{tttx-chart_1_9_101.d.ts → tttx-table_1_9_103.d.ts} +4 -4
  204. package/dist/components/{tttx-table_1_9_101.js → tttx-table_1_9_103.js} +109 -109
  205. package/dist/components/{tttx-icon_1_9_101.d.ts → tttx-tabs_1_9_103.d.ts} +4 -4
  206. package/dist/components/{tttx-tabs_1_9_101.js → tttx-tabs_1_9_103.js} +128 -128
  207. package/dist/components/{tttx-tag-v2_1_9_101.d.ts → tttx-tag-v2_1_9_103.d.ts} +4 -4
  208. package/dist/components/{tttx-tag-v2_1_9_101.js → tttx-tag-v2_1_9_103.js} +105 -105
  209. package/dist/components/tttx-tag.js +44 -44
  210. package/dist/components/{tttx-tag_1_9_101.d.ts → tttx-tag_1_9_103.d.ts} +4 -4
  211. package/dist/components/{tttx-tag_1_9_101.js → tttx-tag_1_9_103.js} +2 -2
  212. package/dist/components/tttx-textarea_1_9_103.d.ts +11 -0
  213. package/dist/components/{tttx-textarea_1_9_101.js → tttx-textarea_1_9_103.js} +83 -83
  214. package/dist/components/tttx-toggle_1_9_103.d.ts +11 -0
  215. package/dist/components/{tttx-toggle_1_9_101.js → tttx-toggle_1_9_103.js} +49 -49
  216. package/dist/components/tttx-toolbar.js +42 -42
  217. package/dist/components/tttx-toolbar_1_9_103.d.ts +11 -0
  218. package/dist/components/{tttx-toolbar_1_9_101.js → tttx-toolbar_1_9_103.js} +2 -2
  219. package/dist/components/tttx-tooltip_1_9_103.d.ts +11 -0
  220. package/dist/components/{tttx-tooltip_1_9_101.js → tttx-tooltip_1_9_103.js} +114 -114
  221. package/dist/components/tttx-tree-view_1_9_103.d.ts +11 -0
  222. package/dist/components/{tttx-tree-view_1_9_101.js → tttx-tree-view_1_9_103.js} +371 -371
  223. package/dist/esm/{auto-421f2656.js → auto-a07ee1b1.js} +177 -177
  224. package/dist/esm/{domsanitiser.options-38a67458.js → domsanitiser.options-2c1ef894.js} +12 -12
  225. package/dist/esm/loader.js +1 -1
  226. package/dist/esm/polyfills/core-js.js +0 -0
  227. package/dist/esm/polyfills/dom.js +0 -0
  228. package/dist/esm/polyfills/es5-html-element.js +0 -0
  229. package/dist/esm/polyfills/index.js +0 -0
  230. package/dist/esm/polyfills/system.js +0 -0
  231. package/dist/esm/{tttx-action-dropdown_1_9_101.entry.js → tttx-action-dropdown_1_9_103.entry.js} +51 -51
  232. package/dist/esm/{tttx-button-v2_1_9_101.entry.js → tttx-button-v2_1_9_103.entry.js} +147 -147
  233. package/dist/esm/{tttx-button_1_9_101.entry.js → tttx-button_1_9_103.entry.js} +26 -26
  234. package/dist/esm/{tttx-chart_1_9_101.entry.js → tttx-chart_1_9_103.entry.js} +524 -524
  235. package/dist/esm/{tttx-checkbox-group-caption_1_9_101.entry.js → tttx-checkbox-group-caption_1_9_103.entry.js} +9 -9
  236. package/dist/esm/{tttx-checkbox-group-heading_1_9_101.entry.js → tttx-checkbox-group-heading_1_9_103.entry.js} +9 -9
  237. package/dist/esm/{tttx-checkbox-group_1_9_101.entry.js → tttx-checkbox-group_1_9_103.entry.js} +9 -9
  238. package/dist/esm/{tttx-checkbox_1_9_101.entry.js → tttx-checkbox_1_9_103.entry.js} +33 -33
  239. package/dist/esm/{tttx-comments_1_9_101.entry.js → tttx-comments_1_9_103.entry.js} +204 -204
  240. package/dist/esm/{tttx-data-pattern_1_9_101.entry.js → tttx-data-pattern_1_9_103.entry.js} +20 -20
  241. package/dist/esm/{tttx-datacard_1_9_101.entry.js → tttx-datacard_1_9_103.entry.js} +43 -43
  242. package/dist/esm/tttx-date-range-picker.entry.js +212 -212
  243. package/dist/esm/{tttx-dialog-box_1_9_101.entry.js → tttx-dialog-box_1_9_103.entry.js} +94 -94
  244. package/dist/esm/{tttx-dialog_1_9_101.entry.js → tttx-dialog_1_9_103.entry.js} +69 -69
  245. package/dist/esm/{tttx-expander_1_9_101.entry.js → tttx-expander_1_9_103.entry.js} +28 -28
  246. package/dist/esm/{tttx-filter_1_9_101_4.entry.js → tttx-filter_1_9_103_4.entry.js} +383 -383
  247. package/dist/esm/{tttx-form_1_9_101.entry.js → tttx-form_1_9_103.entry.js} +985 -985
  248. package/dist/esm/{tttx-graph_1_9_101.entry.js → tttx-graph_1_9_103.entry.js} +124 -124
  249. package/dist/esm/{tttx-icon_1_9_101.entry.js → tttx-icon_1_9_103.entry.js} +24 -24
  250. package/dist/esm/{tttx-keyvalue-block_1_9_101.entry.js → tttx-keyvalue-block_1_9_103.entry.js} +62 -62
  251. package/dist/esm/{tttx-loading-spinner_1_9_101_3.entry.js → tttx-loading-spinner_1_9_103_3.entry.js} +170 -170
  252. package/dist/esm/{tttx-multiselect-box_1_9_101.entry.js → tttx-multiselect-box_1_9_103.entry.js} +175 -175
  253. package/dist/esm/{tttx-percentage-bar_1_9_101.entry.js → tttx-percentage-bar_1_9_103.entry.js} +56 -56
  254. package/dist/esm/{tttx-qrcode_1_9_101.entry.js → tttx-qrcode_1_9_103.entry.js} +28 -28
  255. package/dist/esm/{tttx-range-slider_1_9_101.entry.js → tttx-range-slider_1_9_103.entry.js} +185 -185
  256. package/dist/esm/{tttx-select-box_1_9_101.entry.js → tttx-select-box_1_9_103.entry.js} +239 -239
  257. package/dist/esm/{tttx-skeleton_loader_1_9_101.entry.js → tttx-skeleton_loader_1_9_103.entry.js} +30 -30
  258. package/dist/esm/{tttx-table_1_9_101.entry.js → tttx-table_1_9_103.entry.js} +72 -72
  259. package/dist/esm/{tttx-tabs_1_9_101.entry.js → tttx-tabs_1_9_103.entry.js} +103 -103
  260. package/dist/esm/{tttx-tag-v2_1_9_101.entry.js → tttx-tag-v2_1_9_103.entry.js} +72 -72
  261. package/dist/esm/{tttx-textarea_1_9_101.entry.js → tttx-textarea_1_9_103.entry.js} +50 -50
  262. package/dist/esm/{tttx-toggle_1_9_101.entry.js → tttx-toggle_1_9_103.entry.js} +30 -30
  263. package/dist/esm/{tttx-tooltip_1_9_101.entry.js → tttx-tooltip_1_9_103.entry.js} +87 -87
  264. package/dist/esm/{tttx-tree-view_1_9_101.entry.js → tttx-tree-view_1_9_103.entry.js} +342 -342
  265. package/dist/esm/tttx.js +1 -1
  266. package/dist/tttx/{p-b3f49d83.entry.js → p-0c5bc253.entry.js} +1 -1
  267. package/dist/tttx/{p-82b4e575.entry.js → p-10d2d044.entry.js} +1 -1
  268. package/dist/tttx/p-1623f3cf.entry.js +1 -1
  269. package/dist/tttx/{p-b161205b.entry.js → p-16aa3f67.entry.js} +1 -1
  270. package/dist/tttx/p-21707b8d.entry.js +1 -1
  271. package/dist/tttx/p-2251ab85.entry.js +1 -1
  272. package/dist/tttx/p-2d19c46c.entry.js +1 -1
  273. package/dist/tttx/p-358eaa44.entry.js +1 -1
  274. package/dist/tttx/p-362999b3.entry.js +1 -1
  275. package/dist/tttx/p-3ec67d75.entry.js +1 -1
  276. package/dist/tttx/p-44f0af69.entry.js +1 -1
  277. package/dist/tttx/p-4664d065.entry.js +1 -1
  278. package/dist/tttx/{p-00a849cf.entry.js → p-486ca932.entry.js} +1 -1
  279. package/dist/tttx/{p-e21e3a9c.entry.js → p-59115c8f.entry.js} +1 -1
  280. package/dist/tttx/p-5d289334.entry.js +1 -1
  281. package/dist/tttx/p-6ec18b4a.entry.js +1 -1
  282. package/dist/tttx/{p-a59ad197.entry.js → p-700c2816.entry.js} +1 -1
  283. package/dist/tttx/p-7b5b0670.entry.js +1 -1
  284. package/dist/tttx/p-7d1712fe.entry.js +1 -1
  285. package/dist/tttx/{p-41b69e01.entry.js → p-8f85ab3e.entry.js} +1 -1
  286. package/dist/tttx/p-a1b8ecda.entry.js +1 -1
  287. package/dist/tttx/p-a43e2c5e.entry.js +1 -1
  288. package/dist/tttx/p-b8cc0cb2.entry.js +1 -1
  289. package/dist/tttx/p-b9003a76.entry.js +1 -1
  290. package/dist/tttx/p-bb59054f.entry.js +1 -1
  291. package/dist/tttx/p-c66bc14c.entry.js +1 -1
  292. package/dist/tttx/p-c8051143.entry.js +1 -1
  293. package/dist/tttx/p-ca93f786.entry.js +1 -1
  294. package/dist/tttx/p-d21b0507.entry.js +1 -1
  295. package/dist/tttx/p-d945d492.entry.js +1 -1
  296. package/dist/tttx/{p-34e0e487.entry.js → p-df708b75.entry.js} +2 -2
  297. package/dist/tttx/p-f0c1380f.entry.js +1 -1
  298. package/dist/tttx/{p-0bb158ce.js → p-f411d1e5.js} +2 -2
  299. package/dist/tttx/{p-d4c4edbd.entry.js → p-fa25ee03.entry.js} +1 -1
  300. package/dist/tttx/{p-41f0bf7f.entry.js → p-fbdd1046.entry.js} +1 -1
  301. package/dist/tttx/tttx.esm.js +1 -1
  302. package/dist/types/components/atoms/tttx-button/tttx-button.d.ts +11 -11
  303. package/dist/types/components/atoms/tttx-button/tttx-button.stories.d.ts +11 -11
  304. package/dist/types/components/atoms/tttx-button-v2/tttx-button-v2.d.ts +36 -36
  305. package/dist/types/components/atoms/tttx-button-v2/tttx-button-v2.stories.d.ts +68 -68
  306. package/dist/types/components/atoms/tttx-checkbox/tttx-checkbox.d.ts +17 -17
  307. package/dist/types/components/atoms/tttx-datacard/tttx-datacard.d.ts +21 -21
  308. package/dist/types/components/atoms/tttx-datacard/tttx-datacard.stories.d.ts +44 -44
  309. package/dist/types/components/atoms/tttx-icon/tttx-icon.d.ts +9 -9
  310. package/dist/types/components/atoms/tttx-icon/tttx-icon.stories.d.ts +25 -25
  311. package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.d.ts +13 -13
  312. package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.d.ts +11 -11
  313. package/dist/types/components/atoms/tttx-loading-spinner/tttx-loading-spinner.d.ts +23 -23
  314. package/dist/types/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.d.ts +47 -47
  315. package/dist/types/components/atoms/tttx-percentage-bar/tttx-percentage-bar.d.ts +22 -22
  316. package/dist/types/components/atoms/tttx-percentage-bar/tttx-percentage-bar.stories.d.ts +10 -10
  317. package/dist/types/components/atoms/tttx-qrcode/tttx-qrcode.d.ts +8 -8
  318. package/dist/types/components/atoms/tttx-qrcode/tttx-qrcode.stories.d.ts +23 -23
  319. package/dist/types/components/atoms/tttx-skeleton-loader/tttx-skeleton-loader.d.ts +14 -14
  320. package/dist/types/components/atoms/tttx-tag/tttx-tag.d.ts +10 -10
  321. package/dist/types/components/atoms/tttx-tag/tttx-tag.stories.d.ts +51 -51
  322. package/dist/types/components/atoms/tttx-tag-v2/tttx-tag-v2.d.ts +15 -15
  323. package/dist/types/components/atoms/tttx-tag-v2/tttx-tag-v2.stories.d.ts +48 -48
  324. package/dist/types/components/atoms/tttx-toggle/tttx-toggle.d.ts +11 -11
  325. package/dist/types/components/atoms/tttx-toggle/tttx-toggle.stories.d.ts +6 -6
  326. package/dist/types/components/domsanitiser.options.d.ts +10 -10
  327. package/dist/types/components/molecules/tttx-action-dropdown/tttx-action-dropdown.d.ts +21 -21
  328. package/dist/types/components/molecules/tttx-chart/tttx-chart.d.ts +60 -60
  329. package/dist/types/components/molecules/tttx-chart/tttx-chart.stories.d.ts +38 -38
  330. package/dist/types/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-caption.d.ts +3 -3
  331. package/dist/types/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-heading.d.ts +3 -3
  332. package/dist/types/components/molecules/tttx-checkbox-group/tttx-checkbox-group.d.ts +3 -3
  333. package/dist/types/components/molecules/tttx-checkbox-group/tttx-checkbox-group.stories.d.ts +15 -15
  334. package/dist/types/components/molecules/tttx-comments/tttx-comments.d.ts +68 -68
  335. package/dist/types/components/molecules/tttx-date-range-picker/tttx-date-range-picker.d.ts +42 -42
  336. package/dist/types/components/molecules/tttx-dialog/icon-types.d.ts +18 -18
  337. package/dist/types/components/molecules/tttx-dialog/tttx-dialog.d.ts +27 -27
  338. package/dist/types/components/molecules/tttx-dialog-box/tttx-dialog-box.d.ts +26 -26
  339. package/dist/types/components/molecules/tttx-dialog-box/tttx-dialog-box.stories.d.ts +24 -24
  340. package/dist/types/components/molecules/tttx-expander/tttx-expander.d.ts +16 -16
  341. package/dist/types/components/molecules/tttx-filter/tttx-filter.d.ts +44 -44
  342. package/dist/types/components/molecules/tttx-form/lib/setErrorState.d.ts +14 -14
  343. package/dist/types/components/molecules/tttx-form/lib/timecomparatorChecks.d.ts +4 -4
  344. package/dist/types/components/molecules/tttx-form/lib/validityCheck.d.ts +15 -15
  345. package/dist/types/components/molecules/tttx-form/tttx-form.d.ts +297 -297
  346. package/dist/types/components/molecules/tttx-graph/gauge-label-plugin.d.ts +4 -4
  347. package/dist/types/components/molecules/tttx-graph/tttx-graph.d.ts +13 -13
  348. package/dist/types/components/molecules/tttx-graph/tttx-graph.stories.d.ts +26 -26
  349. package/dist/types/components/molecules/tttx-list/tttx-list.d.ts +23 -23
  350. package/dist/types/components/molecules/tttx-multiselect-box/tttx-multiselect-box.d.ts +50 -50
  351. package/dist/types/components/molecules/tttx-range-slider/tttx-range-slider.d.ts +45 -45
  352. package/dist/types/components/molecules/tttx-range-slider/tttx-range-slider.stories.d.ts +7 -7
  353. package/dist/types/components/molecules/tttx-select-box/tttx-select-box.d.ts +55 -55
  354. package/dist/types/components/molecules/tttx-select-box/tttx-select-box.stories.d.ts +28 -28
  355. package/dist/types/components/molecules/tttx-sorter/tttx-sorter.d.ts +21 -21
  356. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +69 -69
  357. package/dist/types/components/molecules/tttx-table/tttx-table.d.ts +32 -32
  358. package/dist/types/components/molecules/tttx-table/tttx-table.types.d.ts +6 -6
  359. package/dist/types/components/molecules/tttx-tabs/tttx-tabs.d.ts +25 -25
  360. package/dist/types/components/molecules/tttx-textarea/tttx-textarea.d.ts +42 -42
  361. package/dist/types/components/molecules/tttx-textarea/tttx-textarea.stories.d.ts +89 -89
  362. package/dist/types/components/molecules/tttx-toolbar/tttx-toolbar.d.ts +8 -8
  363. package/dist/types/components/molecules/tttx-toolbar/tttx-toolbar.stories.d.ts +19 -19
  364. package/dist/types/components/molecules/tttx-tooltip/tttx-tooltip.d.ts +37 -37
  365. package/dist/types/components/molecules/tttx-tooltip/tttx-tootip.stories.d.ts +12 -12
  366. package/dist/types/components/molecules/tttx-tree-view/helper/helper.d.ts +24 -24
  367. package/dist/types/components/molecules/tttx-tree-view/tttx-tree-view.d.ts +57 -57
  368. package/dist/types/components/organisms/tttx-data-pattern/tttx-data-pattern.d.ts +11 -11
  369. package/dist/types/components/organisms/tttx-data-pattern/tttx-data-pattern.stories.d.ts +13 -13
  370. package/dist/types/components/palette.stories.d.ts +6 -6
  371. package/dist/types/components.d.ts +451 -451
  372. package/dist/types/icons.d.ts +2 -2
  373. package/dist/types/index.d.ts +1 -1
  374. package/dist/types/shared/domsanitiser.options.d.ts +10 -10
  375. package/package.json +1 -1
  376. package/dist/components/tttx-action-dropdown_1_9_101.d.ts +0 -11
  377. package/dist/components/tttx-button-v2_1_9_101.d.ts +0 -11
  378. package/dist/components/tttx-checkbox-group-caption_1_9_101.d.ts +0 -11
  379. package/dist/components/tttx-checkbox-group-heading_1_9_101.d.ts +0 -11
  380. package/dist/components/tttx-checkbox-group_1_9_101.d.ts +0 -11
  381. package/dist/components/tttx-checkbox_1_9_101.d.ts +0 -11
  382. package/dist/components/tttx-comments_1_9_101.d.ts +0 -11
  383. package/dist/components/tttx-data-pattern_1_9_101.d.ts +0 -11
  384. package/dist/components/tttx-datacard_1_9_101.d.ts +0 -11
  385. package/dist/components/tttx-dialog-box_1_9_101.d.ts +0 -11
  386. package/dist/components/tttx-expander_1_9_101.d.ts +0 -11
  387. package/dist/components/tttx-keyvalue-block_1_9_101.d.ts +0 -11
  388. package/dist/components/tttx-loading-spinner_1_9_101.d.ts +0 -11
  389. package/dist/components/tttx-multiselect-box_1_9_101.d.ts +0 -11
  390. package/dist/components/tttx-percentage-bar_1_9_101.d.ts +0 -11
  391. package/dist/components/tttx-qrcode_1_9_101.d.ts +0 -11
  392. package/dist/components/tttx-range-slider_1_9_101.d.ts +0 -11
  393. package/dist/components/tttx-select-box_1_9_101.d.ts +0 -11
  394. package/dist/components/tttx-skeleton_loader_1_9_101.d.ts +0 -11
  395. package/dist/components/tttx-sorter_1_9_101.d.ts +0 -11
  396. package/dist/components/tttx-standalone-input_1_9_101.d.ts +0 -11
  397. package/dist/components/tttx-textarea_1_9_101.d.ts +0 -11
  398. package/dist/components/tttx-toggle_1_9_101.d.ts +0 -11
  399. package/dist/components/tttx-toolbar_1_9_101.d.ts +0 -11
  400. package/dist/components/tttx-tooltip_1_9_101.d.ts +0 -11
  401. package/dist/components/tttx-tree-view_1_9_101.d.ts +0 -11
  402. package/dist/types/components/atoms/tttx-checkbox/tttx-checkbox.stories.d.ts +0 -47
  403. package/dist/types/components/atoms/tttx-skeleton-loader/tttx-skeleton-loader.stories.d.ts +0 -58
  404. package/dist/types/components/molecules/tttx-action-dropdown/tttx-action-dropdown.stories.d.ts +0 -36
  405. package/dist/types/components/molecules/tttx-comments/tttx-comments.stories.d.ts +0 -8
  406. package/dist/types/components/molecules/tttx-date-range-picker/tttx-date-range-picker.stories.d.ts +0 -28
  407. package/dist/types/components/molecules/tttx-dialog/tttx-dialog.stories.d.ts +0 -42
  408. package/dist/types/components/molecules/tttx-expander/tttx-expander.stories.d.ts +0 -27
  409. package/dist/types/components/molecules/tttx-filter/tttx-filter.stories.d.ts +0 -76
  410. package/dist/types/components/molecules/tttx-form/tttx-form.stories.d.ts +0 -718
  411. package/dist/types/components/molecules/tttx-list/tttx-list.stories.d.ts +0 -15
  412. package/dist/types/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.d.ts +0 -17
  413. package/dist/types/components/molecules/tttx-sorter/tttx-sorter.stories.d.ts +0 -30
  414. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.d.ts +0 -150
  415. package/dist/types/components/molecules/tttx-table/tttx-table.stories.d.ts +0 -79
  416. package/dist/types/components/molecules/tttx-tabs/tttx-tabs.stories.d.ts +0 -13
  417. package/dist/types/components/molecules/tttx-tree-view/tttx-tree-view.stories.d.ts +0 -15
  418. /package/dist/tttx/{p-55799798.js → p-62d92a44.js} +0 -0
@@ -1,321 +1,321 @@
1
1
  import { r as registerInstance, c as createEvent, a as getAssetPath, h, g as getElement } from './index-b614efb4.js';
2
- import { p as purify, d as domSanitiserOptions } from './domsanitiser.options-38a67458.js';
2
+ import { p as purify, d as domSanitiserOptions } from './domsanitiser.options-2c1ef894.js';
3
3
  import './_commonjsHelpers-9943807e.js';
4
4
 
5
- const tttxTreeViewCss = ".material-symbols-rounded{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}:host{--tree-accent:#1579C6;--tree-selected-bg:#E7E7E7;--indent:36px;--accent-gap:46px;--accent-width:6px;--tree-left-edge-shift:0px;--leaf-accent-offset:48px}.drag-drop-placeholder-row{background-color:#DBEAFE;padding:5px;border:1px dashed #3B82F6;border-radius:4px;width:100%}.drag_drop_success_fade{transition:background-color 1s linear}.inline-tree-item>.drag-drop-placeholder-row>.treeLeaf{text-align:center;padding:10px 0px}.placeholder-text{color:#3B82F6;width:100%;font-weight:400;text-align:center;padding:8px}.is-being-dragged{background-color:rgba(125, 130, 138, 0.05) !important}.drag-handle-container{height:100%}.tree-node{padding-top:0px !important;padding-bottom:0px !important;height:51px}.tree-view-element>ul{margin:0;padding:0}.tree-view-element ul{padding-left:var(--indent)}.tree-view-element ul li{list-style:none}.tree-view-element ul li.selected-group{position:relative;}.tree-view-element ul li.selected-group::before,.tree-view-element ul li.selected-group::after{display:none}.tree-view-element ul li.selected-group>li.inline-tree-item.element-row.tree-node{background-color:var(--tree-selected-bg) !important;position:relative}.tree-view-element ul li.selected-group>li.inline-tree-item.element-row.tree-node::after{content:\"\";position:absolute;top:0;bottom:0;width:var(--accent-width);left:calc(-1 * (var(--accent-gap) + var(--level, 0) * var(--indent)));background-color:var(--tree-accent);z-index:5}.tree-view-element ul li.selected-group>ul li.inline-tree-item.element-row.tree-node{background-color:#F9F9F9 !important}.tree-view-element ul li.selected-group>ul li.inline-tree-item.element-row.tree-node::after{display:none !important}.tree-view-element ul li.inline-tree-item{display:flex;align-items:center}.tree-view-element ul li.inline-tree-item .element{display:flex;width:100%;padding-left:8px;align-items:center}.tree-view-element ul li.inline-tree-item .element .padding-icon{padding:6px;height:24px;width:24px;display:flex;align-items:center;justify-content:center}@media (hover: hover){.tree-view-element ul li.inline-tree-item.element-row.rowHover:hover:not(.rowSelected)::before{background-color:rgba(17, 17, 17, 0.05);z-index:3}.tree-view-element ul li.inline-tree-item.element-row.rowHover:hover.rowSelected::before{background-color:rgba(17, 17, 17, 0.15);z-index:3}}.tree-view-element ul li.inline-tree-item.precedes_drag_drop::before{content:\"\";position:absolute;left:-50%;bottom:0;right:0;border-bottom:1px solid #3B82F6 !important}.tree-view-element ul li.inline-tree-item.element-row{font-family:\"Roboto\", serif;font-size:16px;padding:15px 0px;position:relative;color:#212121 !important;}.tree-view-element ul li.inline-tree-item.element-row::before{content:\"\";position:absolute;left:-50%;bottom:0;right:0;border-bottom:1px solid #d5d5d5;pointer-events:none}.tree-view-element ul li.inline-tree-item.element-row.tree-node::before{height:51px;z-index:2;background-color:#F9F9F9}.tree-view-element ul li.inline-tree-item.element-row.tree-node *{z-index:3}.tree-view-element ul li.inline-tree-item.element-row .treeNode{width:100%;font-weight:500;color:#212121}.tree-view-element ul li.inline-tree-item.element-row .treeLeaf{width:100%;font-weight:400;color:#212121 !important}.tree-view-element ul li.inline-tree-item.element-row.rowSelected{background-color:var(--tree-selected-bg) !important;}.tree-view-element ul li.inline-tree-item.element-row.rowSelected::before{background-color:var(--tree-selected-bg) !important}.tree-view-element ul li.inline-tree-item.element-row.rowSelected .treeLeaf,.tree-view-element ul li.inline-tree-item.element-row.rowSelected .treeNode{color:#212121 !important}.tree-view-element ul li.inline-tree-item.element-row.tree-node.rowSelected{position:relative}.tree-view-element ul li.inline-tree-item.element-row.tree-node.rowSelected::after{content:\"\";position:absolute;top:0;bottom:0;width:var(--accent-width);left:calc(-1 * (var(--accent-gap) + var(--level, 0) * var(--indent)));background-color:var(--tree-accent);z-index:5}.tree-view-element ul li.inline-tree-item.element-row.rowSelected:not(.tree-node){position:relative}.tree-view-element ul li.inline-tree-item.element-row.rowSelected:not(.tree-node)::after{content:\"\";position:absolute;top:0;bottom:0;width:var(--accent-width);background-color:var(--tree-accent);z-index:5}.tree-view-element ul li.inline-tree-item.element-row.rowSelected:not(.tree-node)[data-has-drag-handle=true]{--drag-handle-offset:34px}.tree-view-element ul li.inline-tree-item.element-row.rowSelected:not(.tree-node)[data-has-checkbox=true]{--checkbox-offset:36px}.tree-view-element ul li.inline-tree-item.element-row .drag-handle{margin-right:10px;cursor:grab}.tree-view-element ul li.inline-tree-item.element-row.rowSelected .drag-handle{margin-left:10px}.tree-view-element ul li.inline-tree-item.element-row .drop-not-allowed{border-color:red;border-style:dashed;opacity:0.7}@media (forced-colors: active){.tree-view-element ul li.selected-group li.inline-tree-item.element-row.tree-node::after{background:CanvasText}.tree-view-element ul li.selected-group::after{background:Highlight}.tree-view-element ul li.inline-tree-item.element-row.rowSelected{background:Highlight !important}}.inline-tree-item:focus-visible{outline:2px solid var(--tree-accent);outline-offset:2px;border-radius:6px}";
5
+ const tttxTreeViewCss = ".material-symbols-rounded{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}:host{--tree-accent:#1579C6;--tree-selected-bg:#E7E7E7;--indent:36px;--accent-gap:46px;--accent-width:6px;--tree-left-edge-shift:0px;--leaf-accent-offset:48px}.drag-drop-placeholder-row{background-color:#DBEAFE;padding:5px;border:1px dashed #3B82F6;border-radius:4px;width:100%}.drag_drop_success_fade{transition:background-color 1s linear}.inline-tree-item>.drag-drop-placeholder-row>.treeLeaf{text-align:center;padding:10px 0px}.placeholder-text{color:#3B82F6;width:100%;font-weight:400;text-align:center;padding:8px}.is-being-dragged{background-color:rgba(125, 130, 138, 0.05) !important}.drag-handle-container{height:100%}.tree-node{padding-top:0px !important;padding-bottom:0px !important;height:52px}.tree-view-element>ul{margin:0;padding:0}.tree-view-element ul{padding-left:var(--indent)}.tree-view-element ul li{list-style:none}.tree-view-element ul li.selected-group{position:relative;}.tree-view-element ul li.selected-group::before,.tree-view-element ul li.selected-group::after{display:none}.tree-view-element ul li.selected-group>li.inline-tree-item.element-row.tree-node{background-color:var(--tree-selected-bg) !important;position:relative}.tree-view-element ul li.selected-group>li.inline-tree-item.element-row.tree-node::after{content:\"\";position:absolute;top:0;bottom:0;width:var(--accent-width);left:calc(-1 * (var(--accent-gap) + var(--level, 0) * var(--indent)));background-color:var(--tree-accent);z-index:5}.tree-view-element ul li.selected-group>ul li.inline-tree-item.element-row.tree-node{background-color:#F9F9F9 !important}.tree-view-element ul li.selected-group>ul li.inline-tree-item.element-row.tree-node::after{display:none !important}.tree-view-element ul li.inline-tree-item{display:flex;align-items:center}.tree-view-element ul li.inline-tree-item .element{display:flex;width:100%;padding-left:8px;align-items:center}.tree-view-element ul li.inline-tree-item .element .padding-icon{padding:6px;height:24px;width:24px;display:flex;align-items:center;justify-content:center}@media (hover: hover){.tree-view-element ul li.inline-tree-item.element-row.rowHover:hover:not(.rowSelected)::before{background-color:rgba(17, 17, 17, 0.05);z-index:3}.tree-view-element ul li.inline-tree-item.element-row.rowHover:hover.rowSelected::before{background-color:rgba(17, 17, 17, 0.15);z-index:3}}.tree-view-element ul li.inline-tree-item.precedes_drag_drop::before{content:\"\";position:absolute;left:-50%;bottom:0;right:0;border-bottom:1px solid #3B82F6 !important}.tree-view-element ul li.inline-tree-item.element-row{font-family:\"Roboto\", serif;font-size:16px;padding:15px 0px;position:relative;color:#212121 !important;}.tree-view-element ul li.inline-tree-item.element-row::before{content:\"\";position:absolute;left:-50%;bottom:0;right:0;border-bottom:1px solid #d5d5d5;pointer-events:none}.tree-view-element ul li.inline-tree-item.element-row.tree-node::before{height:51px;z-index:2;background-color:#F9F9F9}.tree-view-element ul li.inline-tree-item.element-row.tree-node *{z-index:3}.tree-view-element ul li.inline-tree-item.element-row .treeNode{width:100%;font-weight:500;color:#212121}.tree-view-element ul li.inline-tree-item.element-row .treeLeaf{width:100%;font-weight:400;color:#212121 !important}.tree-view-element ul li.inline-tree-item.element-row.rowSelected{background-color:var(--tree-selected-bg) !important;}.tree-view-element ul li.inline-tree-item.element-row.rowSelected::before{background-color:var(--tree-selected-bg) !important}.tree-view-element ul li.inline-tree-item.element-row.rowSelected .treeLeaf,.tree-view-element ul li.inline-tree-item.element-row.rowSelected .treeNode{color:#212121 !important}.tree-view-element ul li.inline-tree-item.element-row.tree-node.rowSelected{position:relative}.tree-view-element ul li.inline-tree-item.element-row.tree-node.rowSelected::after{content:\"\";position:absolute;top:0;bottom:0;width:var(--accent-width);left:calc(-1 * (var(--accent-gap) + var(--level, 0) * var(--indent)));background-color:var(--tree-accent);z-index:5}.tree-view-element ul li.inline-tree-item.element-row.rowSelected:not(.tree-node){position:relative}.tree-view-element ul li.inline-tree-item.element-row.rowSelected:not(.tree-node)::after{content:\"\";position:absolute;top:0;bottom:0;width:var(--accent-width);background-color:var(--tree-accent);z-index:5}.tree-view-element ul li.inline-tree-item.element-row.rowSelected:not(.tree-node)[data-has-drag-handle=true]{--drag-handle-offset:34px}.tree-view-element ul li.inline-tree-item.element-row.rowSelected:not(.tree-node)[data-has-checkbox=true]{--checkbox-offset:36px}.tree-view-element ul li.inline-tree-item.element-row .drag-handle{margin-right:10px;cursor:grab}.tree-view-element ul li.inline-tree-item.element-row.rowSelected .drag-handle{margin-left:10px}.tree-view-element ul li.inline-tree-item.element-row .drop-not-allowed{border-color:red;border-style:dashed;opacity:0.7}@media (forced-colors: active){.tree-view-element ul li.selected-group li.inline-tree-item.element-row.tree-node::after{background:CanvasText}.tree-view-element ul li.selected-group::after{background:Highlight}.tree-view-element ul li.inline-tree-item.element-row.rowSelected{background:Highlight !important}}.inline-tree-item:focus-visible{outline:2px solid var(--tree-accent);outline-offset:2px;border-radius:6px}";
6
6
 
7
- const TttxTreeView = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
10
- this.clickEvent = createEvent(this, "clickEvent", 7);
11
- this.expandNode = createEvent(this, "expandNode", 7);
12
- this.checkboxChange = createEvent(this, "checkboxChange", 7);
13
- this.moveNode = createEvent(this, "moveNode", 7);
14
- this.dragGhost = {
15
- el: null,
16
- };
17
- this.dragDropPlaceholderId = 'drag-drop-placeholder';
18
- this.createGhostImage = (label) => {
19
- if (label.length > 30)
20
- label = `${label.slice(0, 30)}...`;
21
- const ghost = document.createElement('div');
22
- Object.assign(ghost.style, {
23
- position: 'absolute',
24
- top: '-9999px',
25
- left: '-9999px',
26
- padding: '8px 12px',
27
- background: 'white',
28
- pointerEvents: 'none',
29
- boxShadow: '0px 0px 12px #F9F9F9',
30
- display: 'flex',
31
- flexDirection: 'row',
32
- gap: '10px',
33
- borderRadius: '4px'
34
- });
35
- const dragHandle = document.createElement('img');
36
- dragHandle.src = this.dragIcon;
37
- dragHandle.alt = 'drag';
38
- ghost.appendChild(dragHandle);
39
- const ghostText = document.createElement('span');
40
- Object.assign(ghostText.style, { fontSize: '14px' });
41
- ghostText.textContent = label;
42
- ghost.appendChild(ghostText);
43
- document.body.appendChild(ghost);
44
- return ghost;
45
- };
46
- this.handleDragStart = (event, node, index, parentId) => {
47
- if (!event.dataTransfer)
48
- return;
49
- this.draggedNodeParentId = parentId;
50
- this.draggedNodeId = node.id;
51
- const payload = JSON.stringify({ parentId, index, node });
52
- event.dataTransfer.setData('text/plain', payload);
53
- const ghostImg = this.createGhostImage(node.title);
54
- this.dragGhost.el = ghostImg;
55
- event.dataTransfer.setDragImage(ghostImg, 32, 30);
56
- };
57
- this.handleDragEnd = () => {
58
- // if drag ends on a valid target, handleDragDrop should handle everything
59
- // if not dropped on a valid target, use this trigger to remove the placeholder
60
- setTimeout(() => {
61
- const placeHolderExists = this.findNodeById(this.treeData, this.dragDropPlaceholderId);
62
- if (placeHolderExists) {
63
- const placeHolderRemovedList = this.updateDragDropPlaceholder(this.treeData);
64
- this.treeData = [...placeHolderRemovedList];
65
- }
66
- }, 300);
67
- };
68
- this.handleDragDrop = (event, node, parentId) => {
69
- var _a;
70
- event.preventDefault();
71
- const nodeData = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain');
72
- if (!nodeData)
73
- return;
74
- const { parentId: sourceParentId, node: sourceNode } = JSON.parse(nodeData);
75
- // Prevent dropping on itself or different parents
76
- if (node.id === sourceNode.id || sourceParentId !== parentId)
77
- return;
78
- const updatedTree = [...this.treeData];
79
- // Find the parent node
80
- const parent = parentId ? this.findNodeById(updatedTree, parentId) : null;
81
- // If no parent (root level), work with treeData directly
82
- const children = (parent === null || parent === void 0 ? void 0 : parent.child) ? [...parent.child] : [...updatedTree];
83
- if (!children || children.length === 0)
84
- return;
85
- // move the node to wherever the placeholder now is
86
- const movedElement = sourceNode;
87
- const newChildren = [];
88
- for (const child of children) {
89
- if (child.id == movedElement.id)
90
- continue; // will be inserted in placeholder position
91
- if (child.id == this.dragDropPlaceholderId) {
92
- // moved element added to new list in placeholder's place
93
- newChildren.push(movedElement);
94
- continue;
95
- }
96
- newChildren.push(child); // retain existing elements
97
- }
98
- // Update the tree
99
- if (parent) {
100
- parent.child = newChildren;
101
- }
102
- else {
103
- this.treeData = newChildren;
104
- }
105
- this.draggedNodeParentId = undefined;
106
- this.draggedNodeId = undefined;
107
- if (this.dragGhost.el) {
108
- this.dragGhost.el.remove();
109
- this.dragGhost.el = null;
110
- }
111
- this.handleDragDropSuccessBackground(movedElement.id);
112
- this.treeData = [...this.updateDragDropPlaceholder(this.treeData)];
113
- this.moveNode.emit(this.treeData);
114
- };
115
- this.handleDragOver = (event, draggedOverId, parentId, isDragDropPlaceholder) => {
116
- event.preventDefault();
117
- if (!event.dataTransfer)
118
- return;
119
- const validDrag = this.draggedNodeParentId === parentId || isDragDropPlaceholder;
120
- event.dataTransfer.dropEffect = validDrag ? 'move' : 'none';
121
- if (validDrag && !isDragDropPlaceholder) {
122
- this.treeData = [...this.updateDragDropPlaceholder(this.treeData, draggedOverId)];
123
- }
124
- };
125
- this.updateDragDropPlaceholder = (treeData, createPlaceholderOnId) => {
126
- const newTreeData = [];
127
- for (const treeViewItem of treeData) {
128
- // delete existing placeholders & create a new one if this is where it should be dropped
129
- if (treeViewItem.isDragDropPlaceholder)
130
- continue;
131
- if (treeViewItem.id == createPlaceholderOnId) {
132
- newTreeData.push({
133
- id: this.dragDropPlaceholderId,
134
- title: 'Drop here',
135
- isDragDropPlaceholder: true
136
- });
137
- }
138
- if (treeViewItem.child) {
139
- const children = this.updateDragDropPlaceholder(treeViewItem.child, createPlaceholderOnId);
140
- treeViewItem.child = children;
141
- }
142
- newTreeData.push(treeViewItem);
143
- }
144
- return newTreeData;
145
- };
146
- this.data = undefined;
147
- this.treeData = undefined;
148
- this.nodesRecentlyMoved = [];
149
- }
150
- componentWillRender() {
151
- if (!this.data)
152
- return;
153
- this.treeData = typeof this.data === 'string' ? JSON.parse(this.data) : this.data;
154
- if (!this.dragIcon) {
155
- this.dragIcon = getAssetPath('assets/img/drag-icon.svg');
156
- }
157
- }
158
- onClickHandler(event, node) {
159
- event.stopPropagation();
160
- // Handle selection: if node is already selected, deselect it; otherwise select it and deselect all others
161
- if (node.selectable) {
162
- if (node.selected) {
163
- // Toggle off: deselect this node
164
- node.selected = false;
165
- }
166
- else {
167
- // Toggle on: deselect all others and select this one
168
- this.handleNodeSelection(node);
169
- // node.selected is already set to true in handleNodeSelection
170
- }
171
- this.treeData = [...this.treeData];
172
- }
173
- this.clickEvent.emit(node);
174
- }
175
- toggleNode(node, event) {
176
- event.stopPropagation();
177
- node.isOpen = !node.isOpen;
178
- this.treeData = [...this.treeData];
179
- this.expandNode.emit({ node: node, treeViewData: this.treeData });
180
- }
181
- handleCheckboxChange(node, event) {
182
- event.stopPropagation();
183
- node.checked = !node.checked;
184
- this.updateChildrenCheckStatus(node);
185
- this.updateParentCheckStatus();
186
- this.treeData = [...this.treeData];
187
- this.checkboxChange.emit(this.treeData);
188
- }
189
- updateChildrenCheckStatus(node) {
190
- if (node.child) {
191
- node.child.forEach(childNode => {
192
- if (childNode.hasCheckbox && childNode.checked !== undefined) {
193
- // don't set checked on a child that doesn't have a checkbox
194
- // makes it impossible to unselect a parent as child can never be unchecked in frontend
195
- childNode.checked = node.checked;
196
- }
197
- this.updateChildrenCheckStatus(childNode);
198
- });
199
- }
200
- }
201
- /**
202
- * Update the checkbox status of parent nodes when children have been updated.
203
- * Called recursively to traverse the tree for parents.
204
- * First call with no params to automatically start at the top of the tree.
205
- *
206
- * Any children checked -> parent is checked.
207
- *
208
- * All children unchecked -> parent is unchecked.
209
- */
210
- updateParentCheckStatus(parent = undefined, children = undefined) {
211
- if (parent === undefined) {
212
- this.treeData.forEach(node => this.updateParentCheckStatus(node, node.child));
213
- return;
214
- }
215
- let childrenCheckedStatuses = [];
216
- // set status relative to children if we have some
217
- if (children && children.length > 0) {
218
- childrenCheckedStatuses = children.map(node => this.updateParentCheckStatus(node, node.child)).flat(1);
219
- // parent checked if any children are checked
220
- if (childrenCheckedStatuses.some(checked => checked)) {
221
- parent.checked = true;
222
- }
223
- // parent unchecked if all children are unchecked
224
- if (childrenCheckedStatuses.every(checked => !checked)) {
225
- parent.checked = false;
226
- }
227
- }
228
- // return the gathered checked statuses so nodes above can make check choices
229
- return [...childrenCheckedStatuses, parent.checked];
230
- }
231
- treeConfigs(node) {
232
- let checkboxIcon, checkboxColor;
233
- if (node.checked) {
234
- checkboxIcon = 'check_box';
235
- checkboxColor = 'blue';
236
- }
237
- else {
238
- checkboxIcon = 'check_box_outline_blank';
239
- checkboxColor = 'grey';
240
- }
241
- const rowHoverActive = node.hasHover ? 'rowHover' : '';
242
- const expanderIcon = node.isOpen ? 'arrow_drop_down' : 'arrow_right';
243
- const selectedActive = node.selectable && node.selected ? 'rowSelected' : '';
244
- const dragDropPlaceholder = node.isDragDropPlaceholder ? 'drag_drop_placeholder' : '';
245
- return { checkboxColor, checkboxIcon, rowHoverActive, expanderIcon, selectedActive, dragDropPlaceholder };
246
- }
247
- findNodeById(nodes, id) {
248
- for (const node of nodes) {
249
- if (node.id === id)
250
- return node;
251
- if (node.child) {
252
- const found = this.findNodeById(node.child, id);
253
- if (found)
254
- return found;
255
- }
256
- }
257
- return undefined;
258
- }
259
- deselectAllNodes(nodes) {
260
- for (const node of nodes) {
261
- if (node.selectable) {
262
- node.selected = false;
263
- }
264
- if (node.child) {
265
- this.deselectAllNodes(node.child);
266
- }
267
- }
268
- }
269
- handleNodeSelection(node) {
270
- // Deselect all nodes first
271
- this.deselectAllNodes(this.treeData);
272
- // Select only the clicked node if it's selectable
273
- if (node.selectable) {
274
- node.selected = true;
275
- }
276
- // Update the tree to trigger re-render
277
- this.treeData = [...this.treeData];
278
- }
279
- handleDragDropSuccessBackground(nodeId) {
280
- this.nodesRecentlyMoved.push(nodeId);
281
- setTimeout((nodeId) => {
282
- this.nodesRecentlyMoved = [...this.nodesRecentlyMoved.filter((id) => id !== nodeId)];
283
- }, 300, nodeId);
284
- }
285
- doesNodePrecedeDragDropPlaceholder(node, index, parentId = undefined) {
286
- var _a;
287
- if (node.child) {
288
- // is parent, so first child would have to be placeholder
289
- return node.child.length > 0 && node.child[0].isDragDropPlaceholder;
290
- }
291
- // child, so check if following element is placeholder
292
- const parentNode = parentId ? this.findNodeById(this.treeData, parentId) : undefined;
293
- if (parentNode) {
294
- return index !== parentNode.child.length && ((_a = parentNode.child[index + 1]) === null || _a === void 0 ? void 0 : _a.isDragDropPlaceholder);
295
- }
296
- return false;
297
- }
298
- renderNode(node, index, parentId = undefined, level = 0 // <-- depth
299
- ) {
300
- const options = this.treeConfigs(node);
301
- const precedesDragDropPlaceholderClass = this.doesNodePrecedeDragDropPlaceholder(node, index, parentId) ? 'precedes_drag_drop' : '';
302
- if (node.child) {
303
- // group node
304
- const isSelectedGroup = !!node.selected;
305
- return (h("li", { class: `${isSelectedGroup ? 'selected-group' : ''}`, style: { '--level': String(level) } }, h("li", Object.assign({ id: node.id, "data-id": node.id }, (node.draggable || node.isDragDropPlaceholder ? { onDragOver: event => this.handleDragOver(event, node.id, parentId, node.isDragDropPlaceholder) } : {}), (node.draggable || node.isDragDropPlaceholder ? { onDrop: event => this.handleDragDrop(event, node, parentId) } : {}), { class: `inline-tree-item element-row tree-node ${options.rowHoverActive} ${options.selectedActive} ${options.dragDropPlaceholder} ${precedesDragDropPlaceholderClass}`, onClick: event => {
306
- if (node.hasHover) {
307
- this.onClickHandler(event, node);
308
- }
309
- } }), h("tttx-button_1_9_101", { class: "toggleNode", design: "borderless-circle", notext: true, icon: options.expanderIcon, color: "black", onClick: event => this.toggleNode(node, event) }), this.htmlcode('treeNode', node, options.checkboxIcon, options.checkboxColor, index, parentId)), node.isOpen ? (h("ul", null, node.child.map((childNode, childIndex) => {
310
- // next level = level + 1
311
- return this.renderNode(childNode, childIndex, node.id, level + 1);
312
- }))) : null));
313
- }
314
- // leaf (activity)
315
- const leafStyle = { '--level': String(level) };
316
- if (this.nodesRecentlyMoved.find((x) => x == node.id)) {
317
- leafStyle['background-color'] = '#D1F7F0'; //'rgba(51, 170, 51, .1)';
318
- }
7
+ const TttxTreeView = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this.clickEvent = createEvent(this, "clickEvent", 7);
11
+ this.expandNode = createEvent(this, "expandNode", 7);
12
+ this.checkboxChange = createEvent(this, "checkboxChange", 7);
13
+ this.moveNode = createEvent(this, "moveNode", 7);
14
+ this.dragGhost = {
15
+ el: null,
16
+ };
17
+ this.dragDropPlaceholderId = 'drag-drop-placeholder';
18
+ this.createGhostImage = (label) => {
19
+ if (label.length > 30)
20
+ label = `${label.slice(0, 30)}...`;
21
+ const ghost = document.createElement('div');
22
+ Object.assign(ghost.style, {
23
+ position: 'absolute',
24
+ top: '-9999px',
25
+ left: '-9999px',
26
+ padding: '8px 12px',
27
+ background: 'white',
28
+ pointerEvents: 'none',
29
+ boxShadow: '0px 0px 12px #F9F9F9',
30
+ display: 'flex',
31
+ flexDirection: 'row',
32
+ gap: '10px',
33
+ borderRadius: '4px'
34
+ });
35
+ const dragHandle = document.createElement('img');
36
+ dragHandle.src = this.dragIcon;
37
+ dragHandle.alt = 'drag';
38
+ ghost.appendChild(dragHandle);
39
+ const ghostText = document.createElement('span');
40
+ Object.assign(ghostText.style, { fontSize: '14px' });
41
+ ghostText.textContent = label;
42
+ ghost.appendChild(ghostText);
43
+ document.body.appendChild(ghost);
44
+ return ghost;
45
+ };
46
+ this.handleDragStart = (event, node, index, parentId) => {
47
+ if (!event.dataTransfer)
48
+ return;
49
+ this.draggedNodeParentId = parentId;
50
+ this.draggedNodeId = node.id;
51
+ const payload = JSON.stringify({ parentId, index, node });
52
+ event.dataTransfer.setData('text/plain', payload);
53
+ const ghostImg = this.createGhostImage(node.title);
54
+ this.dragGhost.el = ghostImg;
55
+ event.dataTransfer.setDragImage(ghostImg, 32, 30);
56
+ };
57
+ this.handleDragEnd = () => {
58
+ // if drag ends on a valid target, handleDragDrop should handle everything
59
+ // if not dropped on a valid target, use this trigger to remove the placeholder
60
+ setTimeout(() => {
61
+ const placeHolderExists = this.findNodeById(this.treeData, this.dragDropPlaceholderId);
62
+ if (placeHolderExists) {
63
+ const placeHolderRemovedList = this.updateDragDropPlaceholder(this.treeData);
64
+ this.treeData = [...placeHolderRemovedList];
65
+ }
66
+ }, 300);
67
+ };
68
+ this.handleDragDrop = (event, node, parentId) => {
69
+ var _a;
70
+ event.preventDefault();
71
+ const nodeData = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain');
72
+ if (!nodeData)
73
+ return;
74
+ const { parentId: sourceParentId, node: sourceNode } = JSON.parse(nodeData);
75
+ // Prevent dropping on itself or different parents
76
+ if (node.id === sourceNode.id || sourceParentId !== parentId)
77
+ return;
78
+ const updatedTree = [...this.treeData];
79
+ // Find the parent node
80
+ const parent = parentId ? this.findNodeById(updatedTree, parentId) : null;
81
+ // If no parent (root level), work with treeData directly
82
+ const children = (parent === null || parent === void 0 ? void 0 : parent.child) ? [...parent.child] : [...updatedTree];
83
+ if (!children || children.length === 0)
84
+ return;
85
+ // move the node to wherever the placeholder now is
86
+ const movedElement = sourceNode;
87
+ const newChildren = [];
88
+ for (const child of children) {
89
+ if (child.id == movedElement.id)
90
+ continue; // will be inserted in placeholder position
91
+ if (child.id == this.dragDropPlaceholderId) {
92
+ // moved element added to new list in placeholder's place
93
+ newChildren.push(movedElement);
94
+ continue;
95
+ }
96
+ newChildren.push(child); // retain existing elements
97
+ }
98
+ // Update the tree
99
+ if (parent) {
100
+ parent.child = newChildren;
101
+ }
102
+ else {
103
+ this.treeData = newChildren;
104
+ }
105
+ this.draggedNodeParentId = undefined;
106
+ this.draggedNodeId = undefined;
107
+ if (this.dragGhost.el) {
108
+ this.dragGhost.el.remove();
109
+ this.dragGhost.el = null;
110
+ }
111
+ this.handleDragDropSuccessBackground(movedElement.id);
112
+ this.treeData = [...this.updateDragDropPlaceholder(this.treeData)];
113
+ this.moveNode.emit(this.treeData);
114
+ };
115
+ this.handleDragOver = (event, draggedOverId, parentId, isDragDropPlaceholder) => {
116
+ event.preventDefault();
117
+ if (!event.dataTransfer)
118
+ return;
119
+ const validDrag = this.draggedNodeParentId === parentId || isDragDropPlaceholder;
120
+ event.dataTransfer.dropEffect = validDrag ? 'move' : 'none';
121
+ if (validDrag && !isDragDropPlaceholder) {
122
+ this.treeData = [...this.updateDragDropPlaceholder(this.treeData, draggedOverId)];
123
+ }
124
+ };
125
+ this.updateDragDropPlaceholder = (treeData, createPlaceholderOnId) => {
126
+ const newTreeData = [];
127
+ for (const treeViewItem of treeData) {
128
+ // delete existing placeholders & create a new one if this is where it should be dropped
129
+ if (treeViewItem.isDragDropPlaceholder)
130
+ continue;
131
+ if (treeViewItem.id == createPlaceholderOnId) {
132
+ newTreeData.push({
133
+ id: this.dragDropPlaceholderId,
134
+ title: 'Drop here',
135
+ isDragDropPlaceholder: true
136
+ });
137
+ }
138
+ if (treeViewItem.child) {
139
+ const children = this.updateDragDropPlaceholder(treeViewItem.child, createPlaceholderOnId);
140
+ treeViewItem.child = children;
141
+ }
142
+ newTreeData.push(treeViewItem);
143
+ }
144
+ return newTreeData;
145
+ };
146
+ this.data = undefined;
147
+ this.treeData = undefined;
148
+ this.nodesRecentlyMoved = [];
149
+ }
150
+ componentWillRender() {
151
+ if (!this.data)
152
+ return;
153
+ this.treeData = typeof this.data === 'string' ? JSON.parse(this.data) : this.data;
154
+ if (!this.dragIcon) {
155
+ this.dragIcon = getAssetPath('assets/img/drag-icon.svg');
156
+ }
157
+ }
158
+ onClickHandler(event, node) {
159
+ event.stopPropagation();
160
+ // Handle selection: if node is already selected, deselect it; otherwise select it and deselect all others
161
+ if (node.selectable) {
162
+ if (node.selected) {
163
+ // Toggle off: deselect this node
164
+ node.selected = false;
165
+ }
166
+ else {
167
+ // Toggle on: deselect all others and select this one
168
+ this.handleNodeSelection(node);
169
+ // node.selected is already set to true in handleNodeSelection
170
+ }
171
+ this.treeData = [...this.treeData];
172
+ }
173
+ this.clickEvent.emit(node);
174
+ }
175
+ toggleNode(node, event) {
176
+ event.stopPropagation();
177
+ node.isOpen = !node.isOpen;
178
+ this.treeData = [...this.treeData];
179
+ this.expandNode.emit({ node: node, treeViewData: this.treeData });
180
+ }
181
+ handleCheckboxChange(node, event) {
182
+ event.stopPropagation();
183
+ node.checked = !node.checked;
184
+ this.updateChildrenCheckStatus(node);
185
+ this.updateParentCheckStatus();
186
+ this.treeData = [...this.treeData];
187
+ this.checkboxChange.emit(this.treeData);
188
+ }
189
+ updateChildrenCheckStatus(node) {
190
+ if (node.child) {
191
+ node.child.forEach(childNode => {
192
+ if (childNode.hasCheckbox && childNode.checked !== undefined) {
193
+ // don't set checked on a child that doesn't have a checkbox
194
+ // makes it impossible to unselect a parent as child can never be unchecked in frontend
195
+ childNode.checked = node.checked;
196
+ }
197
+ this.updateChildrenCheckStatus(childNode);
198
+ });
199
+ }
200
+ }
201
+ /**
202
+ * Update the checkbox status of parent nodes when children have been updated.
203
+ * Called recursively to traverse the tree for parents.
204
+ * First call with no params to automatically start at the top of the tree.
205
+ *
206
+ * Any children checked -> parent is checked.
207
+ *
208
+ * All children unchecked -> parent is unchecked.
209
+ */
210
+ updateParentCheckStatus(parent = undefined, children = undefined) {
211
+ if (parent === undefined) {
212
+ this.treeData.forEach(node => this.updateParentCheckStatus(node, node.child));
213
+ return;
214
+ }
215
+ let childrenCheckedStatuses = [];
216
+ // set status relative to children if we have some
217
+ if (children && children.length > 0) {
218
+ childrenCheckedStatuses = children.map(node => this.updateParentCheckStatus(node, node.child)).flat(1);
219
+ // parent checked if any children are checked
220
+ if (childrenCheckedStatuses.some(checked => checked)) {
221
+ parent.checked = true;
222
+ }
223
+ // parent unchecked if all children are unchecked
224
+ if (childrenCheckedStatuses.every(checked => !checked)) {
225
+ parent.checked = false;
226
+ }
227
+ }
228
+ // return the gathered checked statuses so nodes above can make check choices
229
+ return [...childrenCheckedStatuses, parent.checked];
230
+ }
231
+ treeConfigs(node) {
232
+ let checkboxIcon, checkboxColor;
233
+ if (node.checked) {
234
+ checkboxIcon = 'check_box';
235
+ checkboxColor = 'blue';
236
+ }
237
+ else {
238
+ checkboxIcon = 'check_box_outline_blank';
239
+ checkboxColor = 'grey';
240
+ }
241
+ const rowHoverActive = node.hasHover ? 'rowHover' : '';
242
+ const expanderIcon = node.isOpen ? 'arrow_drop_down' : 'arrow_right';
243
+ const selectedActive = node.selectable && node.selected ? 'rowSelected' : '';
244
+ const dragDropPlaceholder = node.isDragDropPlaceholder ? 'drag_drop_placeholder' : '';
245
+ return { checkboxColor, checkboxIcon, rowHoverActive, expanderIcon, selectedActive, dragDropPlaceholder };
246
+ }
247
+ findNodeById(nodes, id) {
248
+ for (const node of nodes) {
249
+ if (node.id === id)
250
+ return node;
251
+ if (node.child) {
252
+ const found = this.findNodeById(node.child, id);
253
+ if (found)
254
+ return found;
255
+ }
256
+ }
257
+ return undefined;
258
+ }
259
+ deselectAllNodes(nodes) {
260
+ for (const node of nodes) {
261
+ if (node.selectable) {
262
+ node.selected = false;
263
+ }
264
+ if (node.child) {
265
+ this.deselectAllNodes(node.child);
266
+ }
267
+ }
268
+ }
269
+ handleNodeSelection(node) {
270
+ // Deselect all nodes first
271
+ this.deselectAllNodes(this.treeData);
272
+ // Select only the clicked node if it's selectable
273
+ if (node.selectable) {
274
+ node.selected = true;
275
+ }
276
+ // Update the tree to trigger re-render
277
+ this.treeData = [...this.treeData];
278
+ }
279
+ handleDragDropSuccessBackground(nodeId) {
280
+ this.nodesRecentlyMoved.push(nodeId);
281
+ setTimeout((nodeId) => {
282
+ this.nodesRecentlyMoved = [...this.nodesRecentlyMoved.filter((id) => id !== nodeId)];
283
+ }, 300, nodeId);
284
+ }
285
+ doesNodePrecedeDragDropPlaceholder(node, index, parentId = undefined) {
286
+ var _a;
287
+ if (node.child) {
288
+ // is parent, so first child would have to be placeholder
289
+ return node.child.length > 0 && node.child[0].isDragDropPlaceholder;
290
+ }
291
+ // child, so check if following element is placeholder
292
+ const parentNode = parentId ? this.findNodeById(this.treeData, parentId) : undefined;
293
+ if (parentNode) {
294
+ return index !== parentNode.child.length && ((_a = parentNode.child[index + 1]) === null || _a === void 0 ? void 0 : _a.isDragDropPlaceholder);
295
+ }
296
+ return false;
297
+ }
298
+ renderNode(node, index, parentId = undefined, level = 0 // <-- depth
299
+ ) {
300
+ const options = this.treeConfigs(node);
301
+ const precedesDragDropPlaceholderClass = this.doesNodePrecedeDragDropPlaceholder(node, index, parentId) ? 'precedes_drag_drop' : '';
302
+ if (node.child) {
303
+ // group node
304
+ const isSelectedGroup = !!node.selected;
305
+ return (h("li", { class: `${isSelectedGroup ? 'selected-group' : ''}`, style: { '--level': String(level) } }, h("li", Object.assign({ id: node.id, "data-id": node.id }, (node.draggable || node.isDragDropPlaceholder ? { onDragOver: event => this.handleDragOver(event, node.id, parentId, node.isDragDropPlaceholder) } : {}), (node.draggable || node.isDragDropPlaceholder ? { onDrop: event => this.handleDragDrop(event, node, parentId) } : {}), { class: `inline-tree-item element-row tree-node ${options.rowHoverActive} ${options.selectedActive} ${options.dragDropPlaceholder} ${precedesDragDropPlaceholderClass}`, onClick: event => {
306
+ if (node.hasHover) {
307
+ this.onClickHandler(event, node);
308
+ }
309
+ } }), h("tttx-button_1_9_103", { class: "toggleNode", design: "borderless-circle", notext: true, icon: options.expanderIcon, color: "black", onClick: event => this.toggleNode(node, event) }), this.htmlcode('treeNode', node, options.checkboxIcon, options.checkboxColor, index, parentId)), node.isOpen ? (h("ul", null, node.child.map((childNode, childIndex) => {
310
+ // next level = level + 1
311
+ return this.renderNode(childNode, childIndex, node.id, level + 1);
312
+ }))) : null));
313
+ }
314
+ // leaf (activity)
315
+ const leafStyle = { '--level': String(level) };
316
+ if (this.nodesRecentlyMoved.find((x) => x == node.id)) {
317
+ leafStyle['background-color'] = '#D1F7F0'; //'rgba(51, 170, 51, .1)';
318
+ }
319
319
  return (h("li", Object.assign({ "data-id": node.id }, (node.draggable || node.isDragDropPlaceholder ? { onDragOver: event => this.handleDragOver(event, node.id, parentId, node.isDragDropPlaceholder) } : {}), (node.draggable || node.isDragDropPlaceholder ? { onDrop: event => this.handleDragDrop(event, node, parentId) } : {}), { class: `
320
320
  inline-tree-item element-row
321
321
  ${options.rowHoverActive}
@@ -324,33 +324,33 @@ const TttxTreeView = class {
324
324
  ${precedesDragDropPlaceholderClass}
325
325
  drag_drop_success_fade
326
326
  ${this.draggedNodeId == node.id ? ' is-being-dragged' : ''}
327
- `, style: leafStyle, onClick: event => {
328
- if (node.hasHover) {
329
- this.onClickHandler(event, node);
330
- }
331
- } }), this.htmlcode('treeLeaf', node, options.checkboxIcon, options.checkboxColor, index, parentId)));
332
- }
333
- htmlcode(type, node, check_box, check_boxColor, index, parentId = undefined) {
334
- if (node.isDragDropPlaceholder) {
335
- return (h("div", { class: "inline-tree-item element" }, h("div", { class: 'drag-drop-placeholder-row' }, h("div", { class: 'placeholder-text' }, node.title))));
336
- }
337
- return (h("div", { class: "inline-tree-item element" }, node.draggable && (h("div", { class: "drag-handle-container" }, h("img", { src: this.dragIcon, alt: "drag", class: "drag-handle", draggable: node.draggable, onDragStart: event => {
338
- if (node.draggable) {
339
- this.handleDragStart(event, node, index, parentId);
340
- }
341
- }, onDragEnd: () => {
342
- if (node.draggable) {
343
- this.handleDragEnd();
344
- }
345
- } }))), node.hasCheckbox && (h("tttx-button_1_9_101", { design: "borderless-circle", notext: true, icon: check_box, iconcolor: check_boxColor, class: "padding-icon checkbox", onClick: event => this.handleCheckboxChange(node, event) })), !node.html && node.hasIcon && (h("tttx-icon_1_9_101", { icon: node.icon, color: node.iconColor, class: "padding-icon" })), !node.html && h("div", { class: type }, node.title), node.html && h("div", { class: type, innerHTML: purify.sanitize(node.html, domSanitiserOptions) })));
346
- }
347
- render() {
348
- if (!this.data)
349
- return;
350
- return (h("div", { ref: (element) => this.rootElement = element, class: "tree-view-element" }, h("ul", null, this.treeData.map((node, index) => this.renderNode(node, index)))));
351
- }
352
- get el() { return getElement(this); }
353
- };
327
+ `, style: leafStyle, onClick: event => {
328
+ if (node.hasHover) {
329
+ this.onClickHandler(event, node);
330
+ }
331
+ } }), this.htmlcode('treeLeaf', node, options.checkboxIcon, options.checkboxColor, index, parentId)));
332
+ }
333
+ htmlcode(type, node, check_box, check_boxColor, index, parentId = undefined) {
334
+ if (node.isDragDropPlaceholder) {
335
+ return (h("div", { class: "inline-tree-item element" }, h("div", { class: 'drag-drop-placeholder-row' }, h("div", { class: 'placeholder-text' }, node.title))));
336
+ }
337
+ return (h("div", { class: "inline-tree-item element" }, node.draggable && (h("div", { class: "drag-handle-container" }, h("img", { src: this.dragIcon, alt: "drag", class: "drag-handle", draggable: node.draggable, onDragStart: event => {
338
+ if (node.draggable) {
339
+ this.handleDragStart(event, node, index, parentId);
340
+ }
341
+ }, onDragEnd: () => {
342
+ if (node.draggable) {
343
+ this.handleDragEnd();
344
+ }
345
+ } }))), node.hasCheckbox && (h("tttx-button_1_9_103", { design: "borderless-circle", notext: true, icon: check_box, iconcolor: check_boxColor, class: "padding-icon checkbox", onClick: event => this.handleCheckboxChange(node, event) })), !node.html && node.hasIcon && (h("tttx-icon_1_9_103", { icon: node.icon, color: node.iconColor, class: "padding-icon" })), !node.html && h("div", { class: type }, node.title), node.html && h("div", { class: type, innerHTML: purify.sanitize(node.html, domSanitiserOptions) })));
346
+ }
347
+ render() {
348
+ if (!this.data)
349
+ return;
350
+ return (h("div", { ref: (element) => this.rootElement = element, class: "tree-view-element" }, h("ul", null, this.treeData.map((node, index) => this.renderNode(node, index)))));
351
+ }
352
+ get el() { return getElement(this); }
353
+ };
354
354
  TttxTreeView.style = tttxTreeViewCss;
355
355
 
356
- export { TttxTreeView as tttx_tree_view_1_9_101 };
356
+ export { TttxTreeView as tttx_tree_view_1_9_103 };