@3t-transform/threeteeui 1.9.21 → 1.9.23

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 (254) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{tttx-button_1_9_21.cjs.entry.js → tttx-button_1_9_23.cjs.entry.js} +2 -2
  3. package/dist/cjs/{tttx-checkbox-group-caption_1_9_21.cjs.entry.js → tttx-checkbox-group-caption_1_9_23.cjs.entry.js} +1 -1
  4. package/dist/cjs/{tttx-checkbox-group-heading_1_9_21.cjs.entry.js → tttx-checkbox-group-heading_1_9_23.cjs.entry.js} +1 -1
  5. package/dist/cjs/{tttx-checkbox-group_1_9_21.cjs.entry.js → tttx-checkbox-group_1_9_23.cjs.entry.js} +1 -1
  6. package/dist/cjs/{tttx-checkbox_1_9_21.cjs.entry.js → tttx-checkbox_1_9_23.cjs.entry.js} +2 -2
  7. package/dist/cjs/{tttx-comments_1_9_21.cjs.entry.js → tttx-comments_1_9_23.cjs.entry.js} +2 -2
  8. package/dist/cjs/{tttx-data-pattern_1_9_21.cjs.entry.js → tttx-data-pattern_1_9_23.cjs.entry.js} +5 -5
  9. package/dist/cjs/{tttx-datacard_1_9_21.cjs.entry.js → tttx-datacard_1_9_23.cjs.entry.js} +4 -4
  10. package/dist/cjs/{tttx-dialog-box_1_9_21.cjs.entry.js → tttx-dialog-box_1_9_23.cjs.entry.js} +3 -3
  11. package/dist/cjs/{tttx-dialog_1_9_21.cjs.entry.js → tttx-dialog_1_9_23.cjs.entry.js} +2 -2
  12. package/dist/cjs/{tttx-expander_1_9_21.cjs.entry.js → tttx-expander_1_9_23.cjs.entry.js} +2 -2
  13. package/dist/cjs/{tttx-filter_1_9_21_4.cjs.entry.js → tttx-filter_1_9_23_4.cjs.entry.js} +9 -9
  14. package/dist/cjs/{tttx-form_1_9_21.cjs.entry.js → tttx-form_1_9_23.cjs.entry.js} +2 -2
  15. package/dist/cjs/{tttx-graph_1_9_21.cjs.entry.js → tttx-graph_1_9_23.cjs.entry.js} +1 -1
  16. package/dist/cjs/{tttx-icon_1_9_21.cjs.entry.js → tttx-icon_1_9_23.cjs.entry.js} +1 -1
  17. package/dist/cjs/{tttx-keyvalue-block_1_9_21.cjs.entry.js → tttx-keyvalue-block_1_9_23.cjs.entry.js} +1 -1
  18. package/dist/cjs/tttx-loading-spinner_1_9_23_3.cjs.entry.js +135 -0
  19. package/dist/cjs/{tttx-multiselect-box_1_9_21.cjs.entry.js → tttx-multiselect-box_1_9_23.cjs.entry.js} +30 -9
  20. package/dist/cjs/{tttx-percentage-bar_1_9_21.cjs.entry.js → tttx-percentage-bar_1_9_23.cjs.entry.js} +2 -2
  21. package/dist/cjs/{tttx-qrcode_1_9_21.cjs.entry.js → tttx-qrcode_1_9_23.cjs.entry.js} +1 -1
  22. package/dist/cjs/{tttx-select-box_1_9_21.cjs.entry.js → tttx-select-box_1_9_23.cjs.entry.js} +42 -20
  23. package/dist/cjs/{tttx-table_1_9_21.cjs.entry.js → tttx-table_1_9_23.cjs.entry.js} +1 -1
  24. package/dist/cjs/{tttx-tabs_1_9_21.cjs.entry.js → tttx-tabs_1_9_23.cjs.entry.js} +4 -4
  25. package/dist/cjs/{tttx-textarea_1_9_21.cjs.entry.js → tttx-textarea_1_9_23.cjs.entry.js} +2 -2
  26. package/dist/cjs/{tttx-toggle_1_9_21.cjs.entry.js → tttx-toggle_1_9_23.cjs.entry.js} +1 -1
  27. package/dist/cjs/{tttx-tree-view_1_9_21.cjs.entry.js → tttx-tree-view_1_9_23.cjs.entry.js} +3 -3
  28. package/dist/cjs/tttx.cjs.js +1 -1
  29. package/dist/collection/components/atoms/tttx-button/tttx-button.js +2 -2
  30. package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +20 -20
  31. package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.js +2 -2
  32. package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.stories.js +1 -1
  33. package/dist/collection/components/atoms/tttx-datacard/tttx-datacard.js +4 -4
  34. package/dist/collection/components/atoms/tttx-datacard/tttx-datacard.stories.js +10 -10
  35. package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +1 -1
  36. package/dist/collection/components/atoms/tttx-icon/tttx-icon.stories.js +1 -1
  37. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.js +1 -1
  38. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.js +6 -6
  39. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.js +1 -1
  40. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.js +1 -1
  41. package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.js +1 -1
  42. package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.stories.js +5 -5
  43. package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.js +1 -1
  44. package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.stories.js +1 -1
  45. package/dist/collection/components/atoms/tttx-tag/tttx-tag.js +2 -2
  46. package/dist/collection/components/atoms/tttx-tag/tttx-tag.stories.js +6 -6
  47. package/dist/collection/components/atoms/tttx-toggle/tttx-toggle.js +1 -1
  48. package/dist/collection/components/atoms/tttx-toggle/tttx-toggle.stories.js +2 -2
  49. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-caption.js +1 -1
  50. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-heading.js +1 -1
  51. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.js +1 -1
  52. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.stories.js +10 -10
  53. package/dist/collection/components/molecules/tttx-comments/tttx-comments.js +2 -2
  54. package/dist/collection/components/molecules/tttx-comments/tttx-comments.stories.js +1 -1
  55. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.js +2 -2
  56. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.stories.js +6 -6
  57. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.js +3 -3
  58. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.stories.js +24 -24
  59. package/dist/collection/components/molecules/tttx-expander/tttx-expander.js +2 -2
  60. package/dist/collection/components/molecules/tttx-expander/tttx-expander.stories.js +9 -9
  61. package/dist/collection/components/molecules/tttx-filter/tttx-filter.js +3 -3
  62. package/dist/collection/components/molecules/tttx-filter/tttx-filter.stories.js +2 -2
  63. package/dist/collection/components/molecules/tttx-form/tttx-form.js +2 -2
  64. package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +7 -7
  65. package/dist/collection/components/molecules/tttx-graph/tttx-graph.js +1 -1
  66. package/dist/collection/components/molecules/tttx-graph/tttx-graph.stories.js +1 -1
  67. package/dist/collection/components/molecules/tttx-list/tttx-list.js +3 -3
  68. package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +47 -47
  69. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.css +6 -0
  70. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.js +66 -9
  71. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.js +72 -35
  72. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.css +4 -0
  73. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.js +77 -19
  74. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.stories.js +60 -20
  75. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.js +2 -2
  76. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.stories.js +1 -1
  77. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +4 -4
  78. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +1 -1
  79. package/dist/collection/components/molecules/tttx-table/tttx-table.js +1 -1
  80. package/dist/collection/components/molecules/tttx-table/tttx-table.stories.js +6 -6
  81. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.js +3 -3
  82. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.stories.js +4 -4
  83. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.js +3 -3
  84. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.stories.js +1 -1
  85. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.js +1 -1
  86. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.stories.js +37 -37
  87. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.js +3 -3
  88. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.stories.js +8 -8
  89. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.js +5 -5
  90. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.stories.js +5 -5
  91. package/dist/components/index.d.ts +31 -31
  92. package/dist/components/index.js +31 -31
  93. package/dist/components/tttx-button.js +5 -5
  94. package/dist/components/{tttx-button_1_9_21.d.ts → tttx-button_1_9_23.d.ts} +4 -4
  95. package/dist/components/{tttx-button_1_9_21.js → tttx-button_1_9_23.js} +2 -2
  96. package/dist/components/tttx-checkbox-group-caption_1_9_23.d.ts +11 -0
  97. package/dist/components/{tttx-checkbox-group-caption_1_9_21.js → tttx-checkbox-group-caption_1_9_23.js} +5 -5
  98. package/dist/components/tttx-checkbox-group-heading_1_9_23.d.ts +11 -0
  99. package/dist/components/{tttx-checkbox-group-heading_1_9_21.js → tttx-checkbox-group-heading_1_9_23.js} +5 -5
  100. package/dist/components/tttx-checkbox-group_1_9_23.d.ts +11 -0
  101. package/dist/components/{tttx-checkbox-group_1_9_21.js → tttx-checkbox-group_1_9_23.js} +5 -5
  102. package/dist/components/{tttx-datacard_1_9_21.d.ts → tttx-checkbox_1_9_23.d.ts} +4 -4
  103. package/dist/components/{tttx-checkbox_1_9_21.js → tttx-checkbox_1_9_23.js} +7 -7
  104. package/dist/components/{tttx-checkbox_1_9_21.d.ts → tttx-comments_1_9_23.d.ts} +4 -4
  105. package/dist/components/{tttx-comments_1_9_21.js → tttx-comments_1_9_23.js} +7 -7
  106. package/dist/components/tttx-data-pattern_1_9_23.d.ts +11 -0
  107. package/dist/components/{tttx-data-pattern_1_9_21.js → tttx-data-pattern_1_9_23.js} +16 -16
  108. package/dist/components/{tttx-comments_1_9_21.d.ts → tttx-datacard_1_9_23.d.ts} +4 -4
  109. package/dist/components/{tttx-datacard_1_9_21.js → tttx-datacard_1_9_23.js} +10 -10
  110. package/dist/components/tttx-dialog-box_1_9_23.d.ts +11 -0
  111. package/dist/components/{tttx-dialog-box_1_9_21.js → tttx-dialog-box_1_9_23.js} +9 -9
  112. package/dist/components/{tttx-dialog_1_9_21.d.ts → tttx-dialog_1_9_23.d.ts} +4 -4
  113. package/dist/components/{tttx-dialog_1_9_21.js → tttx-dialog_1_9_23.js} +8 -8
  114. package/dist/components/tttx-expander_1_9_23.d.ts +11 -0
  115. package/dist/components/{tttx-expander_1_9_21.js → tttx-expander_1_9_23.js} +7 -7
  116. package/dist/components/tttx-filter.js +6 -6
  117. package/dist/components/{tttx-filter_1_9_21.d.ts → tttx-filter_1_9_23.d.ts} +4 -4
  118. package/dist/components/{tttx-filter_1_9_21.js → tttx-filter_1_9_23.js} +2 -2
  119. package/dist/components/{tttx-tabs_1_9_21.d.ts → tttx-form_1_9_23.d.ts} +4 -4
  120. package/dist/components/{tttx-form_1_9_21.js → tttx-form_1_9_23.js} +20 -14
  121. package/dist/components/tttx-graph.js +3 -3
  122. package/dist/components/{tttx-graph_1_9_21.d.ts → tttx-graph_1_9_23.d.ts} +4 -4
  123. package/dist/components/{tttx-graph_1_9_21.js → tttx-graph_1_9_23.js} +2 -2
  124. package/dist/components/tttx-icon.js +3 -3
  125. package/dist/components/{tttx-icon_1_9_21.d.ts → tttx-icon_1_9_23.d.ts} +4 -4
  126. package/dist/components/{tttx-icon_1_9_21.js → tttx-icon_1_9_23.js} +2 -2
  127. package/dist/components/tttx-keyvalue-block_1_9_23.d.ts +11 -0
  128. package/dist/components/{tttx-keyvalue-block_1_9_21.js → tttx-keyvalue-block_1_9_23.js} +5 -5
  129. package/dist/components/tttx-list.js +6 -6
  130. package/dist/components/{tttx-list_1_9_21.d.ts → tttx-list_1_9_23.d.ts} +4 -4
  131. package/dist/components/{tttx-list_1_9_21.js → tttx-list_1_9_23.js} +2 -2
  132. package/dist/components/tttx-loading-spinner.js +3 -3
  133. package/dist/components/tttx-loading-spinner_1_9_23.d.ts +11 -0
  134. package/dist/components/{tttx-loading-spinner_1_9_21.js → tttx-loading-spinner_1_9_23.js} +2 -2
  135. package/dist/components/tttx-multiselect-box_1_9_23.d.ts +11 -0
  136. package/dist/components/{tttx-multiselect-box_1_9_21.js → tttx-multiselect-box_1_9_23.js} +51 -22
  137. package/dist/components/tttx-percentage-bar_1_9_23.d.ts +11 -0
  138. package/dist/components/{tttx-percentage-bar_1_9_21.js → tttx-percentage-bar_1_9_23.js} +6 -6
  139. package/dist/components/{tttx-qrcode_1_9_21.d.ts → tttx-qrcode_1_9_23.d.ts} +4 -4
  140. package/dist/components/{tttx-qrcode_1_9_21.js → tttx-qrcode_1_9_23.js} +5 -5
  141. package/dist/components/tttx-select-box.js +58 -28
  142. package/dist/components/tttx-select-box_1_9_23.d.ts +11 -0
  143. package/dist/components/{tttx-select-box_1_9_21.js → tttx-select-box_1_9_23.js} +2 -2
  144. package/dist/components/tttx-sorter.js +5 -5
  145. package/dist/components/tttx-sorter_1_9_23.d.ts +11 -0
  146. package/dist/components/{tttx-sorter_1_9_21.js → tttx-sorter_1_9_23.js} +2 -2
  147. package/dist/components/tttx-standalone-input.js +6 -6
  148. package/dist/components/tttx-standalone-input_1_9_23.d.ts +11 -0
  149. package/dist/components/{tttx-standalone-input_1_9_21.js → tttx-standalone-input_1_9_23.js} +2 -2
  150. package/dist/components/{tttx-table_1_9_21.d.ts → tttx-table_1_9_23.d.ts} +4 -4
  151. package/dist/components/{tttx-table_1_9_21.js → tttx-table_1_9_23.js} +5 -5
  152. package/dist/components/{tttx-form_1_9_21.d.ts → tttx-tabs_1_9_23.d.ts} +4 -4
  153. package/dist/components/{tttx-tabs_1_9_21.js → tttx-tabs_1_9_23.js} +9 -9
  154. package/dist/components/{tttx-tag_1_9_21.js → tttx-tag.js} +9 -12
  155. package/dist/components/{tttx-tag_1_9_21.d.ts → tttx-tag_1_9_23.d.ts} +4 -4
  156. package/dist/components/tttx-tag_1_9_23.js +6 -0
  157. package/dist/components/tttx-textarea_1_9_23.d.ts +11 -0
  158. package/dist/components/{tttx-textarea_1_9_21.js → tttx-textarea_1_9_23.js} +6 -6
  159. package/dist/components/tttx-toggle_1_9_23.d.ts +11 -0
  160. package/dist/components/{tttx-toggle_1_9_21.js → tttx-toggle_1_9_23.js} +5 -5
  161. package/dist/components/tttx-toolbar.js +3 -3
  162. package/dist/components/tttx-toolbar_1_9_23.d.ts +11 -0
  163. package/dist/components/{tttx-toolbar_1_9_21.js → tttx-toolbar_1_9_23.js} +2 -2
  164. package/dist/components/tttx-tree-view_1_9_23.d.ts +11 -0
  165. package/dist/components/{tttx-tree-view_1_9_21.js → tttx-tree-view_1_9_23.js} +9 -9
  166. package/dist/esm/loader.js +1 -1
  167. package/dist/esm/{tttx-button_1_9_21.entry.js → tttx-button_1_9_23.entry.js} +2 -2
  168. package/dist/esm/{tttx-checkbox-group-caption_1_9_21.entry.js → tttx-checkbox-group-caption_1_9_23.entry.js} +1 -1
  169. package/dist/esm/{tttx-checkbox-group-heading_1_9_21.entry.js → tttx-checkbox-group-heading_1_9_23.entry.js} +1 -1
  170. package/dist/esm/{tttx-checkbox-group_1_9_21.entry.js → tttx-checkbox-group_1_9_23.entry.js} +1 -1
  171. package/dist/esm/{tttx-checkbox_1_9_21.entry.js → tttx-checkbox_1_9_23.entry.js} +2 -2
  172. package/dist/esm/{tttx-comments_1_9_21.entry.js → tttx-comments_1_9_23.entry.js} +2 -2
  173. package/dist/esm/{tttx-data-pattern_1_9_21.entry.js → tttx-data-pattern_1_9_23.entry.js} +5 -5
  174. package/dist/esm/{tttx-datacard_1_9_21.entry.js → tttx-datacard_1_9_23.entry.js} +4 -4
  175. package/dist/esm/{tttx-dialog-box_1_9_21.entry.js → tttx-dialog-box_1_9_23.entry.js} +3 -3
  176. package/dist/esm/{tttx-dialog_1_9_21.entry.js → tttx-dialog_1_9_23.entry.js} +2 -2
  177. package/dist/esm/{tttx-expander_1_9_21.entry.js → tttx-expander_1_9_23.entry.js} +2 -2
  178. package/dist/esm/{tttx-filter_1_9_21_4.entry.js → tttx-filter_1_9_23_4.entry.js} +6 -6
  179. package/dist/esm/{tttx-form_1_9_21.entry.js → tttx-form_1_9_23.entry.js} +2 -2
  180. package/dist/esm/{tttx-graph_1_9_21.entry.js → tttx-graph_1_9_23.entry.js} +1 -1
  181. package/dist/esm/{tttx-icon_1_9_21.entry.js → tttx-icon_1_9_23.entry.js} +1 -1
  182. package/dist/esm/{tttx-keyvalue-block_1_9_21.entry.js → tttx-keyvalue-block_1_9_23.entry.js} +1 -1
  183. package/dist/esm/tttx-loading-spinner_1_9_23_3.entry.js +129 -0
  184. package/dist/esm/{tttx-multiselect-box_1_9_21.entry.js → tttx-multiselect-box_1_9_23.entry.js} +31 -10
  185. package/dist/esm/{tttx-percentage-bar_1_9_21.entry.js → tttx-percentage-bar_1_9_23.entry.js} +2 -2
  186. package/dist/esm/{tttx-qrcode_1_9_21.entry.js → tttx-qrcode_1_9_23.entry.js} +1 -1
  187. package/dist/esm/{tttx-select-box_1_9_21.entry.js → tttx-select-box_1_9_23.entry.js} +42 -20
  188. package/dist/esm/{tttx-table_1_9_21.entry.js → tttx-table_1_9_23.entry.js} +1 -1
  189. package/dist/esm/{tttx-tabs_1_9_21.entry.js → tttx-tabs_1_9_23.entry.js} +4 -4
  190. package/dist/esm/{tttx-textarea_1_9_21.entry.js → tttx-textarea_1_9_23.entry.js} +2 -2
  191. package/dist/esm/{tttx-toggle_1_9_21.entry.js → tttx-toggle_1_9_23.entry.js} +1 -1
  192. package/dist/esm/{tttx-tree-view_1_9_21.entry.js → tttx-tree-view_1_9_23.entry.js} +3 -3
  193. package/dist/esm/tttx.js +1 -1
  194. package/dist/tttx/p-0741cbca.entry.js +1 -0
  195. package/dist/tttx/p-0da9f04c.entry.js +1 -1
  196. package/dist/tttx/p-0e515960.entry.js +1 -1
  197. package/dist/tttx/p-0ffbf27e.entry.js +1 -1
  198. package/dist/tttx/p-1e5ff5f8.entry.js +1 -1
  199. package/dist/tttx/p-23f45005.entry.js +1 -1
  200. package/dist/tttx/p-2d4c1e8a.entry.js +1 -1
  201. package/dist/tttx/p-49ef7451.entry.js +1 -1
  202. package/dist/tttx/p-56c8c353.entry.js +1 -1
  203. package/dist/tttx/p-5722f326.entry.js +1 -0
  204. package/dist/tttx/p-59c7b049.entry.js +1 -1
  205. package/dist/tttx/p-63ad6fb7.entry.js +1 -1
  206. package/dist/tttx/p-6b1c7a21.entry.js +1 -1
  207. package/dist/tttx/p-74148f2a.entry.js +1 -1
  208. package/dist/tttx/p-79e218d0.entry.js +1 -1
  209. package/dist/tttx/p-90d21e86.entry.js +1 -1
  210. package/dist/tttx/p-9434561e.entry.js +1 -1
  211. package/dist/tttx/p-996a6061.entry.js +1 -1
  212. package/dist/tttx/p-a01e679a.entry.js +1 -1
  213. package/dist/tttx/p-a8e76e78.entry.js +1 -1
  214. package/dist/tttx/p-b7347352.entry.js +1 -1
  215. package/dist/tttx/p-c170e3b8.entry.js +1 -1
  216. package/dist/tttx/p-c34d99d1.entry.js +1 -0
  217. package/dist/tttx/p-cfe412d0.entry.js +1 -1
  218. package/dist/tttx/p-de6e8250.entry.js +1 -1
  219. package/dist/tttx/p-f374e293.entry.js +1 -1
  220. package/dist/tttx/tttx.esm.js +1 -1
  221. package/dist/types/components/molecules/tttx-multiselect-box/interfaces.d.ts +5 -4
  222. package/dist/types/components/molecules/tttx-multiselect-box/tttx-multiselect-box.d.ts +3 -0
  223. package/dist/types/components/molecules/tttx-select-box/interfaces.d.ts +5 -4
  224. package/dist/types/components/molecules/tttx-select-box/tttx-select-box.d.ts +4 -1
  225. package/dist/types/components/molecules/tttx-select-box/tttx-select-box.stories.d.ts +1 -0
  226. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +2 -2
  227. package/dist/types/components/molecules/tttx-textarea/tttx-textarea.d.ts +2 -2
  228. package/dist/types/components.d.ts +376 -368
  229. package/package.json +1 -1
  230. package/dist/cjs/tttx-loading-spinner_1_9_21_2.cjs.entry.js +0 -114
  231. package/dist/cjs/tttx-tag_1_9_21.cjs.entry.js +0 -27
  232. package/dist/components/tttx-checkbox-group-caption_1_9_21.d.ts +0 -11
  233. package/dist/components/tttx-checkbox-group-heading_1_9_21.d.ts +0 -11
  234. package/dist/components/tttx-checkbox-group_1_9_21.d.ts +0 -11
  235. package/dist/components/tttx-data-pattern_1_9_21.d.ts +0 -11
  236. package/dist/components/tttx-dialog-box_1_9_21.d.ts +0 -11
  237. package/dist/components/tttx-expander_1_9_21.d.ts +0 -11
  238. package/dist/components/tttx-keyvalue-block_1_9_21.d.ts +0 -11
  239. package/dist/components/tttx-loading-spinner_1_9_21.d.ts +0 -11
  240. package/dist/components/tttx-multiselect-box_1_9_21.d.ts +0 -11
  241. package/dist/components/tttx-percentage-bar_1_9_21.d.ts +0 -11
  242. package/dist/components/tttx-select-box_1_9_21.d.ts +0 -11
  243. package/dist/components/tttx-sorter_1_9_21.d.ts +0 -11
  244. package/dist/components/tttx-standalone-input_1_9_21.d.ts +0 -11
  245. package/dist/components/tttx-textarea_1_9_21.d.ts +0 -11
  246. package/dist/components/tttx-toggle_1_9_21.d.ts +0 -11
  247. package/dist/components/tttx-toolbar_1_9_21.d.ts +0 -11
  248. package/dist/components/tttx-tree-view_1_9_21.d.ts +0 -11
  249. package/dist/esm/tttx-loading-spinner_1_9_21_2.entry.js +0 -109
  250. package/dist/esm/tttx-tag_1_9_21.entry.js +0 -23
  251. package/dist/tttx/p-2d184378.entry.js +0 -1
  252. package/dist/tttx/p-3df60a1b.entry.js +0 -1
  253. package/dist/tttx/p-6bd36b5b.entry.js +0 -1
  254. package/dist/tttx/p-bbad0784.entry.js +0 -1
