@3t-transform/threeteeui 1.9.62 → 1.9.64

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 (289) hide show
  1. package/dist/{esm/tttx-graph_1_9_62.entry.js → cjs/auto-1fd7408f.js} +4 -130
  2. package/dist/cjs/{index-ec367fa3.js → index-1249dc08.js} +12 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{tttx-action-dropdown_1_9_62.cjs.entry.js → tttx-action-dropdown_1_9_64.cjs.entry.js} +3 -3
  5. package/dist/cjs/tttx-button-v2_1_9_64.cjs.entry.js +121 -0
  6. package/dist/cjs/{tttx-button_1_9_62.cjs.entry.js → tttx-button_1_9_64.cjs.entry.js} +3 -3
  7. package/dist/cjs/tttx-chart_1_9_64.cjs.entry.js +203 -0
  8. package/dist/cjs/{tttx-checkbox-group-caption_1_9_62.cjs.entry.js → tttx-checkbox-group-caption_1_9_64.cjs.entry.js} +2 -2
  9. package/dist/cjs/{tttx-checkbox-group-heading_1_9_62.cjs.entry.js → tttx-checkbox-group-heading_1_9_64.cjs.entry.js} +2 -2
  10. package/dist/cjs/{tttx-checkbox-group_1_9_62.cjs.entry.js → tttx-checkbox-group_1_9_64.cjs.entry.js} +2 -2
  11. package/dist/cjs/{tttx-checkbox_1_9_62.cjs.entry.js → tttx-checkbox_1_9_64.cjs.entry.js} +3 -3
  12. package/dist/cjs/{tttx-comments_1_9_62.cjs.entry.js → tttx-comments_1_9_64.cjs.entry.js} +5 -5
  13. package/dist/cjs/{tttx-data-pattern_1_9_62.cjs.entry.js → tttx-data-pattern_1_9_64.cjs.entry.js} +6 -6
  14. package/dist/cjs/{tttx-datacard_1_9_62.cjs.entry.js → tttx-datacard_1_9_64.cjs.entry.js} +5 -5
  15. package/dist/cjs/tttx-date-range-picker.cjs.entry.js +2 -2
  16. package/dist/cjs/{tttx-dialog-box_1_9_62.cjs.entry.js → tttx-dialog-box_1_9_64.cjs.entry.js} +4 -4
  17. package/dist/cjs/{tttx-dialog_1_9_62.cjs.entry.js → tttx-dialog_1_9_64.cjs.entry.js} +3 -3
  18. package/dist/cjs/{tttx-expander_1_9_62.cjs.entry.js → tttx-expander_1_9_64.cjs.entry.js} +3 -3
  19. package/dist/cjs/{tttx-filter_1_9_62_4.cjs.entry.js → tttx-filter_1_9_64_4.cjs.entry.js} +10 -10
  20. package/dist/cjs/{tttx-form_1_9_62.cjs.entry.js → tttx-form_1_9_64.cjs.entry.js} +3 -3
  21. package/dist/cjs/tttx-graph_1_9_64.cjs.entry.js +136 -0
  22. package/dist/cjs/{tttx-icon_1_9_62.cjs.entry.js → tttx-icon_1_9_64.cjs.entry.js} +2 -2
  23. package/dist/cjs/{tttx-keyvalue-block_1_9_62.cjs.entry.js → tttx-keyvalue-block_1_9_64.cjs.entry.js} +2 -2
  24. package/dist/cjs/{tttx-loading-spinner_1_9_62_3.cjs.entry.js → tttx-loading-spinner_1_9_64_3.cjs.entry.js} +7 -7
  25. package/dist/cjs/{tttx-multiselect-box_1_9_62.cjs.entry.js → tttx-multiselect-box_1_9_64.cjs.entry.js} +8 -8
  26. package/dist/cjs/{tttx-percentage-bar_1_9_62.cjs.entry.js → tttx-percentage-bar_1_9_64.cjs.entry.js} +3 -3
  27. package/dist/cjs/{tttx-qrcode_1_9_62.cjs.entry.js → tttx-qrcode_1_9_64.cjs.entry.js} +2 -2
  28. package/dist/cjs/{tttx-select-box_1_9_62.cjs.entry.js → tttx-select-box_1_9_64.cjs.entry.js} +7 -7
  29. package/dist/cjs/{tttx-skeleton_loader_1_9_62.cjs.entry.js → tttx-skeleton_loader_1_9_64.cjs.entry.js} +2 -2
  30. package/dist/cjs/{tttx-table_1_9_62.cjs.entry.js → tttx-table_1_9_64.cjs.entry.js} +2 -2
  31. package/dist/cjs/{tttx-tabs_1_9_62.cjs.entry.js → tttx-tabs_1_9_64.cjs.entry.js} +5 -5
  32. package/dist/cjs/{tttx-textarea_1_9_62.cjs.entry.js → tttx-textarea_1_9_64.cjs.entry.js} +3 -3
  33. package/dist/cjs/{tttx-toggle_1_9_62.cjs.entry.js → tttx-toggle_1_9_64.cjs.entry.js} +2 -2
  34. package/dist/cjs/{tttx-tree-view_1_9_62.cjs.entry.js → tttx-tree-view_1_9_64.cjs.entry.js} +4 -4
  35. package/dist/cjs/tttx.cjs.js +2 -2
  36. package/dist/collection/collection-manifest.json +2 -0
  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 +286 -0
  40. package/dist/collection/components/atoms/tttx-button-v2/tttx-button-v2.js +386 -0
  41. package/dist/collection/components/atoms/tttx-button-v2/tttx-button-v2.stories.js +197 -0
  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-toggle/tttx-toggle.js +1 -1
  60. package/dist/collection/components/atoms/tttx-toggle/tttx-toggle.stories.js +2 -2
  61. package/dist/collection/components/molecules/tttx-action-dropdown/tttx-action-dropdown.js +2 -2
  62. package/dist/collection/components/molecules/tttx-action-dropdown/tttx-action-dropdown.stories.js +1 -1
  63. package/dist/collection/components/molecules/tttx-chart/tttx-chart.css +61 -0
  64. package/dist/collection/components/molecules/tttx-chart/tttx-chart.js +383 -0
  65. package/dist/collection/components/molecules/tttx-chart/tttx-chart.stories.js +112 -0
  66. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-caption.js +1 -1
  67. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-heading.js +1 -1
  68. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.js +1 -1
  69. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.stories.js +10 -10
  70. package/dist/collection/components/molecules/tttx-comments/tttx-comments.js +4 -4
  71. package/dist/collection/components/molecules/tttx-comments/tttx-comments.stories.js +4 -4
  72. package/dist/collection/components/molecules/tttx-date-range-picker/tttx-date-range-picker.js +1 -1
  73. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.js +2 -2
  74. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.stories.js +6 -6
  75. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.js +3 -3
  76. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.stories.js +24 -24
  77. package/dist/collection/components/molecules/tttx-expander/tttx-expander.js +2 -2
  78. package/dist/collection/components/molecules/tttx-expander/tttx-expander.stories.js +9 -9
  79. package/dist/collection/components/molecules/tttx-filter/tttx-filter.js +3 -3
  80. package/dist/collection/components/molecules/tttx-filter/tttx-filter.stories.js +2 -2
  81. package/dist/collection/components/molecules/tttx-form/tttx-form.js +2 -2
  82. package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +8 -8
  83. package/dist/collection/components/molecules/tttx-graph/tttx-graph.js +1 -1
  84. package/dist/collection/components/molecules/tttx-graph/tttx-graph.stories.js +1 -1
  85. package/dist/collection/components/molecules/tttx-list/tttx-list.js +3 -3
  86. package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +47 -47
  87. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.js +7 -7
  88. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.js +37 -37
  89. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.js +6 -6
  90. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.stories.js +22 -22
  91. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.js +2 -2
  92. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.stories.js +1 -1
  93. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +4 -4
  94. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +1 -1
  95. package/dist/collection/components/molecules/tttx-table/tttx-table.js +1 -1
  96. package/dist/collection/components/molecules/tttx-table/tttx-table.stories.js +6 -6
  97. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.js +3 -3
  98. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.stories.js +4 -4
  99. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.js +3 -3
  100. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.stories.js +1 -1
  101. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.js +1 -1
  102. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.stories.js +37 -37
  103. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.js +3 -3
  104. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.stories.js +1 -1
  105. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.js +5 -5
  106. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.stories.js +5 -5
  107. package/dist/{cjs/tttx-graph_1_9_62.cjs.entry.js → components/auto.js} +1 -135
  108. package/dist/components/index.d.ts +35 -33
  109. package/dist/components/index.js +35 -33
  110. package/dist/components/tttx-action-dropdown_1_9_64.d.ts +11 -0
  111. package/dist/components/{tttx-action-dropdown_1_9_62.js → tttx-action-dropdown_1_9_64.js} +7 -7
  112. package/dist/components/{tttx-comments_1_9_62.d.ts → tttx-button-v2_1_9_64.d.ts} +4 -4
  113. package/dist/components/tttx-button-v2_1_9_64.js +156 -0
  114. package/dist/components/tttx-button.js +5 -5
  115. package/dist/components/{tttx-dialog_1_9_62.d.ts → tttx-button_1_9_64.d.ts} +4 -4
  116. package/dist/components/{tttx-button_1_9_62.js → tttx-button_1_9_64.js} +2 -2
  117. package/dist/components/{tttx-graph_1_9_62.d.ts → tttx-chart_1_9_64.d.ts} +4 -4
  118. package/dist/components/tttx-chart_1_9_64.js +247 -0
  119. package/dist/components/tttx-checkbox-group-caption_1_9_64.d.ts +11 -0
  120. package/dist/components/{tttx-checkbox-group-caption_1_9_62.js → tttx-checkbox-group-caption_1_9_64.js} +5 -5
  121. package/dist/components/tttx-checkbox-group-heading_1_9_64.d.ts +11 -0
  122. package/dist/components/{tttx-checkbox-group-heading_1_9_62.js → tttx-checkbox-group-heading_1_9_64.js} +5 -5
  123. package/dist/components/tttx-checkbox-group_1_9_64.d.ts +11 -0
  124. package/dist/components/{tttx-checkbox-group_1_9_62.js → tttx-checkbox-group_1_9_64.js} +5 -5
  125. package/dist/components/{tttx-datacard_1_9_62.d.ts → tttx-checkbox_1_9_64.d.ts} +4 -4
  126. package/dist/components/{tttx-checkbox_1_9_62.js → tttx-checkbox_1_9_64.js} +7 -7
  127. package/dist/components/{tttx-checkbox_1_9_62.d.ts → tttx-comments_1_9_64.d.ts} +4 -4
  128. package/dist/components/{tttx-comments_1_9_62.js → tttx-comments_1_9_64.js} +9 -9
  129. package/dist/components/tttx-data-pattern_1_9_64.d.ts +11 -0
  130. package/dist/components/{tttx-data-pattern_1_9_62.js → tttx-data-pattern_1_9_64.js} +16 -16
  131. package/dist/components/tttx-datacard_1_9_64.d.ts +11 -0
  132. package/dist/components/{tttx-datacard_1_9_62.js → tttx-datacard_1_9_64.js} +10 -10
  133. package/dist/components/tttx-date-range-picker.js +3 -3
  134. package/dist/components/tttx-dialog-box_1_9_64.d.ts +11 -0
  135. package/dist/components/{tttx-dialog-box_1_9_62.js → tttx-dialog-box_1_9_64.js} +9 -9
  136. package/dist/components/{tttx-button_1_9_62.d.ts → tttx-dialog_1_9_64.d.ts} +4 -4
  137. package/dist/components/{tttx-dialog_1_9_62.js → tttx-dialog_1_9_64.js} +8 -8
  138. package/dist/components/tttx-expander_1_9_64.d.ts +11 -0
  139. package/dist/components/{tttx-expander_1_9_62.js → tttx-expander_1_9_64.js} +7 -7
  140. package/dist/components/tttx-filter.js +6 -6
  141. package/dist/components/{tttx-filter_1_9_62.d.ts → tttx-filter_1_9_64.d.ts} +4 -4
  142. package/dist/components/{tttx-filter_1_9_62.js → tttx-filter_1_9_64.js} +2 -2
  143. package/dist/components/{tttx-tabs_1_9_62.d.ts → tttx-form_1_9_64.d.ts} +4 -4
  144. package/dist/components/{tttx-form_1_9_62.js → tttx-form_1_9_64.js} +11 -11
  145. package/dist/components/tttx-graph.js +4 -14783
  146. package/dist/components/{tttx-table_1_9_62.d.ts → tttx-graph_1_9_64.d.ts} +4 -4
  147. package/dist/components/{tttx-graph_1_9_62.js → tttx-graph_1_9_64.js} +2 -2
  148. package/dist/components/tttx-icon.js +3 -3
  149. package/dist/components/{tttx-icon_1_9_62.d.ts → tttx-icon_1_9_64.d.ts} +4 -4
  150. package/dist/components/{tttx-icon_1_9_62.js → tttx-icon_1_9_64.js} +2 -2
  151. package/dist/components/tttx-keyvalue-block_1_9_64.d.ts +11 -0
  152. package/dist/components/{tttx-keyvalue-block_1_9_62.js → tttx-keyvalue-block_1_9_64.js} +5 -5
  153. package/dist/components/tttx-list.js +6 -6
  154. package/dist/components/{tttx-list_1_9_62.d.ts → tttx-list_1_9_64.d.ts} +4 -4
  155. package/dist/components/{tttx-list_1_9_62.js → tttx-list_1_9_64.js} +2 -2
  156. package/dist/components/tttx-loading-spinner.js +3 -3
  157. package/dist/components/tttx-loading-spinner_1_9_64.d.ts +11 -0
  158. package/dist/components/{tttx-loading-spinner_1_9_62.js → tttx-loading-spinner_1_9_64.js} +2 -2
  159. package/dist/components/tttx-multiselect-box_1_9_64.d.ts +11 -0
  160. package/dist/components/{tttx-multiselect-box_1_9_62.js → tttx-multiselect-box_1_9_64.js} +16 -16
  161. package/dist/components/tttx-percentage-bar_1_9_64.d.ts +11 -0
  162. package/dist/components/{tttx-percentage-bar_1_9_62.js → tttx-percentage-bar_1_9_64.js} +6 -6
  163. package/dist/components/{tttx-qrcode_1_9_62.d.ts → tttx-qrcode_1_9_64.d.ts} +4 -4
  164. package/dist/components/{tttx-qrcode_1_9_62.js → tttx-qrcode_1_9_64.js} +5 -5
  165. package/dist/components/tttx-select-box.js +12 -12
  166. package/dist/components/tttx-select-box_1_9_64.d.ts +11 -0
  167. package/dist/components/{tttx-select-box_1_9_62.js → tttx-select-box_1_9_64.js} +2 -2
  168. package/dist/components/tttx-skeleton_loader_1_9_64.d.ts +11 -0
  169. package/dist/components/{tttx-skeleton_loader_1_9_62.js → tttx-skeleton_loader_1_9_64.js} +5 -5
  170. package/dist/components/tttx-sorter.js +5 -5
  171. package/dist/components/tttx-sorter_1_9_64.d.ts +11 -0
  172. package/dist/components/{tttx-sorter_1_9_62.js → tttx-sorter_1_9_64.js} +2 -2
  173. package/dist/components/tttx-standalone-input.js +6 -6
  174. package/dist/components/tttx-standalone-input_1_9_64.d.ts +11 -0
  175. package/dist/components/{tttx-standalone-input_1_9_62.js → tttx-standalone-input_1_9_64.js} +2 -2
  176. package/dist/components/tttx-table_1_9_64.d.ts +11 -0
  177. package/dist/components/{tttx-table_1_9_62.js → tttx-table_1_9_64.js} +5 -5
  178. package/dist/components/{tttx-form_1_9_62.d.ts → tttx-tabs_1_9_64.d.ts} +4 -4
  179. package/dist/components/{tttx-tabs_1_9_62.js → tttx-tabs_1_9_64.js} +9 -9
  180. package/dist/components/tttx-tag.js +5 -5
  181. package/dist/components/{tttx-tag_1_9_62.d.ts → tttx-tag_1_9_64.d.ts} +4 -4
  182. package/dist/components/{tttx-tag_1_9_62.js → tttx-tag_1_9_64.js} +2 -2
  183. package/dist/components/tttx-textarea_1_9_64.d.ts +11 -0
  184. package/dist/components/{tttx-textarea_1_9_62.js → tttx-textarea_1_9_64.js} +6 -6
  185. package/dist/components/tttx-toggle_1_9_64.d.ts +11 -0
  186. package/dist/components/{tttx-toggle_1_9_62.js → tttx-toggle_1_9_64.js} +5 -5
  187. package/dist/components/tttx-toolbar.js +3 -3
  188. package/dist/components/tttx-toolbar_1_9_64.d.ts +11 -0
  189. package/dist/components/{tttx-toolbar_1_9_62.js → tttx-toolbar_1_9_64.js} +2 -2
  190. package/dist/components/tttx-tree-view_1_9_64.d.ts +11 -0
  191. package/dist/components/{tttx-tree-view_1_9_62.js → tttx-tree-view_1_9_64.js} +9 -9
  192. package/dist/esm/auto-c6e6ac5c.js +14781 -0
  193. package/dist/esm/{index-3d473f8b.js → index-6b9af9c9.js} +12 -0
  194. package/dist/esm/loader.js +3 -3
  195. package/dist/esm/{tttx-action-dropdown_1_9_62.entry.js → tttx-action-dropdown_1_9_64.entry.js} +3 -3
  196. package/dist/esm/tttx-button-v2_1_9_64.entry.js +117 -0
  197. package/dist/esm/{tttx-button_1_9_62.entry.js → tttx-button_1_9_64.entry.js} +3 -3
  198. package/dist/esm/tttx-chart_1_9_64.entry.js +199 -0
  199. package/dist/esm/{tttx-checkbox-group-caption_1_9_62.entry.js → tttx-checkbox-group-caption_1_9_64.entry.js} +2 -2
  200. package/dist/esm/{tttx-checkbox-group-heading_1_9_62.entry.js → tttx-checkbox-group-heading_1_9_64.entry.js} +2 -2
  201. package/dist/esm/{tttx-checkbox-group_1_9_62.entry.js → tttx-checkbox-group_1_9_64.entry.js} +2 -2
  202. package/dist/esm/{tttx-checkbox_1_9_62.entry.js → tttx-checkbox_1_9_64.entry.js} +3 -3
  203. package/dist/esm/{tttx-comments_1_9_62.entry.js → tttx-comments_1_9_64.entry.js} +5 -5
  204. package/dist/esm/{tttx-data-pattern_1_9_62.entry.js → tttx-data-pattern_1_9_64.entry.js} +6 -6
  205. package/dist/esm/{tttx-datacard_1_9_62.entry.js → tttx-datacard_1_9_64.entry.js} +5 -5
  206. package/dist/esm/tttx-date-range-picker.entry.js +2 -2
  207. package/dist/esm/{tttx-dialog-box_1_9_62.entry.js → tttx-dialog-box_1_9_64.entry.js} +4 -4
  208. package/dist/esm/{tttx-dialog_1_9_62.entry.js → tttx-dialog_1_9_64.entry.js} +3 -3
  209. package/dist/esm/{tttx-expander_1_9_62.entry.js → tttx-expander_1_9_64.entry.js} +3 -3
  210. package/dist/esm/{tttx-filter_1_9_62_4.entry.js → tttx-filter_1_9_64_4.entry.js} +7 -7
  211. package/dist/esm/{tttx-form_1_9_62.entry.js → tttx-form_1_9_64.entry.js} +3 -3
  212. package/dist/esm/tttx-graph_1_9_64.entry.js +132 -0
  213. package/dist/esm/{tttx-icon_1_9_62.entry.js → tttx-icon_1_9_64.entry.js} +2 -2
  214. package/dist/esm/{tttx-keyvalue-block_1_9_62.entry.js → tttx-keyvalue-block_1_9_64.entry.js} +2 -2
  215. package/dist/esm/{tttx-loading-spinner_1_9_62_3.entry.js → tttx-loading-spinner_1_9_64_3.entry.js} +5 -5
  216. package/dist/esm/{tttx-multiselect-box_1_9_62.entry.js → tttx-multiselect-box_1_9_64.entry.js} +8 -8
  217. package/dist/esm/{tttx-percentage-bar_1_9_62.entry.js → tttx-percentage-bar_1_9_64.entry.js} +3 -3
  218. package/dist/esm/{tttx-qrcode_1_9_62.entry.js → tttx-qrcode_1_9_64.entry.js} +2 -2
  219. package/dist/esm/{tttx-select-box_1_9_62.entry.js → tttx-select-box_1_9_64.entry.js} +7 -7
  220. package/dist/esm/{tttx-skeleton_loader_1_9_62.entry.js → tttx-skeleton_loader_1_9_64.entry.js} +2 -2
  221. package/dist/esm/{tttx-table_1_9_62.entry.js → tttx-table_1_9_64.entry.js} +2 -2
  222. package/dist/esm/{tttx-tabs_1_9_62.entry.js → tttx-tabs_1_9_64.entry.js} +5 -5
  223. package/dist/esm/{tttx-textarea_1_9_62.entry.js → tttx-textarea_1_9_64.entry.js} +3 -3
  224. package/dist/esm/{tttx-toggle_1_9_62.entry.js → tttx-toggle_1_9_64.entry.js} +2 -2
  225. package/dist/esm/{tttx-tree-view_1_9_62.entry.js → tttx-tree-view_1_9_64.entry.js} +4 -4
  226. package/dist/esm/tttx.js +3 -3
  227. package/dist/tttx/{p-477b66de.entry.js → p-04acb4f7.entry.js} +1 -1
  228. package/dist/tttx/{p-f1e945ba.entry.js → p-1b8af0a1.entry.js} +1 -1
  229. package/dist/tttx/p-1c0db631.entry.js +1 -0
  230. package/dist/tttx/{p-b44ddcb7.entry.js → p-210a3640.entry.js} +1 -1
  231. package/dist/tttx/{p-7bfa4e1e.entry.js → p-28528c3a.entry.js} +1 -1
  232. package/dist/tttx/{p-1814eb61.entry.js → p-28902955.entry.js} +1 -1
  233. package/dist/tttx/{p-bc8c1d08.entry.js → p-2a6e57b3.entry.js} +1 -1
  234. package/dist/tttx/p-39bb618e.js +19 -0
  235. package/dist/tttx/{p-d62c8ed2.entry.js → p-46853736.entry.js} +1 -1
  236. package/dist/tttx/{p-a800aa5d.entry.js → p-46933761.entry.js} +1 -1
  237. package/dist/tttx/{p-a1ba99fb.entry.js → p-46985553.entry.js} +1 -1
  238. package/dist/tttx/{p-cb3b393b.entry.js → p-478169f8.entry.js} +1 -1
  239. package/dist/tttx/{p-b4b5e1e1.entry.js → p-4bc84dcf.entry.js} +1 -1
  240. package/dist/tttx/{p-54060e46.entry.js → p-4e8dee24.entry.js} +1 -1
  241. package/dist/tttx/p-655cebb7.entry.js +1 -0
  242. package/dist/tttx/{p-2636cba4.entry.js → p-6ae828ed.entry.js} +1 -1
  243. package/dist/tttx/{p-24eef142.entry.js → p-72aa3209.entry.js} +1 -1
  244. package/dist/tttx/p-753a802a.entry.js +1 -0
  245. package/dist/tttx/{p-13d3d63c.entry.js → p-79a18842.entry.js} +1 -1
  246. package/dist/tttx/{p-218f3309.entry.js → p-8db27f20.entry.js} +1 -1
  247. package/dist/tttx/{p-972b7449.entry.js → p-92b48e8e.entry.js} +1 -1
  248. package/dist/tttx/{p-8be90d8a.entry.js → p-95ea704b.entry.js} +1 -1
  249. package/dist/tttx/{p-edf27c73.entry.js → p-964b5e1a.entry.js} +1 -1
  250. package/dist/tttx/{p-e84965f0.entry.js → p-99cee169.entry.js} +1 -1
  251. package/dist/tttx/{p-a474dc05.entry.js → p-a380f600.entry.js} +1 -1
  252. package/dist/tttx/{p-2b0fc913.js → p-c2a82822.js} +1 -1
  253. package/dist/tttx/{p-fac3056d.entry.js → p-ce6a69bc.entry.js} +1 -1
  254. package/dist/tttx/{p-61af5028.entry.js → p-cfc7f861.entry.js} +1 -1
  255. package/dist/tttx/{p-19294325.entry.js → p-e0bd4daa.entry.js} +1 -1
  256. package/dist/tttx/{p-67f75171.entry.js → p-e7c92d26.entry.js} +1 -1
  257. package/dist/tttx/{p-acb9e007.entry.js → p-e8d02dd3.entry.js} +1 -1
  258. package/dist/tttx/{p-5f35edd8.entry.js → p-eda88cd9.entry.js} +1 -1
  259. package/dist/tttx/{p-7c7e8951.entry.js → p-ffb09d64.entry.js} +1 -1
  260. package/dist/tttx/tttx.esm.js +1 -1
  261. package/dist/types/components/atoms/tttx-button-v2/tttx-button-v2.d.ts +32 -0
  262. package/dist/types/components/atoms/tttx-button-v2/tttx-button-v2.stories.d.ts +64 -0
  263. package/dist/types/components/molecules/tttx-chart/tttx-chart.d.ts +42 -0
  264. package/dist/types/components/molecules/tttx-chart/tttx-chart.stories.d.ts +11 -0
  265. package/dist/types/components/molecules/tttx-select-box/tttx-select-box.d.ts +1 -1
  266. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +2 -2
  267. package/dist/types/components/molecules/tttx-textarea/tttx-textarea.d.ts +2 -2
  268. package/dist/types/components.d.ts +490 -395
  269. package/package.json +1 -1
  270. package/dist/components/tttx-action-dropdown_1_9_62.d.ts +0 -11
  271. package/dist/components/tttx-checkbox-group-caption_1_9_62.d.ts +0 -11
  272. package/dist/components/tttx-checkbox-group-heading_1_9_62.d.ts +0 -11
  273. package/dist/components/tttx-checkbox-group_1_9_62.d.ts +0 -11
  274. package/dist/components/tttx-data-pattern_1_9_62.d.ts +0 -11
  275. package/dist/components/tttx-dialog-box_1_9_62.d.ts +0 -11
  276. package/dist/components/tttx-expander_1_9_62.d.ts +0 -11
  277. package/dist/components/tttx-keyvalue-block_1_9_62.d.ts +0 -11
  278. package/dist/components/tttx-loading-spinner_1_9_62.d.ts +0 -11
  279. package/dist/components/tttx-multiselect-box_1_9_62.d.ts +0 -11
  280. package/dist/components/tttx-percentage-bar_1_9_62.d.ts +0 -11
  281. package/dist/components/tttx-select-box_1_9_62.d.ts +0 -11
  282. package/dist/components/tttx-skeleton_loader_1_9_62.d.ts +0 -11
  283. package/dist/components/tttx-sorter_1_9_62.d.ts +0 -11
  284. package/dist/components/tttx-standalone-input_1_9_62.d.ts +0 -11
  285. package/dist/components/tttx-textarea_1_9_62.d.ts +0 -11
  286. package/dist/components/tttx-toggle_1_9_62.d.ts +0 -11
  287. package/dist/components/tttx-toolbar_1_9_62.d.ts +0 -11
  288. package/dist/components/tttx-tree-view_1_9_62.d.ts +0 -11
  289. package/dist/tttx/p-bbecd0d9.entry.js +0 -19
