@3t-transform/threeteeui 1.3.0 → 1.4.0

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 (206) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/{tttx-button_1_3_0.cjs.entry.js → tttx-button_1_4_0.cjs.entry.js} +2 -2
  3. package/dist/cjs/{tttx-checkbox-group-caption_1_3_0.cjs.entry.js → tttx-checkbox-group-caption_1_4_0.cjs.entry.js} +1 -1
  4. package/dist/cjs/{tttx-checkbox-group-heading_1_3_0.cjs.entry.js → tttx-checkbox-group-heading_1_4_0.cjs.entry.js} +1 -1
  5. package/dist/cjs/{tttx-checkbox-group_1_3_0.cjs.entry.js → tttx-checkbox-group_1_4_0.cjs.entry.js} +1 -1
  6. package/dist/cjs/{tttx-checkbox_1_3_0.cjs.entry.js → tttx-checkbox_1_4_0.cjs.entry.js} +2 -2
  7. package/dist/cjs/{tttx-data-pattern_1_3_0.cjs.entry.js → tttx-data-pattern_1_4_0.cjs.entry.js} +2 -2
  8. package/dist/cjs/{tttx-dialog-box_1_3_0.cjs.entry.js → tttx-dialog-box_1_4_0.cjs.entry.js} +3 -3
  9. package/dist/cjs/{tttx-dialog_1_3_0.cjs.entry.js → tttx-dialog_1_4_0.cjs.entry.js} +2 -2
  10. package/dist/cjs/{tttx-expander_1_3_0.cjs.entry.js → tttx-expander_1_4_0.cjs.entry.js} +2 -2
  11. package/dist/cjs/{tttx-filter_1_3_0_4.cjs.entry.js → tttx-filter_1_4_0_4.cjs.entry.js} +9 -9
  12. package/dist/cjs/{tttx-form_1_3_0.cjs.entry.js → tttx-form_1_4_0.cjs.entry.js} +73 -10
  13. package/dist/cjs/{tttx-icon_1_3_0.cjs.entry.js → tttx-icon_1_4_0.cjs.entry.js} +1 -1
  14. package/dist/cjs/{tttx-keyvalue-block_1_3_0.cjs.entry.js → tttx-keyvalue-block_1_4_0.cjs.entry.js} +1 -1
  15. package/dist/cjs/{tttx-loading-spinner_1_3_0.cjs.entry.js → tttx-loading-spinner_1_4_0.cjs.entry.js} +1 -1
  16. package/dist/cjs/{tttx-multiselect-box_1_3_0.cjs.entry.js → tttx-multiselect-box_1_4_0.cjs.entry.js} +6 -6
  17. package/dist/cjs/{tttx-percentage-bar_1_3_0.cjs.entry.js → tttx-percentage-bar_1_4_0.cjs.entry.js} +2 -2
  18. package/dist/cjs/{tttx-qrcode_1_3_0.cjs.entry.js → tttx-qrcode_1_4_0.cjs.entry.js} +1 -1
  19. package/dist/cjs/{tttx-select-box_1_3_0.cjs.entry.js → tttx-select-box_1_4_0.cjs.entry.js} +3 -3
  20. package/dist/cjs/tttx-standalone-input_1_4_0.cjs.entry.js +94 -0
  21. package/dist/cjs/{tttx-tabs_1_3_0.cjs.entry.js → tttx-tabs_1_4_0.cjs.entry.js} +4 -4
  22. package/dist/cjs/{tttx-tag_1_3_0.cjs.entry.js → tttx-tag_1_4_0.cjs.entry.js} +1 -1
  23. package/dist/cjs/{tttx-textarea_1_3_0.cjs.entry.js → tttx-textarea_1_4_0.cjs.entry.js} +2 -2
  24. package/dist/cjs/{tttx-tree-view_1_3_0.cjs.entry.js → tttx-tree-view_1_4_0.cjs.entry.js} +3 -3
  25. package/dist/cjs/tttx.cjs.js +1 -1
  26. package/dist/collection/components/atoms/tttx-button/tttx-button.js +2 -2
  27. package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +20 -20
  28. package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.js +2 -2
  29. package/dist/collection/components/atoms/tttx-checkbox/tttx-checkbox.stories.js +1 -1
  30. package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +1 -1
  31. package/dist/collection/components/atoms/tttx-icon/tttx-icon.stories.js +1 -1
  32. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.js +1 -1
  33. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.js +6 -6
  34. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.js +1 -1
  35. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.js +1 -1
  36. package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.js +1 -1
  37. package/dist/collection/components/atoms/tttx-percentage-bar/tttx-percentage-bar.stories.js +5 -5
  38. package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.js +1 -1
  39. package/dist/collection/components/atoms/tttx-qrcode/tttx-qrcode.stories.js +1 -1
  40. package/dist/collection/components/atoms/tttx-tag/tttx-tag.js +1 -1
  41. package/dist/collection/components/atoms/tttx-tag/tttx-tag.stories.js +6 -6
  42. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-caption.js +1 -1
  43. package/dist/collection/components/molecules/tttx-checkbox-group/components/tttx-checkbox-group-heading.js +1 -1
  44. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.js +1 -1
  45. package/dist/collection/components/molecules/tttx-checkbox-group/tttx-checkbox-group.stories.js +10 -10
  46. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.js +2 -2
  47. package/dist/collection/components/molecules/tttx-dialog/tttx-dialog.stories.js +6 -6
  48. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.js +3 -3
  49. package/dist/collection/components/molecules/tttx-dialog-box/tttx-dialog-box.stories.js +24 -24
  50. package/dist/collection/components/molecules/tttx-expander/tttx-expander.js +2 -2
  51. package/dist/collection/components/molecules/tttx-expander/tttx-expander.stories.js +9 -9
  52. package/dist/collection/components/molecules/tttx-filter/tttx-filter.js +3 -3
  53. package/dist/collection/components/molecules/tttx-filter/tttx-filter.stories.js +2 -2
  54. package/dist/collection/components/molecules/tttx-form/lib/validityCheck.js +9 -8
  55. package/dist/collection/components/molecules/tttx-form/tttx-form.js +203 -2
  56. package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +5 -5
  57. package/dist/collection/components/molecules/tttx-list/tttx-list.js +3 -3
  58. package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +46 -46
  59. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.js +6 -6
  60. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.js +33 -33
  61. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.js +3 -3
  62. package/dist/collection/components/molecules/tttx-select-box/tttx-select-box.stories.js +16 -16
  63. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.js +2 -2
  64. package/dist/collection/components/molecules/tttx-sorter/tttx-sorter.stories.js +1 -1
  65. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +4 -4
  66. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +1 -1
  67. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.js +3 -3
  68. package/dist/collection/components/molecules/tttx-tabs/tttx-tabs.stories.js +4 -4
  69. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.js +3 -3
  70. package/dist/collection/components/molecules/tttx-textarea/tttx-textarea.stories.js +1 -1
  71. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.js +1 -1
  72. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.stories.js +37 -37
  73. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.js +3 -3
  74. package/dist/collection/components/molecules/tttx-tree-view/tttx-tree-view.stories.js +8 -8
  75. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.js +2 -2
  76. package/dist/collection/components/organisms/tttx-data-pattern/tttx-data-pattern.stories.js +5 -5
  77. package/dist/components/index.d.ts +26 -26
  78. package/dist/components/index.js +26 -26
  79. package/dist/components/tttx-button.js +5 -5
  80. package/dist/components/{tttx-button_1_3_0.d.ts → tttx-button_1_4_0.d.ts} +4 -4
  81. package/dist/components/{tttx-button_1_3_0.js → tttx-button_1_4_0.js} +2 -2
  82. package/dist/components/tttx-checkbox-group-caption_1_4_0.d.ts +11 -0
  83. package/dist/components/{tttx-checkbox-group-caption_1_3_0.js → tttx-checkbox-group-caption_1_4_0.js} +5 -5
  84. package/dist/components/tttx-checkbox-group-heading_1_4_0.d.ts +11 -0
  85. package/dist/components/{tttx-checkbox-group-heading_1_3_0.js → tttx-checkbox-group-heading_1_4_0.js} +5 -5
  86. package/dist/components/tttx-checkbox-group_1_4_0.d.ts +11 -0
  87. package/dist/components/{tttx-checkbox-group_1_3_0.js → tttx-checkbox-group_1_4_0.js} +5 -5
  88. package/dist/components/{tttx-textarea_1_3_0.d.ts → tttx-checkbox_1_4_0.d.ts} +4 -4
  89. package/dist/components/{tttx-checkbox_1_3_0.js → tttx-checkbox_1_4_0.js} +7 -7
  90. package/dist/components/tttx-data-pattern_1_4_0.d.ts +11 -0
  91. package/dist/components/{tttx-data-pattern_1_3_0.js → tttx-data-pattern_1_4_0.js} +13 -13
  92. package/dist/components/{tttx-dialog-box_1_3_0.d.ts → tttx-dialog-box_1_4_0.d.ts} +4 -4
  93. package/dist/components/{tttx-dialog-box_1_3_0.js → tttx-dialog-box_1_4_0.js} +9 -9
  94. package/dist/components/{tttx-filter_1_3_0.d.ts → tttx-dialog_1_4_0.d.ts} +4 -4
  95. package/dist/components/{tttx-dialog_1_3_0.js → tttx-dialog_1_4_0.js} +8 -8
  96. package/dist/components/{tttx-expander_1_3_0.d.ts → tttx-expander_1_4_0.d.ts} +4 -4
  97. package/dist/components/{tttx-expander_1_3_0.js → tttx-expander_1_4_0.js} +7 -7
  98. package/dist/components/tttx-filter.js +6 -6
  99. package/dist/components/{tttx-qrcode_1_3_0.d.ts → tttx-filter_1_4_0.d.ts} +4 -4
  100. package/dist/components/{tttx-filter_1_3_0.js → tttx-filter_1_4_0.js} +2 -2
  101. package/dist/components/{tttx-icon_1_3_0.d.ts → tttx-form_1_4_0.d.ts} +4 -4
  102. package/dist/components/{tttx-form_1_3_0.js → tttx-form_1_4_0.js} +85 -18
  103. package/dist/components/tttx-icon.js +3 -3
  104. package/dist/components/{tttx-list_1_3_0.d.ts → tttx-icon_1_4_0.d.ts} +4 -4
  105. package/dist/components/{tttx-icon_1_3_0.js → tttx-icon_1_4_0.js} +2 -2
  106. package/dist/components/tttx-keyvalue-block_1_4_0.d.ts +11 -0
  107. package/dist/components/{tttx-keyvalue-block_1_3_0.js → tttx-keyvalue-block_1_4_0.js} +5 -5
  108. package/dist/components/tttx-list.js +6 -6
  109. package/dist/components/{tttx-form_1_3_0.d.ts → tttx-list_1_4_0.d.ts} +4 -4
  110. package/dist/components/{tttx-list_1_3_0.js → tttx-list_1_4_0.js} +2 -2
  111. package/dist/components/tttx-loading-spinner_1_4_0.d.ts +11 -0
  112. package/dist/components/{tttx-loading-spinner_1_3_0.js → tttx-loading-spinner_1_4_0.js} +5 -5
  113. package/dist/components/tttx-multiselect-box_1_4_0.d.ts +11 -0
  114. package/dist/components/{tttx-multiselect-box_1_3_0.js → tttx-multiselect-box_1_4_0.js} +13 -13
  115. package/dist/components/tttx-percentage-bar_1_4_0.d.ts +11 -0
  116. package/dist/components/{tttx-percentage-bar_1_3_0.js → tttx-percentage-bar_1_4_0.js} +6 -6
  117. package/dist/components/{tttx-dialog_1_3_0.d.ts → tttx-qrcode_1_4_0.d.ts} +4 -4
  118. package/dist/components/{tttx-qrcode_1_3_0.js → tttx-qrcode_1_4_0.js} +5 -5
  119. package/dist/components/tttx-select-box.js +7 -7
  120. package/dist/components/tttx-select-box_1_4_0.d.ts +11 -0
  121. package/dist/components/{tttx-select-box_1_3_0.js → tttx-select-box_1_4_0.js} +2 -2
  122. package/dist/components/tttx-sorter.js +5 -5
  123. package/dist/components/tttx-sorter_1_4_0.d.ts +11 -0
  124. package/dist/components/{tttx-sorter_1_3_0.js → tttx-sorter_1_4_0.js} +2 -2
  125. package/dist/components/tttx-standalone-input.js +6 -6
  126. package/dist/components/tttx-standalone-input_1_4_0.d.ts +11 -0
  127. package/dist/components/{tttx-standalone-input_1_3_0.js → tttx-standalone-input_1_4_0.js} +2 -2
  128. package/dist/components/{tttx-tabs_1_3_0.d.ts → tttx-tabs_1_4_0.d.ts} +4 -4
  129. package/dist/components/{tttx-tabs_1_3_0.js → tttx-tabs_1_4_0.js} +9 -9
  130. package/dist/components/{tttx-tag_1_3_0.d.ts → tttx-tag_1_4_0.d.ts} +4 -4
  131. package/dist/components/{tttx-tag_1_3_0.js → tttx-tag_1_4_0.js} +5 -5
  132. package/dist/components/{tttx-checkbox_1_3_0.d.ts → tttx-textarea_1_4_0.d.ts} +4 -4
  133. package/dist/components/{tttx-textarea_1_3_0.js → tttx-textarea_1_4_0.js} +6 -6
  134. package/dist/components/tttx-toolbar.js +3 -3
  135. package/dist/components/{tttx-toolbar_1_3_0.d.ts → tttx-toolbar_1_4_0.d.ts} +4 -4
  136. package/dist/components/{tttx-toolbar_1_3_0.js → tttx-toolbar_1_4_0.js} +2 -2
  137. package/dist/components/{tttx-tree-view_1_3_0.d.ts → tttx-tree-view_1_4_0.d.ts} +4 -4
  138. package/dist/components/{tttx-tree-view_1_3_0.js → tttx-tree-view_1_4_0.js} +9 -9
  139. package/dist/esm/loader.js +1 -1
  140. package/dist/esm/{tttx-button_1_3_0.entry.js → tttx-button_1_4_0.entry.js} +2 -2
  141. package/dist/esm/{tttx-checkbox-group-caption_1_3_0.entry.js → tttx-checkbox-group-caption_1_4_0.entry.js} +1 -1
  142. package/dist/esm/{tttx-checkbox-group-heading_1_3_0.entry.js → tttx-checkbox-group-heading_1_4_0.entry.js} +1 -1
  143. package/dist/esm/{tttx-checkbox-group_1_3_0.entry.js → tttx-checkbox-group_1_4_0.entry.js} +1 -1
  144. package/dist/esm/{tttx-checkbox_1_3_0.entry.js → tttx-checkbox_1_4_0.entry.js} +2 -2
  145. package/dist/esm/{tttx-data-pattern_1_3_0.entry.js → tttx-data-pattern_1_4_0.entry.js} +2 -2
  146. package/dist/esm/{tttx-dialog-box_1_3_0.entry.js → tttx-dialog-box_1_4_0.entry.js} +3 -3
  147. package/dist/esm/{tttx-dialog_1_3_0.entry.js → tttx-dialog_1_4_0.entry.js} +2 -2
  148. package/dist/esm/{tttx-expander_1_3_0.entry.js → tttx-expander_1_4_0.entry.js} +2 -2
  149. package/dist/esm/{tttx-filter_1_3_0_4.entry.js → tttx-filter_1_4_0_4.entry.js} +6 -6
  150. package/dist/esm/{tttx-form_1_3_0.entry.js → tttx-form_1_4_0.entry.js} +73 -10
  151. package/dist/esm/{tttx-icon_1_3_0.entry.js → tttx-icon_1_4_0.entry.js} +1 -1
  152. package/dist/esm/{tttx-keyvalue-block_1_3_0.entry.js → tttx-keyvalue-block_1_4_0.entry.js} +1 -1
  153. package/dist/esm/{tttx-loading-spinner_1_3_0.entry.js → tttx-loading-spinner_1_4_0.entry.js} +1 -1
  154. package/dist/esm/{tttx-multiselect-box_1_3_0.entry.js → tttx-multiselect-box_1_4_0.entry.js} +6 -6
  155. package/dist/esm/{tttx-percentage-bar_1_3_0.entry.js → tttx-percentage-bar_1_4_0.entry.js} +2 -2
  156. package/dist/esm/{tttx-qrcode_1_3_0.entry.js → tttx-qrcode_1_4_0.entry.js} +1 -1
  157. package/dist/esm/{tttx-select-box_1_3_0.entry.js → tttx-select-box_1_4_0.entry.js} +3 -3
  158. package/dist/esm/tttx-standalone-input_1_4_0.entry.js +90 -0
  159. package/dist/esm/{tttx-tabs_1_3_0.entry.js → tttx-tabs_1_4_0.entry.js} +4 -4
  160. package/dist/esm/{tttx-tag_1_3_0.entry.js → tttx-tag_1_4_0.entry.js} +1 -1
  161. package/dist/esm/{tttx-textarea_1_3_0.entry.js → tttx-textarea_1_4_0.entry.js} +2 -2
  162. package/dist/esm/{tttx-tree-view_1_3_0.entry.js → tttx-tree-view_1_4_0.entry.js} +3 -3
  163. package/dist/esm/tttx.js +1 -1
  164. package/dist/tttx/p-0e515960.entry.js +1 -1
  165. package/dist/tttx/p-0f439f10.entry.js +1 -0
  166. package/dist/tttx/p-1e5ff5f8.entry.js +1 -1
  167. package/dist/tttx/p-23f45005.entry.js +1 -1
  168. package/dist/tttx/p-3676cddd.entry.js +1 -1
  169. package/dist/tttx/p-56c8c353.entry.js +1 -1
  170. package/dist/tttx/p-59c7b049.entry.js +1 -1
  171. package/dist/tttx/p-5d2706b1.entry.js +1 -1
  172. package/dist/tttx/p-63ad6fb7.entry.js +1 -1
  173. package/dist/tttx/p-6b1c7a21.entry.js +1 -1
  174. package/dist/tttx/p-6deb8699.entry.js +1 -1
  175. package/dist/tttx/p-796f699a.entry.js +1 -1
  176. package/dist/tttx/p-81aaafa0.entry.js +1 -1
  177. package/dist/tttx/p-884f37d3.entry.js +1 -1
  178. package/dist/tttx/p-9434561e.entry.js +1 -1
  179. package/dist/tttx/p-983d63ff.entry.js +1 -1
  180. package/dist/tttx/p-a01e679a.entry.js +1 -1
  181. package/dist/tttx/p-a8e76e78.entry.js +1 -1
  182. package/dist/tttx/p-c170e3b8.entry.js +1 -1
  183. package/dist/tttx/p-ee358ce4.entry.js +1 -1
  184. package/dist/tttx/p-f374e293.entry.js +1 -1
  185. package/dist/tttx/p-f4db1cf2.entry.js +1 -1
  186. package/dist/tttx/p-fe967031.entry.js +1 -1
  187. package/dist/tttx/tttx.esm.js +1 -1
  188. package/dist/types/components/molecules/tttx-form/tttx-form.d.ts +22 -0
  189. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +2 -2
  190. package/dist/types/components/molecules/tttx-textarea/tttx-textarea.d.ts +2 -2
  191. package/dist/types/components.d.ts +325 -304
  192. package/package.json +1 -1
  193. package/dist/cjs/tttx-standalone-input_1_3_0.cjs.entry.js +0 -94
  194. package/dist/components/tttx-checkbox-group-caption_1_3_0.d.ts +0 -11
  195. package/dist/components/tttx-checkbox-group-heading_1_3_0.d.ts +0 -11
  196. package/dist/components/tttx-checkbox-group_1_3_0.d.ts +0 -11
  197. package/dist/components/tttx-data-pattern_1_3_0.d.ts +0 -11
  198. package/dist/components/tttx-keyvalue-block_1_3_0.d.ts +0 -11
  199. package/dist/components/tttx-loading-spinner_1_3_0.d.ts +0 -11
  200. package/dist/components/tttx-multiselect-box_1_3_0.d.ts +0 -11
  201. package/dist/components/tttx-percentage-bar_1_3_0.d.ts +0 -11
  202. package/dist/components/tttx-select-box_1_3_0.d.ts +0 -11
  203. package/dist/components/tttx-sorter_1_3_0.d.ts +0 -11
  204. package/dist/components/tttx-standalone-input_1_3_0.d.ts +0 -11
  205. package/dist/esm/tttx-standalone-input_1_3_0.entry.js +0 -90
  206. package/dist/tttx/p-822ec9dc.entry.js +0 -1
