@3t-transform/threeteeui 1.9.100 → 1.9.101

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 (312) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{tttx-action-dropdown_1_9_100.cjs.entry.js → tttx-action-dropdown_1_9_101.cjs.entry.js} +2 -2
  3. package/dist/cjs/{tttx-button-v2_1_9_100.cjs.entry.js → tttx-button-v2_1_9_101.cjs.entry.js} +4 -4
  4. package/dist/cjs/{tttx-button_1_9_100.cjs.entry.js → tttx-button_1_9_101.cjs.entry.js} +2 -2
  5. package/dist/cjs/{tttx-chart_1_9_100.cjs.entry.js → tttx-chart_1_9_101.cjs.entry.js} +4 -4
  6. package/dist/cjs/{tttx-checkbox-group-caption_1_9_100.cjs.entry.js → tttx-checkbox-group-caption_1_9_101.cjs.entry.js} +1 -1
  7. package/dist/cjs/{tttx-checkbox-group-heading_1_9_100.cjs.entry.js → tttx-checkbox-group-heading_1_9_101.cjs.entry.js} +1 -1
  8. package/dist/cjs/{tttx-checkbox-group_1_9_100.cjs.entry.js → tttx-checkbox-group_1_9_101.cjs.entry.js} +1 -1
  9. package/dist/cjs/{tttx-checkbox_1_9_100.cjs.entry.js → tttx-checkbox_1_9_101.cjs.entry.js} +2 -2
  10. package/dist/cjs/{tttx-comments_1_9_100.cjs.entry.js → tttx-comments_1_9_101.cjs.entry.js} +4 -4
  11. package/dist/cjs/{tttx-data-pattern_1_9_100.cjs.entry.js → tttx-data-pattern_1_9_101.cjs.entry.js} +5 -5
  12. package/dist/cjs/{tttx-datacard_1_9_100.cjs.entry.js → tttx-datacard_1_9_101.cjs.entry.js} +4 -4
  13. package/dist/cjs/tttx-date-range-picker.cjs.entry.js +1 -1
  14. package/dist/cjs/{tttx-dialog-box_1_9_100.cjs.entry.js → tttx-dialog-box_1_9_101.cjs.entry.js} +3 -3
  15. package/dist/cjs/{tttx-dialog_1_9_100.cjs.entry.js → tttx-dialog_1_9_101.cjs.entry.js} +2 -2
  16. package/dist/cjs/{tttx-expander_1_9_100.cjs.entry.js → tttx-expander_1_9_101.cjs.entry.js} +2 -2
  17. package/dist/cjs/{tttx-filter_1_9_100_4.cjs.entry.js → tttx-filter_1_9_101_4.cjs.entry.js} +9 -9
  18. package/dist/cjs/{tttx-form_1_9_100.cjs.entry.js → tttx-form_1_9_101.cjs.entry.js} +2 -2
  19. package/dist/cjs/{tttx-graph_1_9_100.cjs.entry.js → tttx-graph_1_9_101.cjs.entry.js} +1 -1
  20. package/dist/cjs/{tttx-icon_1_9_100.cjs.entry.js → tttx-icon_1_9_101.cjs.entry.js} +1 -1
  21. package/dist/cjs/{tttx-keyvalue-block_1_9_100.cjs.entry.js → tttx-keyvalue-block_1_9_101.cjs.entry.js} +1 -1
  22. package/dist/cjs/{tttx-loading-spinner_1_9_100_3.cjs.entry.js → tttx-loading-spinner_1_9_101_3.cjs.entry.js} +6 -6
  23. package/dist/cjs/{tttx-multiselect-box_1_9_100.cjs.entry.js → tttx-multiselect-box_1_9_101.cjs.entry.js} +7 -7
  24. package/dist/cjs/{tttx-percentage-bar_1_9_100.cjs.entry.js → tttx-percentage-bar_1_9_101.cjs.entry.js} +2 -2
  25. package/dist/cjs/{tttx-qrcode_1_9_100.cjs.entry.js → tttx-qrcode_1_9_101.cjs.entry.js} +1 -1
  26. package/dist/cjs/{tttx-range-slider_1_9_100.cjs.entry.js → tttx-range-slider_1_9_101.cjs.entry.js} +1 -1
  27. package/dist/cjs/{tttx-select-box_1_9_100.cjs.entry.js → tttx-select-box_1_9_101.cjs.entry.js} +6 -6
  28. package/dist/cjs/{tttx-skeleton_loader_1_9_100.cjs.entry.js → tttx-skeleton_loader_1_9_101.cjs.entry.js} +1 -1
  29. package/dist/cjs/{tttx-table_1_9_100.cjs.entry.js → tttx-table_1_9_101.cjs.entry.js} +3 -3
  30. package/dist/cjs/{tttx-tabs_1_9_100.cjs.entry.js → tttx-tabs_1_9_101.cjs.entry.js} +4 -4
  31. package/dist/cjs/{tttx-tag-v2_1_9_100.cjs.entry.js → tttx-tag-v2_1_9_101.cjs.entry.js} +2 -2
  32. package/dist/cjs/{tttx-textarea_1_9_100.cjs.entry.js → tttx-textarea_1_9_101.cjs.entry.js} +2 -2
  33. package/dist/cjs/{tttx-toggle_1_9_100.cjs.entry.js → tttx-toggle_1_9_101.cjs.entry.js} +1 -1
  34. package/dist/cjs/{tttx-tooltip_1_9_100.cjs.entry.js → tttx-tooltip_1_9_101.cjs.entry.js} +1 -1
  35. package/dist/cjs/tttx-tree-view_1_9_101.cjs.entry.js +360 -0
  36. package/dist/cjs/tttx.cjs.js +1 -1
  37. package/dist/collection/components/atoms/tttx-button/tttx-button.js +2 -2
  38. package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +24 -24
  39. package/dist/collection/components/atoms/tttx-button-v2/tttx-button-v2.css +1 -1
  40. package/dist/collection/components/atoms/tttx-button-v2/tttx-button-v2.js +3 -3
  41. package/dist/collection/components/atoms/tttx-button-v2/tttx-button-v2.stories.js +15 -15
  42. package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.js +2 -2
  43. package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.stories.js +1 -1
  44. package/dist/collection/components/atoms/tttx-datacard/tttx-datacard.js +4 -4
  45. package/dist/collection/components/atoms/tttx-datacard/tttx-datacard.stories.js +10 -10
  46. package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +1 -1
  47. package/dist/collection/components/atoms/tttx-icon/tttx-icon.stories.js +1 -1
  48. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.js +1 -1
  49. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.js +6 -6
  50. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.js +1 -1
  51. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.js +2 -2
  52. package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.js +1 -1
  53. package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.stories.js +5 -5
  54. package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.js +1 -1
  55. package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.stories.js +1 -1
  56. package/dist/collection/components/atoms/tttx-skeleton-loader/tttx-skeleton-loader.js +1 -1
  57. package/dist/collection/components/atoms/tttx-tag/tttx-tag.js +2 -2
  58. package/dist/collection/components/atoms/tttx-tag/tttx-tag.stories.js +6 -6
  59. package/dist/collection/components/atoms/tttx-tag-v2/tttx-tag-v2.js +2 -2
  60. package/dist/collection/components/atoms/tttx-tag-v2/tttx-tag-v2.stories.js +2 -2
  61. package/dist/collection/components/atoms/tttx-toggle/tttx-toggle.js +1 -1
  62. package/dist/collection/components/atoms/tttx-toggle/tttx-toggle.stories.js +2 -2
  63. package/dist/collection/components/molecules/tttx-action-dropdown/tttx-action-dropdown.js +2 -2
  64. package/dist/collection/components/molecules/tttx-action-dropdown/tttx-action-dropdown.stories.js +1 -1
  65. package/dist/collection/components/molecules/tttx-chart/tttx-chart.js +4 -4
  66. package/dist/collection/components/molecules/tttx-chart/tttx-chart.stories.js +5 -5
  67. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-caption.js +1 -1
  68. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-heading.js +1 -1
  69. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.js +1 -1
  70. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.stories.js +10 -10
  71. package/dist/collection/components/molecules/tttx-comments/tttx-comments.js +4 -4
  72. package/dist/collection/components/molecules/tttx-comments/tttx-comments.stories.js +4 -4
  73. package/dist/collection/components/molecules/tttx-date-range-picker/tttx-date-range-picker.js +1 -1
  74. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.js +2 -2
  75. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.stories.js +6 -6
  76. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.js +3 -3
  77. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.stories.js +24 -24
  78. package/dist/collection/components/molecules/tttx-expander/tttx-expander.js +2 -2
  79. package/dist/collection/components/molecules/tttx-expander/tttx-expander.stories.js +9 -9
  80. package/dist/collection/components/molecules/tttx-filter/tttx-filter.js +3 -3
  81. package/dist/collection/components/molecules/tttx-filter/tttx-filter.stories.js +2 -2
  82. package/dist/collection/components/molecules/tttx-form/tttx-form.js +2 -2
  83. package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +8 -8
  84. package/dist/collection/components/molecules/tttx-graph/tttx-graph.js +1 -1
  85. package/dist/collection/components/molecules/tttx-graph/tttx-graph.stories.js +1 -1
  86. package/dist/collection/components/molecules/tttx-list/tttx-list.js +3 -3
  87. package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +47 -47
  88. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.js +7 -7
  89. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.js +37 -37
  90. package/dist/collection/components/molecules/tttx-range-slider/tttx-range-slider.js +1 -1
  91. package/dist/collection/components/molecules/tttx-range-slider/tttx-range-slider.stories.js +3 -3
  92. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.js +6 -6
  93. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.stories.js +22 -22
  94. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.js +2 -2
  95. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.stories.js +1 -1
  96. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +4 -4
  97. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +1 -1
  98. package/dist/collection/components/molecules/tttx-table/tttx-table.css +1 -1
  99. package/dist/collection/components/molecules/tttx-table/tttx-table.js +2 -2
  100. package/dist/collection/components/molecules/tttx-table/tttx-table.stories.js +25 -25
  101. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.js +3 -3
  102. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.stories.js +4 -4
  103. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.js +3 -3
  104. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.stories.js +1 -1
  105. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.js +1 -1
  106. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.stories.js +37 -37
  107. package/dist/collection/components/molecules/tttx-tooltip/tttx-tooltip.js +1 -1
  108. package/dist/collection/components/molecules/tttx-tooltip/tttx-tootip.stories.js +3 -3
  109. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.css +49 -6
  110. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.js +130 -24
  111. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.stories.js +28 -16
  112. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.js +5 -5
  113. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.stories.js +5 -5
  114. package/dist/components/index.d.ts +38 -38
  115. package/dist/components/index.js +38 -38
  116. package/dist/components/tttx-action-dropdown_1_9_101.d.ts +11 -0
  117. package/dist/components/{tttx-action-dropdown_1_9_100.js → tttx-action-dropdown_1_9_101.js} +7 -7
  118. package/dist/components/tttx-button-v2.js +7 -7
  119. package/dist/components/tttx-button-v2_1_9_101.d.ts +11 -0
  120. package/dist/components/{tttx-button-v2_1_9_100.js → tttx-button-v2_1_9_101.js} +2 -2
  121. package/dist/components/tttx-button.js +5 -5
  122. package/dist/components/{tttx-dialog_1_9_100.d.ts → tttx-button_1_9_101.d.ts} +4 -4
  123. package/dist/components/{tttx-button_1_9_100.js → tttx-button_1_9_101.js} +2 -2
  124. package/dist/components/{tttx-table_1_9_100.d.ts → tttx-chart_1_9_101.d.ts} +4 -4
  125. package/dist/components/{tttx-chart_1_9_100.js → tttx-chart_1_9_101.js} +11 -11
  126. package/dist/components/tttx-checkbox-group-caption_1_9_101.d.ts +11 -0
  127. package/dist/components/{tttx-checkbox-group-caption_1_9_100.js → tttx-checkbox-group-caption_1_9_101.js} +5 -5
  128. package/dist/components/tttx-checkbox-group-heading_1_9_101.d.ts +11 -0
  129. package/dist/components/{tttx-checkbox-group-heading_1_9_100.js → tttx-checkbox-group-heading_1_9_101.js} +5 -5
  130. package/dist/components/tttx-checkbox-group_1_9_101.d.ts +11 -0
  131. package/dist/components/{tttx-checkbox-group_1_9_100.js → tttx-checkbox-group_1_9_101.js} +5 -5
  132. package/dist/components/tttx-checkbox_1_9_101.d.ts +11 -0
  133. package/dist/components/{tttx-checkbox_1_9_100.js → tttx-checkbox_1_9_101.js} +7 -7
  134. package/dist/components/tttx-comments_1_9_101.d.ts +11 -0
  135. package/dist/components/{tttx-comments_1_9_100.js → tttx-comments_1_9_101.js} +9 -9
  136. package/dist/components/tttx-data-pattern_1_9_101.d.ts +11 -0
  137. package/dist/components/{tttx-data-pattern_1_9_100.js → tttx-data-pattern_1_9_101.js} +16 -16
  138. package/dist/components/tttx-datacard_1_9_101.d.ts +11 -0
  139. package/dist/components/{tttx-datacard_1_9_100.js → tttx-datacard_1_9_101.js} +10 -10
  140. package/dist/components/tttx-date-range-picker.js +3 -3
  141. package/dist/components/tttx-dialog-box_1_9_101.d.ts +11 -0
  142. package/dist/components/{tttx-dialog-box_1_9_100.js → tttx-dialog-box_1_9_101.js} +9 -9
  143. package/dist/components/{tttx-filter_1_9_100.d.ts → tttx-dialog_1_9_101.d.ts} +4 -4
  144. package/dist/components/{tttx-dialog_1_9_100.js → tttx-dialog_1_9_101.js} +8 -8
  145. package/dist/components/tttx-expander_1_9_101.d.ts +11 -0
  146. package/dist/components/{tttx-expander_1_9_100.js → tttx-expander_1_9_101.js} +7 -7
  147. package/dist/components/tttx-filter.js +6 -6
  148. package/dist/components/{tttx-button_1_9_100.d.ts → tttx-filter_1_9_101.d.ts} +4 -4
  149. package/dist/components/{tttx-filter_1_9_100.js → tttx-filter_1_9_101.js} +2 -2
  150. package/dist/components/{tttx-form_1_9_100.d.ts → tttx-form_1_9_101.d.ts} +4 -4
  151. package/dist/components/{tttx-form_1_9_100.js → tttx-form_1_9_101.js} +11 -11
  152. package/dist/components/tttx-graph.js +3 -3
  153. package/dist/components/{tttx-graph_1_9_100.d.ts → tttx-graph_1_9_101.d.ts} +4 -4
  154. package/dist/components/{tttx-graph_1_9_100.js → tttx-graph_1_9_101.js} +2 -2
  155. package/dist/components/tttx-icon.js +3 -3
  156. package/dist/components/{tttx-list_1_9_100.d.ts → tttx-icon_1_9_101.d.ts} +4 -4
  157. package/dist/components/{tttx-icon_1_9_100.js → tttx-icon_1_9_101.js} +2 -2
  158. package/dist/components/tttx-keyvalue-block_1_9_101.d.ts +11 -0
  159. package/dist/components/{tttx-keyvalue-block_1_9_100.js → tttx-keyvalue-block_1_9_101.js} +5 -5
  160. package/dist/components/tttx-list.js +6 -6
  161. package/dist/components/{tttx-tabs_1_9_100.d.ts → tttx-list_1_9_101.d.ts} +4 -4
  162. package/dist/components/{tttx-list_1_9_100.js → tttx-list_1_9_101.js} +2 -2
  163. package/dist/components/tttx-loading-spinner.js +3 -3
  164. package/dist/components/tttx-loading-spinner_1_9_101.d.ts +11 -0
  165. package/dist/components/{tttx-loading-spinner_1_9_100.js → tttx-loading-spinner_1_9_101.js} +2 -2
  166. package/dist/components/tttx-multiselect-box_1_9_101.d.ts +11 -0
  167. package/dist/components/{tttx-multiselect-box_1_9_100.js → tttx-multiselect-box_1_9_101.js} +16 -16
  168. package/dist/components/tttx-percentage-bar_1_9_101.d.ts +11 -0
  169. package/dist/components/{tttx-percentage-bar_1_9_100.js → tttx-percentage-bar_1_9_101.js} +6 -6
  170. package/dist/components/tttx-qrcode_1_9_101.d.ts +11 -0
  171. package/dist/components/{tttx-qrcode_1_9_100.js → tttx-qrcode_1_9_101.js} +5 -5
  172. package/dist/components/tttx-range-slider_1_9_101.d.ts +11 -0
  173. package/dist/components/{tttx-range-slider_1_9_100.js → tttx-range-slider_1_9_101.js} +5 -5
  174. package/dist/components/tttx-select-box.js +12 -12
  175. package/dist/components/tttx-select-box_1_9_101.d.ts +11 -0
  176. package/dist/components/{tttx-select-box_1_9_100.js → tttx-select-box_1_9_101.js} +2 -2
  177. package/dist/components/tttx-skeleton_loader_1_9_101.d.ts +11 -0
  178. package/dist/components/{tttx-skeleton_loader_1_9_100.js → tttx-skeleton_loader_1_9_101.js} +5 -5
  179. package/dist/components/tttx-sorter.js +5 -5
  180. package/dist/components/tttx-sorter_1_9_101.d.ts +11 -0
  181. package/dist/components/{tttx-sorter_1_9_100.js → tttx-sorter_1_9_101.js} +2 -2
  182. package/dist/components/tttx-standalone-input.js +6 -6
  183. package/dist/components/tttx-standalone-input_1_9_101.d.ts +11 -0
  184. package/dist/components/{tttx-standalone-input_1_9_100.js → tttx-standalone-input_1_9_101.js} +2 -2
  185. package/dist/components/{tttx-chart_1_9_100.d.ts → tttx-table_1_9_101.d.ts} +4 -4
  186. package/dist/components/{tttx-table_1_9_100.js → tttx-table_1_9_101.js} +9 -9
  187. package/dist/components/{tttx-icon_1_9_100.d.ts → tttx-tabs_1_9_101.d.ts} +4 -4
  188. package/dist/components/{tttx-tabs_1_9_100.js → tttx-tabs_1_9_101.js} +9 -9
  189. package/dist/components/{tttx-tag-v2_1_9_100.d.ts → tttx-tag-v2_1_9_101.d.ts} +4 -4
  190. package/dist/components/{tttx-tag-v2_1_9_100.js → tttx-tag-v2_1_9_101.js} +7 -7
  191. package/dist/components/tttx-tag.js +5 -5
  192. package/dist/components/{tttx-tag_1_9_100.d.ts → tttx-tag_1_9_101.d.ts} +4 -4
  193. package/dist/components/{tttx-tag_1_9_100.js → tttx-tag_1_9_101.js} +2 -2
  194. package/dist/components/tttx-textarea_1_9_101.d.ts +11 -0
  195. package/dist/components/{tttx-textarea_1_9_100.js → tttx-textarea_1_9_101.js} +6 -6
  196. package/dist/components/tttx-toggle_1_9_101.d.ts +11 -0
  197. package/dist/components/{tttx-toggle_1_9_100.js → tttx-toggle_1_9_101.js} +5 -5
  198. package/dist/components/tttx-toolbar.js +3 -3
  199. package/dist/components/tttx-toolbar_1_9_101.d.ts +11 -0
  200. package/dist/components/{tttx-toolbar_1_9_100.js → tttx-toolbar_1_9_101.js} +2 -2
  201. package/dist/components/tttx-tooltip_1_9_101.d.ts +11 -0
  202. package/dist/components/{tttx-tooltip_1_9_100.js → tttx-tooltip_1_9_101.js} +5 -5
  203. package/dist/components/tttx-tree-view_1_9_101.d.ts +11 -0
  204. package/dist/components/tttx-tree-view_1_9_101.js +389 -0
  205. package/dist/esm/loader.js +1 -1
  206. package/dist/esm/{tttx-action-dropdown_1_9_100.entry.js → tttx-action-dropdown_1_9_101.entry.js} +2 -2
  207. package/dist/esm/{tttx-button-v2_1_9_100.entry.js → tttx-button-v2_1_9_101.entry.js} +4 -4
  208. package/dist/esm/{tttx-button_1_9_100.entry.js → tttx-button_1_9_101.entry.js} +2 -2
  209. package/dist/esm/{tttx-chart_1_9_100.entry.js → tttx-chart_1_9_101.entry.js} +4 -4
  210. package/dist/esm/{tttx-checkbox-group-caption_1_9_100.entry.js → tttx-checkbox-group-caption_1_9_101.entry.js} +1 -1
  211. package/dist/esm/{tttx-checkbox-group-heading_1_9_100.entry.js → tttx-checkbox-group-heading_1_9_101.entry.js} +1 -1
  212. package/dist/esm/{tttx-checkbox-group_1_9_100.entry.js → tttx-checkbox-group_1_9_101.entry.js} +1 -1
  213. package/dist/esm/{tttx-checkbox_1_9_100.entry.js → tttx-checkbox_1_9_101.entry.js} +2 -2
  214. package/dist/esm/{tttx-comments_1_9_100.entry.js → tttx-comments_1_9_101.entry.js} +4 -4
  215. package/dist/esm/{tttx-data-pattern_1_9_100.entry.js → tttx-data-pattern_1_9_101.entry.js} +5 -5
  216. package/dist/esm/{tttx-datacard_1_9_100.entry.js → tttx-datacard_1_9_101.entry.js} +4 -4
  217. package/dist/esm/tttx-date-range-picker.entry.js +1 -1
  218. package/dist/esm/{tttx-dialog-box_1_9_100.entry.js → tttx-dialog-box_1_9_101.entry.js} +3 -3
  219. package/dist/esm/{tttx-dialog_1_9_100.entry.js → tttx-dialog_1_9_101.entry.js} +2 -2
  220. package/dist/esm/{tttx-expander_1_9_100.entry.js → tttx-expander_1_9_101.entry.js} +2 -2
  221. package/dist/esm/{tttx-filter_1_9_100_4.entry.js → tttx-filter_1_9_101_4.entry.js} +6 -6
  222. package/dist/esm/{tttx-form_1_9_100.entry.js → tttx-form_1_9_101.entry.js} +2 -2
  223. package/dist/esm/{tttx-graph_1_9_100.entry.js → tttx-graph_1_9_101.entry.js} +1 -1
  224. package/dist/esm/{tttx-icon_1_9_100.entry.js → tttx-icon_1_9_101.entry.js} +1 -1
  225. package/dist/esm/{tttx-keyvalue-block_1_9_100.entry.js → tttx-keyvalue-block_1_9_101.entry.js} +1 -1
  226. package/dist/esm/{tttx-loading-spinner_1_9_100_3.entry.js → tttx-loading-spinner_1_9_101_3.entry.js} +4 -4
  227. package/dist/esm/{tttx-multiselect-box_1_9_100.entry.js → tttx-multiselect-box_1_9_101.entry.js} +7 -7
  228. package/dist/esm/{tttx-percentage-bar_1_9_100.entry.js → tttx-percentage-bar_1_9_101.entry.js} +2 -2
  229. package/dist/esm/{tttx-qrcode_1_9_100.entry.js → tttx-qrcode_1_9_101.entry.js} +1 -1
  230. package/dist/esm/{tttx-range-slider_1_9_100.entry.js → tttx-range-slider_1_9_101.entry.js} +1 -1
  231. package/dist/esm/{tttx-select-box_1_9_100.entry.js → tttx-select-box_1_9_101.entry.js} +6 -6
  232. package/dist/esm/{tttx-skeleton_loader_1_9_100.entry.js → tttx-skeleton_loader_1_9_101.entry.js} +1 -1
  233. package/dist/esm/{tttx-table_1_9_100.entry.js → tttx-table_1_9_101.entry.js} +3 -3
  234. package/dist/esm/{tttx-tabs_1_9_100.entry.js → tttx-tabs_1_9_101.entry.js} +4 -4
  235. package/dist/esm/{tttx-tag-v2_1_9_100.entry.js → tttx-tag-v2_1_9_101.entry.js} +2 -2
  236. package/dist/esm/{tttx-textarea_1_9_100.entry.js → tttx-textarea_1_9_101.entry.js} +2 -2
  237. package/dist/esm/{tttx-toggle_1_9_100.entry.js → tttx-toggle_1_9_101.entry.js} +1 -1
  238. package/dist/esm/{tttx-tooltip_1_9_100.entry.js → tttx-tooltip_1_9_101.entry.js} +1 -1
  239. package/dist/esm/tttx-tree-view_1_9_101.entry.js +356 -0
  240. package/dist/esm/tttx.js +1 -1
  241. package/dist/tttx/p-00a849cf.entry.js +1 -1
  242. package/dist/tttx/p-1623f3cf.entry.js +1 -1
  243. package/dist/tttx/p-21707b8d.entry.js +1 -1
  244. package/dist/tttx/p-2251ab85.entry.js +1 -1
  245. package/dist/tttx/p-2d19c46c.entry.js +1 -1
  246. package/dist/tttx/p-34e0e487.entry.js +1 -1
  247. package/dist/tttx/p-358eaa44.entry.js +1 -1
  248. package/dist/tttx/p-362999b3.entry.js +1 -1
  249. package/dist/tttx/p-3ec67d75.entry.js +1 -1
  250. package/dist/tttx/p-41b69e01.entry.js +1 -1
  251. package/dist/tttx/p-41f0bf7f.entry.js +1 -1
  252. package/dist/tttx/p-44f0af69.entry.js +1 -1
  253. package/dist/tttx/p-4664d065.entry.js +1 -1
  254. package/dist/tttx/p-5d289334.entry.js +1 -1
  255. package/dist/tttx/p-6ec18b4a.entry.js +1 -1
  256. package/dist/tttx/p-7b5b0670.entry.js +1 -1
  257. package/dist/tttx/p-7d1712fe.entry.js +1 -1
  258. package/dist/tttx/p-82b4e575.entry.js +1 -1
  259. package/dist/tttx/p-a1b8ecda.entry.js +1 -1
  260. package/dist/tttx/p-a43e2c5e.entry.js +1 -1
  261. package/dist/tttx/p-a59ad197.entry.js +1 -0
  262. package/dist/tttx/p-b161205b.entry.js +1 -1
  263. package/dist/tttx/p-b3f49d83.entry.js +1 -1
  264. package/dist/tttx/p-b8cc0cb2.entry.js +1 -1
  265. package/dist/tttx/p-b9003a76.entry.js +1 -1
  266. package/dist/tttx/p-bb59054f.entry.js +1 -1
  267. package/dist/tttx/p-c66bc14c.entry.js +1 -1
  268. package/dist/tttx/p-c8051143.entry.js +1 -1
  269. package/dist/tttx/p-ca93f786.entry.js +1 -1
  270. package/dist/tttx/p-d21b0507.entry.js +1 -1
  271. package/dist/tttx/p-d4c4edbd.entry.js +1 -1
  272. package/dist/tttx/p-d945d492.entry.js +1 -1
  273. package/dist/tttx/p-e21e3a9c.entry.js +1 -1
  274. package/dist/tttx/p-f0c1380f.entry.js +1 -1
  275. package/dist/tttx/tttx.esm.js +1 -1
  276. package/dist/types/components/molecules/tttx-select-box/tttx-select-box.d.ts +1 -1
  277. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +2 -2
  278. package/dist/types/components/molecules/tttx-textarea/tttx-textarea.d.ts +2 -2
  279. package/dist/types/components/molecules/tttx-tree-view/helper/helper.d.ts +1 -0
  280. package/dist/types/components/molecules/tttx-tree-view/tttx-tree-view.d.ts +11 -2
  281. package/dist/types/components.d.ts +451 -451
  282. package/package.json +1 -1
  283. package/dist/cjs/tttx-tree-view_1_9_100.cjs.entry.js +0 -255
  284. package/dist/components/tttx-action-dropdown_1_9_100.d.ts +0 -11
  285. package/dist/components/tttx-button-v2_1_9_100.d.ts +0 -11
  286. package/dist/components/tttx-checkbox-group-caption_1_9_100.d.ts +0 -11
  287. package/dist/components/tttx-checkbox-group-heading_1_9_100.d.ts +0 -11
  288. package/dist/components/tttx-checkbox-group_1_9_100.d.ts +0 -11
  289. package/dist/components/tttx-checkbox_1_9_100.d.ts +0 -11
  290. package/dist/components/tttx-comments_1_9_100.d.ts +0 -11
  291. package/dist/components/tttx-data-pattern_1_9_100.d.ts +0 -11
  292. package/dist/components/tttx-datacard_1_9_100.d.ts +0 -11
  293. package/dist/components/tttx-dialog-box_1_9_100.d.ts +0 -11
  294. package/dist/components/tttx-expander_1_9_100.d.ts +0 -11
  295. package/dist/components/tttx-keyvalue-block_1_9_100.d.ts +0 -11
  296. package/dist/components/tttx-loading-spinner_1_9_100.d.ts +0 -11
  297. package/dist/components/tttx-multiselect-box_1_9_100.d.ts +0 -11
  298. package/dist/components/tttx-percentage-bar_1_9_100.d.ts +0 -11
  299. package/dist/components/tttx-qrcode_1_9_100.d.ts +0 -11
  300. package/dist/components/tttx-range-slider_1_9_100.d.ts +0 -11
  301. package/dist/components/tttx-select-box_1_9_100.d.ts +0 -11
  302. package/dist/components/tttx-skeleton_loader_1_9_100.d.ts +0 -11
  303. package/dist/components/tttx-sorter_1_9_100.d.ts +0 -11
  304. package/dist/components/tttx-standalone-input_1_9_100.d.ts +0 -11
  305. package/dist/components/tttx-textarea_1_9_100.d.ts +0 -11
  306. package/dist/components/tttx-toggle_1_9_100.d.ts +0 -11
  307. package/dist/components/tttx-toolbar_1_9_100.d.ts +0 -11
  308. package/dist/components/tttx-tooltip_1_9_100.d.ts +0 -11
  309. package/dist/components/tttx-tree-view_1_9_100.d.ts +0 -11
  310. package/dist/components/tttx-tree-view_1_9_100.js +0 -283
  311. package/dist/esm/tttx-tree-view_1_9_100.entry.js +0 -251
  312. package/dist/tttx/p-2527a4d3.entry.js +0 -1
