@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
@@ -3,322 +3,322 @@ import { p as purify, d as domSanitiserOptions } from './domsanitiser.options.js
3
3
  import { d as defineCustomElement$3 } from './tttx-button.js';
4
4
  import { d as defineCustomElement$2 } from './tttx-icon.js';
5
5
 
6
- 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}";
6
+ 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}";
7
7
 
8
- const TttxTreeView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
9
- constructor() {
10
- super();
11
- this.__registerHost();
12
- this.__attachShadow();
13
- this.clickEvent = createEvent(this, "clickEvent", 7);
14
- this.expandNode = createEvent(this, "expandNode", 7);
15
- this.checkboxChange = createEvent(this, "checkboxChange", 7);
16
- this.moveNode = createEvent(this, "moveNode", 7);
17
- this.dragGhost = {
18
- el: null,
19
- };
20
- this.dragDropPlaceholderId = 'drag-drop-placeholder';
21
- this.createGhostImage = (label) => {
22
- if (label.length > 30)
23
- label = `${label.slice(0, 30)}...`;
24
- const ghost = document.createElement('div');
25
- Object.assign(ghost.style, {
26
- position: 'absolute',
27
- top: '-9999px',
28
- left: '-9999px',
29
- padding: '8px 12px',
30
- background: 'white',
31
- pointerEvents: 'none',
32
- boxShadow: '0px 0px 12px #F9F9F9',
33
- display: 'flex',
34
- flexDirection: 'row',
35
- gap: '10px',
36
- borderRadius: '4px'
37
- });
38
- const dragHandle = document.createElement('img');
39
- dragHandle.src = this.dragIcon;
40
- dragHandle.alt = 'drag';
41
- ghost.appendChild(dragHandle);
42
- const ghostText = document.createElement('span');
43
- Object.assign(ghostText.style, { fontSize: '14px' });
44
- ghostText.textContent = label;
45
- ghost.appendChild(ghostText);
46
- document.body.appendChild(ghost);
47
- return ghost;
48
- };
49
- this.handleDragStart = (event, node, index, parentId) => {
50
- if (!event.dataTransfer)
51
- return;
52
- this.draggedNodeParentId = parentId;
53
- this.draggedNodeId = node.id;
54
- const payload = JSON.stringify({ parentId, index, node });
55
- event.dataTransfer.setData('text/plain', payload);
56
- const ghostImg = this.createGhostImage(node.title);
57
- this.dragGhost.el = ghostImg;
58
- event.dataTransfer.setDragImage(ghostImg, 32, 30);
59
- };
60
- this.handleDragEnd = () => {
61
- // if drag ends on a valid target, handleDragDrop should handle everything
62
- // if not dropped on a valid target, use this trigger to remove the placeholder
63
- setTimeout(() => {
64
- const placeHolderExists = this.findNodeById(this.treeData, this.dragDropPlaceholderId);
65
- if (placeHolderExists) {
66
- const placeHolderRemovedList = this.updateDragDropPlaceholder(this.treeData);
67
- this.treeData = [...placeHolderRemovedList];
68
- }
69
- }, 300);
70
- };
71
- this.handleDragDrop = (event, node, parentId) => {
72
- var _a;
73
- event.preventDefault();
74
- const nodeData = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain');
75
- if (!nodeData)
76
- return;
77
- const { parentId: sourceParentId, node: sourceNode } = JSON.parse(nodeData);
78
- // Prevent dropping on itself or different parents
79
- if (node.id === sourceNode.id || sourceParentId !== parentId)
80
- return;
81
- const updatedTree = [...this.treeData];
82
- // Find the parent node
83
- const parent = parentId ? this.findNodeById(updatedTree, parentId) : null;
84
- // If no parent (root level), work with treeData directly
85
- const children = (parent === null || parent === void 0 ? void 0 : parent.child) ? [...parent.child] : [...updatedTree];
86
- if (!children || children.length === 0)
87
- return;
88
- // move the node to wherever the placeholder now is
89
- const movedElement = sourceNode;
90
- const newChildren = [];
91
- for (const child of children) {
92
- if (child.id == movedElement.id)
93
- continue; // will be inserted in placeholder position
94
- if (child.id == this.dragDropPlaceholderId) {
95
- // moved element added to new list in placeholder's place
96
- newChildren.push(movedElement);
97
- continue;
98
- }
99
- newChildren.push(child); // retain existing elements
100
- }
101
- // Update the tree
102
- if (parent) {
103
- parent.child = newChildren;
104
- }
105
- else {
106
- this.treeData = newChildren;
107
- }
108
- this.draggedNodeParentId = undefined;
109
- this.draggedNodeId = undefined;
110
- if (this.dragGhost.el) {
111
- this.dragGhost.el.remove();
112
- this.dragGhost.el = null;
113
- }
114
- this.handleDragDropSuccessBackground(movedElement.id);
115
- this.treeData = [...this.updateDragDropPlaceholder(this.treeData)];
116
- this.moveNode.emit(this.treeData);
117
- };
118
- this.handleDragOver = (event, draggedOverId, parentId, isDragDropPlaceholder) => {
119
- event.preventDefault();
120
- if (!event.dataTransfer)
121
- return;
122
- const validDrag = this.draggedNodeParentId === parentId || isDragDropPlaceholder;
123
- event.dataTransfer.dropEffect = validDrag ? 'move' : 'none';
124
- if (validDrag && !isDragDropPlaceholder) {
125
- this.treeData = [...this.updateDragDropPlaceholder(this.treeData, draggedOverId)];
126
- }
127
- };
128
- this.updateDragDropPlaceholder = (treeData, createPlaceholderOnId) => {
129
- const newTreeData = [];
130
- for (const treeViewItem of treeData) {
131
- // delete existing placeholders & create a new one if this is where it should be dropped
132
- if (treeViewItem.isDragDropPlaceholder)
133
- continue;
134
- if (treeViewItem.id == createPlaceholderOnId) {
135
- newTreeData.push({
136
- id: this.dragDropPlaceholderId,
137
- title: 'Drop here',
138
- isDragDropPlaceholder: true
139
- });
140
- }
141
- if (treeViewItem.child) {
142
- const children = this.updateDragDropPlaceholder(treeViewItem.child, createPlaceholderOnId);
143
- treeViewItem.child = children;
144
- }
145
- newTreeData.push(treeViewItem);
146
- }
147
- return newTreeData;
148
- };
149
- this.data = undefined;
150
- this.treeData = undefined;
151
- this.nodesRecentlyMoved = [];
152
- }
153
- componentWillRender() {
154
- if (!this.data)
155
- return;
156
- this.treeData = typeof this.data === 'string' ? JSON.parse(this.data) : this.data;
157
- if (!this.dragIcon) {
158
- this.dragIcon = getAssetPath('assets/img/drag-icon.svg');
159
- }
160
- }
161
- onClickHandler(event, node) {
162
- event.stopPropagation();
163
- // Handle selection: if node is already selected, deselect it; otherwise select it and deselect all others
164
- if (node.selectable) {
165
- if (node.selected) {
166
- // Toggle off: deselect this node
167
- node.selected = false;
168
- }
169
- else {
170
- // Toggle on: deselect all others and select this one
171
- this.handleNodeSelection(node);
172
- // node.selected is already set to true in handleNodeSelection
173
- }
174
- this.treeData = [...this.treeData];
175
- }
176
- this.clickEvent.emit(node);
177
- }
178
- toggleNode(node, event) {
179
- event.stopPropagation();
180
- node.isOpen = !node.isOpen;
181
- this.treeData = [...this.treeData];
182
- this.expandNode.emit({ node: node, treeViewData: this.treeData });
183
- }
184
- handleCheckboxChange(node, event) {
185
- event.stopPropagation();
186
- node.checked = !node.checked;
187
- this.updateChildrenCheckStatus(node);
188
- this.updateParentCheckStatus();
189
- this.treeData = [...this.treeData];
190
- this.checkboxChange.emit(this.treeData);
191
- }
192
- updateChildrenCheckStatus(node) {
193
- if (node.child) {
194
- node.child.forEach(childNode => {
195
- if (childNode.hasCheckbox && childNode.checked !== undefined) {
196
- // don't set checked on a child that doesn't have a checkbox
197
- // makes it impossible to unselect a parent as child can never be unchecked in frontend
198
- childNode.checked = node.checked;
199
- }
200
- this.updateChildrenCheckStatus(childNode);
201
- });
202
- }
203
- }
204
- /**
205
- * Update the checkbox status of parent nodes when children have been updated.
206
- * Called recursively to traverse the tree for parents.
207
- * First call with no params to automatically start at the top of the tree.
208
- *
209
- * Any children checked -> parent is checked.
210
- *
211
- * All children unchecked -> parent is unchecked.
212
- */
213
- updateParentCheckStatus(parent = undefined, children = undefined) {
214
- if (parent === undefined) {
215
- this.treeData.forEach(node => this.updateParentCheckStatus(node, node.child));
216
- return;
217
- }
218
- let childrenCheckedStatuses = [];
219
- // set status relative to children if we have some
220
- if (children && children.length > 0) {
221
- childrenCheckedStatuses = children.map(node => this.updateParentCheckStatus(node, node.child)).flat(1);
222
- // parent checked if any children are checked
223
- if (childrenCheckedStatuses.some(checked => checked)) {
224
- parent.checked = true;
225
- }
226
- // parent unchecked if all children are unchecked
227
- if (childrenCheckedStatuses.every(checked => !checked)) {
228
- parent.checked = false;
229
- }
230
- }
231
- // return the gathered checked statuses so nodes above can make check choices
232
- return [...childrenCheckedStatuses, parent.checked];
233
- }
234
- treeConfigs(node) {
235
- let checkboxIcon, checkboxColor;
236
- if (node.checked) {
237
- checkboxIcon = 'check_box';
238
- checkboxColor = 'blue';
239
- }
240
- else {
241
- checkboxIcon = 'check_box_outline_blank';
242
- checkboxColor = 'grey';
243
- }
244
- const rowHoverActive = node.hasHover ? 'rowHover' : '';
245
- const expanderIcon = node.isOpen ? 'arrow_drop_down' : 'arrow_right';
246
- const selectedActive = node.selectable && node.selected ? 'rowSelected' : '';
247
- const dragDropPlaceholder = node.isDragDropPlaceholder ? 'drag_drop_placeholder' : '';
248
- return { checkboxColor, checkboxIcon, rowHoverActive, expanderIcon, selectedActive, dragDropPlaceholder };
249
- }
250
- findNodeById(nodes, id) {
251
- for (const node of nodes) {
252
- if (node.id === id)
253
- return node;
254
- if (node.child) {
255
- const found = this.findNodeById(node.child, id);
256
- if (found)
257
- return found;
258
- }
259
- }
260
- return undefined;
261
- }
262
- deselectAllNodes(nodes) {
263
- for (const node of nodes) {
264
- if (node.selectable) {
265
- node.selected = false;
266
- }
267
- if (node.child) {
268
- this.deselectAllNodes(node.child);
269
- }
270
- }
271
- }
272
- handleNodeSelection(node) {
273
- // Deselect all nodes first
274
- this.deselectAllNodes(this.treeData);
275
- // Select only the clicked node if it's selectable
276
- if (node.selectable) {
277
- node.selected = true;
278
- }
279
- // Update the tree to trigger re-render
280
- this.treeData = [...this.treeData];
281
- }
282
- handleDragDropSuccessBackground(nodeId) {
283
- this.nodesRecentlyMoved.push(nodeId);
284
- setTimeout((nodeId) => {
285
- this.nodesRecentlyMoved = [...this.nodesRecentlyMoved.filter((id) => id !== nodeId)];
286
- }, 300, nodeId);
287
- }
288
- doesNodePrecedeDragDropPlaceholder(node, index, parentId = undefined) {
289
- var _a;
290
- if (node.child) {
291
- // is parent, so first child would have to be placeholder
292
- return node.child.length > 0 && node.child[0].isDragDropPlaceholder;
293
- }
294
- // child, so check if following element is placeholder
295
- const parentNode = parentId ? this.findNodeById(this.treeData, parentId) : undefined;
296
- if (parentNode) {
297
- return index !== parentNode.child.length && ((_a = parentNode.child[index + 1]) === null || _a === void 0 ? void 0 : _a.isDragDropPlaceholder);
298
- }
299
- return false;
300
- }
301
- renderNode(node, index, parentId = undefined, level = 0 // <-- depth
302
- ) {
303
- const options = this.treeConfigs(node);
304
- const precedesDragDropPlaceholderClass = this.doesNodePrecedeDragDropPlaceholder(node, index, parentId) ? 'precedes_drag_drop' : '';
305
- if (node.child) {
306
- // group node
307
- const isSelectedGroup = !!node.selected;
308
- 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 => {
309
- if (node.hasHover) {
310
- this.onClickHandler(event, node);
311
- }
312
- } }), 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) => {
313
- // next level = level + 1
314
- return this.renderNode(childNode, childIndex, node.id, level + 1);
315
- }))) : null));
316
- }
317
- // leaf (activity)
318
- const leafStyle = { '--level': String(level) };
319
- if (this.nodesRecentlyMoved.find((x) => x == node.id)) {
320
- leafStyle['background-color'] = '#D1F7F0'; //'rgba(51, 170, 51, .1)';
321
- }
8
+ const TttxTreeView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.__attachShadow();
13
+ this.clickEvent = createEvent(this, "clickEvent", 7);
14
+ this.expandNode = createEvent(this, "expandNode", 7);
15
+ this.checkboxChange = createEvent(this, "checkboxChange", 7);
16
+ this.moveNode = createEvent(this, "moveNode", 7);
17
+ this.dragGhost = {
18
+ el: null,
19
+ };
20
+ this.dragDropPlaceholderId = 'drag-drop-placeholder';
21
+ this.createGhostImage = (label) => {
22
+ if (label.length > 30)
23
+ label = `${label.slice(0, 30)}...`;
24
+ const ghost = document.createElement('div');
25
+ Object.assign(ghost.style, {
26
+ position: 'absolute',
27
+ top: '-9999px',
28
+ left: '-9999px',
29
+ padding: '8px 12px',
30
+ background: 'white',
31
+ pointerEvents: 'none',
32
+ boxShadow: '0px 0px 12px #F9F9F9',
33
+ display: 'flex',
34
+ flexDirection: 'row',
35
+ gap: '10px',
36
+ borderRadius: '4px'
37
+ });
38
+ const dragHandle = document.createElement('img');
39
+ dragHandle.src = this.dragIcon;
40
+ dragHandle.alt = 'drag';
41
+ ghost.appendChild(dragHandle);
42
+ const ghostText = document.createElement('span');
43
+ Object.assign(ghostText.style, { fontSize: '14px' });
44
+ ghostText.textContent = label;
45
+ ghost.appendChild(ghostText);
46
+ document.body.appendChild(ghost);
47
+ return ghost;
48
+ };
49
+ this.handleDragStart = (event, node, index, parentId) => {
50
+ if (!event.dataTransfer)
51
+ return;
52
+ this.draggedNodeParentId = parentId;
53
+ this.draggedNodeId = node.id;
54
+ const payload = JSON.stringify({ parentId, index, node });
55
+ event.dataTransfer.setData('text/plain', payload);
56
+ const ghostImg = this.createGhostImage(node.title);
57
+ this.dragGhost.el = ghostImg;
58
+ event.dataTransfer.setDragImage(ghostImg, 32, 30);
59
+ };
60
+ this.handleDragEnd = () => {
61
+ // if drag ends on a valid target, handleDragDrop should handle everything
62
+ // if not dropped on a valid target, use this trigger to remove the placeholder
63
+ setTimeout(() => {
64
+ const placeHolderExists = this.findNodeById(this.treeData, this.dragDropPlaceholderId);
65
+ if (placeHolderExists) {
66
+ const placeHolderRemovedList = this.updateDragDropPlaceholder(this.treeData);
67
+ this.treeData = [...placeHolderRemovedList];
68
+ }
69
+ }, 300);
70
+ };
71
+ this.handleDragDrop = (event, node, parentId) => {
72
+ var _a;
73
+ event.preventDefault();
74
+ const nodeData = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain');
75
+ if (!nodeData)
76
+ return;
77
+ const { parentId: sourceParentId, node: sourceNode } = JSON.parse(nodeData);
78
+ // Prevent dropping on itself or different parents
79
+ if (node.id === sourceNode.id || sourceParentId !== parentId)
80
+ return;
81
+ const updatedTree = [...this.treeData];
82
+ // Find the parent node
83
+ const parent = parentId ? this.findNodeById(updatedTree, parentId) : null;
84
+ // If no parent (root level), work with treeData directly
85
+ const children = (parent === null || parent === void 0 ? void 0 : parent.child) ? [...parent.child] : [...updatedTree];
86
+ if (!children || children.length === 0)
87
+ return;
88
+ // move the node to wherever the placeholder now is
89
+ const movedElement = sourceNode;
90
+ const newChildren = [];
91
+ for (const child of children) {
92
+ if (child.id == movedElement.id)
93
+ continue; // will be inserted in placeholder position
94
+ if (child.id == this.dragDropPlaceholderId) {
95
+ // moved element added to new list in placeholder's place
96
+ newChildren.push(movedElement);
97
+ continue;
98
+ }
99
+ newChildren.push(child); // retain existing elements
100
+ }
101
+ // Update the tree
102
+ if (parent) {
103
+ parent.child = newChildren;
104
+ }
105
+ else {
106
+ this.treeData = newChildren;
107
+ }
108
+ this.draggedNodeParentId = undefined;
109
+ this.draggedNodeId = undefined;
110
+ if (this.dragGhost.el) {
111
+ this.dragGhost.el.remove();
112
+ this.dragGhost.el = null;
113
+ }
114
+ this.handleDragDropSuccessBackground(movedElement.id);
115
+ this.treeData = [...this.updateDragDropPlaceholder(this.treeData)];
116
+ this.moveNode.emit(this.treeData);
117
+ };
118
+ this.handleDragOver = (event, draggedOverId, parentId, isDragDropPlaceholder) => {
119
+ event.preventDefault();
120
+ if (!event.dataTransfer)
121
+ return;
122
+ const validDrag = this.draggedNodeParentId === parentId || isDragDropPlaceholder;
123
+ event.dataTransfer.dropEffect = validDrag ? 'move' : 'none';
124
+ if (validDrag && !isDragDropPlaceholder) {
125
+ this.treeData = [...this.updateDragDropPlaceholder(this.treeData, draggedOverId)];
126
+ }
127
+ };
128
+ this.updateDragDropPlaceholder = (treeData, createPlaceholderOnId) => {
129
+ const newTreeData = [];
130
+ for (const treeViewItem of treeData) {
131
+ // delete existing placeholders & create a new one if this is where it should be dropped
132
+ if (treeViewItem.isDragDropPlaceholder)
133
+ continue;
134
+ if (treeViewItem.id == createPlaceholderOnId) {
135
+ newTreeData.push({
136
+ id: this.dragDropPlaceholderId,
137
+ title: 'Drop here',
138
+ isDragDropPlaceholder: true
139
+ });
140
+ }
141
+ if (treeViewItem.child) {
142
+ const children = this.updateDragDropPlaceholder(treeViewItem.child, createPlaceholderOnId);
143
+ treeViewItem.child = children;
144
+ }
145
+ newTreeData.push(treeViewItem);
146
+ }
147
+ return newTreeData;
148
+ };
149
+ this.data = undefined;
150
+ this.treeData = undefined;
151
+ this.nodesRecentlyMoved = [];
152
+ }
153
+ componentWillRender() {
154
+ if (!this.data)
155
+ return;
156
+ this.treeData = typeof this.data === 'string' ? JSON.parse(this.data) : this.data;
157
+ if (!this.dragIcon) {
158
+ this.dragIcon = getAssetPath('assets/img/drag-icon.svg');
159
+ }
160
+ }
161
+ onClickHandler(event, node) {
162
+ event.stopPropagation();
163
+ // Handle selection: if node is already selected, deselect it; otherwise select it and deselect all others
164
+ if (node.selectable) {
165
+ if (node.selected) {
166
+ // Toggle off: deselect this node
167
+ node.selected = false;
168
+ }
169
+ else {
170
+ // Toggle on: deselect all others and select this one
171
+ this.handleNodeSelection(node);
172
+ // node.selected is already set to true in handleNodeSelection
173
+ }
174
+ this.treeData = [...this.treeData];
175
+ }
176
+ this.clickEvent.emit(node);
177
+ }
178
+ toggleNode(node, event) {
179
+ event.stopPropagation();
180
+ node.isOpen = !node.isOpen;
181
+ this.treeData = [...this.treeData];
182
+ this.expandNode.emit({ node: node, treeViewData: this.treeData });
183
+ }
184
+ handleCheckboxChange(node, event) {
185
+ event.stopPropagation();
186
+ node.checked = !node.checked;
187
+ this.updateChildrenCheckStatus(node);
188
+ this.updateParentCheckStatus();
189
+ this.treeData = [...this.treeData];
190
+ this.checkboxChange.emit(this.treeData);
191
+ }
192
+ updateChildrenCheckStatus(node) {
193
+ if (node.child) {
194
+ node.child.forEach(childNode => {
195
+ if (childNode.hasCheckbox && childNode.checked !== undefined) {
196
+ // don't set checked on a child that doesn't have a checkbox
197
+ // makes it impossible to unselect a parent as child can never be unchecked in frontend
198
+ childNode.checked = node.checked;
199
+ }
200
+ this.updateChildrenCheckStatus(childNode);
201
+ });
202
+ }
203
+ }
204
+ /**
205
+ * Update the checkbox status of parent nodes when children have been updated.
206
+ * Called recursively to traverse the tree for parents.
207
+ * First call with no params to automatically start at the top of the tree.
208
+ *
209
+ * Any children checked -> parent is checked.
210
+ *
211
+ * All children unchecked -> parent is unchecked.
212
+ */
213
+ updateParentCheckStatus(parent = undefined, children = undefined) {
214
+ if (parent === undefined) {
215
+ this.treeData.forEach(node => this.updateParentCheckStatus(node, node.child));
216
+ return;
217
+ }
218
+ let childrenCheckedStatuses = [];
219
+ // set status relative to children if we have some
220
+ if (children && children.length > 0) {
221
+ childrenCheckedStatuses = children.map(node => this.updateParentCheckStatus(node, node.child)).flat(1);
222
+ // parent checked if any children are checked
223
+ if (childrenCheckedStatuses.some(checked => checked)) {
224
+ parent.checked = true;
225
+ }
226
+ // parent unchecked if all children are unchecked
227
+ if (childrenCheckedStatuses.every(checked => !checked)) {
228
+ parent.checked = false;
229
+ }
230
+ }
231
+ // return the gathered checked statuses so nodes above can make check choices
232
+ return [...childrenCheckedStatuses, parent.checked];
233
+ }
234
+ treeConfigs(node) {
235
+ let checkboxIcon, checkboxColor;
236
+ if (node.checked) {
237
+ checkboxIcon = 'check_box';
238
+ checkboxColor = 'blue';
239
+ }
240
+ else {
241
+ checkboxIcon = 'check_box_outline_blank';
242
+ checkboxColor = 'grey';
243
+ }
244
+ const rowHoverActive = node.hasHover ? 'rowHover' : '';
245
+ const expanderIcon = node.isOpen ? 'arrow_drop_down' : 'arrow_right';
246
+ const selectedActive = node.selectable && node.selected ? 'rowSelected' : '';
247
+ const dragDropPlaceholder = node.isDragDropPlaceholder ? 'drag_drop_placeholder' : '';
248
+ return { checkboxColor, checkboxIcon, rowHoverActive, expanderIcon, selectedActive, dragDropPlaceholder };
249
+ }
250
+ findNodeById(nodes, id) {
251
+ for (const node of nodes) {
252
+ if (node.id === id)
253
+ return node;
254
+ if (node.child) {
255
+ const found = this.findNodeById(node.child, id);
256
+ if (found)
257
+ return found;
258
+ }
259
+ }
260
+ return undefined;
261
+ }
262
+ deselectAllNodes(nodes) {
263
+ for (const node of nodes) {
264
+ if (node.selectable) {
265
+ node.selected = false;
266
+ }
267
+ if (node.child) {
268
+ this.deselectAllNodes(node.child);
269
+ }
270
+ }
271
+ }
272
+ handleNodeSelection(node) {
273
+ // Deselect all nodes first
274
+ this.deselectAllNodes(this.treeData);
275
+ // Select only the clicked node if it's selectable
276
+ if (node.selectable) {
277
+ node.selected = true;
278
+ }
279
+ // Update the tree to trigger re-render
280
+ this.treeData = [...this.treeData];
281
+ }
282
+ handleDragDropSuccessBackground(nodeId) {
283
+ this.nodesRecentlyMoved.push(nodeId);
284
+ setTimeout((nodeId) => {
285
+ this.nodesRecentlyMoved = [...this.nodesRecentlyMoved.filter((id) => id !== nodeId)];
286
+ }, 300, nodeId);
287
+ }
288
+ doesNodePrecedeDragDropPlaceholder(node, index, parentId = undefined) {
289
+ var _a;
290
+ if (node.child) {
291
+ // is parent, so first child would have to be placeholder
292
+ return node.child.length > 0 && node.child[0].isDragDropPlaceholder;
293
+ }
294
+ // child, so check if following element is placeholder
295
+ const parentNode = parentId ? this.findNodeById(this.treeData, parentId) : undefined;
296
+ if (parentNode) {
297
+ return index !== parentNode.child.length && ((_a = parentNode.child[index + 1]) === null || _a === void 0 ? void 0 : _a.isDragDropPlaceholder);
298
+ }
299
+ return false;
300
+ }
301
+ renderNode(node, index, parentId = undefined, level = 0 // <-- depth
302
+ ) {
303
+ const options = this.treeConfigs(node);
304
+ const precedesDragDropPlaceholderClass = this.doesNodePrecedeDragDropPlaceholder(node, index, parentId) ? 'precedes_drag_drop' : '';
305
+ if (node.child) {
306
+ // group node
307
+ const isSelectedGroup = !!node.selected;
308
+ 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 => {
309
+ if (node.hasHover) {
310
+ this.onClickHandler(event, node);
311
+ }
312
+ } }), 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) => {
313
+ // next level = level + 1
314
+ return this.renderNode(childNode, childIndex, node.id, level + 1);
315
+ }))) : null));
316
+ }
317
+ // leaf (activity)
318
+ const leafStyle = { '--level': String(level) };
319
+ if (this.nodesRecentlyMoved.find((x) => x == node.id)) {
320
+ leafStyle['background-color'] = '#D1F7F0'; //'rgba(51, 170, 51, .1)';
321
+ }
322
322
  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: `
323
323
  inline-tree-item element-row
324
324
  ${options.rowHoverActive}
@@ -327,63 +327,63 @@ const TttxTreeView = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
327
327
  ${precedesDragDropPlaceholderClass}
328
328
  drag_drop_success_fade
329
329
  ${this.draggedNodeId == node.id ? ' is-being-dragged' : ''}
330
- `, style: leafStyle, onClick: event => {
331
- if (node.hasHover) {
332
- this.onClickHandler(event, node);
333
- }
334
- } }), this.htmlcode('treeLeaf', node, options.checkboxIcon, options.checkboxColor, index, parentId)));
335
- }
336
- htmlcode(type, node, check_box, check_boxColor, index, parentId = undefined) {
337
- if (node.isDragDropPlaceholder) {
338
- return (h("div", { class: "inline-tree-item element" }, h("div", { class: 'drag-drop-placeholder-row' }, h("div", { class: 'placeholder-text' }, node.title))));
339
- }
340
- 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 => {
341
- if (node.draggable) {
342
- this.handleDragStart(event, node, index, parentId);
343
- }
344
- }, onDragEnd: () => {
345
- if (node.draggable) {
346
- this.handleDragEnd();
347
- }
348
- } }))), 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) })));
349
- }
350
- render() {
351
- if (!this.data)
352
- return;
353
- return (h("div", { ref: (element) => this.rootElement = element, class: "tree-view-element" }, h("ul", null, this.treeData.map((node, index) => this.renderNode(node, index)))));
354
- }
355
- get el() { return this; }
356
- static get style() { return tttxTreeViewCss; }
357
- }, [1, "tttx-tree-view_1_9_101", {
358
- "data": [1040],
359
- "treeData": [32],
360
- "nodesRecentlyMoved": [32]
361
- }]);
362
- function defineCustomElement$1() {
363
- if (typeof customElements === "undefined") {
364
- return;
365
- }
366
- const components = ["tttx-tree-view_1_9_101", "tttx-button_1_9_101", "tttx-icon_1_9_101"];
367
- components.forEach(tagName => { switch (tagName) {
368
- case "tttx-tree-view_1_9_101":
369
- if (!customElements.get(tagName)) {
370
- customElements.define(tagName, TttxTreeView);
371
- }
372
- break;
373
- case "tttx-button_1_9_101":
374
- if (!customElements.get(tagName)) {
375
- defineCustomElement$3();
376
- }
377
- break;
378
- case "tttx-icon_1_9_101":
379
- if (!customElements.get(tagName)) {
380
- defineCustomElement$2();
381
- }
382
- break;
383
- } });
330
+ `, style: leafStyle, onClick: event => {
331
+ if (node.hasHover) {
332
+ this.onClickHandler(event, node);
333
+ }
334
+ } }), this.htmlcode('treeLeaf', node, options.checkboxIcon, options.checkboxColor, index, parentId)));
335
+ }
336
+ htmlcode(type, node, check_box, check_boxColor, index, parentId = undefined) {
337
+ if (node.isDragDropPlaceholder) {
338
+ return (h("div", { class: "inline-tree-item element" }, h("div", { class: 'drag-drop-placeholder-row' }, h("div", { class: 'placeholder-text' }, node.title))));
339
+ }
340
+ 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 => {
341
+ if (node.draggable) {
342
+ this.handleDragStart(event, node, index, parentId);
343
+ }
344
+ }, onDragEnd: () => {
345
+ if (node.draggable) {
346
+ this.handleDragEnd();
347
+ }
348
+ } }))), 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) })));
349
+ }
350
+ render() {
351
+ if (!this.data)
352
+ return;
353
+ return (h("div", { ref: (element) => this.rootElement = element, class: "tree-view-element" }, h("ul", null, this.treeData.map((node, index) => this.renderNode(node, index)))));
354
+ }
355
+ get el() { return this; }
356
+ static get style() { return tttxTreeViewCss; }
357
+ }, [1, "tttx-tree-view_1_9_103", {
358
+ "data": [1040],
359
+ "treeData": [32],
360
+ "nodesRecentlyMoved": [32]
361
+ }]);
362
+ function defineCustomElement$1() {
363
+ if (typeof customElements === "undefined") {
364
+ return;
365
+ }
366
+ const components = ["tttx-tree-view_1_9_103", "tttx-button_1_9_103", "tttx-icon_1_9_103"];
367
+ components.forEach(tagName => { switch (tagName) {
368
+ case "tttx-tree-view_1_9_103":
369
+ if (!customElements.get(tagName)) {
370
+ customElements.define(tagName, TttxTreeView);
371
+ }
372
+ break;
373
+ case "tttx-button_1_9_103":
374
+ if (!customElements.get(tagName)) {
375
+ defineCustomElement$3();
376
+ }
377
+ break;
378
+ case "tttx-icon_1_9_103":
379
+ if (!customElements.get(tagName)) {
380
+ defineCustomElement$2();
381
+ }
382
+ break;
383
+ } });
384
384
  }
385
385
 
386
- const TttxTreeView_1_9_101 = TttxTreeView;
386
+ const TttxTreeView_1_9_103 = TttxTreeView;
387
387
  const defineCustomElement = defineCustomElement$1;
388
388
 
389
- export { TttxTreeView_1_9_101, defineCustomElement };
389
+ export { TttxTreeView_1_9_103, defineCustomElement };