@@ -47,7 +47,7 @@ export class TttxDialogBox {
47
47
  const iconColor = header.iconColor;
48
48
  const iconEnabled = header.hasIcon ? true : false;
49
49
  const closeEnabled = header.hasClose ? true : false;
50
- return (h("div", { class: "dialog-box-header" }, iconEnabled && h("tttx-icon_1_3_0", { class: "dialog-box-icon", icon: iconName, color: iconColor }), h("h3", { class: "dialog-box-title" }, title), closeEnabled && (h("div", { class: "dialog-box-align-right close-button", onClick: () => this.onCloseClickHandler() }, h("tttx-icon_1_3_0", { class: "dialog-box-icon-close dialog-box-clickable", icon: "close", color: "black" })))));
50
+ return (h("div", { class: "dialog-box-header" }, iconEnabled && h("tttx-icon_1_4_0", { class: "dialog-box-icon", icon: iconName, color: iconColor }), h("h3", { class: "dialog-box-title" }, title), closeEnabled && (h("div", { class: "dialog-box-align-right close-button", onClick: () => this.onCloseClickHandler() }, h("tttx-icon_1_4_0", { class: "dialog-box-icon-close dialog-box-clickable", icon: "close", color: "black" })))));
51
51
  }
52
52
  renderContent(content) {
53
53
  if (content.isCustomHtml) {
@@ -64,7 +64,7 @@ export class TttxDialogBox {
64
64
  const button2Enabled = button.length > 1;
65
65
  const button3Enabled = button.length == 3;
66
66
  const isMobile = this.elementSize === 'mobile';
67
- return (h("div", { class: "dialog-box-footer" }, h("div", { class: "dialog-box-align-right" }, button3Enabled && (h("tttx-button_1_3_0", { class: "dialog-box-spacing-button", onClick: () => this.onButtonClickHandler(3), design: button[2].type, notext: isMobile, icon: button[2].icon }, !isMobile && button[2].name)), button2Enabled && (h("tttx-button_1_3_0", { class: "dialog-box-spacing-button", onClick: () => this.onButtonClickHandler(2), design: button[1].type, icon: button[1].icon }, button[1].name)), button1Enabled && (h("tttx-button_1_3_0", { onClick: () => this.onButtonClickHandler(1), design: button[0].type, icon: button[0].icon }, button[0].name)))));
67
+ return (h("div", { class: "dialog-box-footer" }, h("div", { class: "dialog-box-align-right" }, button3Enabled && (h("tttx-button_1_4_0", { class: "dialog-box-spacing-button", onClick: () => this.onButtonClickHandler(3), design: button[2].type, notext: isMobile, icon: button[2].icon }, !isMobile && button[2].name)), button2Enabled && (h("tttx-button_1_4_0", { class: "dialog-box-spacing-button", onClick: () => this.onButtonClickHandler(2), design: button[1].type, icon: button[1].icon }, button[1].name)), button1Enabled && (h("tttx-button_1_4_0", { onClick: () => this.onButtonClickHandler(1), design: button[0].type, icon: button[0].icon }, button[0].name)))));
68
68
  }
69
69
  componentWillLoad() {
70
70
  if (window.innerWidth < 698) {
@@ -85,7 +85,7 @@ export class TttxDialogBox {
85
85
  }
86
86
  return (h("dialog", { ref: (el) => this.dialog = el, class: `dialog-box ${this.allowOverflow ? 'overflow-visible' : ''} ${this.elementSize}` }, h("div", { class: "contents" }, h("div", { class: `dialog-box-padding dialog-box-header-box ${this._data.type || ''}` }, this.renderHeader(this._data.header)), h("div", { class: "dialog-box-padding dialog-box-body-box" }, this.renderContent(this._data.body)), h("div", { class: "dialog-box-padding dialog-box-footer-box" }, this.renderFooter(this._data.footer)))));
87
87
  }
88
- static get is() { return "tttx-dialog-box_1_3_0"; }
88
+ static get is() { return "tttx-dialog-box_1_4_0"; }
89
89
  static get encapsulation() { return "shadow"; }
90
90
  static get originalStyleUrls() {
91
91
  return {
@@ -11,9 +11,9 @@ export default {
11
11
  };
12
12
  const TttxDialogBoxStory = ({ data }) => `
13
13
  <button onclick="openDialog()">Open</button>
14
- <tttx-dialog-box_1_3_0
14
+ <tttx-dialog-box_1_4_0
15
15
  id='dialogBox'
16
- ></tttx-dialog-box_1_3_0>
16
+ ></tttx-dialog-box_1_4_0>
17
17
  <script>
18
18
  if(!dialogBox) {
19
19
  const dialogBox = document.getElementById('dialogBox');
@@ -50,9 +50,9 @@ Default.args = {
50
50
  };
51
51
  const TttxDialogBoxMobile = ({ data }) => `
52
52
  <button onclick="openDialogMobile()">Open</button>
53
- <tttx-dialog-box_1_3_0
53
+ <tttx-dialog-box_1_4_0
54
54
  id='dialogBoxMobile'
55
- ></tttx-dialog-box_1_3_0>
55
+ ></tttx-dialog-box_1_4_0>
56
56
  <script>
57
57
  if(!dialogBoxMobile) {
58
58
  const dialogBoxMobile = document.getElementById('dialogBoxMobile');
@@ -90,9 +90,9 @@ Mobile.args = {
90
90
  };
91
91
  const TttxDialogBoxSmall = ({ data }) => `
92
92
  <button onclick="openDialogSmall()">Open</button>
93
- <tttx-dialog-box_1_3_0
93
+ <tttx-dialog-box_1_4_0
94
94
  id='dialogBoxSmall'
95
- ></tttx-dialog-box_1_3_0>
95
+ ></tttx-dialog-box_1_4_0>
96
96
  <script>
97
97
  if(!dialogBoxSmall) {
98
98
  const dialogBoxSmall = document.getElementById('dialogBoxSmall');
@@ -130,9 +130,9 @@ Small.args = {
130
130
  };
131
131
  const TttxDialogBoxLarge = ({ data }) => `
132
132
  <button onclick="openDialogLarge()">Open</button>
133
- <tttx-dialog-box_1_3_0
133
+ <tttx-dialog-box_1_4_0
134
134
  id='dialogBoxLarge'
135
- ></tttx-dialog-box_1_3_0>
135
+ ></tttx-dialog-box_1_4_0>
136
136
  <script>
137
137
  if(!dialogBoxLarge) {
138
138
  const dialogBoxLarge = document.getElementById('dialogBoxLarge');
@@ -170,9 +170,9 @@ Large.args = {
170
170
  };
171
171
  const TttxDialogBoxWithoutCloseButton = ({ data }) => `
172
172
  <button onclick="openDialogNoClose()">Open</button>
173
- <tttx-dialog-box_1_3_0
173
+ <tttx-dialog-box_1_4_0
174
174
  id='dialogBoxNoClose'
175
- ></tttx-dialog-box_1_3_0>
175
+ ></tttx-dialog-box_1_4_0>
176
176
  <script>
177
177
  if(!dialogBoxNoClose) {
178
178
  const dialogBoxNoClose = document.getElementById('dialogBoxNoClose');
@@ -209,9 +209,9 @@ closeDisabled.args = {
209
209
  };
210
210
  const TttxDialogBoxWithIcon = ({ data }) => `
211
211
  <button onclick="openDialogIcon()">Open</button>
212
- <tttx-dialog-box_1_3_0
212
+ <tttx-dialog-box_1_4_0
213
213
  id='dialogBoxIcon'
214
- ></tttx-dialog-box_1_3_0>
214
+ ></tttx-dialog-box_1_4_0>
215
215
  <script>
216
216
  if(!dialogBoxIcon) {
217
217
  const dialogBoxIcon = document.getElementById('dialogBoxIcon');
@@ -250,9 +250,9 @@ Icon.args = {
250
250
  };
251
251
  const TttxDialogBoxInfo = ({ data }) => `
252
252
  <button onclick="openDialogInfo()">Open</button>
253
- <tttx-dialog-box_1_3_0
253
+ <tttx-dialog-box_1_4_0
254
254
  id='dialogBoxInfo'
255
- ></tttx-dialog-box_1_3_0>
255
+ ></tttx-dialog-box_1_4_0>
256
256
  <script>
257
257
  if(!dialogBoxInfo) {
258
258
  const dialogBoxInfo = document.getElementById('dialogBoxInfo');
@@ -292,9 +292,9 @@ Info.args = {
292
292
  };
293
293
  const TttxDialogBoxSuccess = ({ data }) => `
294
294
  <button onclick="openDialogSuccess()">Open</button>
295
- <tttx-dialog-box_1_3_0
295
+ <tttx-dialog-box_1_4_0
296
296
  id='dialogBoxSuccess'
297
- ></tttx-dialog-box_1_3_0>
297
+ ></tttx-dialog-box_1_4_0>
298
298
  <script>
299
299
  if(!dialogBoxSuccess) {
300
300
  const dialogBoxSuccess = document.getElementById('dialogBoxSuccess');
@@ -334,9 +334,9 @@ Success.args = {
334
334
  };
335
335
  const TttxDialogBoxWarning = ({ data }) => `
336
336
  <button onclick="openDialogWarning()">Open</button>
337
- <tttx-dialog-box_1_3_0
337
+ <tttx-dialog-box_1_4_0
338
338
  id='dialogBoxWarning'
339
- ></tttx-dialog-box_1_3_0>
339
+ ></tttx-dialog-box_1_4_0>
340
340
  <script>
341
341
  if(!dialogBoxWarning) {
342
342
  const dialogBoxWarning = document.getElementById('dialogBoxWarning');
@@ -376,9 +376,9 @@ Warning.args = {
376
376
  };
377
377
  const TttxDialogBoxCritical = ({ data }) => `
378
378
  <button onclick="openDialogCritical()">Open</button>
379
- <tttx-dialog-box_1_3_0
379
+ <tttx-dialog-box_1_4_0
380
380
  id='dialogBoxCritical'
381
- ></tttx-dialog-box_1_3_0>
381
+ ></tttx-dialog-box_1_4_0>
382
382
  <script>
383
383
  if(!dialogBoxCritical) {
384
384
  const dialogBoxCritical = document.getElementById('dialogBoxCritical');
@@ -418,9 +418,9 @@ Critical.args = {
418
418
  };
419
419
  const TttxDialogBoxHTML = ({ data }) => `
420
420
  <button onclick="openDialogHTML()">Open</button>
421
- <tttx-dialog-box_1_3_0
421
+ <tttx-dialog-box_1_4_0
422
422
  id='dialogBoxHTML'
423
- ></tttx-dialog-box_1_3_0>
423
+ ></tttx-dialog-box_1_4_0>
424
424
  <script>
425
425
  if(!dialogBoxHTML) {
426
426
  const dialogBoxHTML = document.getElementById('dialogBoxHTML');
@@ -458,9 +458,9 @@ CustomHTML.args = {
458
458
  const link = 'https://uat.3tplatform.com/U2FsdGVkX18l6CTkVQIEFERL%2FnhogHPK3H4e%2FKrELJcM6Jg2cFG6MDMRpJnhzg%2FnNx0cNFOn5IqC8PchiG%2BIded4%2B%2Foe2u%2BPeGnMmrhU38kPG8y2EHRrAXfHe24dNz0vZYauMC7I88j1SHCI%2F564ZkSDjIeqQJ2KBuVpNRFvNnyjfL0ENeiQqvPTCz%2ByCjexJ9bREgkeHDfvMplRI8CH92m%2B1rwWdoQbD09qb4w1wWiJE7MhLhBuXe6OeP1vNheORIeZObDC1KgAluvtbSDbGuSVGTkBgCZv2%2FD%2BIHbEMOQwjO7V7fHp0hNlb%2BPdc0Qg9RUOn%2BcVQiz4SEWBsRr1PF%2BXRIW736L8udcse%2FJYrkkq15ilKYhSwEmm7RdIxxgTTUyOanmYJBXONn0zbYDlRQ%3D%3D';
459
459
  const TttxDialogBoxOverflow = ({ data }) => `
460
460
  <button onclick="openDialogOverflow()">Open</button>
461
- <tttx-dialog-box_1_3_0
461
+ <tttx-dialog-box_1_4_0
462
462
  id='dialogBoxOverflow'
463
- ></tttx-dialog-box_1_3_0>
463
+ ></tttx-dialog-box_1_4_0>
464
464
  <script>
465
465
  if(!dialogBoxOverflow) {
466
466
  const dialogBoxOverflow = document.getElementById('dialogBoxOverflow');
@@ -21,9 +21,9 @@ export class TttxExpander {
21
21
  this.toggleExpander.emit({ open: this.isExpanded, name: this.name });
22
22
  }
23
23
  render() {
24
- return (h(Host, null, h("details", { class: "expander", open: this.open, "aria-owns": "expanderContent", "aria-expanded": `${this.isExpanded}`, onClick: this.handleExpand.bind(this), ref: el => (this.expander = el) }, h("summary", { class: "panel" }, h("span", { class: "panel-frame" }, this.lefticon && (h("span", { class: "left-icons" }, h("tttx-icon_1_3_0", { icon: this.lefticon, color: this.lefticoncolor }))), h("span", { class: "name" }, this.name)), h("span", { class: "expand-button" }, h("tttx-icon_1_3_0", { class: "open", icon: "expand_more", color: "black" }), h("tttx-icon_1_3_0", { class: "closed", icon: "chevron_right", color: "black" }))), h("div", { id: "expanderContent", class: "content", tabindex: "0" }, h("slot", null)))));
24
+ return (h(Host, null, h("details", { class: "expander", open: this.open, "aria-owns": "expanderContent", "aria-expanded": `${this.isExpanded}`, onClick: this.handleExpand.bind(this), ref: el => (this.expander = el) }, h("summary", { class: "panel" }, h("span", { class: "panel-frame" }, this.lefticon && (h("span", { class: "left-icons" }, h("tttx-icon_1_4_0", { icon: this.lefticon, color: this.lefticoncolor }))), h("span", { class: "name" }, this.name)), h("span", { class: "expand-button" }, h("tttx-icon_1_4_0", { class: "open", icon: "expand_more", color: "black" }), h("tttx-icon_1_4_0", { class: "closed", icon: "chevron_right", color: "black" }))), h("div", { id: "expanderContent", class: "content", tabindex: "0" }, h("slot", null)))));
25
25
  }
26
- static get is() { return "tttx-expander_1_3_0"; }
26
+ static get is() { return "tttx-expander_1_4_0"; }
27
27
  static get encapsulation() { return "shadow"; }
28
28
  static get originalStyleUrls() {
29
29
  return {
@@ -23,17 +23,17 @@ export default {
23
23
  };
24
24
  const TemplateExpanderBookings = ({ name, open, lefticon, lefticoncolor }) => `
25
25
  <div style="width: 268px;">
26
- <tttx-expander_1_3_0 name="${name}" open="${open}" lefticon="${lefticon}" lefticoncolor="${lefticoncolor}">
26
+ <tttx-expander_1_4_0 name="${name}" open="${open}" lefticon="${lefticon}" lefticoncolor="${lefticoncolor}">
27
27
  <div tabindex="1" style="height: 36px; display: flex; align-items: center; gap: 8px;">
28
- <tttx-icon_1_3_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_3_0><tttx-icon_1_3_0 style="height: 24px;" icon="cancel" color="darkred"></tttx-icon_1_3_0><span>Not yet competent</span>
28
+ <tttx-icon_1_4_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_4_0><tttx-icon_1_4_0 style="height: 24px;" icon="cancel" color="darkred"></tttx-icon_1_4_0><span>Not yet competent</span>
29
29
  </div>
30
30
  <div tabindex="2" style="height: 36px; display: flex; align-items: center; gap: 8px;">
31
- <tttx-icon_1_3_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_3_0><tttx-icon_1_3_0 style="height: 24px;" icon="check_circle" color="green"></tttx-icon_1_3_0><span>Competent</span>
31
+ <tttx-icon_1_4_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_4_0><tttx-icon_1_4_0 style="height: 24px;" icon="check_circle" color="green"></tttx-icon_1_4_0><span>Competent</span>
32
32
  </div>
33
33
  <div tabindex="3" style="height: 36px; display: flex; align-items: center; gap: 8px;">
34
- <tttx-icon_1_3_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_3_0><tttx-icon_1_3_0 style="height: 24px;" icon="brightness_alert" color="blue"></tttx-icon_1_3_0><span>Not assessed</span>
34
+ <tttx-icon_1_4_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_4_0><tttx-icon_1_4_0 style="height: 24px;" icon="brightness_alert" color="blue"></tttx-icon_1_4_0><span>Not assessed</span>
35
35
  </div>
36
- </tttx-expander_1_3_0>
36
+ </tttx-expander_1_4_0>
37
37
  </div>
38
38
  `;
39
39
  export const ExpanderBookings = TemplateExpanderBookings.bind({});
@@ -45,14 +45,14 @@ ExpanderBookings.args = {
45
45
  };
46
46
  const TemplateExpanderTags = ({ name, open }) => `
47
47
  <div style="width: 268px;">
48
- <tttx-expander_1_3_0 name="${name}" open="${open}">
48
+ <tttx-expander_1_4_0 name="${name}" open="${open}">
49
49
  <div style="height: 36px; display: flex; align-items: center; gap: 8px;">
50
- <tttx-icon_1_3_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_3_0><tttx-tag_1_3_0 text="Safety critical" color="#F2BEBE"></tttx-tag_1_3_0>
50
+ <tttx-icon_1_4_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_4_0><tttx-tag_1_4_0 text="Safety critical" color="#F2BEBE"></tttx-tag_1_4_0>
51
51
  </div>
52
52
  <div style="height: 36px; display: flex; align-items: center; gap: 8px;">
53
- <tttx-icon_1_3_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_3_0><tttx-tag_1_3_0 text="Requires evidence" color="#C2DAEE"></tttx-tag_1_3_0>
53
+ <tttx-icon_1_4_0 style="height: 24px;" icon="check_box_outline_blank" color="gray"></tttx-icon_1_4_0><tttx-tag_1_4_0 text="Requires evidence" color="#C2DAEE"></tttx-tag_1_4_0>
54
54
  </div>
55
- </tttx-expander_1_3_0>
55
+ </tttx-expander_1_4_0>
56
56
  </div>
57
57
  `;
58
58
  export const ExpanderTags = TemplateExpanderTags.bind({});
@@ -171,13 +171,13 @@ export class TttxFilter {
171
171
  const selectAllCheckboxColor = this.allSelected ? 'blue' : 'grey';
172
172
  const buttonStyleClassNameModifier = this.getFilterButtonClassName(this.filterButtonStyle);
173
173
  const filterKey = `filter__${this.filterKey}`;
174
- return (h(Host, { id: filterKey }, h("div", { class: 'filter-container' }, h("button", { class: `filter-button ${buttonStyleClassNameModifier}`, type: 'button', onClick: this.onFilterButtonClick.bind(this) }, h("tttx-icon_1_3_0", { icon: 'filter_list', class: 'filter-icon', color: 'black' }), "Filter"), this.showPopover && (h("div", { class: `filter-popover-container ${filterPopoverContainerClassNameModifier}`, style: { width: this.popoverWidth } }, h("div", { class: 'filter-header' }, this.filterHeader), this.showSearchField ? (h("div", { class: 'search-field-container' }, h("tttx-icon_1_3_0", { icon: 'search', class: 'search-icon' }), h("input", { type: 'text', class: 'search-input', placeholder: 'Search', value: this.filterSearchTerm, onInput: this.handleFilterChange.bind(this) }))) : (''), h("div", { class: 'filter-options-container' }, this.showSelectAll ? (h("div", { class: 'filter-option', tabIndex: -1, onClick: this.onSelectAllClick.bind(this) }, h("tttx-icon_1_3_0", { icon: selectAllCheckboxIcon, color: selectAllCheckboxColor, class: 'select-all-icon' }), h("label", { class: 'filter-label' }, "Select all"))) : (''), this.displayedFilterSettings.map((option) => {
174
+ return (h(Host, { id: filterKey }, h("div", { class: 'filter-container' }, h("button", { class: `filter-button ${buttonStyleClassNameModifier}`, type: 'button', onClick: this.onFilterButtonClick.bind(this) }, h("tttx-icon_1_4_0", { icon: 'filter_list', class: 'filter-icon', color: 'black' }), "Filter"), this.showPopover && (h("div", { class: `filter-popover-container ${filterPopoverContainerClassNameModifier}`, style: { width: this.popoverWidth } }, h("div", { class: 'filter-header' }, this.filterHeader), this.showSearchField ? (h("div", { class: 'search-field-container' }, h("tttx-icon_1_4_0", { icon: 'search', class: 'search-icon' }), h("input", { type: 'text', class: 'search-input', placeholder: 'Search', value: this.filterSearchTerm, onInput: this.handleFilterChange.bind(this) }))) : (''), h("div", { class: 'filter-options-container' }, this.showSelectAll ? (h("div", { class: 'filter-option', tabIndex: -1, onClick: this.onSelectAllClick.bind(this) }, h("tttx-icon_1_4_0", { icon: selectAllCheckboxIcon, color: selectAllCheckboxColor, class: 'select-all-icon' }), h("label", { class: 'filter-label' }, "Select all"))) : (''), this.displayedFilterSettings.map((option) => {
175
175
  const checkboxIcon = this.selectedFilters.includes(option.optionText) ? 'check_box' : 'check_box_outline_blank';
176
176
  const checkboxColor = this.selectedFilters.includes(option.optionText) ? 'blue' : 'grey';
177
- return h("div", { class: 'filter-option', tabIndex: -1, onClick: () => this.onFilterOptionSelected(option.optionText), key: option.optionText }, h("tttx-icon_1_3_0", { icon: checkboxIcon, color: checkboxColor, class: 'checkbox-icon' }), this.showOptionIcons && h("tttx-icon_1_3_0", { icon: option.optionIcon, color: option.optionIconColor }), h("label", { class: 'filter-label' }, option.optionText));
177
+ return h("div", { class: 'filter-option', tabIndex: -1, onClick: () => this.onFilterOptionSelected(option.optionText), key: option.optionText }, h("tttx-icon_1_4_0", { icon: checkboxIcon, color: checkboxColor, class: 'checkbox-icon' }), this.showOptionIcons && h("tttx-icon_1_4_0", { icon: option.optionIcon, color: option.optionIconColor }), h("label", { class: 'filter-label' }, option.optionText));
178
178
  })), h("div", { class: 'filter-popover-button-container' }, h("button", { type: 'button', class: 'close-button', onClick: this.onCloseButtonClick.bind(this) }, "Close"), h("button", { type: 'button', class: 'apply-button', onClick: this.onApplyFilterButtonClick.bind(this) }, "Apply")))))));
179
179
  }
180
- static get is() { return "tttx-filter_1_3_0"; }
180
+ static get is() { return "tttx-filter_1_4_0"; }
181
181
  static get encapsulation() { return "shadow"; }
182
182
  static get originalStyleUrls() {
183
183
  return {
@@ -45,7 +45,7 @@ const filterOptions = [
45
45
  const ExampleFilter = args => {
46
46
  const filterHeader = args.filterHeader || 'Qualification status';
47
47
  const jsonFilterOptions = args.filterOptions ? JSON.stringify(args.filterOptions) : undefined;
48
- return `<tttx-filter_1_3_0
48
+ return `<tttx-filter_1_4_0
49
49
  ${jsonFilterOptions ? 'filter-options=\'' + jsonFilterOptions + '\'' : ''}
50
50
  ${args.showSearchField ? 'show-search-field=\'' + args.showSearchField + '\'' : ''}
51
51
  ${args.showSelectAll ? 'show-select-all=\'' + args.showSelectAll + '\'' : ''}
@@ -55,7 +55,7 @@ const ExampleFilter = args => {
55
55
  ${args.popoverWidth ? 'popover-width=\'' + args.popoverWidth + '\'' : ''}
56
56
  filter-header='${filterHeader}'
57
57
  filter-key='basic-filter'
58
- ></tttx-filter_1_3_0>`;
58
+ ></tttx-filter_1_4_0>`;
59
59
  };
60
60
  export const Default = ExampleFilter.bind({});
61
61
  export const CustomFilterOptions = ExampleFilter.bind({});
@@ -33,14 +33,15 @@ function validityCheck(event) {
33
33
  // and cleared with
34
34
  // target.setCustomValidity('');
35
35
  //handle whitespace-only input
36
- if (target.value.length && !target.value.replace(/\s/g, '').length) {
37
- errorMessage = 'This field cannot be left blank';
38
- target.setCustomValidity(errorMessage);
39
- }
40
- else {
41
- errorMessage = '';
42
- if (target.setCustomValidity) // tests are dumb as a brick
43
- target.setCustomValidity('');
36
+ if (!target.hasAttribute('custom-validation-set')) {
37
+ if (target.value.length && !target.value.replace(/\s/g, '').length) {
38
+ errorMessage = 'This field cannot be left blank';
39
+ target.setCustomValidity(errorMessage);
40
+ }
41
+ else {
42
+ if (target.setCustomValidity) // tests are dumb as a brick
43
+ target.setCustomValidity('');
44
+ }
44
45
  }
45
46
  // Check the validity of the input field and set an error message if needed
46
47
  switch (true) {
@@ -82,6 +82,10 @@ export class TttxForm {
82
82
  doSubmit(event) {
83
83
  // prevent the form from submitting normally
84
84
  event.preventDefault();
85
+ const allElements = this.fieldset.querySelectorAll('[custom-validation-set=true]');
86
+ if (allElements.length) {
87
+ return;
88
+ }
85
89
  // create a new FormData object with the form data
86
90
  const formData = new FormData(event.target);
87
91
  // get a list of checkboxes, if any, so we can manually set unchecked box data
@@ -131,7 +135,7 @@ export class TttxForm {
131
135
  if ((_a = this._data) === null || _a === void 0 ? void 0 : _a[formKey]) {
132
136
  select.classList.remove('placeholder');
133
137
  }
134
- const tttxSelect = document.createElement('tttx-select-box_1_3_0');
138
+ const tttxSelect = document.createElement('tttx-select-box_1_4_0');
135
139
  tttxSelect.optionsData = (_b = formProperties.options) === null || _b === void 0 ? void 0 : _b.filter(o => !o.placeholder);
136
140
  tttxSelect.placeholder = (_d = (_c = formProperties.options) === null || _c === void 0 ? void 0 : _c.filter(o => o.placeholder)[0]) === null || _d === void 0 ? void 0 : _d.label;
137
141
  tttxSelect.inline = false;
@@ -626,6 +630,64 @@ export class TttxForm {
626
630
  assignButtonReference(el) {
627
631
  this.submitButton = el;
628
632
  }
633
+ /**
634
+ * An external validation trigger to apply to a form field
635
+ * @param { string } fieldName The form field name to apply the validation too
636
+ * @param { string } message The validation message to display under the form field
637
+ */
638
+ async setValidationFor(fieldName, message) {
639
+ const formField = this.fieldset.querySelector(`[name=${fieldName}]`);
640
+ if (formField.disabled) {
641
+ return;
642
+ }
643
+ formField.setCustomValidity(message);
644
+ formField.setAttribute('custom-validation-set', 'true');
645
+ setErrorState(formField, true, message);
646
+ }
647
+ /**
648
+ * Clear the validation message on a given form field
649
+ * @param { string } fieldName The form field name to clear the validation of
650
+ */
651
+ async clearValidationFor(fieldName) {
652
+ const formField = this.fieldset.querySelector(`[name=${fieldName}]`);
653
+ formField.setCustomValidity('');
654
+ formField.removeAttribute('custom-validation-set');
655
+ setErrorState(formField, false, '');
656
+ }
657
+ /**
658
+ * Disable a form field and visually remove it from the form.
659
+ * If custom validation is set, this function will return without affecting the form field.
660
+ * @param { string } fieldName The form field name to disable
661
+ */
662
+ async disableFormField(fieldName) {
663
+ const formField = this.fieldset.querySelector(`[name=${fieldName}]`);
664
+ if (formField.hasAttribute('custom-validation-set')) {
665
+ return;
666
+ }
667
+ formField.disabled = true;
668
+ let parent = formField.parentElement;
669
+ do {
670
+ if (parent.nodeName !== 'LABEL') {
671
+ parent = parent.parentElement;
672
+ }
673
+ } while (parent.nodeName !== 'LABEL');
674
+ parent.style.display = 'none';
675
+ }
676
+ /**
677
+ * Enable a form field and visually add it back to the form.
678
+ * @param { string } fieldName The form field name to enable
679
+ */
680
+ async enableFormField(fieldName) {
681
+ const formField = this.fieldset.querySelector(`[name=${fieldName}]`);
682
+ formField.disabled = false;
683
+ let parent = formField.parentElement;
684
+ do {
685
+ if (parent.nodeName !== 'LABEL') {
686
+ parent = parent.parentElement;
687
+ }
688
+ } while (parent.nodeName !== 'LABEL');
689
+ parent.style.display = 'block';
690
+ }
629
691
  /**
630
692
  * Renders the component's template as a form element with a fieldset container. The form's
631
693
  * "onSubmit" event is bound to the "doSubmit" function, which handles the form submission
@@ -636,7 +698,7 @@ export class TttxForm {
636
698
  render() {
637
699
  return (h(Host, null, h("form", { onSubmit: this.doSubmit.bind(this) }, h("fieldset", { ref: this.assignFieldsetReference.bind(this) }), h("input", { type: "submit", ref: this.assignButtonReference.bind(this), style: { display: 'none' } }))));
638
700
  }
639
- static get is() { return "tttx-form_1_3_0"; }
701
+ static get is() { return "tttx-form_1_4_0"; }
640
702
  static get encapsulation() { return "shadow"; }
641
703
  static get originalStyleUrls() {
642
704
  return {
@@ -782,6 +844,145 @@ export class TttxForm {
782
844
  "text": "options a list of option values and labels"
783
845
  }]
784
846
  }
847
+ },
848
+ "setValidationFor": {
849
+ "complexType": {
850
+ "signature": "(fieldName: string, message: string) => Promise<void>",
851
+ "parameters": [{
852
+ "tags": [{
853
+ "name": "param",
854
+ "text": "fieldName The form field name to apply the validation too"
855
+ }],
856
+ "text": "The form field name to apply the validation too"
857
+ }, {
858
+ "tags": [{
859
+ "name": "param",
860
+ "text": "message The validation message to display under the form field"
861
+ }],
862
+ "text": "The validation message to display under the form field"
863
+ }],
864
+ "references": {
865
+ "Promise": {
866
+ "location": "global"
867
+ },
868
+ "HTMLInputElement": {
869
+ "location": "global"
870
+ },
871
+ "HTMLSelectElement": {
872
+ "location": "global"
873
+ }
874
+ },
875
+ "return": "Promise<void>"
876
+ },
877
+ "docs": {
878
+ "text": "An external validation trigger to apply to a form field",
879
+ "tags": [{
880
+ "name": "param",
881
+ "text": "fieldName The form field name to apply the validation too"
882
+ }, {
883
+ "name": "param",
884
+ "text": "message The validation message to display under the form field"
885
+ }]
886
+ }
887
+ },
888
+ "clearValidationFor": {
889
+ "complexType": {
890
+ "signature": "(fieldName: string) => Promise<void>",
891
+ "parameters": [{
892
+ "tags": [{
893
+ "name": "param",
894
+ "text": "fieldName The form field name to clear the validation of"
895
+ }],
896
+ "text": "The form field name to clear the validation of"
897
+ }],
898
+ "references": {
899
+ "Promise": {
900
+ "location": "global"
901
+ },
902
+ "HTMLInputElement": {
903
+ "location": "global"
904
+ },
905
+ "HTMLSelectElement": {
906
+ "location": "global"
907
+ }
908
+ },
909
+ "return": "Promise<void>"
910
+ },
911
+ "docs": {
912
+ "text": "Clear the validation message on a given form field",
913
+ "tags": [{
914
+ "name": "param",
915
+ "text": "fieldName The form field name to clear the validation of"
916
+ }]
917
+ }
918
+ },
919
+ "disableFormField": {
920
+ "complexType": {
921
+ "signature": "(fieldName: string) => Promise<void>",
922
+ "parameters": [{
923
+ "tags": [{
924
+ "name": "param",
925
+ "text": "fieldName The form field name to disable"
926
+ }],
927
+ "text": "The form field name to disable"
928
+ }],
929
+ "references": {
930
+ "Promise": {
931
+ "location": "global"
932
+ },
933
+ "HTMLInputElement": {
934
+ "location": "global"
935
+ },
936
+ "HTMLSelectElement": {
937
+ "location": "global"
938
+ },
939
+ "HTMLElement": {
940
+ "location": "global"
941
+ }
942
+ },
943
+ "return": "Promise<void>"
944
+ },
945
+ "docs": {
946
+ "text": "Disable a form field and visually remove it from the form.\nIf custom validation is set, this function will return without affecting the form field.",
947
+ "tags": [{
948
+ "name": "param",
949
+ "text": "fieldName The form field name to disable"
950
+ }]
951
+ }
952
+ },
953
+ "enableFormField": {
954
+ "complexType": {
955
+ "signature": "(fieldName: string) => Promise<void>",
956
+ "parameters": [{
957
+ "tags": [{
958
+ "name": "param",
959
+ "text": "fieldName The form field name to enable"
960
+ }],
961
+ "text": "The form field name to enable"
962
+ }],
963
+ "references": {
964
+ "Promise": {
965
+ "location": "global"
966
+ },
967
+ "HTMLInputElement": {
968
+ "location": "global"
969
+ },
970
+ "HTMLSelectElement": {
971
+ "location": "global"
972
+ },
973
+ "HTMLElement": {
974
+ "location": "global"
975
+ }
976
+ },
977
+ "return": "Promise<void>"
978
+ },
979
+ "docs": {
980
+ "text": "Enable a form field and visually add it back to the form.",
981
+ "tags": [{
982
+ "name": "param",
983
+ "text": "fieldName The form field name to enable"
984
+ }]
985
+ }
785
986
  }
786
987
  };
787
988
  }
@@ -169,7 +169,7 @@ const formSchema = {
169
169
  }
170
170
  },
171
171
  };
172
- export const SingleFormItem = args => `<tttx-form_1_3_0 formSchema='${JSON.stringify(args.formSchema)}'></tttx-form_1_3_0>`;
172
+ export const SingleFormItem = args => `<tttx-form_1_4_0 formSchema='${JSON.stringify(args.formSchema)}'></tttx-form_1_4_0>`;
173
173
  SingleFormItem.args = {
174
174
  formSchema: {
175
175
  properties: {
@@ -192,7 +192,7 @@ SingleFormItem.args = {
192
192
  },
193
193
  },
194
194
  };
195
- export const StartAndEndDateWithoutTime = args => `<tttx-form_1_3_0 formSchema='${JSON.stringify(args.formSchema)}'></tttx-form_1_3_0>`;
195
+ export const StartAndEndDateWithoutTime = args => `<tttx-form_1_4_0 formSchema='${JSON.stringify(args.formSchema)}'></tttx-form_1_4_0>`;
196
196
  StartAndEndDateWithoutTime.args = {
197
197
  formSchema: {
198
198
  properties: {
@@ -207,7 +207,7 @@ StartAndEndDateWithoutTime.args = {
207
207
  },
208
208
  },
209
209
  };
210
- export const ExampleFormFromJSON = args => `<tttx-form_1_3_0 id='form' formSchema='${JSON.stringify(args.formSchema)}'></tttx-form_1_3_0>
210
+ export const ExampleFormFromJSON = args => `<tttx-form_1_4_0 id='form' formSchema='${JSON.stringify(args.formSchema)}'></tttx-form_1_4_0>
211
211
  <hr/>
212
212
  <button type='button' id='button'>Submit Form</button>
213
213
  <script>
@@ -408,7 +408,7 @@ const data = {
408
408
  'startend-endtime': '17:00',
409
409
  notes: 'Some notes that were entered into this box.'
410
410
  };
411
- export const PrePopulateForm = args => `<tttx-form_1_3_0 id='form' formSchema='${JSON.stringify(args.formSchema)}' data='${JSON.stringify(args.data)}'></tttx-form_1_3_0>
411
+ export const PrePopulateForm = args => `<tttx-form_1_4_0 id='form' formSchema='${JSON.stringify(args.formSchema)}' data='${JSON.stringify(args.data)}'></tttx-form_1_4_0>
412
412
  <hr/>
413
413
  <button type='button' id='button'>Submit Form</button>
414
414
  <script>
@@ -483,7 +483,7 @@ const radioFormSchema = {
483
483
  },
484
484
  },
485
485
  };
486
- export const FormWithRadio = args => `<tttx-form_1_3_0 id='form' formSchema='${JSON.stringify(args.formSchema)}'></tttx-form_1_3_0>
486
+ export const FormWithRadio = args => `<tttx-form_1_4_0 id='form' formSchema='${JSON.stringify(args.formSchema)}'></tttx-form_1_4_0>
487
487
  <hr/>
488
488
  <button type='button' id='button'>Submit Form</button>
489
489
  <script>
@@ -48,9 +48,9 @@ export class TttxList {
48
48
  else {
49
49
  element = h("span", { class: "item-content" }, item.element);
50
50
  }
51
- return (h(Fragment, null, item.hasCheckbox && (h("div", { class: "checkbox" }, h("tttx-icon_1_3_0", { icon: item.checked ? 'check_box' : 'check_box_outline_blank', color: item.checked ? 'blue' : 'grey', onClick: event => {
51
+ return (h(Fragment, null, item.hasCheckbox && (h("div", { class: "checkbox" }, h("tttx-icon_1_4_0", { icon: item.checked ? 'check_box' : 'check_box_outline_blank', color: item.checked ? 'blue' : 'grey', onClick: event => {
52
52
  this.onRowCheckboxHandler(event, item);
53
- } }))), item.element && element, item.icon && (h("span", { class: "icons" }, h("tttx-icon_1_3_0", { class: "align-right", icon: item.icon, color: 'black' })))));
53
+ } }))), item.element && element, item.icon && (h("span", { class: "icons" }, h("tttx-icon_1_4_0", { class: "align-right", icon: item.icon, color: 'black' })))));
54
54
  }
55
55
  render() {
56
56
  if (!this._data)
@@ -63,7 +63,7 @@ export class TttxList {
63
63
  this.onRowClickHandler(item);
64
64
  } }, this.renderListItem(item))))));
65
65
  }
66
- static get is() { return "tttx-list_1_3_0"; }
66
+ static get is() { return "tttx-list_1_4_0"; }
67
67
  static get encapsulation() { return "shadow"; }
68
68
  static get originalStyleUrls() {
69
69
  return {