@@ -1,283 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, getAssetPath, h } from '@stencil/core/internal/client';
2
- import { p as purify, d as domSanitiserOptions } from './domsanitiser.options.js';
3
- import { d as defineCustomElement$3 } from './tttx-button.js';
4
- import { d as defineCustomElement$2 } from './tttx-icon.js';
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}.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){cursor:pointer}.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.element-row{min-height:36px;font-family:\"Roboto\", serif;font-size:16px;padding:8px 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}.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;cursor:not-allowed;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
-
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.createGhostImage = (label) => {
21
- const ghost = document.createElement('div');
22
- ghost.textContent = label;
23
- Object.assign(ghost.style, {
24
- position: 'absolute',
25
- top: '-9999px',
26
- left: '-9999px',
27
- padding: '6px 20px',
28
- background: 'white',
29
- border: '1px solid #ccc',
30
- fontSize: '14px',
31
- pointerEvents: 'none',
32
- });
33
- document.body.appendChild(ghost);
34
- setTimeout(() => document.body.removeChild(ghost), 0);
35
- return ghost;
36
- };
37
- this.handleDragStart = (event, node, index, parentId) => {
38
- if (!event.dataTransfer)
39
- return;
40
- this.draggedNodeParentId = parentId;
41
- const payload = JSON.stringify({ parentId, index, node });
42
- event.dataTransfer.setData('text/plain', payload);
43
- const ghostImg = this.createGhostImage(node.title);
44
- this.dragGhost.el = ghostImg;
45
- event.dataTransfer.setDragImage(ghostImg, 0, 0);
46
- };
47
- this.handleDragDrop = (event, node, targetIndex, parentId) => {
48
- var _a;
49
- event.preventDefault();
50
- const nodeData = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain');
51
- if (!nodeData)
52
- return;
53
- const { parentId: sourceParentId, index: sourceParentIndex, node: sourceNode } = JSON.parse(nodeData);
54
- // Prevent dropping on itself or different parents
55
- if (node.id === sourceNode.id || sourceParentId !== parentId)
56
- return;
57
- const updatedTree = [...this.treeData];
58
- // Find the parent node
59
- const parent = parentId ? this.findNodeById(updatedTree, parentId) : null;
60
- // If no parent (root level), work with treeData directly
61
- const children = (parent === null || parent === void 0 ? void 0 : parent.child) ? [...parent.child] : [...updatedTree];
62
- if (!children || children.length === 0)
63
- return;
64
- // Move the node
65
- const [moved] = children.splice(sourceParentIndex, 1);
66
- children.splice(targetIndex, 0, moved);
67
- // Update the tree
68
- if (parent) {
69
- parent.child = children;
70
- }
71
- else {
72
- this.treeData = children;
73
- }
74
- this.draggedNodeParentId = undefined;
75
- if (this.dragGhost.el) {
76
- this.dragGhost.el.remove();
77
- this.dragGhost.el = null;
78
- }
79
- this.moveNode.emit(this.treeData);
80
- };
81
- this.handleDragOver = (event, parentId) => {
82
- event.preventDefault();
83
- if (!event.dataTransfer)
84
- return;
85
- const validDrag = this.draggedNodeParentId === parentId;
86
- event.dataTransfer.dropEffect = validDrag ? 'move' : 'none';
87
- };
88
- this.data = undefined;
89
- this.treeData = undefined;
90
- }
91
- componentWillRender() {
92
- if (!this.data)
93
- return;
94
- this.treeData = typeof this.data === 'string' ? JSON.parse(this.data) : this.data;
95
- if (!this.dragIcon) {
96
- this.dragIcon = getAssetPath('assets/img/drag-icon.svg');
97
- }
98
- }
99
- onClickHandler(event, node) {
100
- event.stopPropagation();
101
- // Handle selection: if node is already selected, deselect it; otherwise select it and deselect all others
102
- if (node.selectable) {
103
- if (node.selected) {
104
- // Toggle off: deselect this node
105
- node.selected = false;
106
- }
107
- else {
108
- // Toggle on: deselect all others and select this one
109
- this.handleNodeSelection(node);
110
- // node.selected is already set to true in handleNodeSelection
111
- }
112
- this.treeData = [...this.treeData];
113
- }
114
- this.clickEvent.emit(node);
115
- }
116
- toggleNode(node, event) {
117
- event.stopPropagation();
118
- node.isOpen = !node.isOpen;
119
- this.treeData = [...this.treeData];
120
- this.expandNode.emit({ node: node, treeViewData: this.treeData });
121
- }
122
- handleCheckboxChange(node, event) {
123
- event.stopPropagation();
124
- node.checked = !node.checked;
125
- this.updateChildrenCheckStatus(node);
126
- this.updateParentCheckStatus();
127
- this.treeData = [...this.treeData];
128
- this.checkboxChange.emit(this.treeData);
129
- }
130
- updateChildrenCheckStatus(node) {
131
- if (node.child) {
132
- node.child.forEach(childNode => {
133
- if (childNode.hasCheckbox && childNode.checked !== undefined) {
134
- // don't set checked on a child that doesn't have a checkbox
135
- // makes it impossible to unselect a parent as child can never be unchecked in frontend
136
- childNode.checked = node.checked;
137
- }
138
- this.updateChildrenCheckStatus(childNode);
139
- });
140
- }
141
- }
142
- /**
143
- * Update the checkbox status of parent nodes when children have been updated.
144
- * Called recursively to traverse the tree for parents.
145
- * First call with no params to automatically start at the top of the tree.
146
- *
147
- * Any children checked -> parent is checked.
148
- *
149
- * All children unchecked -> parent is unchecked.
150
- */
151
- updateParentCheckStatus(parent = undefined, children = undefined) {
152
- if (parent === undefined) {
153
- this.treeData.forEach(node => this.updateParentCheckStatus(node, node.child));
154
- return;
155
- }
156
- let childrenCheckedStatuses = [];
157
- // set status relative to children if we have some
158
- if (children && children.length > 0) {
159
- childrenCheckedStatuses = children.map(node => this.updateParentCheckStatus(node, node.child)).flat(1);
160
- // parent checked if any children are checked
161
- if (childrenCheckedStatuses.some(checked => checked)) {
162
- parent.checked = true;
163
- }
164
- // parent unchecked if all children are unchecked
165
- if (childrenCheckedStatuses.every(checked => !checked)) {
166
- parent.checked = false;
167
- }
168
- }
169
- // return the gathered checked statuses so nodes above can make check choices
170
- return [...childrenCheckedStatuses, parent.checked];
171
- }
172
- treeConfigs(node) {
173
- let checkboxIcon, checkboxColor;
174
- if (node.checked) {
175
- checkboxIcon = 'check_box';
176
- checkboxColor = 'blue';
177
- }
178
- else {
179
- checkboxIcon = 'check_box_outline_blank';
180
- checkboxColor = 'grey';
181
- }
182
- const rowHoverActive = node.hasHover ? 'rowHover' : '';
183
- const expanderIcon = node.isOpen ? 'arrow_drop_down' : 'arrow_right';
184
- const selectedActive = node.selectable && node.selected ? 'rowSelected' : '';
185
- return { checkboxColor, checkboxIcon, rowHoverActive, expanderIcon, selectedActive };
186
- }
187
- findNodeById(nodes, id) {
188
- for (const node of nodes) {
189
- if (node.id === id)
190
- return node;
191
- if (node.child) {
192
- const found = this.findNodeById(node.child, id);
193
- if (found)
194
- return found;
195
- }
196
- }
197
- return undefined;
198
- }
199
- deselectAllNodes(nodes) {
200
- for (const node of nodes) {
201
- if (node.selectable) {
202
- node.selected = false;
203
- }
204
- if (node.child) {
205
- this.deselectAllNodes(node.child);
206
- }
207
- }
208
- }
209
- handleNodeSelection(node) {
210
- // Deselect all nodes first
211
- this.deselectAllNodes(this.treeData);
212
- // Select only the clicked node if it's selectable
213
- if (node.selectable) {
214
- node.selected = true;
215
- }
216
- // Update the tree to trigger re-render
217
- this.treeData = [...this.treeData];
218
- }
219
- renderNode(node, index, parentId = undefined, level = 0 // <-- depth
220
- ) {
221
- const options = this.treeConfigs(node);
222
- if (node.child) {
223
- // group node
224
- const isSelectedGroup = !!node.selected;
225
- return (h("li", { class: `${isSelectedGroup ? 'selected-group' : ''}`, style: { '--level': String(level) } }, h("li", Object.assign({ "data-id": node.id }, (node.draggable ? { onDragOver: event => this.handleDragOver(event, parentId) } : {}), (node.draggable ? { onDrop: event => this.handleDragDrop(event, node, index, parentId) } : {}), { class: `inline-tree-item element-row tree-node ${options.rowHoverActive} ${options.selectedActive}`, onClick: event => {
226
- if (node.hasHover) {
227
- this.onClickHandler(event, node);
228
- }
229
- } }), h("tttx-button_1_9_100", { 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) => {
230
- // next level = level + 1
231
- return this.renderNode(childNode, childIndex, node.id, level + 1);
232
- }))) : null));
233
- }
234
- // leaf (activity)
235
- return (h("li", Object.assign({ "data-id": node.id }, (node.draggable ? { onDragOver: event => this.handleDragOver(event, parentId) } : {}), (node.draggable ? { onDrop: event => this.handleDragDrop(event, node, index, parentId) } : {}), { class: `inline-tree-item element-row ${options.rowHoverActive} ${options.selectedActive}`, style: { '--level': String(level) }, onClick: event => {
236
- if (node.hasHover) {
237
- this.onClickHandler(event, node);
238
- }
239
- } }), this.htmlcode('treeLeaf', node, options.checkboxIcon, options.checkboxColor, index, parentId)));
240
- }
241
- htmlcode(type, node, check_box, check_boxColor, index, parentId = undefined) {
242
- const htmlcode = (h("div", { class: "inline-tree-item element" }, node.draggable && (h("img", { src: this.dragIcon, alt: "drag", class: "drag-handle", draggable: true, onDragStart: event => this.handleDragStart(event, node, index, parentId) })), node.hasCheckbox && (h("tttx-button_1_9_100", { 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_100", { 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) })));
243
- return htmlcode;
244
- }
245
- render() {
246
- if (!this.data)
247
- return;
248
- return (h("div", { class: "tree-view-element" }, h("ul", null, this.treeData.map((node, index) => this.renderNode(node, index)))));
249
- }
250
- get el() { return this; }
251
- static get style() { return tttxTreeViewCss; }
252
- }, [1, "tttx-tree-view_1_9_100", {
253
- "data": [1040],
254
- "treeData": [32]
255
- }]);
256
- function defineCustomElement$1() {
257
- if (typeof customElements === "undefined") {
258
- return;
259
- }
260
- const components = ["tttx-tree-view_1_9_100", "tttx-button_1_9_100", "tttx-icon_1_9_100"];
261
- components.forEach(tagName => { switch (tagName) {
262
- case "tttx-tree-view_1_9_100":
263
- if (!customElements.get(tagName)) {
264
- customElements.define(tagName, TttxTreeView);
265
- }
266
- break;
267
- case "tttx-button_1_9_100":
268
- if (!customElements.get(tagName)) {
269
- defineCustomElement$3();
270
- }
271
- break;
272
- case "tttx-icon_1_9_100":
273
- if (!customElements.get(tagName)) {
274
- defineCustomElement$2();
275
- }
276
- break;
277
- } });
278
- }
279
-
280
- const TttxTreeView_1_9_100 = TttxTreeView;
281
- const defineCustomElement = defineCustomElement$1;
282
-
283
- export { TttxTreeView_1_9_100, defineCustomElement };
@@ -1,251 +0,0 @@
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';
3
- import './_commonjsHelpers-9943807e.js';
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}.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){cursor:pointer}.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.element-row{min-height:36px;font-family:\"Roboto\", serif;font-size:16px;padding:8px 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}.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;cursor:not-allowed;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
-
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.createGhostImage = (label) => {
18
- const ghost = document.createElement('div');
19
- ghost.textContent = label;
20
- Object.assign(ghost.style, {
21
- position: 'absolute',
22
- top: '-9999px',
23
- left: '-9999px',
24
- padding: '6px 20px',
25
- background: 'white',
26
- border: '1px solid #ccc',
27
- fontSize: '14px',
28
- pointerEvents: 'none',
29
- });
30
- document.body.appendChild(ghost);
31
- setTimeout(() => document.body.removeChild(ghost), 0);
32
- return ghost;
33
- };
34
- this.handleDragStart = (event, node, index, parentId) => {
35
- if (!event.dataTransfer)
36
- return;
37
- this.draggedNodeParentId = parentId;
38
- const payload = JSON.stringify({ parentId, index, node });
39
- event.dataTransfer.setData('text/plain', payload);
40
- const ghostImg = this.createGhostImage(node.title);
41
- this.dragGhost.el = ghostImg;
42
- event.dataTransfer.setDragImage(ghostImg, 0, 0);
43
- };
44
- this.handleDragDrop = (event, node, targetIndex, parentId) => {
45
- var _a;
46
- event.preventDefault();
47
- const nodeData = (_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData('text/plain');
48
- if (!nodeData)
49
- return;
50
- const { parentId: sourceParentId, index: sourceParentIndex, node: sourceNode } = JSON.parse(nodeData);
51
- // Prevent dropping on itself or different parents
52
- if (node.id === sourceNode.id || sourceParentId !== parentId)
53
- return;
54
- const updatedTree = [...this.treeData];
55
- // Find the parent node
56
- const parent = parentId ? this.findNodeById(updatedTree, parentId) : null;
57
- // If no parent (root level), work with treeData directly
58
- const children = (parent === null || parent === void 0 ? void 0 : parent.child) ? [...parent.child] : [...updatedTree];
59
- if (!children || children.length === 0)
60
- return;
61
- // Move the node
62
- const [moved] = children.splice(sourceParentIndex, 1);
63
- children.splice(targetIndex, 0, moved);
64
- // Update the tree
65
- if (parent) {
66
- parent.child = children;
67
- }
68
- else {
69
- this.treeData = children;
70
- }
71
- this.draggedNodeParentId = undefined;
72
- if (this.dragGhost.el) {
73
- this.dragGhost.el.remove();
74
- this.dragGhost.el = null;
75
- }
76
- this.moveNode.emit(this.treeData);
77
- };
78
- this.handleDragOver = (event, parentId) => {
79
- event.preventDefault();
80
- if (!event.dataTransfer)
81
- return;
82
- const validDrag = this.draggedNodeParentId === parentId;
83
- event.dataTransfer.dropEffect = validDrag ? 'move' : 'none';
84
- };
85
- this.data = undefined;
86
- this.treeData = undefined;
87
- }
88
- componentWillRender() {
89
- if (!this.data)
90
- return;
91
- this.treeData = typeof this.data === 'string' ? JSON.parse(this.data) : this.data;
92
- if (!this.dragIcon) {
93
- this.dragIcon = getAssetPath('assets/img/drag-icon.svg');
94
- }
95
- }
96
- onClickHandler(event, node) {
97
- event.stopPropagation();
98
- // Handle selection: if node is already selected, deselect it; otherwise select it and deselect all others
99
- if (node.selectable) {
100
- if (node.selected) {
101
- // Toggle off: deselect this node
102
- node.selected = false;
103
- }
104
- else {
105
- // Toggle on: deselect all others and select this one
106
- this.handleNodeSelection(node);
107
- // node.selected is already set to true in handleNodeSelection
108
- }
109
- this.treeData = [...this.treeData];
110
- }
111
- this.clickEvent.emit(node);
112
- }
113
- toggleNode(node, event) {
114
- event.stopPropagation();
115
- node.isOpen = !node.isOpen;
116
- this.treeData = [...this.treeData];
117
- this.expandNode.emit({ node: node, treeViewData: this.treeData });
118
- }
119
- handleCheckboxChange(node, event) {
120
- event.stopPropagation();
121
- node.checked = !node.checked;
122
- this.updateChildrenCheckStatus(node);
123
- this.updateParentCheckStatus();
124
- this.treeData = [...this.treeData];
125
- this.checkboxChange.emit(this.treeData);
126
- }
127
- updateChildrenCheckStatus(node) {
128
- if (node.child) {
129
- node.child.forEach(childNode => {
130
- if (childNode.hasCheckbox && childNode.checked !== undefined) {
131
- // don't set checked on a child that doesn't have a checkbox
132
- // makes it impossible to unselect a parent as child can never be unchecked in frontend
133
- childNode.checked = node.checked;
134
- }
135
- this.updateChildrenCheckStatus(childNode);
136
- });
137
- }
138
- }
139
- /**
140
- * Update the checkbox status of parent nodes when children have been updated.
141
- * Called recursively to traverse the tree for parents.
142
- * First call with no params to automatically start at the top of the tree.
143
- *
144
- * Any children checked -> parent is checked.
145
- *
146
- * All children unchecked -> parent is unchecked.
147
- */
148
- updateParentCheckStatus(parent = undefined, children = undefined) {
149
- if (parent === undefined) {
150
- this.treeData.forEach(node => this.updateParentCheckStatus(node, node.child));
151
- return;
152
- }
153
- let childrenCheckedStatuses = [];
154
- // set status relative to children if we have some
155
- if (children && children.length > 0) {
156
- childrenCheckedStatuses = children.map(node => this.updateParentCheckStatus(node, node.child)).flat(1);
157
- // parent checked if any children are checked
158
- if (childrenCheckedStatuses.some(checked => checked)) {
159
- parent.checked = true;
160
- }
161
- // parent unchecked if all children are unchecked
162
- if (childrenCheckedStatuses.every(checked => !checked)) {
163
- parent.checked = false;
164
- }
165
- }
166
- // return the gathered checked statuses so nodes above can make check choices
167
- return [...childrenCheckedStatuses, parent.checked];
168
- }
169
- treeConfigs(node) {
170
- let checkboxIcon, checkboxColor;
171
- if (node.checked) {
172
- checkboxIcon = 'check_box';
173
- checkboxColor = 'blue';
174
- }
175
- else {
176
- checkboxIcon = 'check_box_outline_blank';
177
- checkboxColor = 'grey';
178
- }
179
- const rowHoverActive = node.hasHover ? 'rowHover' : '';
180
- const expanderIcon = node.isOpen ? 'arrow_drop_down' : 'arrow_right';
181
- const selectedActive = node.selectable && node.selected ? 'rowSelected' : '';
182
- return { checkboxColor, checkboxIcon, rowHoverActive, expanderIcon, selectedActive };
183
- }
184
- findNodeById(nodes, id) {
185
- for (const node of nodes) {
186
- if (node.id === id)
187
- return node;
188
- if (node.child) {
189
- const found = this.findNodeById(node.child, id);
190
- if (found)
191
- return found;
192
- }
193
- }
194
- return undefined;
195
- }
196
- deselectAllNodes(nodes) {
197
- for (const node of nodes) {
198
- if (node.selectable) {
199
- node.selected = false;
200
- }
201
- if (node.child) {
202
- this.deselectAllNodes(node.child);
203
- }
204
- }
205
- }
206
- handleNodeSelection(node) {
207
- // Deselect all nodes first
208
- this.deselectAllNodes(this.treeData);
209
- // Select only the clicked node if it's selectable
210
- if (node.selectable) {
211
- node.selected = true;
212
- }
213
- // Update the tree to trigger re-render
214
- this.treeData = [...this.treeData];
215
- }
216
- renderNode(node, index, parentId = undefined, level = 0 // <-- depth
217
- ) {
218
- const options = this.treeConfigs(node);
219
- if (node.child) {
220
- // group node
221
- const isSelectedGroup = !!node.selected;
222
- return (h("li", { class: `${isSelectedGroup ? 'selected-group' : ''}`, style: { '--level': String(level) } }, h("li", Object.assign({ "data-id": node.id }, (node.draggable ? { onDragOver: event => this.handleDragOver(event, parentId) } : {}), (node.draggable ? { onDrop: event => this.handleDragDrop(event, node, index, parentId) } : {}), { class: `inline-tree-item element-row tree-node ${options.rowHoverActive} ${options.selectedActive}`, onClick: event => {
223
- if (node.hasHover) {
224
- this.onClickHandler(event, node);
225
- }
226
- } }), h("tttx-button_1_9_100", { 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) => {
227
- // next level = level + 1
228
- return this.renderNode(childNode, childIndex, node.id, level + 1);
229
- }))) : null));
230
- }
231
- // leaf (activity)
232
- return (h("li", Object.assign({ "data-id": node.id }, (node.draggable ? { onDragOver: event => this.handleDragOver(event, parentId) } : {}), (node.draggable ? { onDrop: event => this.handleDragDrop(event, node, index, parentId) } : {}), { class: `inline-tree-item element-row ${options.rowHoverActive} ${options.selectedActive}`, style: { '--level': String(level) }, onClick: event => {
233
- if (node.hasHover) {
234
- this.onClickHandler(event, node);
235
- }
236
- } }), this.htmlcode('treeLeaf', node, options.checkboxIcon, options.checkboxColor, index, parentId)));
237
- }
238
- htmlcode(type, node, check_box, check_boxColor, index, parentId = undefined) {
239
- const htmlcode = (h("div", { class: "inline-tree-item element" }, node.draggable && (h("img", { src: this.dragIcon, alt: "drag", class: "drag-handle", draggable: true, onDragStart: event => this.handleDragStart(event, node, index, parentId) })), node.hasCheckbox && (h("tttx-button_1_9_100", { 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_100", { 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) })));
240
- return htmlcode;
241
- }
242
- render() {
243
- if (!this.data)
244
- return;
245
- return (h("div", { class: "tree-view-element" }, h("ul", null, this.treeData.map((node, index) => this.renderNode(node, index)))));
246
- }
247
- get el() { return getElement(this); }
248
- };
249
- TttxTreeView.style = tttxTreeViewCss;
250
-
251
- export { TttxTreeView as tttx_tree_view_1_9_100 };
@@ -1 +0,0 @@
1
- import{r as e,c as t,a as i,h as n,g as l}from"./p-457a7731.js";import{p as r,d as o}from"./p-55799798.js";import"./p-112455b1.js";const s=class{constructor(i){e(this,i),this.clickEvent=t(this,"clickEvent",7),this.expandNode=t(this,"expandNode",7),this.checkboxChange=t(this,"checkboxChange",7),this.moveNode=t(this,"moveNode",7),this.dragGhost={el:null},this.createGhostImage=e=>{const t=document.createElement("div");return t.textContent=e,Object.assign(t.style,{position:"absolute",top:"-9999px",left:"-9999px",padding:"6px 20px",background:"white",border:"1px solid #ccc",fontSize:"14px",pointerEvents:"none"}),document.body.appendChild(t),setTimeout((()=>document.body.removeChild(t)),0),t},this.handleDragStart=(e,t,i,n)=>{if(!e.dataTransfer)return;this.draggedNodeParentId=n;const l=JSON.stringify({parentId:n,index:i,node:t});e.dataTransfer.setData("text/plain",l);const r=this.createGhostImage(t.title);this.dragGhost.el=r,e.dataTransfer.setDragImage(r,0,0)},this.handleDragDrop=(e,t,i,n)=>{var l;e.preventDefault();const r=null===(l=e.dataTransfer)||void 0===l?void 0:l.getData("text/plain");if(!r)return;const{parentId:o,index:s,node:d}=JSON.parse(r);if(t.id===d.id||o!==n)return;const c=[...this.treeData],a=n?this.findNodeById(c,n):null,m=(null==a?void 0:a.child)?[...a.child]:[...c];if(!m||0===m.length)return;const[h]=m.splice(s,1);m.splice(i,0,h),a?a.child=m:this.treeData=m,this.draggedNodeParentId=void 0,this.dragGhost.el&&(this.dragGhost.el.remove(),this.dragGhost.el=null),this.moveNode.emit(this.treeData)},this.handleDragOver=(e,t)=>{e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect=this.draggedNodeParentId===t?"move":"none")},this.data=void 0,this.treeData=void 0}componentWillRender(){this.data&&(this.treeData="string"==typeof this.data?JSON.parse(this.data):this.data,this.dragIcon||(this.dragIcon=i("assets/img/drag-icon.svg")))}onClickHandler(e,t){e.stopPropagation(),t.selectable&&(t.selected?t.selected=!1:this.handleNodeSelection(t),this.treeData=[...this.treeData]),this.clickEvent.emit(t)}toggleNode(e,t){t.stopPropagation(),e.isOpen=!e.isOpen,this.treeData=[...this.treeData],this.expandNode.emit({node:e,treeViewData:this.treeData})}handleCheckboxChange(e,t){t.stopPropagation(),e.checked=!e.checked,this.updateChildrenCheckStatus(e),this.updateParentCheckStatus(),this.treeData=[...this.treeData],this.checkboxChange.emit(this.treeData)}updateChildrenCheckStatus(e){e.child&&e.child.forEach((t=>{t.hasCheckbox&&void 0!==t.checked&&(t.checked=e.checked),this.updateChildrenCheckStatus(t)}))}updateParentCheckStatus(e,t){if(void 0===e)return void this.treeData.forEach((e=>this.updateParentCheckStatus(e,e.child)));let i=[];return t&&t.length>0&&(i=t.map((e=>this.updateParentCheckStatus(e,e.child))).flat(1),i.some((e=>e))&&(e.checked=!0),i.every((e=>!e))&&(e.checked=!1)),[...i,e.checked]}treeConfigs(e){let t,i;return e.checked?(t="check_box",i="blue"):(t="check_box_outline_blank",i="grey"),{checkboxColor:i,checkboxIcon:t,rowHoverActive:e.hasHover?"rowHover":"",expanderIcon:e.isOpen?"arrow_drop_down":"arrow_right",selectedActive:e.selectable&&e.selected?"rowSelected":""}}findNodeById(e,t){for(const i of e){if(i.id===t)return i;if(i.child){const e=this.findNodeById(i.child,t);if(e)return e}}}deselectAllNodes(e){for(const t of e)t.selectable&&(t.selected=!1),t.child&&this.deselectAllNodes(t.child)}handleNodeSelection(e){this.deselectAllNodes(this.treeData),e.selectable&&(e.selected=!0),this.treeData=[...this.treeData]}renderNode(e,t,i,l=0){const r=this.treeConfigs(e);return e.child?n("li",{class:e.selected?"selected-group":"",style:{"--level":String(l)}},n("li",Object.assign({"data-id":e.id},e.draggable?{onDragOver:e=>this.handleDragOver(e,i)}:{},e.draggable?{onDrop:n=>this.handleDragDrop(n,e,t,i)}:{},{class:`inline-tree-item element-row tree-node ${r.rowHoverActive} ${r.selectedActive}`,onClick:t=>{e.hasHover&&this.onClickHandler(t,e)}}),n("tttx-button_1_9_100",{class:"toggleNode",design:"borderless-circle",notext:!0,icon:r.expanderIcon,color:"black",onClick:t=>this.toggleNode(e,t)}),this.htmlcode("treeNode",e,r.checkboxIcon,r.checkboxColor,t,i)),e.isOpen?n("ul",null,e.child.map(((t,i)=>this.renderNode(t,i,e.id,l+1)))):null):n("li",Object.assign({"data-id":e.id},e.draggable?{onDragOver:e=>this.handleDragOver(e,i)}:{},e.draggable?{onDrop:n=>this.handleDragDrop(n,e,t,i)}:{},{class:`inline-tree-item element-row ${r.rowHoverActive} ${r.selectedActive}`,style:{"--level":String(l)},onClick:t=>{e.hasHover&&this.onClickHandler(t,e)}}),this.htmlcode("treeLeaf",e,r.checkboxIcon,r.checkboxColor,t,i))}htmlcode(e,t,i,l,s,d){return n("div",{class:"inline-tree-item element"},t.draggable&&n("img",{src:this.dragIcon,alt:"drag",class:"drag-handle",draggable:!0,onDragStart:e=>this.handleDragStart(e,t,s,d)}),t.hasCheckbox&&n("tttx-button_1_9_100",{design:"borderless-circle",notext:!0,icon:i,iconcolor:l,class:"padding-icon checkbox",onClick:e=>this.handleCheckboxChange(t,e)}),!t.html&&t.hasIcon&&n("tttx-icon_1_9_100",{icon:t.icon,color:t.iconColor,class:"padding-icon"}),!t.html&&n("div",{class:e},t.title),t.html&&n("div",{class:e,innerHTML:r.sanitize(t.html,o)}))}render(){if(this.data)return n("div",{class:"tree-view-element"},n("ul",null,this.treeData.map(((e,t)=>this.renderNode(e,t)))))}get el(){return l(this)}};s.style='.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}.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){cursor:pointer}.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.element-row{min-height:36px;font-family:"Roboto", serif;font-size:16px;padding:8px 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}.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;cursor:not-allowed;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}';export{s as tttx_tree_view_1_9_100}