@@ -0,0 +1,383 @@
1
+ import { h } from '@stencil/core';
2
+ import Chart from 'chart.js/auto';
3
+ export class TttxChart {
4
+ constructor() {
5
+ this.chartType = undefined;
6
+ this.chartData = undefined;
7
+ this.chartOptions = undefined;
8
+ this.loading = false;
9
+ this.error = undefined;
10
+ this.fallbackText = 'No data available';
11
+ this.width = '100%';
12
+ this.height = 'auto';
13
+ this.exportable = false;
14
+ this.chartInstance = undefined;
15
+ this.showPngSvgExport = false;
16
+ }
17
+ handleUpdate() {
18
+ this.renderChart();
19
+ }
20
+ componentDidLoad() {
21
+ this.renderChart();
22
+ }
23
+ disconnectedCallback() {
24
+ this.destroyChart();
25
+ }
26
+ renderChart() {
27
+ var _a, _b;
28
+ if (!this.canvasEl || !this.chartData || !this.chartType)
29
+ return;
30
+ this.destroyChart();
31
+ const config = {
32
+ type: this.getChartJsType(),
33
+ data: this.chartData,
34
+ options: this.getChartOptions(),
35
+ plugins: []
36
+ };
37
+ if (this.chartType === 'doughnut' || this.chartType === 'semi-gauge') {
38
+ const total = ((_b = (_a = this.chartData.datasets[0]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.map((d) => Number(d) || 0).reduce((a, b) => a + b, 0)) || 0;
39
+ config.plugins.push(this.getCenterTextPlugin(total.toLocaleString()));
40
+ }
41
+ this.chartInstance = new Chart(this.canvasEl, config);
42
+ }
43
+ destroyChart() {
44
+ if (this.chartInstance) {
45
+ this.chartInstance.destroy();
46
+ }
47
+ }
48
+ getChartJsType() {
49
+ if (this.chartType === 'semi-gauge')
50
+ return 'doughnut';
51
+ return this.chartType;
52
+ }
53
+ getBaseOptions() {
54
+ return {
55
+ responsive: true,
56
+ maintainAspectRatio: false,
57
+ plugins: {
58
+ legend: {
59
+ display: true,
60
+ position: 'bottom',
61
+ labels: {
62
+ usePointStyle: true,
63
+ pointStyle: 'circle',
64
+ },
65
+ },
66
+ tooltip: {
67
+ callbacks: {
68
+ label: (ctx) => `${ctx.label || ctx.dataset.label}: ${ctx.formattedValue}`,
69
+ },
70
+ },
71
+ },
72
+ };
73
+ }
74
+ getLineChartConfig() {
75
+ return {
76
+ plugins: {
77
+ legend: {
78
+ labels: { usePointStyle: true, pointStyle: 'line' },
79
+ },
80
+ tooltip: {
81
+ callbacks: {
82
+ label: (ctx) => `${ctx.dataset.label}: ${ctx.formattedValue}%`,
83
+ },
84
+ },
85
+ },
86
+ scales: {
87
+ x: { grid: { color: '#e5e5e5' } },
88
+ y: {
89
+ beginAtZero: true,
90
+ max: 100,
91
+ ticks: { callback: (val) => `${val}%` },
92
+ grid: { color: '#e5e5e5' },
93
+ },
94
+ },
95
+ };
96
+ }
97
+ getDoughnutChartConfig() {
98
+ return {
99
+ plugins: {
100
+ legend: { labels: { pointStyle: 'circle', padding: 16, } },
101
+ },
102
+ cutout: '60%'
103
+ };
104
+ }
105
+ getCenterTextPlugin(value) {
106
+ return {
107
+ id: 'centerText',
108
+ afterDatasetsDraw: (chart) => {
109
+ const { ctx } = chart;
110
+ ctx.save();
111
+ const x = chart.getDatasetMeta(0).data[0].x;
112
+ let y = chart.getDatasetMeta(0).data[0].y;
113
+ if (this.chartType === 'semi-gauge') {
114
+ y -= 20;
115
+ }
116
+ ctx.font = 'bold 20px Roboto';
117
+ ctx.fillStyle = '#111';
118
+ ctx.textAlign = 'center';
119
+ ctx.textBaseline = 'middle';
120
+ ctx.fillText(value, x, y);
121
+ },
122
+ };
123
+ }
124
+ getSemiGaugeChartConfig() {
125
+ return {
126
+ plugins: {
127
+ legend: { labels: { pointStyle: 'circle', padding: 16, } },
128
+ },
129
+ rotation: -90,
130
+ circumference: 180,
131
+ cutout: '70%',
132
+ };
133
+ }
134
+ merge(target, source) {
135
+ if (typeof target !== 'object' || typeof source !== 'object')
136
+ return source;
137
+ for (const key of Object.keys(source)) {
138
+ if (source[key] instanceof Object && key in target) {
139
+ target[key] = this.merge(Object.assign({}, target[key]), source[key]);
140
+ }
141
+ else {
142
+ target[key] = source[key];
143
+ }
144
+ }
145
+ return target;
146
+ }
147
+ getChartOptions() {
148
+ const base = this.getBaseOptions();
149
+ let specific = {};
150
+ if (this.chartType === 'line')
151
+ specific = this.getLineChartConfig();
152
+ else if (this.chartType === 'doughnut')
153
+ specific = this.getDoughnutChartConfig();
154
+ else if (this.chartType === 'semi-gauge')
155
+ specific = this.getSemiGaugeChartConfig();
156
+ return this.merge(this.merge(base, specific), this.chartOptions || {});
157
+ }
158
+ exportChart(format) {
159
+ if (!this.chartInstance)
160
+ return;
161
+ const link = document.createElement('a');
162
+ link.download = `chart-export.${format}`;
163
+ if (format === 'png') {
164
+ link.href = this.chartInstance.toBase64Image('image/png');
165
+ }
166
+ else {
167
+ const svgData = new XMLSerializer().serializeToString(this.canvasEl);
168
+ const blob = new Blob([svgData], { type: 'image/svg+xml' });
169
+ link.href = URL.createObjectURL(blob);
170
+ }
171
+ link.click();
172
+ }
173
+ getErrorContent() {
174
+ return this.commonContent('warning', 'Something went wrong', 'We ran into an issue while trying to load this widget.', '#DC0000', true);
175
+ }
176
+ getNoDataContent() {
177
+ return this.commonContent('ssid_chart', 'No data available', 'There is currently no data available to show performance trends.', '#111');
178
+ }
179
+ commonContent(iconName, heading, message, iconColor, showActions = false) {
180
+ return (h("div", { class: "error-content" }, h("tttx-icon_1_9_64", { icon: iconName, color: iconColor, size: 48 }), h("span", { class: 'error-heading' }, heading), h("span", { class: 'error-message' }, message), showActions && h("div", { class: "error-actions" }, h("tttx-button_1_9_64", { class: 'reload-btn', icon: "refresh", design: 'default', onClick: () => this.renderChart() }, "Reload data"), h("tttx-button_1_9_64", { class: 'support-btn', icon: "help", design: "primary", onClick: () => this.renderChart() }, "Contact support"))));
181
+ }
182
+ render() {
183
+ var _a, _b, _c;
184
+ return (h("div", { class: "chart-wrapper", style: { width: this.width, height: this.height } }, this.loading && h("div", { class: "chart-loading" }, h("tttx-loading-spinner_1_9_64", { size: 'large', color: '#2b9ab7' })), this.error && this.getErrorContent(), !this.loading && !this.error && (!this.chartData || !((_a = this.chartData.datasets) === null || _a === void 0 ? void 0 : _a.length)) && (this.getNoDataContent()), !this.loading && !this.error && ((_c = (_b = this.chartData) === null || _b === void 0 ? void 0 : _b.datasets) === null || _c === void 0 ? void 0 : _c.length) > 0 && (h("canvas", { ref: el => (this.canvasEl = el), "aria-label": "Chart canvas", role: "img" })), this.exportable && !this.loading && !this.error && (h("div", { class: "export-buttons" }, this.showPngSvgExport && h("tttx-button_1_9_64", { class: 'export-png', design: "primary", onClick: () => this.exportChart('png') }, "Export PNG"), this.showPngSvgExport && h("tttx-button_1_9_64", { class: 'export-svg', design: "primary", onClick: () => this.exportChart('svg') }, "Export SVG"), h("tttx-button_1_9_64", { class: 'export-csv', design: "primary", onClick: () => this.exportCSV.emit({ name: this.chartType }) }, "Export CSV")))));
185
+ }
186
+ static get is() { return "tttx-chart_1_9_64"; }
187
+ static get encapsulation() { return "shadow"; }
188
+ static get originalStyleUrls() {
189
+ return {
190
+ "$": ["tttx-chart.scss"]
191
+ };
192
+ }
193
+ static get styleUrls() {
194
+ return {
195
+ "$": ["tttx-chart.css"]
196
+ };
197
+ }
198
+ static get properties() {
199
+ return {
200
+ "chartType": {
201
+ "type": "string",
202
+ "mutable": false,
203
+ "complexType": {
204
+ "original": "'line' | 'doughnut' | 'semi-gauge'",
205
+ "resolved": "\"doughnut\" | \"line\" | \"semi-gauge\"",
206
+ "references": {}
207
+ },
208
+ "required": false,
209
+ "optional": false,
210
+ "docs": {
211
+ "tags": [],
212
+ "text": ""
213
+ },
214
+ "attribute": "chart-type",
215
+ "reflect": false
216
+ },
217
+ "chartData": {
218
+ "type": "unknown",
219
+ "mutable": false,
220
+ "complexType": {
221
+ "original": "ChartData",
222
+ "resolved": "ChartData<keyof ChartTypeRegistry, (number | Point | [number, number] | BubbleDataPoint)[], unknown>",
223
+ "references": {
224
+ "ChartData": {
225
+ "location": "import",
226
+ "path": "chart.js"
227
+ }
228
+ }
229
+ },
230
+ "required": false,
231
+ "optional": false,
232
+ "docs": {
233
+ "tags": [],
234
+ "text": ""
235
+ }
236
+ },
237
+ "chartOptions": {
238
+ "type": "unknown",
239
+ "mutable": false,
240
+ "complexType": {
241
+ "original": "ChartOptions",
242
+ "resolved": "{ datasets?: _DeepPartialObject<{ line: LineControllerDatasetOptions & FillerControllerDatasetOptions; bar: BarControllerDatasetOptions; scatter: LineControllerDatasetOptions; bubble: BubbleControllerDatasetOptions; pie: DoughnutControllerDatasetOptions; doughnut: DoughnutControllerDatasetOptions; polarArea: PolarAreaControllerDatasetOptions; radar: RadarControllerDatasetOptions & FillerControllerDatasetOptions; }>; indexAxis?: \"x\" | \"y\"; clip?: number | false | _DeepPartialObject<ChartArea>; color?: string | _DeepPartialObject<CanvasGradient> | _DeepPartialObject<CanvasPattern> | ((ctx: ScriptableContext<keyof ChartTypeRegistry>, options: AnyObject) => Color); backgroundColor?: string | _DeepPartialObject<CanvasGradient> | _DeepPartialObject<CanvasPattern> | ((ctx: ScriptableContext<keyof ChartTypeRegistry>, options: AnyObject) => Color); borderColor?: string | _DeepPartialObject<CanvasGradient> | _DeepPartialObject<CanvasPattern> | ((ctx: ScriptableContext<keyof ChartTypeRegistry>, options: AnyObject) => Color); font?: _DeepPartialObject<Partial<FontSpec>>; responsive?: boolean; maintainAspectRatio?: boolean; resizeDelay?: number; aspectRatio?: number; locale?: string; onResize?: (chart: Chart<keyof ChartTypeRegistry, (number | Point | [number, number] | BubbleDataPoint)[], unknown>, size: { width: number; height: number; }) => void; devicePixelRatio?: number; interaction?: _DeepPartialObject<CoreInteractionOptions>; hover?: _DeepPartialObject<CoreInteractionOptions>; events?: _DeepPartialArray<keyof HTMLElementEventMap>; onHover?: (event: ChartEvent, elements: ActiveElement[], chart: Chart<keyof ChartTypeRegistry, (number | Point | [number, number] | BubbleDataPoint)[], unknown>) => void; onClick?: (event: ChartEvent, elements: ActiveElement[], chart: Chart<keyof ChartTypeRegistry, (number | Point | [number, number] | BubbleDataPoint)[], unknown>) => void; layout?: _DeepPartialObject<Partial<{ autoPadding: boolean; padding: Scriptable<Padding, ScriptableContext<keyof ChartTypeRegistry>>; }>>; parsing?: false | _DeepPartialObject<{ [key: string]: string; }>; normalized?: boolean; animation?: false | _DeepPartialObject<AnimationSpec<keyof ChartTypeRegistry> & { onProgress?: (this: Chart<keyof ChartTypeRegistry, (number | Point | [number, number] | BubbleDataPoint)[], unknown>, event: AnimationEvent) => void; onComplete?: (this: Chart<keyof ChartTypeRegistry, (number | Point | [number, number] | BubbleDataPoint)[], unknown>, event: AnimationEvent) => void; }>; animations?: _DeepPartialObject<AnimationsSpec<keyof ChartTypeRegistry>>; transitions?: _DeepPartialObject<TransitionsSpec<keyof ChartTypeRegistry>>; elements?: _DeepPartialObject<ElementOptionsByType<keyof ChartTypeRegistry>>; plugins?: _DeepPartialObject<PluginOptionsByType<keyof ChartTypeRegistry>>; line?: _DeepPartialObject<{ datasets: LineControllerDatasetOptions & FillerControllerDatasetOptions; }>; bar?: _DeepPartialObject<{ datasets: BarControllerDatasetOptions; }>; scatter?: _DeepPartialObject<{ datasets: LineControllerDatasetOptions; }>; bubble?: _DeepPartialObject<{ datasets: BubbleControllerDatasetOptions; }>; pie?: _DeepPartialObject<{ datasets: DoughnutControllerDatasetOptions; }>; doughnut?: _DeepPartialObject<{ datasets: DoughnutControllerDatasetOptions; }>; polarArea?: _DeepPartialObject<{ datasets: PolarAreaControllerDatasetOptions; }>; radar?: _DeepPartialObject<{ datasets: RadarControllerDatasetOptions & FillerControllerDatasetOptions; }>; scales?: _DeepPartialObject<{ [key: string]: ScaleOptionsByType<\"radialLinear\" | keyof CartesianScaleTypeRegistry>; }>; }",
243
+ "references": {
244
+ "ChartOptions": {
245
+ "location": "import",
246
+ "path": "chart.js"
247
+ }
248
+ }
249
+ },
250
+ "required": false,
251
+ "optional": true,
252
+ "docs": {
253
+ "tags": [],
254
+ "text": ""
255
+ }
256
+ },
257
+ "loading": {
258
+ "type": "boolean",
259
+ "mutable": false,
260
+ "complexType": {
261
+ "original": "boolean",
262
+ "resolved": "boolean",
263
+ "references": {}
264
+ },
265
+ "required": false,
266
+ "optional": true,
267
+ "docs": {
268
+ "tags": [],
269
+ "text": ""
270
+ },
271
+ "attribute": "loading",
272
+ "reflect": false,
273
+ "defaultValue": "false"
274
+ },
275
+ "error": {
276
+ "type": "boolean",
277
+ "mutable": false,
278
+ "complexType": {
279
+ "original": "boolean",
280
+ "resolved": "boolean",
281
+ "references": {}
282
+ },
283
+ "required": false,
284
+ "optional": true,
285
+ "docs": {
286
+ "tags": [],
287
+ "text": ""
288
+ },
289
+ "attribute": "error",
290
+ "reflect": false
291
+ },
292
+ "fallbackText": {
293
+ "type": "string",
294
+ "mutable": false,
295
+ "complexType": {
296
+ "original": "string",
297
+ "resolved": "string",
298
+ "references": {}
299
+ },
300
+ "required": false,
301
+ "optional": true,
302
+ "docs": {
303
+ "tags": [],
304
+ "text": ""
305
+ },
306
+ "attribute": "fallback-text",
307
+ "reflect": false,
308
+ "defaultValue": "'No data available'"
309
+ },
310
+ "width": {
311
+ "type": "string",
312
+ "mutable": false,
313
+ "complexType": {
314
+ "original": "string",
315
+ "resolved": "string",
316
+ "references": {}
317
+ },
318
+ "required": false,
319
+ "optional": false,
320
+ "docs": {
321
+ "tags": [],
322
+ "text": ""
323
+ },
324
+ "attribute": "width",
325
+ "reflect": false,
326
+ "defaultValue": "'100%'"
327
+ },
328
+ "height": {
329
+ "type": "string",
330
+ "mutable": false,
331
+ "complexType": {
332
+ "original": "string",
333
+ "resolved": "string",
334
+ "references": {}
335
+ },
336
+ "required": false,
337
+ "optional": false,
338
+ "docs": {
339
+ "tags": [],
340
+ "text": ""
341
+ },
342
+ "attribute": "height",
343
+ "reflect": false,
344
+ "defaultValue": "'auto'"
345
+ }
346
+ };
347
+ }
348
+ static get states() {
349
+ return {
350
+ "exportable": {},
351
+ "chartInstance": {},
352
+ "showPngSvgExport": {}
353
+ };
354
+ }
355
+ static get events() {
356
+ return [{
357
+ "method": "exportCSV",
358
+ "name": "exportCSV",
359
+ "bubbles": true,
360
+ "cancelable": true,
361
+ "composed": true,
362
+ "docs": {
363
+ "tags": [],
364
+ "text": ""
365
+ },
366
+ "complexType": {
367
+ "original": "{ name: string }",
368
+ "resolved": "{ name: string; }",
369
+ "references": {}
370
+ }
371
+ }];
372
+ }
373
+ static get elementRef() { return "el"; }
374
+ static get watchers() {
375
+ return [{
376
+ "propName": "chartData",
377
+ "methodName": "handleUpdate"
378
+ }, {
379
+ "propName": "chartOptions",
380
+ "methodName": "handleUpdate"
381
+ }];
382
+ }
383
+ }
@@ -0,0 +1,112 @@
1
+ import { action } from '@storybook/addon-actions';
2
+ export default {
3
+ title: 'molecules/Charts',
4
+ component: 'tttx-chart_1_9_64',
5
+ parameters: {
6
+ layout: 'centered',
7
+ },
8
+ };
9
+ const Template = ({ width, height, chartData, loading, error }) => {
10
+ const el = document.createElement('tttx-chart_1_9_64');
11
+ el.chartType = 'line';
12
+ el.width = width;
13
+ el.height = height;
14
+ el.chartData = chartData;
15
+ el.loading = loading;
16
+ el.error = error;
17
+ el.addEventListener('exportCSV', (e) => {
18
+ action('exportCSV event')(e);
19
+ });
20
+ return el;
21
+ };
22
+ export const LineChart = Template.bind({});
23
+ LineChart.args = {
24
+ width: '600px',
25
+ height: '300px',
26
+ loading: false,
27
+ chartData: {
28
+ labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
29
+ datasets: [
30
+ {
31
+ label: 'Overall',
32
+ data: [35, 50, 70, 65, 60, 80, 85, 90, 95, 0, 0, 0],
33
+ borderColor: '#1579C6',
34
+ borderWidth: 2,
35
+ tension: 0.35,
36
+ },
37
+ {
38
+ label: 'Safety Critical',
39
+ data: [20, 30, 40, 30, 20, 35, 45, 65, 85, 0, 0, 0],
40
+ borderColor: '#146EB3',
41
+ borderWidth: 2,
42
+ borderDash: [6, 6],
43
+ tension: 0.35,
44
+ },
45
+ ],
46
+ },
47
+ error: false,
48
+ };
49
+ const DonutChartTemplate = ({ width, height, chartData, loading, error }) => {
50
+ const el = document.createElement('tttx-chart_1_9_64');
51
+ el.chartType = 'doughnut';
52
+ el.width = width;
53
+ el.height = height;
54
+ el.chartData = chartData;
55
+ el.loading = loading;
56
+ el.error = error;
57
+ el.addEventListener('exportCSV', (e) => {
58
+ action('exportCSV event')(e);
59
+ });
60
+ return el;
61
+ };
62
+ export const DonutChart = DonutChartTemplate.bind({});
63
+ DonutChart.args = {
64
+ width: '600px',
65
+ height: '400px',
66
+ loading: false,
67
+ chartData: {
68
+ labels: ['Worker', 'Assessor', 'Verifier', 'Admin'],
69
+ datasets: [
70
+ {
71
+ data: [4000, 2500, 2000, 1154],
72
+ backgroundColor: ['#1579C6', '#146EB3', '#1464A2', '#C2DAEE'],
73
+ borderWidth: 0,
74
+ borderRadius: 4,
75
+ offset: 16
76
+ },
77
+ ],
78
+ },
79
+ error: false
80
+ };
81
+ const semiGaugeChartTemplate = ({ width, height, chartData, loading, error }) => {
82
+ const el = document.createElement('tttx-chart_1_9_64');
83
+ el.chartType = 'semi-gauge';
84
+ el.width = width;
85
+ el.height = height;
86
+ el.chartData = chartData;
87
+ el.loading = loading;
88
+ el.error = error;
89
+ el.addEventListener('exportCSV', (e) => {
90
+ action('exportCSV event')(e);
91
+ });
92
+ return el;
93
+ };
94
+ export const SemiGaugeChart = semiGaugeChartTemplate.bind({});
95
+ SemiGaugeChart.args = {
96
+ width: '600px',
97
+ height: '400px',
98
+ loading: false,
99
+ chartData: {
100
+ labels: ['Worker', 'Assessor', 'Verifier', 'Admin'],
101
+ datasets: [
102
+ {
103
+ data: [4000, 2500, 2000, 1154],
104
+ backgroundColor: ['#1579C6', '#146EB3', '#1464A2', '#C2DAEE'],
105
+ borderWidth: 0,
106
+ borderRadius: 4,
107
+ offset: 16
108
+ },
109
+ ],
110
+ },
111
+ error: false
112
+ };
@@ -3,7 +3,7 @@ export class TttxCheckboxGroupCaption {
3
3
  render() {
4
4
  return (h(Host, null, h("div", { class: 'tttx-checkbox-group__caption' }, h("slot", null))));
5
5
  }
6
- static get is() { return "tttx-checkbox-group-caption_1_9_62"; }
6
+ static get is() { return "tttx-checkbox-group-caption_1_9_64"; }
7
7
  static get originalStyleUrls() {
8
8
  return {
9
9
  "$": ["../tttx-checkbox-group.scss"]
@@ -3,7 +3,7 @@ export class TttxCheckboxGroupHeading {
3
3
  render() {
4
4
  return (h(Host, null, h("div", { class: 'tttx-checkbox-group__heading' }, h("slot", null))));
5
5
  }
6
- static get is() { return "tttx-checkbox-group-heading_1_9_62"; }
6
+ static get is() { return "tttx-checkbox-group-heading_1_9_64"; }
7
7
  static get originalStyleUrls() {
8
8
  return {
9
9
  "$": ["../tttx-checkbox-group.scss"]
@@ -3,7 +3,7 @@ export class TttxCheckboxGroup {
3
3
  render() {
4
4
  return (h(Host, null, h("div", { class: 'tttx-checkbox-group' }, h("slot", null))));
5
5
  }
6
- static get is() { return "tttx-checkbox-group_1_9_62"; }
6
+ static get is() { return "tttx-checkbox-group_1_9_64"; }
7
7
  static get encapsulation() { return "shadow"; }
8
8
  static get originalStyleUrls() {
9
9
  return {
@@ -10,38 +10,38 @@ export default {
10
10
  };
11
11
  const CheckboxGroupTemplate = ({ heading, checkboxData, captionTop, captionBottom }) => {
12
12
  return `
13
- <tttx-checkbox-group_1_9_62 >
13
+ <tttx-checkbox-group_1_9_64 >
14
14
  ${heading ? `
15
- <tttx-checkbox-group-heading_1_9_62>
15
+ <tttx-checkbox-group-heading_1_9_64>
16
16
  ${heading}
17
- </tttx-checkbox-group-heading_1_9_62>
17
+ </tttx-checkbox-group-heading_1_9_64>
18
18
  ` : ''}
19
19
 
20
20
  ${captionTop ? `
21
- <tttx-checkbox-group-caption_1_9_62>
21
+ <tttx-checkbox-group-caption_1_9_64>
22
22
  ${captionTop}
23
- </tttx-checkbox-group-caption_1_9_62>
23
+ </tttx-checkbox-group-caption_1_9_64>
24
24
  ` : ''}
25
25
 
26
26
  ${checkboxData.map(checkboxInfo => {
27
27
  const { label, checked, inline, indeterminate } = checkboxInfo;
28
28
  return `
29
- <tttx-checkbox_1_9_62
29
+ <tttx-checkbox_1_9_64
30
30
  checkbox-id="checkbox"
31
31
  label="${label}"
32
32
  ${inline && 'inline'}
33
33
  ${indeterminate && 'indeterminate'}
34
34
  ${checked && 'checked'}
35
35
  >
36
- </tttx-checkbox_1_9_62> `;
36
+ </tttx-checkbox_1_9_64> `;
37
37
  }).join('')}
38
38
 
39
39
  ${captionBottom ? `
40
- <tttx-checkbox-group-caption_1_9_62>
40
+ <tttx-checkbox-group-caption_1_9_64>
41
41
  ${captionBottom}
42
- </tttx-checkbox-group-caption_1_9_62>
42
+ </tttx-checkbox-group-caption_1_9_64>
43
43
  ` : ''}
44
- </tttx-checkbox-group_1_9_62>
44
+ </tttx-checkbox-group_1_9_64>
45
45
  `;
46
46
  };
47
47
  export const singleCheckbox = CheckboxGroupTemplate.bind({});
@@ -72,7 +72,7 @@ export class TttxComments {
72
72
  }
73
73
  unreadDividerRendered = unreadDividerRendered || nextIsUnread;
74
74
  return [
75
- h("div", { class: bubbleClass, style: topComment }, firstComment && topDivider, h("div", { class: "bubbleHeader" }, h("div", { class: "bubble-header-inner" }, h("span", { class: "commentName" }, comment.createdByFullName), this.isUnread(comment) && (h("tttx-icon_1_9_62", { class: "unread-symbol", icon: "error", color: "blue", style: { height: '18px' }, size: 18 }))), ((_a = comment.metadata) === null || _a === void 0 ? void 0 : _a.contextString) && (h("span", { class: "commentContext" }, "(", comment.metadata.contextString, ")"))), h("div", { class: `bubbleText ${comment.isDeleted ? 'deleted-comment' : ''}` }, this.renderCommentInner(comment)), h("div", { class: "bubbleFooter" }, !this.readonly && this.allowEditing && isCurrentUser && !comment.isDeleted && !!comment.id && (h("div", null, !this.isFileComment(comment) && (h(Fragment, null, h("span", { class: "clickable", onClick: this.onEdit.bind(this, comment) }, "Edit"), " | ")), h("span", { class: "clickable", onClick: this.onRemove.bind(this, comment) }, "Remove"))), h("span", { class: "comment-date" }, !!comment.lastUpdatedAt && !comment.isDeleted && `Edited ${new Date(comment.lastUpdatedAt).toLocaleString(undefined, timestampOptions)}`, !!comment.lastUpdatedAt && comment.isDeleted && `Removed ${new Date(comment.lastUpdatedAt).toLocaleString(undefined, timestampOptions)}`, !comment.lastUpdatedAt && `${new Date(comment.createdAt).toLocaleString(undefined, timestampOptions)}`)), !divider && !isLastComment && h("hr", { class: "commentDivider" }), divider)
75
+ h("div", { class: bubbleClass, style: topComment }, firstComment && topDivider, h("div", { class: "bubbleHeader" }, h("div", { class: "bubble-header-inner" }, h("span", { class: "commentName" }, comment.createdByFullName), this.isUnread(comment) && (h("tttx-icon_1_9_64", { class: "unread-symbol", icon: "error", color: "blue", style: { height: '18px' }, size: 18 }))), ((_a = comment.metadata) === null || _a === void 0 ? void 0 : _a.contextString) && (h("span", { class: "commentContext" }, "(", comment.metadata.contextString, ")"))), h("div", { class: `bubbleText ${comment.isDeleted ? 'deleted-comment' : ''}` }, this.renderCommentInner(comment)), h("div", { class: "bubbleFooter" }, !this.readonly && this.allowEditing && isCurrentUser && !comment.isDeleted && !!comment.id && (h("div", null, !this.isFileComment(comment) && (h(Fragment, null, h("span", { class: "clickable", onClick: this.onEdit.bind(this, comment) }, "Edit"), " | ")), h("span", { class: "clickable", onClick: this.onRemove.bind(this, comment) }, "Remove"))), h("span", { class: "comment-date" }, !!comment.lastUpdatedAt && !comment.isDeleted && `Edited ${new Date(comment.lastUpdatedAt).toLocaleString(undefined, timestampOptions)}`, !!comment.lastUpdatedAt && comment.isDeleted && `Removed ${new Date(comment.lastUpdatedAt).toLocaleString(undefined, timestampOptions)}`, !comment.lastUpdatedAt && `${new Date(comment.createdAt).toLocaleString(undefined, timestampOptions)}`)), !divider && !isLastComment && h("hr", { class: "commentDivider" }), divider)
76
76
  ];
77
77
  })));
78
78
  }
@@ -83,7 +83,7 @@ export class TttxComments {
83
83
  return this.isFileComment(comment) ? this.renderFileLink(comment.metadata) : comment.text;
84
84
  }
85
85
  renderFileLink(metadata) {
86
- return (h("div", { class: "file-link-container" }, h("tttx-icon_1_9_62", { icon: "attach_file", color: "black", style: { height: '20px' }, size: 20 }), h("button", { class: "linkButton", type: "button", value: metadata.key, onClick: this.onFileDownloadRequest.bind(this) }, metadata.filename)));
86
+ return (h("div", { class: "file-link-container" }, h("tttx-icon_1_9_64", { icon: "attach_file", color: "black", style: { height: '20px' }, size: 20 }), h("button", { class: "linkButton", type: "button", value: metadata.key, onClick: this.onFileDownloadRequest.bind(this) }, metadata.filename)));
87
87
  }
88
88
  onFormSubmit(event) {
89
89
  // get comment text
@@ -177,9 +177,9 @@ export class TttxComments {
177
177
  this.requestCommentRemoval.emit(comment);
178
178
  }
179
179
  render() {
180
- return (h(Host, null, h("article", { id: "comment-container" }, (!Array.isArray(this._comments) || this._comments.length === 0) && (h("div", { class: "no-comments" }, h("tttx-icon_1_9_62", { class: 'mt-s', icon: "chat_bubble_outline", color: "grey" }), h("span", null, "No comments have been added"))), h("section", { id: "comment-bubbles-section" }, h("div", { id: "scroll-container", ref: el => this._scrollContainer = el }, this.renderCommentBubble())), h("section", { id: "input-section" }, !this.readonly && h("form", { onSubmit: this.onFormSubmit.bind(this) }, this.editingComment && (h("div", { class: "cancel-edit-container" }, h("span", { class: "cancel-edit-button clickable", onClick: this.onFinishEdit.bind(this) }, "x"))), h("fieldset", null, h("textarea", { ref: el => this.textInput = el, name: "commentText", required: true, maxlength: `${this.messageLimit}`, placeholder: this.placeholder, onInput: (e) => this.onCommentFieldChange(e), style: { '--textarea-max-height': `${this.inputBoxHeight}px` }, class: "comment-textarea", value: this.value, onBlur: this.handleBlur.bind(this) })), this.showError && (h("span", { class: 'errorBubble visible' }, h("span", { class: "material-symbols-rounded" }, "warning"), " ", `${this.messageLimit} character limit is reached.`)), h("fieldset", null, this.editingComment && (h("span", { class: 'editing-sub-text' }, "Editing comment")), !this.disableFile && (h("button", { id: "attach-file", class: "flex-right-align clickable", type: "button", value: "File", onClick: this.onFileUploadRequest.bind(this) }, h("tttx-icon_1_9_62", { color: "black", icon: "attach_file" }))), h("input", { class: (this.disableFile ? 'flex-right-align ' : '') + 'clickable', style: { width: 'fit-content' }, type: "submit", value: this._saveButtonText })))))));
180
+ return (h(Host, null, h("article", { id: "comment-container" }, (!Array.isArray(this._comments) || this._comments.length === 0) && (h("div", { class: "no-comments" }, h("tttx-icon_1_9_64", { class: 'mt-s', icon: "chat_bubble_outline", color: "grey" }), h("span", null, "No comments have been added"))), h("section", { id: "comment-bubbles-section" }, h("div", { id: "scroll-container", ref: el => this._scrollContainer = el }, this.renderCommentBubble())), h("section", { id: "input-section" }, !this.readonly && h("form", { onSubmit: this.onFormSubmit.bind(this) }, this.editingComment && (h("div", { class: "cancel-edit-container" }, h("span", { class: "cancel-edit-button clickable", onClick: this.onFinishEdit.bind(this) }, "x"))), h("fieldset", null, h("textarea", { ref: el => this.textInput = el, name: "commentText", required: true, maxlength: `${this.messageLimit}`, placeholder: this.placeholder, onInput: (e) => this.onCommentFieldChange(e), style: { '--textarea-max-height': `${this.inputBoxHeight}px` }, class: "comment-textarea", value: this.value, onBlur: this.handleBlur.bind(this) })), this.showError && (h("span", { class: 'errorBubble visible' }, h("span", { class: "material-symbols-rounded" }, "warning"), " ", `${this.messageLimit} character limit is reached.`)), h("fieldset", null, this.editingComment && (h("span", { class: 'editing-sub-text' }, "Editing comment")), !this.disableFile && (h("button", { id: "attach-file", class: "flex-right-align clickable", type: "button", value: "File", onClick: this.onFileUploadRequest.bind(this) }, h("tttx-icon_1_9_64", { color: "black", icon: "attach_file" }))), h("input", { class: (this.disableFile ? 'flex-right-align ' : '') + 'clickable', style: { width: 'fit-content' }, type: "submit", value: this._saveButtonText })))))));
181
181
  }
182
- static get is() { return "tttx-comments_1_9_62"; }
182
+ static get is() { return "tttx-comments_1_9_64"; }
183
183
  static get encapsulation() { return "shadow"; }
184
184
  static get originalStyleUrls() {
185
185
  return {
@@ -8,12 +8,12 @@ const myUser = { id: '42069232-8c58-47fc-8825-f33c0c33ab97', userName: 'john.doe
8
8
  const otherUser = { id: '8c23e87b-f005-4a5a-bab5-de89b9bf4ab6', userName: 'robert.doe@example.com' };
9
9
  const Default = ({ currentUser, comments, allowEditing }) => `
10
10
  <section style="width: 300px; display: inline-block; height: calc(100vh - 50px)">
11
- <tttx-comments_1_9_62
11
+ <tttx-comments_1_9_64
12
12
  currentuser="${currentUser}"
13
13
  comments='${JSON.stringify(comments)}'
14
14
  allow-editing=${allowEditing}
15
15
  >
16
- </tttx-comments_1_9_62>
16
+ </tttx-comments_1_9_64>
17
17
  </section>
18
18
  `;
19
19
  export const DefaultComments = Default.bind({});
@@ -95,12 +95,12 @@ DefaultComments.args = {
95
95
  };
96
96
  const Unread = ({ currentUser, comments, allowEditing }) => `
97
97
  <section style="width: 300px; display: inline-block; height: calc(100vh - 50px)">
98
- <tttx-comments_1_9_62
98
+ <tttx-comments_1_9_64
99
99
  currentuser="${currentUser}"
100
100
  comments='${JSON.stringify(comments)}'
101
101
  allow-editing=${allowEditing}
102
102
  >
103
- </tttx-comments_1_9_62>
103
+ </tttx-comments_1_9_64>
104
104
  </section>
105
105
  `;
106
106
  export const UnreadComments = Unread.bind({});
@@ -203,7 +203,7 @@ export class TttxDateRangePicker {
203
203
  return (h(Host, null, h("div", { class: "date-range-input", tabIndex: 0, "aria-haspopup": "dialog", "aria-expanded": this.showCalendar ? 'true' : 'false', ref: el => (this.inputRef = el), onClick: this.handleInputClick }, h("span", { class: {
204
204
  'range-text': true,
205
205
  'is-placeholder': !(this.startDate || this.endDate),
206
- } }, rangeText), (this.startDate || this.endDate) && (h("button", { class: "clear-btn", "aria-label": "Clear", onClick: this.handleClear }, "\u00D7")), h("span", { class: "calendar-icon", "aria-hidden": "true" }, h("tttx-icon_1_9_62", { icon: 'calendar_month' }))), this.showCalendar && (h("div", { class: "calendar-popup single" }, this.renderCalendar(this.currentYear, this.currentMonth, this.handleDateClick.bind(this))))));
206
+ } }, rangeText), (this.startDate || this.endDate) && (h("button", { class: "clear-btn", "aria-label": "Clear", onClick: this.handleClear }, "\u00D7")), h("span", { class: "calendar-icon", "aria-hidden": "true" }, h("tttx-icon_1_9_64", { icon: 'calendar_month' }))), this.showCalendar && (h("div", { class: "calendar-popup single" }, this.renderCalendar(this.currentYear, this.currentMonth, this.handleDateClick.bind(this))))));
207
207
  }
208
208
  static get is() { return "tttx-date-range-picker"; }
209
209
  static get encapsulation() { return "shadow"; }