@@ -13,7 +13,7 @@ const options = [
13
13
  { value: 'Bonnie', label: 'Steuber', selected: true },
14
14
  { value: 'Priscilla', label: 'Lowe' },
15
15
  { value: 'Andy', label: 'Thompson-Keebler', html: '<span style="color: red">Thompson-Keebler</span>' },
16
- { value: 'egg', label: 'egg', html: '<tttx-icon_1_9_21 icon="egg" />' },
16
+ { value: 'egg', label: 'egg', html: '<tttx-icon_1_9_23 icon="egg" />' },
17
17
  { value: 'Terence', label: 'Hyatt' },
18
18
  { value: 'Ruben', label: 'Toy' },
19
19
  { value: 'Rhiannon', label: 'Hills' },
@@ -28,7 +28,7 @@ const options = [
28
28
  { value: 'Ronaldo', label: 'Mann' },
29
29
  ];
30
30
  const TemplateMultiselectBox = args => `
31
- <tttx-multiselect-box_1_9_21
31
+ <tttx-multiselect-box_1_9_23
32
32
  id="multiselectBox"
33
33
  options-data='${JSON.stringify(args.optionsData)}'
34
34
  label='${args.label}'
@@ -38,7 +38,7 @@ const TemplateMultiselectBox = args => `
38
38
  is-loading='${args.isLoading}'
39
39
  stop-local-search='${args.stopLocalSearch}'
40
40
  html-visible-value: true,
41
- ></tttx-multiselect-box_1_9_21>
41
+ ></tttx-multiselect-box_1_9_23>
42
42
 
43
43
  <script>
44
44
  // Handle case where storybook renders this story twice
@@ -61,7 +61,7 @@ BasicMultiselectBox.args = {
61
61
  stopLocalSearch: true
62
62
  };
63
63
  const ReadOnlyMultiselectBoxTemplate = args => `
64
- <tttx-multiselect-box_1_9_21
64
+ <tttx-multiselect-box_1_9_23
65
65
  id="multiselectBox"
66
66
  options-data='${JSON.stringify(args.optionsData)}'
67
67
  label='${args.label}'
@@ -72,7 +72,7 @@ const ReadOnlyMultiselectBoxTemplate = args => `
72
72
  stop-local-search='${args.stopLocalSearch}'
73
73
  read-only='${args.readOnly}'
74
74
  visible-value='${options[0].label}'
75
- ></tttx-multiselect-box_1_9_21>
75
+ ></tttx-multiselect-box_1_9_23>
76
76
 
77
77
  <script>
78
78
  // Handle case where storybook renders this story twice
@@ -96,20 +96,20 @@ ReadOnlyMultiselectBox.args = {
96
96
  readOnly: true
97
97
  };
98
98
  const htmlOptions = [
99
- { value: '1', label: 'Client', html: '<tttx-tag_1_9_21 text="Client" color="#f2bebe"></tttx-tag_1_9_21>', selected: true },
100
- { value: '2', label: 'Job Role', html: '<tttx-tag_1_9_21 text="Job Role" color="#f9e1be"></tttx-tag_1_9_21>' },
101
- { value: '3', label: 'Foo', html: '<tttx-tag_1_9_21 text="Foo" color="#e4ebc9"></tttx-tag_1_9_21>', selected: true },
102
- { value: '4', label: 'Bar', html: '<tttx-tag_1_9_21 text="Bar" color="#f2bebe"></tttx-tag_1_9_21>', selected: true },
103
- { value: '5', label: 'Baz', html: '<tttx-tag_1_9_21 text="Baz" color="#f9e1be"></tttx-tag_1_9_21>' },
104
- { value: '6', label: 'Mill', html: '<tttx-tag_1_9_21 text="Mill" color="#e4ebc9"></tttx-tag_1_9_21>', selected: true },
105
- { value: '7', label: 'Hill', html: '<tttx-tag_1_9_21 text="Hill" color="#f2bebe"></tttx-tag_1_9_21>', selected: true },
106
- { value: '8', label: 'Fill', html: '<tttx-tag_1_9_21 text="Fill" color="#f9e1be"></tttx-tag_1_9_21>' },
107
- { value: '9', label: 'Supercalifragilisticexpialidocious', html: '<tttx-tag_1_9_21 text="Supercalifragilisticexpialidocious" color="#e4ebc9"></tttx-tag_1_9_21>', selected: true },
99
+ { value: '1', label: 'Client', html: '<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
100
+ { value: '2', label: 'Job Role', html: '<tttx-tag_1_9_23 text="Job Role" color="#f9e1be"></tttx-tag_1_9_23>' },
101
+ { value: '3', label: 'Foo', html: '<tttx-tag_1_9_23 text="Foo" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
102
+ { value: '4', label: 'Bar', html: '<tttx-tag_1_9_23 text="Bar" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
103
+ { value: '5', label: 'Baz', html: '<tttx-tag_1_9_23 text="Baz" color="#f9e1be"></tttx-tag_1_9_23>' },
104
+ { value: '6', label: 'Mill', html: '<tttx-tag_1_9_23 text="Mill" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
105
+ { value: '7', label: 'Hill', html: '<tttx-tag_1_9_23 text="Hill" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
106
+ { value: '8', label: 'Fill', html: '<tttx-tag_1_9_23 text="Fill" color="#f9e1be"></tttx-tag_1_9_23>' },
107
+ { value: '9', label: 'Supercalifragilisticexpialidocious', html: '<tttx-tag_1_9_23 text="Supercalifragilisticexpialidocious" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
108
108
  ];
109
109
  const TemplateHtmlVisibleValueWrap = args => `
110
110
  <div style="height: 400px; width: 50px"></div>
111
111
  <div style="width: 300px">
112
- <tttx-multiselect-box_1_9_21
112
+ <tttx-multiselect-box_1_9_23
113
113
  id="multiselectBoxVisibleValueWrap"
114
114
  options-data='${JSON.stringify(args.optionsData)}'
115
115
  label='${args.label}'
@@ -117,8 +117,8 @@ const TemplateHtmlVisibleValueWrap = args => `
117
117
  search-enabled='${args.searchEnabled}'
118
118
  inline='${args.inline}'
119
119
  html-visible-value='true'
120
- visible-value='<tttx-tag_1_9_21 text="Client" color="#f2bebe"></tttx-tag_1_9_21><tttx-tag_1_9_21 text="Foo" color="#e4ebc9"></tttx-tag_1_9_21><tttx-tag_1_9_21 text="Bar" color="#f2bebe"></tttx-tag_1_9_21><tttx-tag_1_9_21 text="Mill" color="#e4ebc9"></tttx-tag_1_9_21><tttx-tag_1_9_21 text="Hill" color="#f2bebe"></tttx-tag_1_9_21><tttx-tag_1_9_21 text="Supercalifragilisticexpialidocious" color="#e4ebc9"></tttx-tag_1_9_21>'
121
- ></tttx-multiselect-box_1_9_21>
120
+ visible-value='<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Foo" color="#e4ebc9"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Bar" color="#f2bebe"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Mill" color="#e4ebc9"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Hill" color="#f2bebe"></tttx-tag_1_9_23><tttx-tag_1_9_23 text="Supercalifragilisticexpialidocious" color="#e4ebc9"></tttx-tag_1_9_23>'
121
+ ></tttx-multiselect-box_1_9_23>
122
122
  </div>
123
123
 
124
124
  <script>
@@ -140,12 +140,12 @@ HtmlVisibleValueWrap.args = {
140
140
  inline: false,
141
141
  };
142
142
  const htmlOptionsShort = [
143
- { value: '1', label: 'Client', html: '<tttx-tag_1_9_21 text="Client" color="#f2bebe"></tttx-tag_1_9_21>', selected: true },
144
- { value: '2', label: 'Job Role', html: '<tttx-tag_1_9_21 text="Job Role" color="#f9e1be"></tttx-tag_1_9_21>' },
145
- { value: '3', label: 'Foo', html: '<tttx-tag_1_9_21 text="Foo" color="#e4ebc9"></tttx-tag_1_9_21>', selected: true },
143
+ { value: '1', label: 'Client', html: '<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
144
+ { value: '2', label: 'Job Role', html: '<tttx-tag_1_9_23 text="Job Role" color="#f9e1be"></tttx-tag_1_9_23>' },
145
+ { value: '3', label: 'Foo', html: '<tttx-tag_1_9_23 text="Foo" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
146
146
  ];
147
147
  const TemplateHtmlVisibleValue = args => `
148
- <tttx-multiselect-box_1_9_21
148
+ <tttx-multiselect-box_1_9_23
149
149
  id="multiselectBox"
150
150
  options-data='${JSON.stringify(args.optionsData)}'
151
151
  label='${args.label}'
@@ -153,7 +153,7 @@ const TemplateHtmlVisibleValue = args => `
153
153
  search-enabled='${args.searchEnabled}'
154
154
  inline='${args.inline}'
155
155
  html-visible-value='true'
156
- ></tttx-multiselect-box_1_9_21>
156
+ ></tttx-multiselect-box_1_9_23>
157
157
 
158
158
  <script>
159
159
  // Handle case where storybook renders this story twice
@@ -174,22 +174,22 @@ HtmlVisibleValue.args = {
174
174
  inline: false,
175
175
  };
176
176
  const tagOptions = [
177
- { value: '1', label: 'Client', html: '<tttx-tag_1_9_21 text="Client" color="#f2bebe"></tttx-tag_1_9_21>', selected: true },
178
- { value: '2', label: 'Job Role', html: '<tttx-tag_1_9_21 text="Job Role" color="#f9e1be"></tttx-tag_1_9_21>' },
179
- { value: '3', label: 'Foo', html: '<tttx-tag_1_9_21 text="Foo" color="#e4ebc9"></tttx-tag_1_9_21>', selected: true },
180
- { value: '4', label: 'Bar', html: '<tttx-tag_1_9_21 text="Bar" color="#f2bebe"></tttx-tag_1_9_21>', selected: true },
181
- { value: '5', label: 'Baz', html: '<tttx-tag_1_9_21 text="Baz" color="#f9e1be"></tttx-tag_1_9_21>' },
182
- { value: '6', label: 'Mill', html: '<tttx-tag_1_9_21 text="Mill" color="#e4ebc9"></tttx-tag_1_9_21>', selected: true },
183
- { value: '7', label: 'Hill', html: '<tttx-tag_1_9_21 text="Hill" color="#f2bebe"></tttx-tag_1_9_21>', selected: true },
184
- { value: '8', label: 'Fill', html: '<tttx-tag_1_9_21 text="Fill" color="#f9e1be"></tttx-tag_1_9_21>' },
185
- { value: '9', label: 'Supercalifragilisticexpialidocious', html: '<tttx-tag_1_9_21 text="Supercalifragilisticexpialidocious" color="#e4ebc9"></tttx-tag_1_9_21>', selected: true },
177
+ { value: '1', label: 'Client', html: '<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
178
+ { value: '2', label: 'Job Role', html: '<tttx-tag_1_9_23 text="Job Role" color="#f9e1be"></tttx-tag_1_9_23>' },
179
+ { value: '3', label: 'Foo', html: '<tttx-tag_1_9_23 text="Foo" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
180
+ { value: '4', label: 'Bar', html: '<tttx-tag_1_9_23 text="Bar" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
181
+ { value: '5', label: 'Baz', html: '<tttx-tag_1_9_23 text="Baz" color="#f9e1be"></tttx-tag_1_9_23>' },
182
+ { value: '6', label: 'Mill', html: '<tttx-tag_1_9_23 text="Mill" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
183
+ { value: '7', label: 'Hill', html: '<tttx-tag_1_9_23 text="Hill" color="#f2bebe"></tttx-tag_1_9_23>', selected: true },
184
+ { value: '8', label: 'Fill', html: '<tttx-tag_1_9_23 text="Fill" color="#f9e1be"></tttx-tag_1_9_23>' },
185
+ { value: '9', label: 'Supercalifragilisticexpialidocious', html: '<tttx-tag_1_9_23 text="Supercalifragilisticexpialidocious" color="#e4ebc9"></tttx-tag_1_9_23>', selected: true },
186
186
  ];
187
187
  const TttxDialogBoxStory = ({ data }) => `
188
188
  <button onclick="openDialog()">Open</button>
189
- <tttx-dialog-box_1_9_21
189
+ <tttx-dialog-box_1_9_23
190
190
  id='dialogBox'
191
191
  allow-overflow='true'
192
- ></tttx-dialog-box_1_9_21>
192
+ ></tttx-dialog-box_1_9_23>
193
193
  <script>
194
194
  if(!dialogBox) {
195
195
  const dialogBox = document.getElementById('dialogBox');
@@ -216,7 +216,7 @@ DialogBoxWithDropdown.args = {
216
216
  isCustomHtml: true,
217
217
  customHtml: `
218
218
  <div style="padding: 5px;">
219
- <tttx-multiselect-box_1_9_21
219
+ <tttx-multiselect-box_1_9_23
220
220
  id="dropdownSelectBox"
221
221
  options-data='${JSON.stringify(tagOptions)}'
222
222
  label='Label'
@@ -225,7 +225,7 @@ DialogBoxWithDropdown.args = {
225
225
  inline='${false}'
226
226
  visible-value='${tagOptions[0].html} ${tagOptions[2].html}'
227
227
  html-visible-value='true'
228
- ></tttx-multiselect-box_1_9_21>
228
+ ></tttx-multiselect-box_1_9_23>
229
229
  </div>
230
230
  `,
231
231
  },
@@ -238,3 +238,40 @@ DialogBoxWithDropdown.args = {
238
238
  },
239
239
  },
240
240
  };
241
+ const priorityMultiSelectOptions = [
242
+ { value: '1', label: 'Triss Merigold', prioritise: true },
243
+ { value: '2', label: 'Yennefer of Vengerberg', prioritise: true },
244
+ { value: '3', label: 'Philippa Eilhart' },
245
+ { value: '4', label: 'Keira Metz' }
246
+ ];
247
+ const TemplatePriorityMultiSelect = args => `
248
+ <tttx-multiselect-box_1_9_23
249
+ id="multiselectBox"
250
+ options-data='${JSON.stringify(args.optionsData)}'
251
+ label='${args.label}'
252
+ placeholder='${args.placeholder}'
253
+ search-enabled='${args.searchEnabled}'
254
+ inline='${args.inline}'
255
+ priority-label='${args.priorityLabel}'
256
+ non-priority-label='${args.nonPriorityLabel}'
257
+ ></tttx-multiselect-box_1_9_23>
258
+
259
+ <script>
260
+ if (!multiselectBox.length) {
261
+ multiselectBox.addEventListener('changesApplied', (event) => {
262
+ multiselectBox.optionsData = event.detail;
263
+ multiselectBox.visibleValue = event.detail.filter((option) => option.selected).map((option) => option.label).join(', ');
264
+ });
265
+ }
266
+ </script>
267
+ `;
268
+ export const PriorityMultiSelect = TemplatePriorityMultiSelect.bind({});
269
+ PriorityMultiSelect.args = {
270
+ optionsData: priorityMultiSelectOptions,
271
+ label: 'Label',
272
+ placeholder: 'Placeholder',
273
+ searchEnabled: true,
274
+ inline: false,
275
+ priorityLabel: 'The Best',
276
+ nonPriorityLabel: 'The Rest'
277
+ };
@@ -65,6 +65,10 @@
65
65
  border: 1px solid #dc0000;
66
66
  }
67
67
 
68
+ .priority-pill {
69
+ padding: 6px 8px 6px 16px;
70
+ }
71
+
68
72
  .dropdown-read-only {
69
73
  background-color: #BDBDBD !important;
70
74
  }
@@ -19,6 +19,8 @@ export class TttxSelectBox {
19
19
  this.useExternalFiltering = undefined;
20
20
  this.isLoading = undefined;
21
21
  this.readOnly = undefined;
22
+ this.priorityLabel = 'Priority Group';
23
+ this.nonPriorityLabel = 'Non Priority Group';
22
24
  this.showErrorMsg = undefined;
23
25
  this.showErrorBubble = false;
24
26
  this.errorMsg = undefined;
@@ -37,6 +39,9 @@ export class TttxSelectBox {
37
39
  }
38
40
  async setOptionsData() {
39
41
  this._optionsData = typeof this.optionsData === 'string' ? JSON.parse(this.optionsData) : this.optionsData;
42
+ if (this.open) {
43
+ this.calculateDropdownMenuOffset();
44
+ }
40
45
  }
41
46
  async setSelectedItem(value) {
42
47
  if (!value)
@@ -81,7 +86,7 @@ export class TttxSelectBox {
81
86
  let title;
82
87
  let subtitle;
83
88
  const chevronIcon = this.open ? 'expand_less' : 'expand_more';
84
- const icon = h("tttx-icon_1_9_21", { icon: chevronIcon, color: "black" });
89
+ const icon = h("tttx-icon_1_9_23", { icon: chevronIcon, color: "black" });
85
90
  let chevron = h("div", { class: "dropdown-selector-chevron" }, icon);
86
91
  if (!this.selectedItem) {
87
92
  title = h("div", { class: "placeholder" }, this.placeholder);
@@ -100,17 +105,38 @@ export class TttxSelectBox {
100
105
  return (h(Fragment, null, h("div", { class: "left-wrapper" }, title, subtitle), chevron));
101
106
  }
102
107
  }
108
+ renderDropdownOptions(options) {
109
+ let usingPriority = false;
110
+ const priorityOptions = [];
111
+ const nonPriorityOptions = [];
112
+ for (const option of options) {
113
+ // using priority groups if any item has the option set, so set true for first found
114
+ usingPriority = usingPriority || option.prioritise === true;
115
+ // don't include if it doesn't match the search term when searching
116
+ if (this.searchEnabled && option.label.toLowerCase().indexOf(this.searchTerm.toLowerCase()) === -1)
117
+ continue;
118
+ if (option.prioritise === true) {
119
+ priorityOptions.push(option);
120
+ continue;
121
+ }
122
+ nonPriorityOptions.push(option);
123
+ }
124
+ // render priority options at the top of the dropdown list
125
+ return (h(Fragment, null, usingPriority && priorityOptions.length > 0 &&
126
+ h(Fragment, null, h("tttx-tag_1_9_23", { class: 'priority-pill', text: this.priorityLabel, color: "#F0F0F0" }), priorityOptions.map((option) => this.dropdownOption(option))), nonPriorityOptions.length > 0 &&
127
+ h(Fragment, null, usingPriority &&
128
+ h("tttx-tag_1_9_23", { class: 'priority-pill', text: this.nonPriorityLabel, color: "#F0F0F0" }), nonPriorityOptions.map((option) => this.dropdownOption(option)))));
129
+ }
103
130
  dropdownOption(option) {
104
- const hideOption = this.searchEnabled && option.label.toLowerCase().indexOf(this.searchTerm.toLowerCase()) === -1;
105
131
  const selected = this.selectedItem && option.value === this.selectedItem.value;
106
132
  if (option.html) {
107
133
  const sanitisedHTML = DOMPurify.sanitize(option.html, domSanitiserOptions);
108
- return (h("div", { class: `dropdown-option ${hideOption ? 'hidden' : ''} ${selected ? 'selected' : ''}`, onClick: this.onItemSelected.bind(this, option), key: option.label, innerHTML: sanitisedHTML }));
134
+ return (h("div", { class: `dropdown-option ${selected ? 'selected' : ''}`, onClick: this.onItemSelected.bind(this, option), key: option.label, innerHTML: sanitisedHTML }));
109
135
  }
110
136
  else if (option.description) {
111
- return (h("div", { class: `dropdown-option ${hideOption ? 'hidden' : ''} ${selected ? 'selected' : ''}`, onClick: this.onItemSelected.bind(this, option), key: option.label }, option.label, h("div", { class: "description-dd" }, h("p", null, option.description))));
137
+ return (h("div", { class: `dropdown-option ${selected ? 'selected' : ''}`, onClick: this.onItemSelected.bind(this, option), key: option.label }, option.label, h("div", { class: "description-dd" }, h("p", null, option.description))));
112
138
  }
113
- return (h("div", { class: `dropdown-option ${hideOption ? 'hidden' : ''} ${selected ? 'selected' : ''}`, onClick: this.onItemSelected.bind(this, option), key: option.label }, option.label));
139
+ return (h("div", { class: `dropdown-option ${selected ? 'selected' : ''}`, onClick: this.onItemSelected.bind(this, option), key: option.label }, option.label));
114
140
  }
115
141
  handleSearchInput(event) {
116
142
  const searchInput = event.target.value;
@@ -136,6 +162,10 @@ export class TttxSelectBox {
136
162
  // Determine if the dropdown would overflow the bottom of the viewport
137
163
  const availableSpaceBelow = viewportHeight - clientRectangle.bottom;
138
164
  const availableSpaceAbove = clientRectangle.top;
165
+ // If there is no option data, add some default height to ensure the loading screen is fully visible.
166
+ if (!this._optionsData.length) {
167
+ dropdownMenuMaxHeight = 200;
168
+ }
139
169
  let top, bottom, maxHeight;
140
170
  if (availableSpaceBelow >= dropdownMenuMaxHeight) {
141
171
  // Enough space below, show dropdown below
@@ -149,17 +179,11 @@ export class TttxSelectBox {
149
179
  bottom = (viewportHeight - clientRectangle.top) + 'px';
150
180
  maxHeight = dropdownMenuMaxHeight + 'px';
151
181
  }
152
- else if (availableSpaceBelow > availableSpaceAbove) {
153
- // Not enough space, but more space below, adjust height
154
- top = clientRectangle.bottom + 'px';
155
- bottom = '';
156
- maxHeight = availableSpaceBelow + 'px';
157
- }
158
182
  else {
159
- // Not enough space, but more space above, adjust height
160
- top = '';
161
- bottom = (viewportHeight - clientRectangle.top) + 'px';
162
- maxHeight = availableSpaceAbove + 'px';
183
+ // No space above, no space below then calculating space base on dropdown height
184
+ top = dropdownMenuMaxHeight - availableSpaceAbove + 'px';
185
+ bottom = (dropdownMenuMaxHeight - availableSpaceBelow) + 'px';
186
+ maxHeight = dropdownMenuMaxHeight + 'px';
163
187
  }
164
188
  this.bodyOffset = {
165
189
  position: 'fixed',
@@ -177,11 +201,9 @@ export class TttxSelectBox {
177
201
  return;
178
202
  const invalidClass = this.showErrorMsg ? 'invalid' : '';
179
203
  const readOnlyClass = this.readOnly ? 'dropdown-read-only' : '';
180
- return (h(Host, { class: this.inline ? 'inline' : 'block' }, this.label && h("div", { class: "label" }, this.label), h("div", { tabindex: "0", class: "dropdown-container" }, h("div", { class: ['dropdown-selector', invalidClass, readOnlyClass].join(' '), ref: el => (this.dropdownSelector = el), onClick: this.onDropdownClicked.bind(this) }, this.dropdownSelectorContent()), this.open && (h("div", { class: "dropdown-body-container" }, h("div", { class: "dropdown-body", style: Object.assign({ width: `${this.dropdownSelector.offsetWidth}px` }, this.bodyOffset) }, this.searchEnabled && (h("div", { class: "searchbox" }, h("tttx-standalone-input_1_9_21", { type: "text", label: "", required: true, showerrorbubble: false, iconleft: "search", onInput: this.handleSearchInput.bind(this) }))), h("div", { class: "dropdown-options-list" }, this.isLoading ? (h("tttx-loading-spinner_1_9_21", { class: 'loading-style' })) : (this._optionsData.map((option) => {
181
- return this.dropdownOption(option);
182
- })))))), this.showErrorBubble && (h("span", { class: ['errorBubble', this.showErrorMsg && this.errorMsg ? 'visible' : ''].join(' ') }, h("tttx-icon_1_9_21", { icon: "warning", color: "#dc0000", size: 16 }), " ", this.errorMsg)))));
204
+ return (h(Host, { class: this.inline ? 'inline' : 'block' }, this.label && h("div", { class: "label" }, this.label), h("div", { tabindex: "0", class: "dropdown-container" }, h("div", { class: ['dropdown-selector', invalidClass, readOnlyClass].join(' '), ref: el => (this.dropdownSelector = el), onClick: this.onDropdownClicked.bind(this) }, this.dropdownSelectorContent()), this.open && (h("div", { class: "dropdown-body-container" }, h("div", { class: "dropdown-body", style: Object.assign({ width: `${this.dropdownSelector.offsetWidth}px` }, this.bodyOffset) }, this.searchEnabled && (h("div", { class: "searchbox" }, h("tttx-standalone-input_1_9_23", { type: "text", label: "", required: true, showerrorbubble: false, iconleft: "search", onInput: this.handleSearchInput.bind(this) }))), h("div", { class: "dropdown-options-list" }, this.isLoading ? (h("tttx-loading-spinner_1_9_23", { class: 'loading-style' })) : (this.renderDropdownOptions(this._optionsData)))))), this.showErrorBubble && (h("span", { class: ['errorBubble', this.showErrorMsg && this.errorMsg ? 'visible' : ''].join(' ') }, h("tttx-icon_1_9_23", { icon: "warning", color: "#dc0000", size: 16 }), " ", this.errorMsg)))));
183
205
  }
184
- static get is() { return "tttx-select-box_1_9_21"; }
206
+ static get is() { return "tttx-select-box_1_9_23"; }
185
207
  static get encapsulation() { return "shadow"; }
186
208
  static get originalStyleUrls() {
187
209
  return {
@@ -355,6 +377,42 @@ export class TttxSelectBox {
355
377
  "attribute": "read-only",
356
378
  "reflect": false
357
379
  },
380
+ "priorityLabel": {
381
+ "type": "string",
382
+ "mutable": false,
383
+ "complexType": {
384
+ "original": "string",
385
+ "resolved": "string",
386
+ "references": {}
387
+ },
388
+ "required": false,
389
+ "optional": false,
390
+ "docs": {
391
+ "tags": [],
392
+ "text": ""
393
+ },
394
+ "attribute": "priority-label",
395
+ "reflect": false,
396
+ "defaultValue": "'Priority Group'"
397
+ },
398
+ "nonPriorityLabel": {
399
+ "type": "string",
400
+ "mutable": false,
401
+ "complexType": {
402
+ "original": "string",
403
+ "resolved": "string",
404
+ "references": {}
405
+ },
406
+ "required": false,
407
+ "optional": false,
408
+ "docs": {
409
+ "tags": [],
410
+ "text": ""
411
+ },
412
+ "attribute": "non-priority-label",
413
+ "reflect": false,
414
+ "defaultValue": "'Non Priority Group'"
415
+ },
358
416
  "showErrorMsg": {
359
417
  "type": "boolean",
360
418
  "mutable": false,
@@ -17,7 +17,7 @@ const options = [
17
17
  { value: 'Bonnie', label: 'Steuber', description: 'Practical Course' },
18
18
  { value: 'Priscilla', label: 'Lowe', description: 'E-learn course' },
19
19
  { value: 'Andy', label: 'Thompson-Keebler', html: '<span style="color: red">Thompson-Keebler</span>' },
20
- { value: 'egg', label: 'egg', html: '<tttx-icon_1_9_21 icon="egg" />', description: 'Practical Course' },
20
+ { value: 'egg', label: 'egg', html: '<tttx-icon_1_9_23 icon="egg" />', description: 'Practical Course' },
21
21
  { value: 'Terence', label: 'Hyatt' },
22
22
  { value: 'Ruben', label: 'Toy', description: 'E-learn course' },
23
23
  { value: 'Rhiannon', label: 'Hills' },
@@ -32,7 +32,7 @@ const options = [
32
32
  { value: 'Ronaldo', label: 'Mann' },
33
33
  ];
34
34
  const TemplateHTMLSelectBox = args => `
35
- <tttx-select-box_1_9_21
35
+ <tttx-select-box_1_9_23
36
36
  id="htmlSelectBox"
37
37
  options-data='${JSON.stringify(args.optionsData)}'
38
38
  label='${args.label}'
@@ -43,7 +43,7 @@ const TemplateHTMLSelectBox = args => `
43
43
  show-error-bubble="${args.showErrorBubble === false ? 'false' : 'true'}"
44
44
  ${args.showErrorMsg ? 'show-error-msg' : ''}
45
45
  is-loading="${args.isLoading}"
46
- ></tttx-select-box_1_9_21>
46
+ ></tttx-select-box_1_9_23>
47
47
  <script>
48
48
  // Handle case where storybook renders this story twice
49
49
  if (!htmlSelectBox.length) {
@@ -62,7 +62,7 @@ BasicHTMLSelectBox.args = {
62
62
  isLoading: false,
63
63
  };
64
64
  const TemplateReadOnlySelectBox = args => `
65
- <tttx-select-box_1_9_21
65
+ <tttx-select-box_1_9_23
66
66
  id="htmlSelectBox"
67
67
  options-data='${JSON.stringify(args.optionsData)}'
68
68
  label='${args.label}'
@@ -75,7 +75,7 @@ const TemplateReadOnlySelectBox = args => `
75
75
  is-loading="${args.isLoading}"
76
76
  read-only="${args.readOnly}"
77
77
  selected-value='${args.selectedValue}'
78
- ></tttx-select-box_1_9_21>
78
+ ></tttx-select-box_1_9_23>
79
79
  <script>
80
80
  // Handle case where storybook renders this story twice
81
81
  if (!htmlSelectBox.length) {
@@ -96,7 +96,7 @@ ReadOnlySelectBox.args = {
96
96
  readOnly: true
97
97
  };
98
98
  const TemplateExternalFilteringSelectBox = args => `
99
- <tttx-select-box_1_9_21
99
+ <tttx-select-box_1_9_23
100
100
  id="htmlSelectBox"
101
101
  options-data='${JSON.stringify(args.optionsData)}'
102
102
  label='${args.label}'
@@ -108,7 +108,7 @@ const TemplateExternalFilteringSelectBox = args => `
108
108
  ${args.showErrorMsg ? 'show-error-msg' : ''}
109
109
  use-external-filtering="true"
110
110
  is-loading="${args.isLoading}"
111
- ></tttx-select-box_1_9_21>
111
+ ></tttx-select-box_1_9_23>
112
112
  <script>
113
113
  // Handle case where storybook renders this story twice
114
114
  if (!htmlSelectBox.length) {
@@ -128,7 +128,7 @@ ExternalFilteringSelectBox.args = {
128
128
  isLoading: false
129
129
  };
130
130
  const TemplateJSXSelectBox = args => `
131
- <tttx-select-box_1_9_21
131
+ <tttx-select-box_1_9_23
132
132
  id='objectSelectBox'
133
133
  label='${args.label}'
134
134
  placeholder='${args.placeholder}'
@@ -137,7 +137,7 @@ const TemplateJSXSelectBox = args => `
137
137
  error-msg="${args.errorMsg}"
138
138
  show-error-bubble="${args.showErrorBubble === false ? 'false' : 'true'}"
139
139
  ${args.showErrorMsg ? 'show-error-msg' : ''}
140
- ></tttx-select-box_1_9_21>
140
+ ></tttx-select-box_1_9_23>
141
141
  <script>
142
142
  objectSelectBox.optionsData = ${JSON.stringify(args.optionsData)}
143
143
  objectSelectBox.addEventListener('toggleOpen', (ev) => { console.log(ev) })
@@ -153,16 +153,16 @@ BasicJSXSelectBox.args = {
153
153
  inline: false,
154
154
  };
155
155
  const tagOptions = [
156
- { value: '1', label: 'Client', html: '<tttx-tag_1_9_21 text="Client" color="#f2bebe"></tttx-tag_1_9_21>' },
157
- { value: '2', label: 'Job Role', html: '<tttx-tag_1_9_21 text="Job Role" color="#f9e1be"></tttx-tag_1_9_21>' },
158
- { value: '3', label: 'Project', html: '<tttx-tag_1_9_21 text="Project" color="#e4ebc9"></tttx-tag_1_9_21>' },
156
+ { value: '1', label: 'Client', html: '<tttx-tag_1_9_23 text="Client" color="#f2bebe"></tttx-tag_1_9_23>' },
157
+ { value: '2', label: 'Job Role', html: '<tttx-tag_1_9_23 text="Job Role" color="#f9e1be"></tttx-tag_1_9_23>' },
158
+ { value: '3', label: 'Project', html: '<tttx-tag_1_9_23 text="Project" color="#e4ebc9"></tttx-tag_1_9_23>' },
159
159
  ];
160
160
  const TttxDialogBoxStory = ({ data }) => `
161
161
  <button onclick="openDialog()">Open</button>
162
- <tttx-dialog-box_1_9_21
162
+ <tttx-dialog-box_1_9_23
163
163
  id='dialogBox'
164
164
  allow-overflow='true'
165
- ></tttx-dialog-box_1_9_21>
165
+ ></tttx-dialog-box_1_9_23>
166
166
  <script>
167
167
  if(!dialogBox) {
168
168
  const dialogBox = document.getElementById('dialogBox');
@@ -188,7 +188,7 @@ DialogBoxWithDropdown.args = {
188
188
  isCustomHtml: true,
189
189
  customHtml: `
190
190
  <div style="padding: 5px; display: flex; gap: 16px; flex-direction: column">
191
- <tttx-select-box_1_9_21
191
+ <tttx-select-box_1_9_23
192
192
  id="htmlSelectBox"
193
193
  options-data='${JSON.stringify(tagOptions)}'
194
194
  label='Label'
@@ -196,17 +196,17 @@ DialogBoxWithDropdown.args = {
196
196
  search-enabled='${true}'
197
197
  inline='${false}'
198
198
  selected-value='${tagOptions[1].value}'
199
- ></tttx-select-box_1_9_21>
200
- <tttx-standalone-input_1_9_21
199
+ ></tttx-select-box_1_9_23>
200
+ <tttx-standalone-input_1_9_23
201
201
  label='Name'
202
202
  placeholder='Enter name'
203
- ></tttx-standalone-input_1_9_21>
204
- <tttx-select-box_1_9_21
203
+ ></tttx-standalone-input_1_9_23>
204
+ <tttx-select-box_1_9_23
205
205
  id="htmlSelectBox2"
206
206
  options-data='${JSON.stringify(options)}'
207
207
  label='Label 2'
208
208
  placeholder='Placeholder 2'
209
- ></tttx-select-box_1_9_21>
209
+ ></tttx-select-box_1_9_23>
210
210
  </div>
211
211
  `,
212
212
  },
@@ -219,3 +219,43 @@ DialogBoxWithDropdown.args = {
219
219
  },
220
220
  },
221
221
  };
222
+ const priorityOptions = [
223
+ { value: '1', label: 'Triss Merigold', prioritise: true, description: 'A sorceress' },
224
+ { value: '2', label: 'Yennefer of Vengerberg', prioritise: true },
225
+ { value: '3', label: 'Philippa Eilhart' },
226
+ { value: '4', label: 'Keira Metz', description: 'Likes towers, and other things to make this description longer!' }
227
+ ];
228
+ const TemplatePriorityHTMLSelectBox = args => `
229
+ <tttx-select-box_1_9_23
230
+ id="htmlSelectBox"
231
+ options-data='${JSON.stringify(args.optionsData)}'
232
+ label='${args.label}'
233
+ placeholder='${args.placeholder}'
234
+ search-enabled='${args.searchEnabled}'
235
+ inline='${args.inline}'
236
+ error-msg="${args.errorMsg}"
237
+ show-error-bubble="${args.showErrorBubble === false ? 'false' : 'true'}"
238
+ ${args.showErrorMsg ? 'show-error-msg' : ''}
239
+ is-loading="${args.isLoading}"
240
+ priority-label='${args.priorityLabel}'
241
+ non-priority-label='${args.nonPriorityLabel}'
242
+ ></tttx-select-box_1_9_23>
243
+ <script>
244
+ // Handle case where storybook renders this story twice
245
+ if (!htmlSelectBox.length) {
246
+ htmlSelectBox.addEventListener('toggleOpen', (ev) => { console.log(ev) })
247
+ htmlSelectBox.addEventListener('selectItemEvent', (ev) => { console.log(ev) })
248
+ }
249
+ </script>
250
+ `;
251
+ export const PriorityHTMLSelectBox = TemplatePriorityHTMLSelectBox.bind({});
252
+ PriorityHTMLSelectBox.args = {
253
+ optionsData: priorityOptions,
254
+ label: 'Label',
255
+ placeholder: 'Placeholder',
256
+ searchEnabled: true,
257
+ inline: false,
258
+ isLoading: false,
259
+ priorityLabel: 'The Best',
260
+ nonPriorityLabel: 'The Rest'
261
+ };
@@ -98,11 +98,11 @@ export class TttxSorter {
98
98
  const selectedOption = this.selectedField;
99
99
  const dropdownSelectorClassNameModifier = this.dropdownExpand ? '--expanded' : '';
100
100
  const sorterKey = `sorter__${this.sorterKey}`;
101
- return (h(Host, { id: sorterKey }, h("div", { tabindex: 0, class: `sorter-container ${dropdownSelectorClassNameModifier}` }, h("button", { class: "arrow-toggle-button", type: "button", onClick: this.onSortToggleClick.bind(this) }, h("tttx-icon_1_9_21", { icon: arrowIcon, color: "black" })), h("div", { class: "dropdown-selector", onClick: this.onDropdownClicked.bind(this) }, h("div", { class: "dropdown-selector-button" }, h("div", { class: "dropdown-selector-text" }, selectedOption), h("div", { class: "dropdown-selector-chevron" }, h("tttx-icon_1_9_21", { icon: chevronIcon, color: "black" })))), this.dropdownExpand && (h("div", { class: "dropdown-options-list" }, parsedFieldOptionsData.sorterOptions.map(option => {
101
+ return (h(Host, { id: sorterKey }, h("div", { tabindex: 0, class: `sorter-container ${dropdownSelectorClassNameModifier}` }, h("button", { class: "arrow-toggle-button", type: "button", onClick: this.onSortToggleClick.bind(this) }, h("tttx-icon_1_9_23", { icon: arrowIcon, color: "black" })), h("div", { class: "dropdown-selector", onClick: this.onDropdownClicked.bind(this) }, h("div", { class: "dropdown-selector-button" }, h("div", { class: "dropdown-selector-text" }, selectedOption), h("div", { class: "dropdown-selector-chevron" }, h("tttx-icon_1_9_23", { icon: chevronIcon, color: "black" })))), this.dropdownExpand && (h("div", { class: "dropdown-options-list" }, parsedFieldOptionsData.sorterOptions.map(option => {
102
102
  return (h("div", { class: "dropdown-option", tabIndex: -1, onClick: this.onDropdownSelected.bind(this), key: option.optionLabel }, option.optionLabel));
103
103
  }))))));
104
104
  }
105
- static get is() { return "tttx-sorter_1_9_21"; }
105
+ static get is() { return "tttx-sorter_1_9_23"; }
106
106
  static get encapsulation() { return "shadow"; }
107
107
  static get originalStyleUrls() {
108
108
  return {
@@ -23,7 +23,7 @@ export default {
23
23
  const TemplateSorter = ({ fieldOptionsData, sorterKey, defaultOption }) => {
24
24
  return `
25
25
  <div style='width: 250px;'>
26
- <tttx-sorter_1_9_21
26
+ <tttx-sorter_1_9_23
27
27
  field-options-data='${JSON.stringify(fieldOptionsData)}'
28
28
  default-option='${defaultOption}'
29
29
  sorter-key='${sorterKey}'/>
@@ -72,9 +72,9 @@ export class TttxInput {
72
72
  this.iconleft ? 'has-left-icon' : '',
73
73
  this.iconright ? 'has-right-icon' : '',
74
74
  ].join(' ');
75
- return (h(Host, null, h("label", null, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: ['outer-container', this.inline ? 'inputInline' : 'inputBlock'].join(' ') }, h("input", { class: classNames, autocapitalize: this.inputautocapitalize, autofocus: this.inputautofocus, enterkeyhint: this.inputkeyhint, tabindex: this.inputindex, title: this.inputtitle, autocomplete: this.autocomplete, checked: this.checked, disabled: this.disabled, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readonly: this.readonly, required: this.required, step: this.step, type: this.type, value: this.value, onBlur: this.handleBlur.bind(this), onFocus: this.handleFocus.bind(this), onInput: this.handleChange.bind(this), onInvalid: this.handleInvalid.bind(this) }), (this.inputicon || this.iconleft) && (h("span", { class: "left-icons" }, this.inputicon && (h("tttx-icon_1_9_21", { class: "input-icon", icon: this.inputicon, color: this.inputiconcolor, onClick: this.handleInputIconClick.bind(this) })), this.iconleft && (h("tttx-icon_1_9_21", { class: "left-icon", icon: this.iconleft, color: this.iconleftcolor, onClick: this.handleLeftIconClick.bind(this) })))), this.iconright && (h("span", { class: "right-icons" }, h("tttx-icon_1_9_21", { class: "right-icon", icon: this.iconright, color: this.iconrightcolor, onClick: this.handleRightIconClick.bind(this) })))), this.secondarylabel && h("span", { class: "secondarylabel" }, this.secondarylabel), this.showerrorbubble && (h("span", { class: ['errorBubble', this.showerrormsg && this.errormsg ? 'visible' : ''].join(' ') }, h("span", { class: "material-symbols-rounded" }, "warning"), " ", this.errormsg)))));
75
+ return (h(Host, null, h("label", null, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: ['outer-container', this.inline ? 'inputInline' : 'inputBlock'].join(' ') }, h("input", { class: classNames, autocapitalize: this.inputautocapitalize, autofocus: this.inputautofocus, enterkeyhint: this.inputkeyhint, tabindex: this.inputindex, title: this.inputtitle, autocomplete: this.autocomplete, checked: this.checked, disabled: this.disabled, max: this.max, maxlength: this.maxlength, min: this.min, minlength: this.minlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readonly: this.readonly, required: this.required, step: this.step, type: this.type, value: this.value, onBlur: this.handleBlur.bind(this), onFocus: this.handleFocus.bind(this), onInput: this.handleChange.bind(this), onInvalid: this.handleInvalid.bind(this) }), (this.inputicon || this.iconleft) && (h("span", { class: "left-icons" }, this.inputicon && (h("tttx-icon_1_9_23", { class: "input-icon", icon: this.inputicon, color: this.inputiconcolor, onClick: this.handleInputIconClick.bind(this) })), this.iconleft && (h("tttx-icon_1_9_23", { class: "left-icon", icon: this.iconleft, color: this.iconleftcolor, onClick: this.handleLeftIconClick.bind(this) })))), this.iconright && (h("span", { class: "right-icons" }, h("tttx-icon_1_9_23", { class: "right-icon", icon: this.iconright, color: this.iconrightcolor, onClick: this.handleRightIconClick.bind(this) })))), this.secondarylabel && h("span", { class: "secondarylabel" }, this.secondarylabel), this.showerrorbubble && (h("span", { class: ['errorBubble', this.showerrormsg && this.errormsg ? 'visible' : ''].join(' ') }, h("span", { class: "material-symbols-rounded" }, "warning"), " ", this.errormsg)))));
76
76
  }
77
- static get is() { return "tttx-standalone-input_1_9_21"; }
77
+ static get is() { return "tttx-standalone-input_1_9_23"; }
78
78
  static get encapsulation() { return "scoped"; }
79
79
  static get originalStyleUrls() {
80
80
  return {
@@ -360,10 +360,10 @@ export class TttxInput {
360
360
  "docs": {
361
361
  "tags": [{
362
362
  "name": "example",
363
- "text": "<caption>In HTML (like `index.html`)</caption>\n<tttx-standalone-input_1_9_21 input-index=\"1\" />"
363
+ "text": "<caption>In HTML (like `index.html`)</caption>\n<tttx-standalone-input_1_9_23 input-index=\"1\" />"
364
364
  }, {
365
365
  "name": "example",
366
- "text": "<caption>In TSX files</caption>\n<tttx-standalone-input_1_9_21 inputindex={1} />"
366
+ "text": "<caption>In TSX files</caption>\n<tttx-standalone-input_1_9_23 inputindex={1} />"
367
367
  }],
368
368
  "text": "tabindex - Allows the HTML elements to be focusable"
369
369
  },
@@ -95,7 +95,7 @@ export default {
95
95
  },
96
96
  };
97
97
  const TemplateTextInput = ({ iconleft, iconleftcolor, iconright, iconrightcolor, inputicon, inputiconcolor, label, secondarylabel, errormsg, showerrorbubble, showerrormsg, inline, checked, disabled, max, maxlength, min, minlength, name, pattern, placeholder, readonly, required, step, type, value, }) => `
98
- <tttx-standalone-input_1_9_21
98
+ <tttx-standalone-input_1_9_23
99
99
  iconleft="${iconleft || ''}"
100
100
  iconleftcolor="${iconleftcolor || ''}"
101
101
  iconright="${iconright || ''}"