@six-group/ui-library 0.0.0-insider.d16ec8e → 0.0.0-insider.db2b416

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 (813) hide show
  1. package/dist/cjs/{event-listeners-dd94dcfb.js → event-listeners-fdfe838c.js} +17 -1
  2. package/dist/cjs/event-listeners-fdfe838c.js.map +1 -0
  3. package/dist/cjs/{execution-control-45c84c46.js → execution-control-b4707294.js} +1 -1
  4. package/dist/cjs/execution-control-b4707294.js.map +1 -0
  5. package/dist/cjs/{focus-visible-e0d93a95.js → focus-visible-ae2470dd.js} +1 -1
  6. package/dist/cjs/focus-visible-ae2470dd.js.map +1 -0
  7. package/dist/cjs/form-2df8c5bb.js +20 -0
  8. package/dist/cjs/form-2df8c5bb.js.map +1 -0
  9. package/dist/cjs/{form-control-7494488a.js → form-control-d369af14.js} +3 -5
  10. package/dist/cjs/form-control-d369af14.js.map +1 -0
  11. package/dist/cjs/{index-ccf35821.js → index-900437fc.js} +186 -56
  12. package/dist/cjs/index-900437fc.js.map +1 -0
  13. package/dist/cjs/index.cjs.js +94 -0
  14. package/dist/cjs/index.cjs.js.map +1 -1
  15. package/dist/cjs/loader.cjs.js +3 -12
  16. package/dist/cjs/loader.cjs.js.map +1 -1
  17. package/dist/cjs/{modal-21350fb5.js → modal-d5f074c7.js} +1 -1
  18. package/dist/cjs/modal-d5f074c7.js.map +1 -0
  19. package/dist/cjs/{popover-b5e2d5ef.js → popover-2df7e154.js} +7 -13
  20. package/dist/cjs/popover-2df7e154.js.map +1 -0
  21. package/dist/cjs/{popup-44836aaf.js → popup-f1d9910f.js} +1 -1
  22. package/dist/cjs/popup-f1d9910f.js.map +1 -0
  23. package/dist/cjs/{scroll-76e6f5d7.js → scroll-03678de1.js} +1 -1
  24. package/dist/cjs/scroll-03678de1.js.map +1 -0
  25. package/dist/cjs/set-attributes_2.cjs.entry.js +1 -1
  26. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  27. package/dist/cjs/six-alert.cjs.entry.js +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  29. package/dist/cjs/six-avatar.cjs.entry.js +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-badge.cjs.entry.js +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-button.cjs.entry.js +9 -3
  34. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-card.cjs.entry.js +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-checkbox.cjs.entry.js +9 -48
  38. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-datepicker.cjs.entry.js +26 -57
  40. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-details.cjs.entry.js +2 -2
  42. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-dialog.cjs.entry.js +4 -4
  44. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-drawer.cjs.entry.js +4 -4
  46. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-dropdown_2.cjs.entry.js +5 -5
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-error-page.cjs.entry.js +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  52. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  54. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-file-upload.cjs.entry.js +1 -1
  56. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  58. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-group-label.cjs.entry.js +3 -3
  60. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-header.cjs.entry.js +3 -3
  62. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-icon-button.cjs.entry.js +2 -2
  64. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  66. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-input.cjs.entry.js +29 -88
  68. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-item-picker.cjs.entry.js +6 -6
  70. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  71. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  72. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  73. package/dist/cjs/six-layout-grid.cjs.entry.js +1 -1
  74. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  76. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  77. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  78. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  79. package/dist/cjs/six-menu-item.cjs.entry.js +2 -2
  80. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  81. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  83. package/dist/cjs/six-picto.cjs.entry.js +1 -1
  84. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-progress-ring.cjs.entry.js +1 -1
  88. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-radio.cjs.entry.js +18 -24
  90. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-range.cjs.entry.js +7 -45
  92. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-root.cjs.entry.js +1 -1
  94. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-search-field.cjs.entry.js +3 -3
  96. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-select.cjs.entry.js +20 -60
  98. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +2 -2
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-sidebar.cjs.entry.js +2 -2
  104. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-switch.cjs.entry.js +18 -32
  108. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-tab-group.cjs.entry.js +3 -3
  110. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  112. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  113. package/dist/cjs/six-tab.cjs.entry.js +1 -1
  114. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  115. package/dist/cjs/six-tag.cjs.entry.js +1 -1
  116. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  117. package/dist/cjs/six-textarea.cjs.entry.js +28 -77
  118. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  119. package/dist/cjs/six-tile.cjs.entry.js +2 -2
  120. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  121. package/dist/cjs/six-timepicker.cjs.entry.js +21 -31
  122. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  123. package/dist/cjs/six-tooltip.cjs.entry.js +2 -2
  124. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  125. package/dist/cjs/{slot-bccbdb59.js → slot-6e6a400f.js} +1 -1
  126. package/dist/cjs/slot-6e6a400f.js.map +1 -0
  127. package/dist/cjs/{types-64878648.js → types-47199040.js} +1 -1
  128. package/dist/cjs/types-47199040.js.map +1 -0
  129. package/dist/cjs/ui-library.cjs.js +3 -6
  130. package/dist/cjs/ui-library.cjs.js.map +1 -1
  131. package/dist/collection/collection-manifest.json +54 -55
  132. package/dist/collection/components/six-alert/six-alert.js +15 -8
  133. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  134. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  135. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  136. package/dist/collection/components/six-avatar/six-avatar.js +1 -1
  137. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  138. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  139. package/dist/collection/components/six-badge/six-badge.js +1 -1
  140. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  141. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  142. package/dist/collection/components/six-button/six-button.js +19 -8
  143. package/dist/collection/components/six-button/six-button.js.map +1 -1
  144. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  145. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  146. package/dist/collection/components/six-card/six-card.js +1 -1
  147. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  148. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  149. package/dist/collection/components/six-checkbox/six-checkbox.js +37 -139
  150. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  151. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +79 -0
  152. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  153. package/dist/collection/components/six-datepicker/components/day-selection.js +1 -1
  154. package/dist/collection/components/six-datepicker/components/month-selection.js +2 -2
  155. package/dist/collection/components/six-datepicker/components/year-selection.js +2 -2
  156. package/dist/collection/components/six-datepicker/six-datepicker.js +117 -181
  157. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  158. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  159. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  160. package/dist/collection/components/six-details/six-details.js +14 -8
  161. package/dist/collection/components/six-details/six-details.js.map +1 -1
  162. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  163. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  164. package/dist/collection/components/six-dialog/six-dialog.js +21 -13
  165. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  166. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  167. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  168. package/dist/collection/components/six-drawer/six-drawer.js +21 -13
  169. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  170. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  171. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  172. package/dist/collection/components/six-dropdown/six-dropdown.js +30 -18
  173. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  174. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  175. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  176. package/dist/collection/components/six-error-page/six-error-page.js +1 -1
  177. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  178. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  179. package/dist/collection/components/six-file-list/six-file-list.js +1 -1
  180. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  181. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  182. package/dist/collection/components/six-file-list-item/six-file-list-item.js +5 -3
  183. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  184. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  185. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  186. package/dist/collection/components/six-file-upload/six-file-upload.js +5 -3
  187. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  188. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  189. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  190. package/dist/collection/components/six-footer/six-footer.js +1 -1
  191. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  192. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  193. package/dist/collection/components/six-group-label/six-group-label.js +5 -5
  194. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  195. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +43 -0
  196. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  197. package/dist/collection/components/six-header/six-header.js +19 -11
  198. package/dist/collection/components/six-header/six-header.js.map +1 -1
  199. package/dist/collection/components/six-header/test/six-header.spec.js +133 -0
  200. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  201. package/dist/collection/components/six-icon/six-icon.js +1 -1
  202. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  203. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  204. package/dist/collection/components/six-icon-button/six-icon-button.js +2 -2
  205. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  206. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  207. package/dist/collection/components/six-input/six-input.js +91 -277
  208. package/dist/collection/components/six-input/six-input.js.map +1 -1
  209. package/dist/collection/components/six-input/test/six-input.spec.js +37 -0
  210. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  211. package/dist/collection/components/six-item-picker/six-item-picker.js +14 -10
  212. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  213. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  214. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  215. package/dist/collection/components/six-language-switcher/six-language-switcher.js +5 -3
  216. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  217. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  218. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  219. package/dist/collection/components/six-layout-grid/six-layout-grid.js +1 -1
  220. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  221. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  222. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  223. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  224. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  225. package/dist/collection/components/six-menu/six-menu.js +12 -8
  226. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  227. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  228. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  229. package/dist/collection/components/six-menu-divider/six-menu-divider.js +1 -1
  230. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  231. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  232. package/dist/collection/components/six-menu-item/six-menu-item.js +10 -6
  233. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  234. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  235. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  236. package/dist/collection/components/six-menu-label/six-menu-label.js +1 -1
  237. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  238. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  239. package/dist/collection/components/six-picto/six-picto.js +1 -1
  240. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  241. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  242. package/dist/collection/components/six-progress-bar/six-progress-bar.js +1 -1
  243. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  244. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  245. package/dist/collection/components/six-progress-ring/six-progress-ring.js +1 -1
  246. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  247. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  248. package/dist/collection/components/six-radio/six-radio.js +36 -84
  249. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  250. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  251. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  252. package/dist/collection/components/six-range/six-range.js +43 -129
  253. package/dist/collection/components/six-range/six-range.js.map +1 -1
  254. package/dist/collection/components/six-range/test/six-range.spec.js +32 -0
  255. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  256. package/dist/collection/components/six-root/six-root.js +5 -3
  257. package/dist/collection/components/six-root/six-root.js.map +1 -1
  258. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  259. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  260. package/dist/collection/components/six-search-field/six-search-field.js +5 -4
  261. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  262. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  263. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  264. package/dist/collection/components/six-select/six-select.js +69 -185
  265. package/dist/collection/components/six-select/six-select.js.map +1 -1
  266. package/dist/collection/components/six-select/test/six-select.spec.js +82 -0
  267. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  268. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  269. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  270. package/dist/collection/components/six-sidebar/six-sidebar.js +26 -14
  271. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  272. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  273. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  274. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +1 -1
  275. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  276. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  277. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +2 -2
  278. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  279. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  280. package/dist/collection/components/six-spinner/six-spinner.js +1 -1
  281. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  282. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  283. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +3 -2
  284. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  285. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  286. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  287. package/dist/collection/components/six-switch/six-switch.css +77 -0
  288. package/dist/collection/components/six-switch/six-switch.js +64 -105
  289. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  290. package/dist/collection/components/six-switch/test/six-switch.spec.js +69 -0
  291. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  292. package/dist/collection/components/six-tab/six-tab.js +9 -5
  293. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  294. package/dist/collection/components/six-tab/test/six-tab.spec.js +20 -0
  295. package/dist/collection/components/six-tab/test/six-tab.spec.js.map +1 -0
  296. package/dist/collection/components/six-tab-group/six-tab-group.js +10 -7
  297. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  298. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js +45 -0
  299. package/dist/collection/components/six-tab-group/test/six-tab-group.spec.js.map +1 -0
  300. package/dist/collection/components/six-tab-panel/six-tab-panel.js +1 -1
  301. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  302. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  303. package/dist/collection/components/six-tag/six-tag.js +3 -2
  304. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  305. package/dist/collection/components/six-tag/test/six-tag.spec.js +42 -0
  306. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  307. package/dist/collection/components/six-textarea/six-textarea.js +88 -213
  308. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  309. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +117 -0
  310. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  311. package/dist/collection/components/six-tile/six-tile.js +10 -6
  312. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  313. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  314. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  315. package/dist/collection/components/six-timepicker/six-timepicker.js +60 -107
  316. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  317. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  318. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  319. package/dist/collection/components/six-tooltip/six-tooltip.js +14 -8
  320. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  321. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  322. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  323. package/dist/collection/functional-components/form-control/form-control.js +2 -4
  324. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  325. package/dist/collection/index.js +1 -1
  326. package/dist/collection/index.js.map +1 -1
  327. package/dist/collection/utils/date-util.js +2 -1
  328. package/dist/collection/utils/date-util.js.map +1 -1
  329. package/dist/collection/utils/date-util.spec.js +995 -0
  330. package/dist/collection/utils/date-util.spec.js.map +1 -0
  331. package/dist/collection/utils/error-messages.js +91 -0
  332. package/dist/collection/utils/error-messages.js.map +1 -0
  333. package/dist/collection/utils/event-listeners.js +16 -0
  334. package/dist/collection/utils/event-listeners.js.map +1 -1
  335. package/dist/collection/utils/form.js +15 -0
  336. package/dist/collection/utils/form.js.map +1 -0
  337. package/dist/collection/utils/popover.js +1 -1
  338. package/dist/collection/utils/scroll.js +1 -1
  339. package/dist/collection/utils/scroll.spec.js +122 -0
  340. package/dist/collection/utils/scroll.spec.js.map +1 -0
  341. package/dist/collection/utils/time.util.spec.js +368 -0
  342. package/dist/collection/utils/time.util.spec.js.map +1 -0
  343. package/dist/collection/wrappers/set-attributes/set-attributes.js +1 -1
  344. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  345. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  346. package/dist/components/event-listeners.js +16 -0
  347. package/dist/components/event-listeners.js.map +1 -1
  348. package/dist/components/execution-control.js.map +1 -1
  349. package/dist/components/focus-visible.js.map +1 -1
  350. package/dist/components/form-control.js +1 -3
  351. package/dist/components/form-control.js.map +1 -1
  352. package/dist/components/form.js +18 -0
  353. package/dist/components/form.js.map +1 -0
  354. package/dist/components/index.js +92 -3
  355. package/dist/components/index.js.map +1 -1
  356. package/dist/components/modal.js.map +1 -1
  357. package/dist/components/popover.js +6 -12
  358. package/dist/components/popover.js.map +1 -1
  359. package/dist/components/scroll.js.map +1 -1
  360. package/dist/components/set-attributes2.js.map +1 -1
  361. package/dist/components/six-alert.js.map +1 -1
  362. package/dist/components/six-avatar.js.map +1 -1
  363. package/dist/components/six-badge.js.map +1 -1
  364. package/dist/components/six-button.js +7 -1
  365. package/dist/components/six-button.js.map +1 -1
  366. package/dist/components/six-card.js.map +1 -1
  367. package/dist/components/six-checkbox.js +6 -50
  368. package/dist/components/six-checkbox.js.map +1 -1
  369. package/dist/components/six-datepicker.js +26 -60
  370. package/dist/components/six-datepicker.js.map +1 -1
  371. package/dist/components/six-details2.js.map +1 -1
  372. package/dist/components/six-dialog.js.map +1 -1
  373. package/dist/components/six-drawer.js.map +1 -1
  374. package/dist/components/six-dropdown2.js.map +1 -1
  375. package/dist/components/six-error-page.js.map +1 -1
  376. package/dist/components/six-file-list-item.js.map +1 -1
  377. package/dist/components/six-file-list.js.map +1 -1
  378. package/dist/components/six-file-upload.js.map +1 -1
  379. package/dist/components/six-footer.js.map +1 -1
  380. package/dist/components/six-group-label.js +1 -1
  381. package/dist/components/six-group-label.js.map +1 -1
  382. package/dist/components/six-header.js.map +1 -1
  383. package/dist/components/six-icon-button2.js.map +1 -1
  384. package/dist/components/six-icon2.js.map +1 -1
  385. package/dist/components/six-input2.js +30 -98
  386. package/dist/components/six-input2.js.map +1 -1
  387. package/dist/components/six-item-picker2.js +2 -2
  388. package/dist/components/six-item-picker2.js.map +1 -1
  389. package/dist/components/six-language-switcher.js.map +1 -1
  390. package/dist/components/six-layout-grid.js.map +1 -1
  391. package/dist/components/six-main-container.js.map +1 -1
  392. package/dist/components/six-menu-divider.js.map +1 -1
  393. package/dist/components/six-menu-item2.js.map +1 -1
  394. package/dist/components/six-menu-label.js.map +1 -1
  395. package/dist/components/six-menu2.js.map +1 -1
  396. package/dist/components/six-picto2.js.map +1 -1
  397. package/dist/components/six-progress-bar.js.map +1 -1
  398. package/dist/components/six-progress-ring.js.map +1 -1
  399. package/dist/components/six-radio.js +19 -28
  400. package/dist/components/six-radio.js.map +1 -1
  401. package/dist/components/six-range.js +8 -50
  402. package/dist/components/six-range.js.map +1 -1
  403. package/dist/components/six-root.js.map +1 -1
  404. package/dist/components/six-search-field.js.map +1 -1
  405. package/dist/components/six-select.js +18 -64
  406. package/dist/components/six-select.js.map +1 -1
  407. package/dist/components/six-sidebar-item-group.js.map +1 -1
  408. package/dist/components/six-sidebar-item.js.map +1 -1
  409. package/dist/components/six-sidebar.js.map +1 -1
  410. package/dist/components/six-spinner2.js.map +1 -1
  411. package/dist/components/six-stage-indicator2.js.map +1 -1
  412. package/dist/components/six-switch.js +21 -37
  413. package/dist/components/six-switch.js.map +1 -1
  414. package/dist/components/six-tab-group.js.map +1 -1
  415. package/dist/components/six-tab-panel.js.map +1 -1
  416. package/dist/components/six-tab.js.map +1 -1
  417. package/dist/components/six-tag2.js.map +1 -1
  418. package/dist/components/six-textarea.js +29 -84
  419. package/dist/components/six-textarea.js.map +1 -1
  420. package/dist/components/six-tile.js.map +1 -1
  421. package/dist/components/six-timepicker2.js +18 -31
  422. package/dist/components/six-timepicker2.js.map +1 -1
  423. package/dist/components/six-tooltip2.js.map +1 -1
  424. package/dist/components/slot.js.map +1 -1
  425. package/dist/components.d.ts +361 -88
  426. package/dist/components.json +3850 -753
  427. package/dist/esm/{event-listeners-6b434035.js → event-listeners-f6e5b0ab.js} +17 -1
  428. package/dist/esm/event-listeners-f6e5b0ab.js.map +1 -0
  429. package/dist/esm/{execution-control-72cc50f4.js → execution-control-e0892a05.js} +1 -1
  430. package/dist/esm/execution-control-e0892a05.js.map +1 -0
  431. package/dist/esm/{focus-visible-fa7129a0.js → focus-visible-fc6ac671.js} +1 -1
  432. package/dist/esm/focus-visible-fc6ac671.js.map +1 -0
  433. package/dist/esm/form-81252534.js +18 -0
  434. package/dist/esm/form-81252534.js.map +1 -0
  435. package/dist/esm/{form-control-44a50dd6.js → form-control-32cb533f.js} +3 -5
  436. package/dist/esm/form-control-32cb533f.js.map +1 -0
  437. package/dist/esm/{index-371fb9d4.js → index-8a74f992.js} +187 -56
  438. package/dist/esm/index-8a74f992.js.map +1 -0
  439. package/dist/esm/index.js +91 -0
  440. package/dist/esm/index.js.map +1 -1
  441. package/dist/esm/loader.js +4 -13
  442. package/dist/esm/loader.js.map +1 -1
  443. package/dist/esm/{modal-b1d96441.js → modal-7d32e141.js} +1 -1
  444. package/dist/esm/modal-7d32e141.js.map +1 -0
  445. package/dist/esm/{popover-1aacbae8.js → popover-136d1f73.js} +7 -13
  446. package/dist/esm/popover-136d1f73.js.map +1 -0
  447. package/dist/esm/{popup-678b8592.js → popup-7f89a001.js} +1 -1
  448. package/dist/esm/popup-7f89a001.js.map +1 -0
  449. package/dist/esm/{scroll-180b53fd.js → scroll-3fb087a2.js} +1 -1
  450. package/dist/esm/scroll-3fb087a2.js.map +1 -0
  451. package/dist/esm/set-attributes_2.entry.js +1 -1
  452. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  453. package/dist/esm/six-alert.entry.js +1 -1
  454. package/dist/esm/six-alert.entry.js.map +1 -1
  455. package/dist/esm/six-avatar.entry.js +1 -1
  456. package/dist/esm/six-avatar.entry.js.map +1 -1
  457. package/dist/esm/six-badge.entry.js +1 -1
  458. package/dist/esm/six-badge.entry.js.map +1 -1
  459. package/dist/esm/six-button.entry.js +9 -3
  460. package/dist/esm/six-button.entry.js.map +1 -1
  461. package/dist/esm/six-card.entry.js +1 -1
  462. package/dist/esm/six-card.entry.js.map +1 -1
  463. package/dist/esm/six-checkbox.entry.js +9 -48
  464. package/dist/esm/six-checkbox.entry.js.map +1 -1
  465. package/dist/esm/six-datepicker.entry.js +26 -57
  466. package/dist/esm/six-datepicker.entry.js.map +1 -1
  467. package/dist/esm/six-details.entry.js +2 -2
  468. package/dist/esm/six-details.entry.js.map +1 -1
  469. package/dist/esm/six-dialog.entry.js +4 -4
  470. package/dist/esm/six-dialog.entry.js.map +1 -1
  471. package/dist/esm/six-drawer.entry.js +4 -4
  472. package/dist/esm/six-drawer.entry.js.map +1 -1
  473. package/dist/esm/six-dropdown_2.entry.js +5 -5
  474. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  475. package/dist/esm/six-error-page.entry.js +1 -1
  476. package/dist/esm/six-error-page.entry.js.map +1 -1
  477. package/dist/esm/six-file-list-item.entry.js +1 -1
  478. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  479. package/dist/esm/six-file-list.entry.js +1 -1
  480. package/dist/esm/six-file-list.entry.js.map +1 -1
  481. package/dist/esm/six-file-upload.entry.js +1 -1
  482. package/dist/esm/six-file-upload.entry.js.map +1 -1
  483. package/dist/esm/six-footer.entry.js +1 -1
  484. package/dist/esm/six-footer.entry.js.map +1 -1
  485. package/dist/esm/six-group-label.entry.js +3 -3
  486. package/dist/esm/six-group-label.entry.js.map +1 -1
  487. package/dist/esm/six-header.entry.js +3 -3
  488. package/dist/esm/six-header.entry.js.map +1 -1
  489. package/dist/esm/six-icon-button.entry.js +2 -2
  490. package/dist/esm/six-icon-button.entry.js.map +1 -1
  491. package/dist/esm/six-icon.entry.js +1 -1
  492. package/dist/esm/six-icon.entry.js.map +1 -1
  493. package/dist/esm/six-input.entry.js +29 -88
  494. package/dist/esm/six-input.entry.js.map +1 -1
  495. package/dist/esm/six-item-picker.entry.js +6 -6
  496. package/dist/esm/six-item-picker.entry.js.map +1 -1
  497. package/dist/esm/six-language-switcher.entry.js +1 -1
  498. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  499. package/dist/esm/six-layout-grid.entry.js +1 -1
  500. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  501. package/dist/esm/six-main-container.entry.js +1 -1
  502. package/dist/esm/six-main-container.entry.js.map +1 -1
  503. package/dist/esm/six-menu-divider.entry.js +1 -1
  504. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  505. package/dist/esm/six-menu-item.entry.js +2 -2
  506. package/dist/esm/six-menu-item.entry.js.map +1 -1
  507. package/dist/esm/six-menu-label.entry.js +1 -1
  508. package/dist/esm/six-menu-label.entry.js.map +1 -1
  509. package/dist/esm/six-picto.entry.js +1 -1
  510. package/dist/esm/six-picto.entry.js.map +1 -1
  511. package/dist/esm/six-progress-bar.entry.js +1 -1
  512. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  513. package/dist/esm/six-progress-ring.entry.js +1 -1
  514. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  515. package/dist/esm/six-radio.entry.js +18 -24
  516. package/dist/esm/six-radio.entry.js.map +1 -1
  517. package/dist/esm/six-range.entry.js +7 -45
  518. package/dist/esm/six-range.entry.js.map +1 -1
  519. package/dist/esm/six-root.entry.js +1 -1
  520. package/dist/esm/six-root.entry.js.map +1 -1
  521. package/dist/esm/six-search-field.entry.js +3 -3
  522. package/dist/esm/six-search-field.entry.js.map +1 -1
  523. package/dist/esm/six-select.entry.js +20 -60
  524. package/dist/esm/six-select.entry.js.map +1 -1
  525. package/dist/esm/six-sidebar-item-group.entry.js +2 -2
  526. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  527. package/dist/esm/six-sidebar-item.entry.js +1 -1
  528. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  529. package/dist/esm/six-sidebar.entry.js +2 -2
  530. package/dist/esm/six-sidebar.entry.js.map +1 -1
  531. package/dist/esm/six-spinner.entry.js +1 -1
  532. package/dist/esm/six-spinner.entry.js.map +1 -1
  533. package/dist/esm/six-switch.entry.js +18 -32
  534. package/dist/esm/six-switch.entry.js.map +1 -1
  535. package/dist/esm/six-tab-group.entry.js +3 -3
  536. package/dist/esm/six-tab-group.entry.js.map +1 -1
  537. package/dist/esm/six-tab-panel.entry.js +1 -1
  538. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  539. package/dist/esm/six-tab.entry.js +1 -1
  540. package/dist/esm/six-tab.entry.js.map +1 -1
  541. package/dist/esm/six-tag.entry.js +1 -1
  542. package/dist/esm/six-tag.entry.js.map +1 -1
  543. package/dist/esm/six-textarea.entry.js +28 -77
  544. package/dist/esm/six-textarea.entry.js.map +1 -1
  545. package/dist/esm/six-tile.entry.js +2 -2
  546. package/dist/esm/six-tile.entry.js.map +1 -1
  547. package/dist/esm/six-timepicker.entry.js +21 -31
  548. package/dist/esm/six-timepicker.entry.js.map +1 -1
  549. package/dist/esm/six-tooltip.entry.js +2 -2
  550. package/dist/esm/six-tooltip.entry.js.map +1 -1
  551. package/dist/esm/{slot-2e64df19.js → slot-ad36df3a.js} +1 -1
  552. package/dist/esm/slot-ad36df3a.js.map +1 -0
  553. package/dist/esm/{types-4b10b413.js → types-59b455aa.js} +1 -1
  554. package/dist/esm/types-59b455aa.js.map +1 -0
  555. package/dist/esm/ui-library.js +4 -7
  556. package/dist/esm/ui-library.js.map +1 -1
  557. package/dist/types/components/six-checkbox/six-checkbox.d.ts +5 -17
  558. package/dist/types/components/six-datepicker/six-datepicker.d.ts +11 -17
  559. package/dist/types/components/six-group-label/six-group-label.d.ts +1 -1
  560. package/dist/types/components/six-input/six-input.d.ts +7 -33
  561. package/dist/types/components/six-radio/six-radio.d.ts +5 -10
  562. package/dist/types/components/six-range/six-range.d.ts +6 -21
  563. package/dist/types/components/six-select/six-select.d.ts +9 -24
  564. package/dist/types/components/six-switch/six-switch.d.ts +11 -13
  565. package/dist/types/components/six-textarea/six-textarea.d.ts +7 -26
  566. package/dist/types/components/six-timepicker/six-timepicker.d.ts +7 -12
  567. package/dist/types/components.d.ts +94 -333
  568. package/dist/types/functional-components/form-control/form-control.d.ts +1 -3
  569. package/dist/types/index.d.ts +1 -0
  570. package/dist/types/stencil-public-runtime.d.ts +15 -2
  571. package/dist/types/types.d.ts +2 -0
  572. package/dist/types/utils/date-util.d.ts +1 -0
  573. package/dist/types/utils/error-messages.d.ts +42 -0
  574. package/dist/types/utils/event-listeners.d.ts +4 -3
  575. package/dist/types/utils/form.d.ts +1 -0
  576. package/dist/ui-library/index.esm.js +1 -1
  577. package/dist/ui-library/index.esm.js.map +1 -1
  578. package/dist/ui-library/{p-25a3bf57.js → p-0f510624.js} +1 -1
  579. package/dist/ui-library/p-0f510624.js.map +1 -0
  580. package/dist/ui-library/{p-bf4a35ec.js → p-0fdb185d.js} +1 -1
  581. package/dist/ui-library/p-0fdb185d.js.map +1 -0
  582. package/dist/ui-library/{p-f29ba9cb.entry.js → p-1256cc0a.entry.js} +2 -2
  583. package/dist/ui-library/p-1256cc0a.entry.js.map +1 -0
  584. package/dist/ui-library/{p-5084ca7c.entry.js → p-13b43e04.entry.js} +2 -2
  585. package/dist/ui-library/p-13b43e04.entry.js.map +1 -0
  586. package/dist/ui-library/{p-d87a6f4d.js → p-15559d38.js} +1 -1
  587. package/dist/ui-library/p-15559d38.js.map +1 -0
  588. package/dist/ui-library/{p-30e0cdce.entry.js → p-1730a174.entry.js} +2 -2
  589. package/dist/ui-library/p-1730a174.entry.js.map +1 -0
  590. package/dist/ui-library/{p-5c60227f.entry.js → p-19ed7a4c.entry.js} +2 -2
  591. package/dist/ui-library/p-19ed7a4c.entry.js.map +1 -0
  592. package/dist/ui-library/{p-7639c68e.entry.js → p-1d0bee53.entry.js} +2 -2
  593. package/dist/ui-library/p-1d0bee53.entry.js.map +1 -0
  594. package/dist/ui-library/{p-965fa6a6.entry.js → p-1d5ee1a0.entry.js} +2 -2
  595. package/dist/ui-library/p-1d5ee1a0.entry.js.map +1 -0
  596. package/dist/ui-library/{p-eb8f05a9.js → p-1f18768a.js} +1 -1
  597. package/dist/ui-library/p-1f18768a.js.map +1 -0
  598. package/dist/ui-library/{p-deb01174.entry.js → p-21b3b321.entry.js} +2 -2
  599. package/dist/ui-library/p-21b3b321.entry.js.map +1 -0
  600. package/dist/ui-library/{p-73325eec.entry.js → p-29ac3d7d.entry.js} +2 -2
  601. package/dist/ui-library/p-29ac3d7d.entry.js.map +1 -0
  602. package/dist/ui-library/{p-713684c7.entry.js → p-314b2096.entry.js} +2 -2
  603. package/dist/ui-library/p-314b2096.entry.js.map +1 -0
  604. package/dist/ui-library/{p-f974a184.entry.js → p-330a4988.entry.js} +2 -2
  605. package/dist/ui-library/p-330a4988.entry.js.map +1 -0
  606. package/dist/ui-library/{p-a5143b8d.entry.js → p-346f9557.entry.js} +2 -2
  607. package/dist/ui-library/p-346f9557.entry.js.map +1 -0
  608. package/dist/ui-library/{p-a3cc0521.entry.js → p-37557787.entry.js} +2 -2
  609. package/dist/ui-library/p-37557787.entry.js.map +1 -0
  610. package/dist/ui-library/{p-cf1133a0.entry.js → p-3cc5addb.entry.js} +2 -2
  611. package/dist/ui-library/p-3cc5addb.entry.js.map +1 -0
  612. package/dist/ui-library/{p-cf1d36c0.entry.js → p-411ed539.entry.js} +2 -2
  613. package/dist/ui-library/p-411ed539.entry.js.map +1 -0
  614. package/dist/ui-library/{p-2a8ad91b.entry.js → p-4705a51e.entry.js} +2 -2
  615. package/dist/ui-library/p-4705a51e.entry.js.map +1 -0
  616. package/dist/ui-library/p-4abed9df.entry.js +2 -0
  617. package/dist/ui-library/p-4abed9df.entry.js.map +1 -0
  618. package/dist/ui-library/{p-0cc08e91.js → p-5654e4c7.js} +1 -1
  619. package/dist/ui-library/p-5654e4c7.js.map +1 -0
  620. package/dist/ui-library/{p-0fe78f9b.js → p-59210f0b.js} +1 -1
  621. package/dist/ui-library/p-59210f0b.js.map +1 -0
  622. package/dist/ui-library/{p-b27f496f.entry.js → p-5af44076.entry.js} +2 -2
  623. package/dist/ui-library/p-5af44076.entry.js.map +1 -0
  624. package/dist/ui-library/p-5d6b7353.entry.js +2 -0
  625. package/dist/ui-library/p-5d6b7353.entry.js.map +1 -0
  626. package/dist/ui-library/{p-aa6f71e1.entry.js → p-613283a7.entry.js} +2 -2
  627. package/dist/ui-library/p-613283a7.entry.js.map +1 -0
  628. package/dist/ui-library/p-6153045b.js +3 -0
  629. package/dist/ui-library/p-6153045b.js.map +1 -0
  630. package/dist/ui-library/{p-886a35ee.entry.js → p-6197fe2f.entry.js} +2 -2
  631. package/dist/ui-library/p-6197fe2f.entry.js.map +1 -0
  632. package/dist/ui-library/{p-8cf72af6.js → p-698bb2c8.js} +1 -1
  633. package/dist/ui-library/p-698bb2c8.js.map +1 -0
  634. package/dist/ui-library/p-6eb24bcb.entry.js +2 -0
  635. package/dist/ui-library/p-6eb24bcb.entry.js.map +1 -0
  636. package/dist/ui-library/{p-c07adc21.entry.js → p-72254eef.entry.js} +2 -2
  637. package/dist/ui-library/p-72254eef.entry.js.map +1 -0
  638. package/dist/ui-library/{p-3b71cac4.entry.js → p-724875b0.entry.js} +2 -2
  639. package/dist/ui-library/p-724875b0.entry.js.map +1 -0
  640. package/dist/ui-library/{p-649017db.entry.js → p-7afafb9d.entry.js} +2 -2
  641. package/dist/ui-library/p-7afafb9d.entry.js.map +1 -0
  642. package/dist/ui-library/p-7d95def3.js +2 -0
  643. package/dist/ui-library/p-7d95def3.js.map +1 -0
  644. package/dist/ui-library/{p-3a47c8ad.entry.js → p-7e3ad38a.entry.js} +2 -2
  645. package/dist/ui-library/p-7e3ad38a.entry.js.map +1 -0
  646. package/dist/ui-library/{p-053d6de8.entry.js → p-83864cfe.entry.js} +2 -2
  647. package/dist/ui-library/p-83864cfe.entry.js.map +1 -0
  648. package/dist/ui-library/{p-f66eb76c.entry.js → p-878226a0.entry.js} +2 -2
  649. package/dist/ui-library/p-878226a0.entry.js.map +1 -0
  650. package/dist/ui-library/p-8c0971e0.js +2 -0
  651. package/dist/ui-library/p-8c0971e0.js.map +1 -0
  652. package/dist/ui-library/{p-5b3e6eb7.entry.js → p-91b51800.entry.js} +2 -2
  653. package/dist/ui-library/p-91b51800.entry.js.map +1 -0
  654. package/dist/ui-library/{p-764f56dd.entry.js → p-95fbdd0b.entry.js} +2 -2
  655. package/dist/ui-library/p-95fbdd0b.entry.js.map +1 -0
  656. package/dist/ui-library/{p-8d6f4311.entry.js → p-99e24daf.entry.js} +2 -2
  657. package/dist/ui-library/p-99e24daf.entry.js.map +1 -0
  658. package/dist/ui-library/{p-ba74863a.js → p-9ace84c7.js} +1 -1
  659. package/dist/ui-library/p-9ace84c7.js.map +1 -0
  660. package/dist/ui-library/{p-cab99e54.entry.js → p-9b354f5d.entry.js} +2 -2
  661. package/dist/ui-library/p-9b354f5d.entry.js.map +1 -0
  662. package/dist/ui-library/{p-d8c97778.entry.js → p-9c1be3fb.entry.js} +2 -2
  663. package/dist/ui-library/p-9c1be3fb.entry.js.map +1 -0
  664. package/dist/ui-library/{p-e5ba13d2.entry.js → p-a0f290d0.entry.js} +2 -2
  665. package/dist/ui-library/p-a0f290d0.entry.js.map +1 -0
  666. package/dist/ui-library/{p-c700e3eb.entry.js → p-a55c7258.entry.js} +2 -2
  667. package/dist/ui-library/p-a55c7258.entry.js.map +1 -0
  668. package/dist/ui-library/{p-27c4ee88.entry.js → p-a6a9ee96.entry.js} +2 -2
  669. package/dist/ui-library/p-a6a9ee96.entry.js.map +1 -0
  670. package/dist/ui-library/{p-3e4b9341.entry.js → p-ac099e6b.entry.js} +2 -2
  671. package/dist/ui-library/p-ac099e6b.entry.js.map +1 -0
  672. package/dist/ui-library/{p-90c2dc30.entry.js → p-ae601a0f.entry.js} +2 -2
  673. package/dist/ui-library/p-ae601a0f.entry.js.map +1 -0
  674. package/dist/ui-library/{p-9f8b6144.entry.js → p-b351f889.entry.js} +2 -2
  675. package/dist/ui-library/p-b351f889.entry.js.map +1 -0
  676. package/dist/ui-library/{p-abb98245.entry.js → p-c03ebf7d.entry.js} +2 -2
  677. package/dist/ui-library/p-c03ebf7d.entry.js.map +1 -0
  678. package/dist/ui-library/{p-0eee4c41.entry.js → p-cd67da3d.entry.js} +2 -2
  679. package/dist/ui-library/p-cd67da3d.entry.js.map +1 -0
  680. package/dist/ui-library/{p-5dc40a6a.entry.js → p-cdaed936.entry.js} +2 -2
  681. package/dist/ui-library/p-cdaed936.entry.js.map +1 -0
  682. package/dist/ui-library/p-cf49252a.entry.js +2 -0
  683. package/dist/ui-library/p-cf49252a.entry.js.map +1 -0
  684. package/dist/ui-library/{p-5c1dd25a.entry.js → p-d367f4f9.entry.js} +2 -2
  685. package/dist/ui-library/p-d367f4f9.entry.js.map +1 -0
  686. package/dist/ui-library/p-d42c2025.js +2 -0
  687. package/dist/ui-library/p-d42c2025.js.map +1 -0
  688. package/dist/ui-library/p-da19c7ce.entry.js +2 -0
  689. package/dist/ui-library/p-da19c7ce.entry.js.map +1 -0
  690. package/dist/ui-library/{p-9b9c3afc.entry.js → p-dfed33c5.entry.js} +2 -2
  691. package/dist/ui-library/p-dfed33c5.entry.js.map +1 -0
  692. package/dist/ui-library/p-e0b13ad3.entry.js +2 -0
  693. package/dist/ui-library/p-e0b13ad3.entry.js.map +1 -0
  694. package/dist/ui-library/p-ee8342e1.entry.js +2 -0
  695. package/dist/ui-library/p-ee8342e1.entry.js.map +1 -0
  696. package/dist/ui-library/{p-25b42655.entry.js → p-ee950ce2.entry.js} +2 -2
  697. package/dist/ui-library/p-ee950ce2.entry.js.map +1 -0
  698. package/dist/ui-library/p-f1eb03ba.entry.js +2 -0
  699. package/dist/ui-library/p-f1eb03ba.entry.js.map +1 -0
  700. package/dist/ui-library/{p-41f0b6ff.entry.js → p-ff90ffd1.entry.js} +2 -2
  701. package/dist/ui-library/p-ff90ffd1.entry.js.map +1 -0
  702. package/dist/ui-library/ui-library.esm.js +1 -1
  703. package/dist/ui-library/ui-library.esm.js.map +1 -1
  704. package/loader/index.d.ts +1 -1
  705. package/package.json +7 -7
  706. package/dist/cjs/event-listeners-dd94dcfb.js.map +0 -1
  707. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  708. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  709. package/dist/cjs/form-control-7494488a.js.map +0 -1
  710. package/dist/cjs/index-ccf35821.js.map +0 -1
  711. package/dist/cjs/modal-21350fb5.js.map +0 -1
  712. package/dist/cjs/popover-b5e2d5ef.js.map +0 -1
  713. package/dist/cjs/popup-44836aaf.js.map +0 -1
  714. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  715. package/dist/cjs/six-form.cjs.entry.js +0 -236
  716. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  717. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  718. package/dist/cjs/types-64878648.js.map +0 -1
  719. package/dist/collection/components/six-form/six-form.css +0 -11
  720. package/dist/collection/components/six-form/six-form.js +0 -427
  721. package/dist/collection/components/six-form/six-form.js.map +0 -1
  722. package/dist/components/six-form.d.ts +0 -11
  723. package/dist/components/six-form.js +0 -257
  724. package/dist/components/six-form.js.map +0 -1
  725. package/dist/esm/event-listeners-6b434035.js.map +0 -1
  726. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  727. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  728. package/dist/esm/form-control-44a50dd6.js.map +0 -1
  729. package/dist/esm/index-371fb9d4.js.map +0 -1
  730. package/dist/esm/modal-b1d96441.js.map +0 -1
  731. package/dist/esm/polyfills/css-shim.js +0 -1
  732. package/dist/esm/popover-1aacbae8.js.map +0 -1
  733. package/dist/esm/popup-678b8592.js.map +0 -1
  734. package/dist/esm/scroll-180b53fd.js.map +0 -1
  735. package/dist/esm/six-form.entry.js +0 -232
  736. package/dist/esm/six-form.entry.js.map +0 -1
  737. package/dist/esm/slot-2e64df19.js.map +0 -1
  738. package/dist/esm/types-4b10b413.js.map +0 -1
  739. package/dist/types/components/six-form/six-form.d.ts +0 -60
  740. package/dist/ui-library/p-02d5a6d8.js +0 -2
  741. package/dist/ui-library/p-02d5a6d8.js.map +0 -1
  742. package/dist/ui-library/p-053d6de8.entry.js.map +0 -1
  743. package/dist/ui-library/p-0cc08e91.js.map +0 -1
  744. package/dist/ui-library/p-0eee4c41.entry.js.map +0 -1
  745. package/dist/ui-library/p-0fe78f9b.js.map +0 -1
  746. package/dist/ui-library/p-187fbba0.js +0 -3
  747. package/dist/ui-library/p-187fbba0.js.map +0 -1
  748. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  749. package/dist/ui-library/p-25b42655.entry.js.map +0 -1
  750. package/dist/ui-library/p-271ba152.entry.js +0 -2
  751. package/dist/ui-library/p-271ba152.entry.js.map +0 -1
  752. package/dist/ui-library/p-27c4ee88.entry.js.map +0 -1
  753. package/dist/ui-library/p-2a36b7d0.entry.js +0 -2
  754. package/dist/ui-library/p-2a36b7d0.entry.js.map +0 -1
  755. package/dist/ui-library/p-2a8ad91b.entry.js.map +0 -1
  756. package/dist/ui-library/p-30e0cdce.entry.js.map +0 -1
  757. package/dist/ui-library/p-3a47c8ad.entry.js.map +0 -1
  758. package/dist/ui-library/p-3a4815cb.entry.js +0 -2
  759. package/dist/ui-library/p-3a4815cb.entry.js.map +0 -1
  760. package/dist/ui-library/p-3b71cac4.entry.js.map +0 -1
  761. package/dist/ui-library/p-3d4a2e03.entry.js +0 -2
  762. package/dist/ui-library/p-3d4a2e03.entry.js.map +0 -1
  763. package/dist/ui-library/p-3e4b9341.entry.js.map +0 -1
  764. package/dist/ui-library/p-41f0b6ff.entry.js.map +0 -1
  765. package/dist/ui-library/p-435242a8.entry.js +0 -2
  766. package/dist/ui-library/p-435242a8.entry.js.map +0 -1
  767. package/dist/ui-library/p-5084ca7c.entry.js.map +0 -1
  768. package/dist/ui-library/p-5b3e6eb7.entry.js.map +0 -1
  769. package/dist/ui-library/p-5c1dd25a.entry.js.map +0 -1
  770. package/dist/ui-library/p-5c60227f.entry.js.map +0 -1
  771. package/dist/ui-library/p-5dc40a6a.entry.js.map +0 -1
  772. package/dist/ui-library/p-649017db.entry.js.map +0 -1
  773. package/dist/ui-library/p-713684c7.entry.js.map +0 -1
  774. package/dist/ui-library/p-73325eec.entry.js.map +0 -1
  775. package/dist/ui-library/p-7639c68e.entry.js.map +0 -1
  776. package/dist/ui-library/p-764f56dd.entry.js.map +0 -1
  777. package/dist/ui-library/p-886a35ee.entry.js.map +0 -1
  778. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  779. package/dist/ui-library/p-8d6f4311.entry.js.map +0 -1
  780. package/dist/ui-library/p-90c2dc30.entry.js.map +0 -1
  781. package/dist/ui-library/p-965fa6a6.entry.js.map +0 -1
  782. package/dist/ui-library/p-98234e3f.entry.js +0 -2
  783. package/dist/ui-library/p-98234e3f.entry.js.map +0 -1
  784. package/dist/ui-library/p-9b9c3afc.entry.js.map +0 -1
  785. package/dist/ui-library/p-9c34eab7.entry.js +0 -2
  786. package/dist/ui-library/p-9c34eab7.entry.js.map +0 -1
  787. package/dist/ui-library/p-9e0c386f.entry.js +0 -2
  788. package/dist/ui-library/p-9e0c386f.entry.js.map +0 -1
  789. package/dist/ui-library/p-9f8b6144.entry.js.map +0 -1
  790. package/dist/ui-library/p-a3cc0521.entry.js.map +0 -1
  791. package/dist/ui-library/p-a5143b8d.entry.js.map +0 -1
  792. package/dist/ui-library/p-aa6f71e1.entry.js.map +0 -1
  793. package/dist/ui-library/p-abb98245.entry.js.map +0 -1
  794. package/dist/ui-library/p-b183e44f.js +0 -2
  795. package/dist/ui-library/p-b183e44f.js.map +0 -1
  796. package/dist/ui-library/p-b27f496f.entry.js.map +0 -1
  797. package/dist/ui-library/p-ba74863a.js.map +0 -1
  798. package/dist/ui-library/p-bf4a35ec.js.map +0 -1
  799. package/dist/ui-library/p-c07adc21.entry.js.map +0 -1
  800. package/dist/ui-library/p-c700e3eb.entry.js.map +0 -1
  801. package/dist/ui-library/p-cab99e54.entry.js.map +0 -1
  802. package/dist/ui-library/p-cf1133a0.entry.js.map +0 -1
  803. package/dist/ui-library/p-cf1d36c0.entry.js.map +0 -1
  804. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  805. package/dist/ui-library/p-d8c97778.entry.js.map +0 -1
  806. package/dist/ui-library/p-deb01174.entry.js.map +0 -1
  807. package/dist/ui-library/p-e5ba13d2.entry.js.map +0 -1
  808. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  809. package/dist/ui-library/p-f29ba9cb.entry.js.map +0 -1
  810. package/dist/ui-library/p-f66eb76c.entry.js.map +0 -1
  811. package/dist/ui-library/p-f974a184.entry.js.map +0 -1
  812. package/dist/ui-library/p-fb8d0734.entry.js +0 -2
  813. package/dist/ui-library/p-fb8d0734.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["isValueEmpty","value","Array","isArray","length","sixSelectCss","id","SixSelect","this","inputId","labelId","helpTextId","errorTextId","touched","customErrorText","customValidation","eventListeners","EventListeners","handleBlur","hasFocus","sixBlur","emit","handleFocus","sixFocus","handleInvalid","invalid","handleClearClick","event","stopPropagation","clearValues","handleSelectAll","nonFilteredItems","getItems","filter","item","style","display","keyName","key","keyCode","code","isOpen","multiple","ctrlKey","preventDefault","hasDeselectedOptions","some","opt","disabled","checked","option","forEach","checkedItems","map","handleKeyDown","target","items","firstItem","lastItem","tagName","toLowerCase","_a","dropdown","hide","includes","_b","show","setFocus","_c","_d","menu","typeToSelect","handleLabelClick","box","focus","handleMenuSelect","detail","getValue","v","syncItemsFromValue","handleMenuShow","resizeMenu","resizeObserver","observe","host","handleMenuHide","unobserve","handleSlotChange","hasHelpTextSlot","hasSlot","hasErrorTextSlot","hasLabelSlot","handleTagInteraction","path","composedPath","clearButton","find","el","HTMLElement","element","classList","contains","DEFAULT_DEBOUNCE_FAST","handleDisabledChange","handleLabelChange","handleMultipleChange","getValueAsArray","handleValueChange","input","sixChange","isSelected","connectedCallback","virtualScroll","options","console","error","shadowRoot","addEventListener","componentWillLoad","componentDidLoad","ResizeObserver","requestAnimationFrame","add","async","errorText","getValidationMessage","debounce","enteredValue","inputDebounce","hasSelection","displayLabel","disconnectedCallback","removeEventListener","removeAll","reportValidity","isValid","message","setCustomValidity","checkValidity","defaultValue","getItemLabel","slot","querySelector","getTextContent","textContent","h","label","querySelectorAll","hasMenuItems","values","String","minWidth","clientWidth","reposition","val","push","displayTags","exportparts","type","size","pill","clearable","onClick","onKeyDown","syncValueFromItems","maxTagsVisible","total","slice","extractLabelForSelectedItem","join","selectedOption","checkedItem","checkedValues","displayError","errorOnBlur","render","FormControl","helpText","onLabelClick","required","part","ref","hoist","closeOnSelect","containingElement","disableHideOnEnterAndSpace","autocomplete","class","select","filterPlaceholder","filterDebounce","asyncFilter","select__box","line","role","tabIndex","onBlur","onFocus","placeholder","name","tabindex","select__input","onInvalid","select__menu","onSlotchange"],"sources":["./src/components/six-select/util.ts","./src/components/six-select/six-select.scss?tag=six-select&encapsulation=shadow","./src/components/six-select/six-select.tsx"],"sourcesContent":["export interface MenuItem {\n value: string;\n}\n\nexport function getValue(value: unknown, multiple: boolean, menuItems: MenuItem[]): string | string[] {\n if (multiple) {\n if (Array.isArray(value)) {\n return getSelectedValues(value, menuItems);\n } else {\n return getSelectedValuesFromString(value, menuItems);\n }\n }\n\n return getSelectedMenuItem(value, menuItems)?.value ?? '';\n}\n\nexport function isValidValue(value: unknown, multiple: boolean, menuItems: MenuItem[]): boolean {\n if (value === '') {\n return true;\n }\n\n if (multiple) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n return true;\n }\n return getSelectedValues(value, menuItems).length === value.length;\n }\n return getSelectedValuesFromString(value, menuItems).length > 0;\n }\n\n return getSelectedMenuItem(value, menuItems) != null;\n}\n\nexport function valueEquals(a: string | string[], b: string | string[]): boolean {\n if (Array.isArray(a) && Array.isArray(b)) {\n return a.length === b.length && a.every((element, index) => element === b[index]);\n } else if (typeof a === 'string' && typeof b === 'string') {\n return a === b;\n }\n return false;\n}\n\nexport function isValueEmpty(value: string | string[]): boolean {\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n return value === '';\n}\n\nfunction getSelectedValues(values: unknown[], menuItems: MenuItem[]): string[] {\n return menuItems.filter((menuItem) => values.includes(menuItem.value)).map((menuItem) => menuItem.value);\n}\n\nfunction getSelectedValuesFromString(value: unknown, menuItems: MenuItem[]): string[] {\n return menuItems.filter((menuItem) => value === menuItem.value).map((menuItem) => menuItem.value);\n}\n\nfunction getSelectedMenuItem(value: unknown, menuItems: MenuItem[]): MenuItem | undefined {\n return menuItems.find((item) => value === item.value);\n}\n","@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n@import 'src/global/mixins/hidden';\n@import 'src/global/mixins/hide-scrollbar';\n\n:host {\n display: block;\n}\n\n.select {\n display: block;\n}\n\n.select__box {\n display: inline-flex;\n align-items: center;\n justify-content: start;\n position: relative;\n width: 100%;\n font-family: var(--six-font-family);\n font-weight: var(--six-input-font-weight);\n font-size: var(--six-input-font-size-medium);\n letter-spacing: var(--six-input-letter-spacing);\n background-color: var(--six-input-background-color);\n border: solid var(--six-border-width) var(--six-input-border-color);\n vertical-align: middle;\n overflow: hidden;\n transition: var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;\n cursor: pointer;\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n\n &--autocomplete {\n border: none;\n overflow: initial;\n }\n}\n\n.select:not(.select--disabled) .select__box:hover {\n background-color: var(--six-input-background-color-hover);\n color: var(--six-input-color-hover);\n\n border-bottom-color: var(--six-input-border-color-hover);\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-hover);\n }\n}\n\n.select:not(.select--disabled) .select__box:focus {\n background-color: var(--six-input-background-color-focus);\n outline: none;\n color: var(--six-input-color-focus);\n\n border-bottom-color: var(--six-input-border-color-focus);\n box-shadow: 0 1px 0 0 var(--six-input-border-color-focus);\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-focus);\n box-shadow: var(--six-input-focus-shadow);\n }\n}\n\n.select--disabled {\n .select__box {\n background-color: var(--six-input-background-color-disabled);\n color: var(--six-input-color-disabled);\n cursor: not-allowed;\n outline: none;\n\n &:not(.select__box--line) {\n border-color: var(--six-input-border-color-disabled);\n }\n }\n\n .select__tags,\n .select__clear {\n pointer-events: none;\n }\n}\n\n.select--invalid:not(.select--disabled):not(.select--focused) {\n .select__box {\n border-bottom-color: var(--six-input-border-color-danger);\n\n &:not(.input--line) {\n border-color: var(--six-input-border-color-danger);\n }\n }\n}\n\n.select__label {\n flex-shrink: 1;\n flex-grow: 1;\n align-items: center;\n user-select: none;\n width: 0; /* needed for firefox because due to \"white-space: nowrap\" the default is set to max-content */\n\n @include hide-scrollbar;\n overflow-x: auto;\n overflow-y: hidden;\n white-space: nowrap;\n}\n\n.select__clear {\n flex-shrink: 0;\n flex-grow: 0;\n display: inline;\n}\n\n.select__icon {\n flex-shrink: 0;\n flex-grow: 0;\n display: inline;\n transition: var(--six-transition-medium) transform ease;\n}\n\n.select--open .select__icon {\n transform: rotate(-180deg);\n}\n\n// Placeholder\n.select--placeholder-visible .select__label {\n color: var(--six-input-placeholder-color);\n}\n\n.select--disabled.select--placeholder-visible .select__label {\n color: var(--six-input-placeholder-color-disabled);\n}\n\n// Tags\n.select__tags {\n display: inline-flex;\n align-items: center;\n flex-wrap: wrap;\n justify-content: left;\n margin-left: var(--six-spacing-xx-small);\n}\n\n// Hidden input (for form control validation to show)\n.select__hidden-select {\n @include visually-hidden();\n}\n\n.select__input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Size modifiers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.select--small {\n .select__box {\n border-radius: var(--six-input-border-radius-small);\n font-size: var(--six-input-font-size-small);\n min-height: var(--six-height-small);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .select__label {\n margin: 0 var(--six-input-spacing-small);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n\n .select__tags {\n padding-bottom: 2px;\n\n six-tag {\n padding-top: 2px;\n }\n\n six-tag:not(:last-of-type) {\n margin-right: var(--six-spacing-xx-small);\n }\n }\n\n &.select--has-tags .select__label {\n margin-left: 0;\n }\n}\n\n.select--medium {\n .select__box {\n border-radius: var(--six-input-border-radius-medium);\n font-size: var(--six-input-font-size-medium);\n min-height: var(--six-height-medium);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .select__label {\n margin: 0 var(--six-input-spacing-medium);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n\n .select__tags {\n padding-bottom: 3px;\n\n six-tag {\n padding-top: 3px;\n }\n\n six-tag:not(:last-of-type) {\n margin-right: var(--six-spacing-xx-small);\n }\n }\n\n &.select--has-tags .select__label {\n margin-left: 0;\n }\n}\n\n.select--large {\n .select__box {\n border-radius: var(--six-input-border-radius-large);\n font-size: var(--six-input-font-size-large);\n min-height: var(--six-height-large);\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n }\n\n .select__label {\n margin: 0 var(--six-input-spacing-large);\n }\n\n .select__clear {\n margin-right: var(--six-spacing-xxx-small);\n }\n\n .select__icon {\n margin-right: var(--six-spacing-x-small);\n }\n\n .select__tags {\n padding-bottom: 4px;\n\n six-tag {\n padding-top: 4px;\n }\n\n six-tag:not(:last-of-type) {\n margin-right: var(--six-spacing-xx-small);\n }\n }\n\n &.select--has-tags .select__label {\n margin-left: 0;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Pill modifier\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.select--pill {\n &.select--small .select__box {\n border-radius: var(--six-height-small);\n }\n\n &.select--medium .select__box {\n border-radius: var(--six-height-medium);\n }\n\n &.select--large .select__box {\n border-radius: var(--six-height-large);\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Menu\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n.select {\n &__menu {\n max-width: 50vw;\n width: fit-content;\n\n &--filtered {\n // fixes problem where when filter is enabled the popup has the width of the input field but the menu has the width\n // of the trigger element and we thus get weird UI glitches when trigger is narrower than filter input field\n width: 100% !important;\n }\n\n &--hidden {\n // hide the menu panel if there are no menu items\n display: none;\n }\n }\n}\n\n// fixes problem where six-select height changes when size=\"small\" and clearing button is visible\nsix-icon-button::part(base) {\n padding-top: 0;\n padding-bottom: 0;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getTextContent, hasSlot } from '../../utils/slot';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { SixMenuItemData } from '../six-menu/six-menu';\nimport { isValueEmpty } from './util';\n\nexport interface SixSelectChangePayload {\n value: string | string[];\n isSelected: boolean;\n}\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot - The select's options in the form of menu items.\n * @slot label - The select's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the select.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part clear-button - The input's clear button, exported from six-input.\n * @part form-control - The form control that wraps the label, input, and help text.\n * @part help-text - The select's help text.\n * @part icon - The select's icon.\n * @part label - The select's label.\n * @part menu - The select menu, a six-menu element.\n * @part tag - The multiselect option, a six-tag element.\n * @part tags - The container in which multiselect options are rendered.\n */\n\n@Component({\n tag: 'six-select',\n styleUrl: 'six-select.scss',\n shadow: true,\n})\nexport class SixSelect {\n private box?: HTMLElement;\n private dropdown?: HTMLSixDropdownElement;\n private input?: HTMLSixInputElement;\n private inputId = `select-${++id}`;\n private labelId = `select-label-${id}`;\n private helpTextId = `select-help-text-${id}`;\n private errorTextId = `select-error-text-${id}`;\n private menu?: HTMLSixMenuElement;\n private resizeObserver?: ResizeObserver;\n private touched = false;\n private customErrorText = '';\n private customValidation = false;\n private eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixSelectElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasErrorTextSlot = false;\n @State() hasLabelSlot = false;\n @State() isOpen = false;\n @State() displayLabel = '';\n @State() displayTags: HTMLSixTagElement[] = [];\n\n /** Set to true to enable multiselect. */\n @Prop() multiple = false;\n\n /**\n * The maximum number of tags to show when `multiple` is true. After the maximum, \"+n\" will be shown to indicate the\n * number of additional items that are selected. Set to -1 to remove the limit.\n */\n @Prop() maxTagsVisible = 3;\n\n /** Set to true to disable the select control. */\n @Prop() disabled = false;\n\n /** The select's name. */\n @Prop() name = '';\n\n /** The select's placeholder text. */\n @Prop() placeholder = '';\n\n /** The filter's placeholder text. */\n @Prop() filterPlaceholder?: string;\n\n /** The debounce for the filter callbacks. */\n @Prop() filterDebounce = DEFAULT_DEBOUNCE_FAST;\n\n /** The select's size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /** The value of the control. This will be a string or an array depending on `multiple`. */\n @Prop({ mutable: true }) value: string | string[] = '';\n\n /** Set to true to draw a pill-style select with rounded edges. */\n @Prop() pill = false;\n\n /** The select's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The select's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** The select's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText = '';\n\n /** The select's required attribute. */\n @Prop() required = false;\n\n /** Set to true to add a clear button when the select is populated. */\n @Prop() clearable = false;\n\n /** This will be true when the control is in an invalid state. Validity is determined by the `required` prop. */\n @Prop({ mutable: true }) invalid = false;\n\n /** Set to render as line */\n @Prop() line = false;\n\n /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = false;\n\n /** Set to true to allow filtering for entries in the dropdown */\n @Prop() filter = false;\n\n /**\n * Set to true to allow async filtering.\n * When you enter something in the search field the component will only emit an event but not filter any elements itself.\n * You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself\n */\n @Prop() asyncFilter = false;\n\n /**\n * Set to true to turn the six-select into an autocomplete.\n */\n @Prop() autocomplete = false;\n\n /** The debounce for when the input changes for autocompletes should be emitted */\n @Prop() inputDebounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set the options to be shown in the dropdown (alternative to setting the elements via html) */\n @Prop() options: SixMenuItemData[] | null = null;\n\n /** Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around)\n * are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot. */\n @Prop() virtualScroll = false;\n\n /** The default value the select will be reverted to when reset is executed */\n @Prop() defaultValue: string | string[] = this.multiple ? [] : '';\n\n @Watch('disabled')\n handleDisabledChange() {\n if (this.disabled && this.isOpen) {\n this.dropdown?.hide();\n }\n }\n\n @Watch('helpText')\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n @Watch('multiple')\n handleMultipleChange() {\n // Cast to array | string based on `this.multiple`\n const value = this.getValueAsArray();\n this.value = this.multiple ? value : value[0] || '';\n this.syncItemsFromValue();\n }\n\n @Watch('value')\n handleValueChange() {\n if (this.multiple && !Array.isArray(this.value)) {\n this.value = [];\n }\n\n if (!this.multiple && typeof this.value !== 'string') {\n this.value = '';\n }\n\n this.syncItemsFromValue();\n if (this.input) {\n this.sixChange.emit({ value: this.value, isSelected: true });\n }\n }\n\n /** Emitted when the control's value changes. */\n @Event({ eventName: 'six-select-change' }) sixChange!: EventEmitter<SixSelectChangePayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-select-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-select-blur' }) sixBlur!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n if (this.virtualScroll && this.options === null) {\n console.error('Options must be defined when using virtual scrolling');\n }\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n if (this.multiple && this.value != null) {\n this.value = this.getValueAsArray();\n }\n }\n\n componentDidLoad() {\n if (this.input == null) return;\n const input = this.input;\n this.resizeObserver = new ResizeObserver(() => this.resizeMenu());\n\n // We need to do an initial sync after the component has rendered, so this will suppress the re-render warning\n requestAnimationFrame(() => this.syncItemsFromValue());\n\n this.eventListeners.add(this.input, 'invalid', async (event) => {\n if (this.customValidation || (!this.hasErrorTextSlot && this.errorText == null && this.customErrorText == null)) {\n this.customErrorText = await input.getValidationMessage();\n }\n event.preventDefault();\n });\n\n this.eventListeners.add(\n input,\n 'six-input-input',\n debounce((event) => {\n const enteredValue = input.value;\n this.clearValues();\n this.sixChange.emit({ value: enteredValue, isSelected: false });\n event.stopPropagation();\n }, this.inputDebounce)\n );\n\n input.value = this.hasSelection() ? this.displayLabel : '';\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n @Method()\n async reportValidity() {\n return this.input?.reportValidity();\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n return this.input?.isValid();\n }\n\n /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */\n @Method()\n async setCustomValidity(message: string) {\n if (this.input == null) return;\n\n this.customErrorText = '';\n this.customValidation = message !== '';\n await this.input.setCustomValidity(message);\n this.invalid = !(await this.input.checkValidity());\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n if (this.input == null) return;\n\n this.value = this.defaultValue;\n this.customErrorText = '';\n this.customValidation = false;\n await this.input.setCustomValidity('');\n this.invalid = false;\n }\n\n private getItemLabel(item: HTMLSixMenuItemElement): string {\n const slot = item.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n if (slot != null) {\n return getTextContent(slot);\n } else {\n // bugfix/COMSLI-203-six-select-value-is-not-updated-if-the-slot-is-changed\n return item.textContent ?? '';\n }\n }\n\n private getItems(): HTMLSixMenuItemElement[] {\n if (this.options !== null) {\n return this.options.map((option) => <six-menu-item value={option.value}>{option.label}</six-menu-item>);\n }\n\n return [...this.host.querySelectorAll('six-menu-item')];\n }\n\n private hasMenuItems() {\n return this.getItems().length > 0;\n }\n\n private getValueAsArray() {\n const values = Array.isArray(this.value) ? this.value : [this.value];\n // enforce that the values are converted to 'string' before the value is compared\n return values.map(String);\n }\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.sixBlur.emit();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.sixFocus.emit();\n };\n\n private handleInvalid = () => {\n this.invalid = true;\n };\n\n private handleClearClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.clearValues();\n };\n\n private clearValues() {\n this.value = this.defaultValue ?? (this.multiple ? [] : '');\n this.syncItemsFromValue();\n }\n\n private handleSelectAll = (event: KeyboardEvent) => {\n const nonFilteredItems = this.getItems().filter((item) => item.style.display !== 'none');\n const keyName = event.key;\n const keyCode = event.code;\n\n if (keyName === 'Control') {\n return;\n }\n\n if (this.isOpen && this.multiple && keyCode === 'KeyA' && event.ctrlKey) {\n event.preventDefault();\n const hasDeselectedOptions = nonFilteredItems.some((opt) => !opt.disabled && !opt.checked);\n\n nonFilteredItems\n .filter((option) => !option.disabled)\n .forEach((option) => (option.checked = hasDeselectedOptions));\n const checkedItems = nonFilteredItems.filter((option) => option.checked).map((option) => option.value);\n this.value = hasDeselectedOptions ? checkedItems : [];\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n const target = event.target as HTMLElement;\n\n const items = this.getItems();\n const firstItem = items[0];\n const lastItem = items[items.length - 1];\n\n // Ignore key presses on tags\n if (target.tagName.toLowerCase() === 'six-tag') {\n return;\n }\n\n // Tabbing out of the control closes it\n if (event.key === 'Tab') {\n if (this.isOpen) {\n this.dropdown?.hide();\n }\n return;\n }\n\n // Up/down opens the menu\n if (['ArrowDown', 'ArrowUp'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.isOpen) {\n this.dropdown?.show();\n }\n\n // Focus on a menu item\n if (event.key === 'ArrowDown' && firstItem) {\n firstItem.setFocus();\n return;\n }\n\n if (event.key === 'ArrowUp' && lastItem) {\n lastItem.setFocus();\n return;\n }\n }\n\n // All other keys open the menu and initiate type to select\n if (!this.isOpen) {\n event.stopPropagation();\n event.preventDefault();\n this.dropdown?.show();\n this.menu?.typeToSelect(event.key);\n }\n };\n\n private handleLabelClick = () => {\n this.box?.focus();\n };\n\n private handleMenuSelect = (event: CustomEvent) => {\n const item = event.detail.item;\n\n const getValue = () => {\n if (this.multiple) {\n return this.value.includes(item.value)\n ? (this.value as []).filter((v) => v !== item.value)\n : [...this.value, item.value];\n } else {\n return item.value;\n }\n };\n\n this.value = getValue();\n\n this.syncItemsFromValue();\n };\n\n private handleMenuShow = (event: CustomEvent) => {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n\n this.resizeMenu();\n this.resizeObserver?.observe(this.host);\n this.isOpen = true;\n };\n\n private handleMenuHide = () => {\n this.resizeObserver?.unobserve(this.host);\n this.isOpen = false;\n };\n\n private handleSlotChange = () => {\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.syncItemsFromValue();\n };\n\n private handleTagInteraction = (event: KeyboardEvent | MouseEvent) => {\n // Don't toggle the menu when a tag's clear button is activated\n const path = event.composedPath() as EventTarget[];\n const clearButton = path.find((el) => {\n if (el instanceof HTMLElement) {\n const element = el as HTMLElement;\n return element.classList.contains('tag__clear');\n }\n });\n\n if (clearButton) {\n event.stopPropagation();\n }\n };\n\n private resizeMenu() {\n if (this.menu == null || this.box == null) return;\n this.menu.style.minWidth = `${this.box.clientWidth}px`;\n\n if (this.dropdown) {\n this.dropdown.reposition();\n }\n }\n\n private async syncItemsFromValue() {\n const items = this.getItems();\n const value = this.getValueAsArray();\n\n // Sync checked states\n items.forEach((item) => (item.checked = value.includes(item.value)));\n\n // Sync display label\n if (this.multiple) {\n const checkedItems: HTMLSixMenuItemElement[] = [];\n value.forEach((val) => items.map((item) => (item.value === val ? checkedItems.push(item) : null)));\n\n this.displayTags = checkedItems.map((item) => {\n return (\n <six-tag\n exportparts=\"base:tag\"\n type=\"primary\"\n size={this.size}\n pill={this.pill}\n clearable\n onClick={this.handleTagInteraction}\n onKeyDown={this.handleTagInteraction}\n onSix-tag-clear={(event) => {\n event.stopPropagation();\n if (!this.disabled) {\n item.checked = false;\n this.syncValueFromItems();\n }\n }}\n >\n {this.getItemLabel(item)}\n </six-tag>\n );\n });\n\n if (this.maxTagsVisible > 0 && this.displayTags.length > this.maxTagsVisible) {\n const total = this.displayTags.length;\n this.displayLabel = '';\n this.displayTags = this.displayTags.slice(0, this.maxTagsVisible);\n this.displayTags.push(\n <six-tag exportparts=\"base:tag\" type=\"info\" size={this.size}>\n +{total - this.maxTagsVisible}\n </six-tag>\n );\n }\n } else {\n this.displayLabel = this.extractLabelForSelectedItem(value, items);\n this.displayTags = [];\n }\n\n if (!isValueEmpty(this.value)) {\n this.touched = true;\n }\n if (this.touched && this.input != null) {\n this.input.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n this.invalid = !(await this.input.checkValidity());\n }\n }\n\n private extractLabelForSelectedItem(value: string[], items: HTMLSixMenuItemElement[]): string {\n if (value.length === 0 || (value.length === 1 && value[0] === '')) {\n return '';\n }\n\n if (this.options !== null) {\n const selectedOption = this.options.find((item) => item.value === value[0]);\n return selectedOption?.value || '';\n }\n\n const checkedItem = items.find((item) => item.value === value[0]);\n return checkedItem ? this.getItemLabel(checkedItem) : '';\n }\n\n private syncValueFromItems() {\n const items = this.getItems();\n const checkedItems = items.filter((item) => item.checked);\n const checkedValues = checkedItems.map((item) => item.value);\n this.value = this.multiple\n ? this.getValueAsArray().filter((val) => checkedValues.includes(val))\n : checkedValues.length > 0\n ? checkedValues[0]\n : '';\n }\n\n private displayError() {\n return this.invalid && (!this.errorOnBlur || (!this.hasFocus && !this.isOpen));\n }\n\n render() {\n const hasSelection = this.hasSelection();\n\n return (\n <FormControl\n inputId={this.inputId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n errorTextId={this.errorTextId}\n errorText={this.customErrorText != null && this.customErrorText !== '' ? this.customErrorText : this.errorText}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size={this.size}\n onLabelClick={this.handleLabelClick}\n disabled={this.disabled}\n required={this.required}\n displayError={this.displayError()}\n >\n <six-dropdown\n part=\"base\"\n ref={(el) => (this.dropdown = el)}\n hoist={this.hoist}\n closeOnSelect={!this.multiple}\n containingElement={this.host}\n disableHideOnEnterAndSpace={this.autocomplete}\n class={{\n select: true,\n 'select--open': this.isOpen,\n 'select--empty': this.value?.length === 0,\n 'select--focused': this.hasFocus,\n 'select--clearable': this.clearable,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--has-tags': this.multiple && hasSelection,\n 'select--placeholder-visible': this.displayLabel === '',\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n 'select--pill': this.pill,\n 'select--invalid': this.invalid,\n }}\n onKeyDown={this.handleSelectAll}\n onSix-dropdown-show={this.handleMenuShow}\n onSix-dropdown-hide={this.handleMenuHide}\n filterPlaceholder={this.filterPlaceholder}\n filterDebounce={this.filterDebounce}\n filter={this.filter}\n asyncFilter={this.asyncFilter}\n >\n <div\n slot=\"trigger\"\n ref={(el) => (this.box = el)}\n id={this.inputId}\n class={{\n select__box: true,\n 'select__box--line': this.line,\n 'select__box--autocomplete': this.autocomplete,\n }}\n role=\"combobox\"\n aria-labelledby={this.labelId}\n aria-describedby={this.helpTextId}\n aria-haspopup=\"true\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n tabIndex={this.disabled ? -1 : 0}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n >\n <span class=\"select__label\">\n {this.displayTags.length > 0 ? (\n <span part=\"tags\" class=\"select__tags\">\n {this.displayTags}\n </span>\n ) : (\n this.displayLabel || this.placeholder\n )}\n </span>\n\n {this.clearable && hasSelection && (\n <six-icon-button\n exportparts=\"base:clear-button\"\n class=\"select__clear\"\n name=\"clear\"\n size=\"small\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n />\n )}\n\n {this.hasMenuItems() && (\n <span part=\"icon\" class=\"select__icon\">\n <six-icon size=\"medium\">expand_more</six-icon>\n </span>\n )}\n\n {/*\n The hidden input tricks the browser's built-in validation so it works as expected. We use an input instead\n of a select because, otherwise, iOS will show a list of options during validation.\n */}\n <six-input\n ref={(el) => (this.input = el)}\n class={{\n select__input: true,\n 'select__hidden-select': !this.autocomplete,\n }}\n aria-hidden=\"true\"\n required={this.required}\n onInvalid={this.handleInvalid}\n onFocus={this.handleFocus}\n clearable={this.clearable}\n placeholder={this.placeholder}\n pill={this.pill}\n disabled={this.disabled}\n size={this.size}\n tabIndex={-1}\n />\n </div>\n\n <six-menu\n ref={(el) => (this.menu = el)}\n part=\"menu\"\n class={{\n select__menu: true,\n 'select__menu--filtered': this.filter || this.asyncFilter,\n 'select__menu--hidden': !this.hasMenuItems(),\n }}\n onSix-menu-item-selected={this.handleMenuSelect}\n items={this.options}\n virtualScroll={this.virtualScroll}\n remove-box-shadow\n >\n <slot onSlotchange={this.handleSlotChange} />\n </six-menu>\n </six-dropdown>\n </FormControl>\n );\n }\n\n private hasSelection() {\n return this.multiple ? this.value.length > 0 : this.value !== '';\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixFileListCss","SixFileList","render","h","class"],"sources":["./src/components/six-file-list/six-file-list.scss?tag=six-file-list&encapsulation=shadow","./src/components/six-file-list/six-file-list.tsx"],"sourcesContent":[".six-files-list {\n &__container {\n padding: 1rem;\n\n & :last-child {\n padding-bottom: 0;\n }\n }\n}\n","import { Component, h } from '@stencil/core';\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n */\n@Component({\n tag: 'six-file-list',\n styleUrl: 'six-file-list.scss',\n shadow: true,\n})\nexport class SixFileList {\n render() {\n return (\n <div class=\"six-files-list__container\">\n <slot />\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAiB,mG,MCYVC,EAAW,M,yBACtBC,SACE,OACEC,EAAA,OAAKC,MAAM,6BACTD,EAAA,a"}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as o,g as r}from"./p-187fbba0.js";import{F as s}from"./p-b183e44f.js";import{h as e}from"./p-d87a6f4d.js";import{E as n}from"./p-02d5a6d8.js";const l=':host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}.form-control .form-control__label{display:none}.form-control .form-control__help-text{display:none}.form-control .form-control__error-text{display:none}.form-control--has-label .form-control__label{display:inline-block;color:var(--six-input-label-color);font-weight:var(--six-font-weight-bold);margin-bottom:var(--six-spacing-x-small)}.form-control--has-label .form-control__label__required::after{color:var(--six-color-danger-800);content:"*"}.form-control--has-label.form-control--small .form-control__label{font-size:var(--six-input-label-font-size-small)}.form-control--has-label.form-control--medium .form-control__label{font-size:var(--six-input-label-font-size-medium)}.form-control--has-label.form-control--large .form-control_label{font-size:var(--six-input-label-font-size-large)}.form-control--has-help-text .form-control__help-text{display:block;color:var(--six-input-help-text-color);margin-top:var(--six-spacing-x-small)}.form-control--has-help-text .form-control__help-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-help-text.form-control--small .form-control__help-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-help-text.form-control--medium .form-control__help-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-help-text.form-control--large .form-control__help-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--has-error-text .form-control__error-text{display:block;color:var(--six-color-danger-800);margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text .form-control__error-text ::slotted(*){margin-top:var(--six-spacing-xxx-small)}.form-control--has-error-text.form-control--small .form-control__error-text{font-size:var(--six-input-help-text-font-size-small)}.form-control--has-error-text.form-control--medium .form-control__error-text{font-size:var(--six-input-help-text-font-size-medium)}.form-control--has-error-text.form-control--large .form-control__error-text{font-size:var(--six-input-help-text-font-size-large)}.form-control--disabled .form-control__help-text{color:var(--six-input-help-text-color-disabled)}.form-control--disabled .form-control__label{color:var(--six-input-label-color-disabled)}.form-control--invalid:not(.form-control--disabled) .form-control__label{color:var(--six-input-label-color)}:host{display:block}.input{display:inline-flex;align-items:stretch;justify-content:start;position:relative;width:100%;font-family:var(--six-font-family);font-weight:var(--six-input-font-weight);letter-spacing:var(--six-input-letter-spacing);background-color:var(--six-input-background-color);border:solid var(--six-border-width) var(--six-input-border-color);vertical-align:middle;overflow:hidden;transition:var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;cursor:text}.input--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.input:hover:not(.input--disabled){background-color:var(--six-input-background-color-hover);border-color:var(--six-input-border-color-hover)}.input:hover:not(.input--disabled) .input__control{color:var(--six-input-color-hover)}.input.input--focused:not(.input--disabled){background-color:var(--six-input-background-color-focus);border-bottom-color:var(--six-input-border-color-focus);box-shadow:0 1px 0 0 var(--six-input-border-color-focus)}.input.input--focused:not(.input--disabled):not(.input--line){border-color:var(--six-input-border-color-focus);box-shadow:var(--six-input-focus-shadow)}.input.input--focused:not(.input--disabled) .input__control{color:var(--six-input-color-focus)}.input.input--disabled{background-color:var(--six-input-background-color-disabled);border-color:var(--six-input-border-color-disabled);cursor:not-allowed}.input.input--disabled .input__control{color:var(--six-input-color-disabled)}.input.input--disabled .input__control::placeholder{color:var(--six-input-placeholder-color-disabled)}.input.input--invalid:not(.input--disabled):not(.input--focused){border-bottom-color:var(--six-input-border-color-danger)}.input.input--invalid:not(.input--disabled):not(.input--focused):not(.input--line){border-color:var(--six-input-border-color-danger)}.input__control{flex:1 1 auto;font-family:inherit;font-size:var(--six-input-font-size-medium);font-weight:inherit;min-width:0;color:var(--six-input-color);border:none;background:none;box-shadow:none;padding:0;margin:0;cursor:inherit;-webkit-appearance:none}.input__control::-webkit-search-decoration,.input__control::-webkit-search-cancel-button,.input__control::-webkit-search-results-button,.input__control::-webkit-search-results-decoration{-webkit-appearance:none}.input__control:-webkit-autofill,.input__control:-webkit-autofill:hover,.input__control:-webkit-autofill:focus,.input__control:-webkit-autofill:active{box-shadow:0 0 0 var(--six-height-large) var(--six-input-background-color-hover) inset !important;-webkit-text-fill-color:var(--six-color-primary-500)}.input__control::placeholder{color:var(--six-input-placeholder-color);user-select:none}.input__control:focus{outline:none}.input__control::-ms-reveal{display:none}.input__prefix,.input__suffix{display:inline-flex;flex:0 0 auto;align-items:center;cursor:default}.input__prefix ::slotted(six-icon),.input__suffix ::slotted(six-icon){color:var(--six-input-icon-color)}.input.input--disabled ::slotted(six-icon){cursor:not-allowed}.input--small{border-radius:var(--six-input-border-radius-small);font-size:var(--six-input-font-size-small);height:var(--six-height-small)}.input--small .input__control{height:calc(var(--six-height-small) - var(--six-border-width) * 2);margin:0 var(--six-input-spacing-small)}.input--small .input__control__prefix{margin:0 var(--six-input-prefix-spacing-small)}.input--small .input__clear,.input--small .input__password-toggle{margin-right:var(--six-input-spacing-small)}.input--small .input__prefix ::slotted(*){margin-left:var(--six-input-prefix-spacing-small)}.input--small .input__suffix ::slotted(*){margin-right:var(--six-input-prefix-spacing-small)}.input--medium{border-radius:var(--six-input-border-radius-medium);font-size:var(--six-input-font-size-medium);height:var(--six-height-medium)}.input--medium .input__control{height:calc(var(--six-height-medium) - var(--six-border-width) * 2);margin:0 var(--six-input-spacing-medium)}.input--medium .input__control__prefix{margin:0 var(--six-input-prefix-spacing-medium)}.input--medium .input__clear,.input--medium .input__password-toggle{margin-right:var(--six-input-spacing-medium)}.input--medium .input__prefix ::slotted(*){margin-left:var(--six-input-prefix-spacing-medium)}.input--medium .input__suffix ::slotted(*){margin-right:var(--six-input-prefix-spacing-medium)}.input--large{border-radius:var(--six-input-border-radius-large);font-size:var(--six-input-font-size-large);height:var(--six-height-large)}.input--large .input__control{height:calc(var(--six-height-large) - var(--six-border-width) * 2);margin:0 var(--six-input-spacing-large)}.input--large .input__control__prefix{margin:0 var(--six-input-prefix-spacing-large)}.input--large .input__clear,.input--large .input__password-toggle{margin-right:var(--six-input-spacing-large)}.input--large .input__prefix ::slotted(*){margin-left:var(--six-input-prefix-spacing-large)}.input--large .input__suffix ::slotted(*){margin-right:var(--six-input-prefix-spacing-large)}.input--pill.input--small{border-radius:var(--six-height-small)}.input--pill.input--medium{border-radius:var(--six-height-medium)}.input--pill.input--large{border-radius:var(--six-height-large)}.input__clear,.input__password-toggle{display:inline-flex;align-items:center;font-size:inherit;color:var(--six-input-icon-color);border:none;background:none;padding:0;transition:var(--six-transition-fast) color;cursor:pointer}.input__clear:hover,.input__password-toggle:hover{color:var(--six-input-icon-color-hover)}.input__clear:focus,.input__password-toggle:focus{outline:none}.input--empty .input__clear{visibility:hidden}';const a={large:"medium",medium:"small",small:"xSmall"};let u=0;const h=class{constructor(o){i(this,o);this.sixChange=t(this,"six-input-change",7);this.sixClear=t(this,"six-input-clear",7);this.sixInput=t(this,"six-input-input",7);this.sixFocus=t(this,"six-input-focus",7);this.sixBlur=t(this,"six-input-blur",7);this.inputId=`input-${++u}`;this.labelId=`input-label-${u}`;this.helpTextId=`input-help-text-${u}`;this.errorTextId=`input-error-text-${u}`;this.customErrorText="";this.customValidation=false;this.eventListeners=new n;this.defaultValue="";this.handleChange=()=>{if(this.nativeInput!=null){this.value=this.nativeInput.value;this.sixChange.emit()}};this.handleInput=()=>{if(this.nativeInput!=null){this.value=this.nativeInput.value;this.sixInput.emit()}};this.handleBlur=()=>{this.hasFocus=false;this.sixBlur.emit()};this.handleFocus=()=>{this.hasFocus=true;this.sixFocus.emit()};this.handleClearClick=i=>{this.value="";this.sixClear.emit();this.sixInput.emit();this.sixChange.emit();if(this.nativeInput!=null){this.nativeInput.focus()}i.stopPropagation()};this.handlePasswordToggle=()=>{this.isPasswordVisible=!this.isPasswordVisible};this.handleSlotChange=()=>{this.hasHelpTextSlot=e(this.host,"help-text");this.hasErrorTextSlot=e(this.host,"error-text");this.hasLabelSlot=e(this.host,"label")};this.hasFocus=false;this.hasHelpTextSlot=false;this.hasErrorTextSlot=false;this.hasLabelSlot=false;this.isPasswordVisible=false;this.type="text";this.size="medium";this.name="";this.value="";this.pill=false;this.label="";this.helpText="";this.errorText="";this.placeholder=undefined;this.disabled=false;this.readonly=false;this.minlength=undefined;this.maxlength=undefined;this.min=undefined;this.max=undefined;this.step=undefined;this.pattern=undefined;this.required=false;this.autocapitalize="off";this.autocorrect="off";this.autocomplete="off";this.autofocus=false;this.spellcheck=false;this.invalid=false;this.clearable=false;this.togglePassword=false;this.inputmode=undefined;this.line=false;this.errorOnBlur=false}handleLabelChange(){this.handleSlotChange()}handleValueChange(){this.value=this.getValue();if(this.nativeInput!=null){if(this.nativeInput.value!==this.value){this.nativeInput.value=this.value}this.invalid=!this.nativeInput.checkValidity()}}connectedCallback(){var i;(i=this.host.shadowRoot)===null||i===void 0?void 0:i.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.defaultValue=this.getValue();this.handleSlotChange()}componentDidLoad(){const i=this.nativeInput;if(i==null){return}this.eventListeners.add(i,"invalid",(t=>{this.invalid=true;if(this.customValidation||!this.hasErrorTextSlot&&this.errorText===""&&this.customErrorText===""){this.customErrorText=i.validationMessage}t.preventDefault()}))}disconnectedCallback(){var i;(i=this.host.shadowRoot)===null||i===void 0?void 0:i.removeEventListener("slotchange",this.handleSlotChange);this.eventListeners.removeAll()}async setFocus(i){var t;(t=this.nativeInput)===null||t===void 0?void 0:t.focus(i)}async removeFocus(){var i;(i=this.nativeInput)===null||i===void 0?void 0:i.blur()}async select(){var i;return(i=this.nativeInput)===null||i===void 0?void 0:i.select()}async setSelectionRange(i,t,o="none"){var r;return(r=this.nativeInput)===null||r===void 0?void 0:r.setSelectionRange(i,t,o)}async setRangeText(i,t,o,r="preserve"){if(this.nativeInput==null){return}this.nativeInput.setRangeText(i,t,o,r);if(this.getValue()!==this.nativeInput.value){this.value=this.nativeInput.value;this.sixChange.emit();this.sixInput.emit()}}async reportValidity(){var i;return(i=this.nativeInput)===null||i===void 0?void 0:i.reportValidity()}async checkValidity(){if(this.nativeInput==null){return true}return this.nativeInput.validity.valid}async setCustomValidity(i){this.customErrorText="";this.customValidation=i!=="";if(this.nativeInput!=null){this.nativeInput.setCustomValidity(i);this.invalid=!this.nativeInput.checkValidity()}}async getValidity(){var i;return(i=this===null||this===void 0?void 0:this.nativeInput)===null||i===void 0?void 0:i.validity}async isValid(){if(this.nativeInput==null){return true}return this.nativeInput.validity.valid}async getValidationMessage(){if(this.nativeInput==null){return""}return this.nativeInput.validationMessage}async reset(){var i;this.value=this.defaultValue;this.customErrorText="";this.customValidation=false;(i=this.nativeInput)===null||i===void 0?void 0:i.setCustomValidity("");this.invalid=false}displayError(){return this.invalid&&(!this.errorOnBlur||!this.hasFocus)}getValue(){var i;return((i=this.value)!==null&&i!==void 0?i:"").toString()}render(){return o(s,{inputId:this.inputId,label:this.label,labelId:this.labelId,hasLabelSlot:this.hasLabelSlot,helpTextId:this.helpTextId,helpText:this.helpText,hasHelpTextSlot:this.hasHelpTextSlot,errorTextId:this.errorTextId,errorText:this.customErrorText!==""?this.customErrorText:this.errorText,hasErrorTextSlot:this.hasErrorTextSlot,size:this.size,disabled:this.disabled,required:this.required,displayError:this.displayError()},o("div",{part:"base",class:{input:true,"input--small":this.size==="small","input--medium":this.size==="medium","input--large":this.size==="large","input--line":this.line,"input--pill":this.pill,"input--disabled":this.disabled,"input--focused":this.hasFocus,"input--empty":this.getValue().length===0,"input--invalid":this.invalid}},o("span",{part:"prefix",class:"input__prefix"},o("slot",{name:"prefix"})),o("input",{part:"input",ref:i=>this.nativeInput=i,id:this.inputId,size:1,class:{input__control:true,input__control__prefix:e(this.host,"prefix")},type:this.type==="password"&&this.isPasswordVisible?"text":this.type,name:this.name,placeholder:this.placeholder,disabled:this.disabled,readonly:this.readonly,minLength:this.minlength,maxLength:this.maxlength,min:this.min,max:this.max,step:this.step,value:this.getValue(),autoCapitalize:this.autocapitalize,autoComplete:this.autocomplete,autoCorrect:this.autocorrect,autoFocus:this.autofocus,spellcheck:this.spellcheck,pattern:this.pattern,required:this.required,inputMode:this.inputmode,"aria-labelledby":this.labelId,"aria-describedby":this.helpTextId,"aria-invalid":this.invalid?"true":"false",onChange:this.handleChange,onInput:this.handleInput,onFocus:this.handleFocus,onBlur:this.handleBlur,"data-testid":"input-control"}),this.clearable&&o("button",{part:"clear-button",class:"input__clear",type:"button",onClick:this.handleClearClick,tabindex:"-1","data-testid":"input-clear-button"},o("slot",{name:"clear-icon"},o("six-icon",{size:a[this.size]},"clear"))),this.togglePassword&&o("button",{part:"password-toggle-button",class:"input__password-toggle",type:"button",onClick:this.handlePasswordToggle,tabindex:"-1"},this.isPasswordVisible?o("slot",{name:"show-password-icon"},o("six-icon",{size:a[this.size]},"visibility_off")):o("slot",{name:"hide-password-icon"},o("six-icon",{size:a[this.size]},"visibility"))),o("span",{part:"suffix",class:"input__suffix"},o("slot",{name:"suffix"}))))}get host(){return r(this)}static get watchers(){return{helpText:["handleLabelChange"],errorText:["handleLabelChange"],label:["handleLabelChange"],value:["handleValueChange"]}}};h.style=l;export{h as six_input};
2
- //# sourceMappingURL=p-9c34eab7.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixInputCss","ICON_SIZES","large","medium","small","id","SixInput","this","inputId","labelId","helpTextId","errorTextId","customErrorText","customValidation","eventListeners","EventListeners","defaultValue","handleChange","nativeInput","value","sixChange","emit","handleInput","sixInput","handleBlur","hasFocus","sixBlur","handleFocus","sixFocus","handleClearClick","event","sixClear","focus","stopPropagation","handlePasswordToggle","isPasswordVisible","handleSlotChange","hasHelpTextSlot","hasSlot","host","hasErrorTextSlot","hasLabelSlot","handleLabelChange","handleValueChange","getValue","invalid","checkValidity","connectedCallback","_a","shadowRoot","addEventListener","componentWillLoad","componentDidLoad","add","errorText","validationMessage","preventDefault","disconnectedCallback","removeEventListener","removeAll","async","options","blur","select","selectionStart","selectionEnd","selectionDirection","setSelectionRange","replacement","start","end","selectMode","setRangeText","reportValidity","validity","valid","message","setCustomValidity","displayError","errorOnBlur","toString","render","h","FormControl","label","helpText","size","disabled","required","part","class","input","line","pill","length","name","ref","el","input__control","input__control__prefix","type","placeholder","readonly","minLength","minlength","maxLength","maxlength","min","max","step","autoCapitalize","autocapitalize","autoComplete","autocomplete","autoCorrect","autocorrect","autoFocus","autofocus","spellcheck","pattern","inputMode","inputmode","onChange","onInput","onFocus","onBlur","clearable","onClick","tabindex","togglePassword"],"sources":["./src/components/six-input/six-input.scss?tag=six-input&encapsulation=shadow","./src/components/six-input/six-input.tsx"],"sourcesContent":["@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n\n:host {\n display: block;\n}\n\n.input {\n display: inline-flex;\n align-items: stretch;\n justify-content: start;\n position: relative;\n width: 100%;\n font-family: var(--six-font-family);\n font-weight: var(--six-input-font-weight);\n letter-spacing: var(--six-input-letter-spacing);\n background-color: var(--six-input-background-color);\n border: solid var(--six-border-width) var(--six-input-border-color);\n vertical-align: middle;\n overflow: hidden;\n transition: var(--six-transition-fast) color, var(--six-transition-fast) border, var(--six-transition-fast) box-shadow;\n cursor: text;\n\n &--line {\n border: none;\n border-bottom: solid var(--six-border-width) var(--six-input-border-color);\n }\n\n &:hover:not(.input--disabled) {\n background-color: var(--six-input-background-color-hover);\n border-color: var(--six-input-border-color-hover);\n\n .input__control {\n color: var(--six-input-color-hover);\n }\n }\n\n &.input--focused:not(.input--disabled) {\n background-color: var(--six-input-background-color-focus);\n\n border-bottom-color: var(--six-input-border-color-focus);\n box-shadow: 0 1px 0 0 var(--six-input-border-color-focus);\n\n &:not(.input--line) {\n border-color: var(--six-input-border-color-focus);\n box-shadow: var(--six-input-focus-shadow);\n }\n\n .input__control {\n color: var(--six-input-color-focus);\n }\n }\n\n &.input--disabled {\n background-color: var(--six-input-background-color-disabled);\n border-color: var(--six-input-border-color-disabled);\n cursor: not-allowed;\n\n .input__control {\n color: var(--six-input-color-disabled);\n\n &::placeholder {\n color: var(--six-input-placeholder-color-disabled);\n }\n }\n }\n\n &.input--invalid:not(.input--disabled):not(.input--focused) {\n border-bottom-color: var(--six-input-border-color-danger);\n\n &:not(.input--line) {\n border-color: var(--six-input-border-color-danger);\n }\n }\n}\n\n.input__control {\n flex: 1 1 auto;\n font-family: inherit;\n font-size: var(--six-input-font-size-medium);\n font-weight: inherit;\n min-width: 0;\n color: var(--six-input-color);\n border: none;\n background: none;\n box-shadow: none;\n padding: 0;\n margin: 0;\n cursor: inherit;\n -webkit-appearance: none;\n\n &::-webkit-search-decoration,\n &::-webkit-search-cancel-button,\n &::-webkit-search-results-button,\n &::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n box-shadow: 0 0 0 var(--six-height-large) var(--six-input-background-color-hover) inset !important;\n -webkit-text-fill-color: var(--six-color-primary-500);\n }\n\n &::placeholder {\n color: var(--six-input-placeholder-color);\n user-select: none;\n }\n\n &:focus {\n outline: none;\n }\n\n &::-ms-reveal {\n display: none;\n }\n}\n\n.input__prefix,\n.input__suffix {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n cursor: default;\n\n ::slotted(six-icon) {\n color: var(--six-input-icon-color);\n }\n}\n\n.input {\n &.input--disabled {\n ::slotted(six-icon) {\n cursor: not-allowed;\n }\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Size modifiers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.input--small {\n border-radius: var(--six-input-border-radius-small);\n font-size: var(--six-input-font-size-small);\n height: var(--six-height-small);\n\n .input__control {\n height: calc(var(--six-height-small) - var(--six-border-width) * 2);\n margin: 0 var(--six-input-spacing-small);\n }\n\n .input__control__prefix {\n margin: 0 var(--six-input-prefix-spacing-small);\n }\n\n .input__clear,\n .input__password-toggle {\n margin-right: var(--six-input-spacing-small);\n }\n\n .input__prefix ::slotted(*) {\n margin-left: var(--six-input-prefix-spacing-small);\n }\n\n .input__suffix ::slotted(*) {\n margin-right: var(--six-input-prefix-spacing-small);\n }\n}\n\n.input--medium {\n border-radius: var(--six-input-border-radius-medium);\n font-size: var(--six-input-font-size-medium);\n height: var(--six-height-medium);\n\n .input__control {\n height: calc(var(--six-height-medium) - var(--six-border-width) * 2);\n margin: 0 var(--six-input-spacing-medium);\n }\n\n .input__control__prefix {\n margin: 0 var(--six-input-prefix-spacing-medium);\n }\n\n .input__clear,\n .input__password-toggle {\n margin-right: var(--six-input-spacing-medium);\n }\n\n .input__prefix ::slotted(*) {\n margin-left: var(--six-input-prefix-spacing-medium);\n }\n\n .input__suffix ::slotted(*) {\n margin-right: var(--six-input-prefix-spacing-medium);\n }\n}\n\n.input--large {\n border-radius: var(--six-input-border-radius-large);\n font-size: var(--six-input-font-size-large);\n height: var(--six-height-large);\n\n .input__control {\n height: calc(var(--six-height-large) - var(--six-border-width) * 2);\n margin: 0 var(--six-input-spacing-large);\n }\n\n .input__control__prefix {\n margin: 0 var(--six-input-prefix-spacing-large);\n }\n\n .input__clear,\n .input__password-toggle {\n margin-right: var(--six-input-spacing-large);\n }\n\n .input__prefix ::slotted(*) {\n margin-left: var(--six-input-prefix-spacing-large);\n }\n\n .input__suffix ::slotted(*) {\n margin-right: var(--six-input-prefix-spacing-large);\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Pill modifier\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.input--pill {\n &.input--small {\n border-radius: var(--six-height-small);\n }\n\n &.input--medium {\n border-radius: var(--six-height-medium);\n }\n\n &.input--large {\n border-radius: var(--six-height-large);\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Clearable + Password Toggle\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.input__clear,\n.input__password-toggle {\n display: inline-flex;\n align-items: center;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--six-transition-fast) color;\n cursor: pointer;\n\n &:hover {\n color: var(--six-input-icon-color-hover);\n }\n\n &:focus {\n outline: none;\n }\n}\n\n.input--empty .input__clear {\n visibility: hidden;\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { EventListeners } from '../../utils/event-listeners';\n\nconst ICON_SIZES: Record<'small' | 'medium' | 'large', 'xSmall' | 'small' | 'medium'> = {\n large: 'medium',\n medium: 'small',\n small: 'xSmall',\n};\n\nlet id = 0;\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @slot label - The input's label. Alternatively, you can use the label prop.\n * @slot prefix - Used to prepend an icon or similar element to the input.\n * @slot suffix - Used to append an icon or similar element to the input.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot show-password-icon - An icon to use in lieu of the default show password icon.\n * @slot hide-password-icon - An icon to use in lieu of the default hide password icon.\n * @slot help-text - Help text that describes how to use the input. Alternatively, you can use the help-text prop.\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part base - The component's base wrapper.\n * @part form-control - The form control that wraps the label, input, and help-text.\n * @part label - The input label.\n * @part input - The input control.\n * @part prefix - The input prefix container.\n * @part clear-button - The clear button.\n * @part password-toggle-button - The password toggle button.\n * @part suffix - The input suffix container.\n * @part help-text - The input help text.\n */\n\n@Component({\n tag: 'six-input',\n styleUrl: 'six-input.scss',\n shadow: true,\n})\nexport class SixInput {\n private inputId = `input-${++id}`;\n private labelId = `input-label-${id}`;\n private helpTextId = `input-help-text-${id}`;\n private errorTextId = `input-error-text-${id}`;\n private nativeInput?: HTMLInputElement;\n private customErrorText = '';\n private customValidation = false;\n private eventListeners = new EventListeners();\n\n @Element() host!: HTMLSixInputElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasErrorTextSlot = false;\n @State() hasLabelSlot = false;\n @State() isPasswordVisible = false;\n\n /** The input's type. */\n @Prop({ reflect: true }) type: 'email' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url' = 'text';\n\n /** The input's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** The input's value attribute. */\n @Prop({ mutable: true, reflect: true }) value = '';\n\n /** Set to true to draw a pill-style input with rounded edges. */\n @Prop({ reflect: true }) pill = false;\n\n /** The input's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The input's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** The input's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText = '';\n\n /** The input's placeholder text. */\n @Prop() placeholder?: string;\n\n /** Set to true to disable the input. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Set to true to make the input readonly. */\n @Prop({ reflect: true }) readonly = false;\n\n /** The minimum length of input that will be considered valid. */\n @Prop({ reflect: true }) minlength?: number;\n\n /** The maximum length of input that will be considered valid. */\n @Prop({ reflect: true }) maxlength?: number;\n\n /** The input's minimum value. */\n @Prop({ reflect: true }) min?: number;\n\n /** The input's maximum value. */\n @Prop({ reflect: true }) max?: number;\n\n /** The input's step attribute. */\n @Prop({ reflect: true }) step?: number;\n\n /** A pattern to validate input against. */\n @Prop({ reflect: true }) pattern?: string;\n\n /** Set to true to make the input a required field. */\n @Prop({ reflect: true }) required = false;\n\n /** The input's autocaptialize attribute. */\n @Prop() autocapitalize = 'off';\n\n /** The input's autocorrect attribute. */\n @Prop() autocorrect: 'on' | 'off' = 'off';\n\n /** The input's autocomplete attribute. */\n @Prop() autocomplete = 'off';\n\n /** The input's autofocus attribute. */\n @Prop() autofocus = false;\n\n /** Enables spell checking on the input. */\n @Prop() spellcheck = false;\n\n /**\n * This will be true when the control is in an invalid state. Validity is determined by props such as `type`,\n * `required`, `minlength`, `maxlength`, and `pattern` using the browser's constraint validation API.\n */\n @Prop({ mutable: true, reflect: true }) invalid = false;\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set to true to add a password toggle button for password inputs. */\n @Prop() togglePassword = false;\n\n /** The input's inputmode attribute. */\n @Prop() inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';\n\n /** Set to render as line */\n @Prop() line = false;\n\n /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = false;\n\n @Watch('helpText')\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n @Watch('value')\n handleValueChange() {\n this.value = this.getValue();\n if (this.nativeInput != null) {\n if (this.nativeInput.value !== this.value) {\n this.nativeInput.value = this.value;\n }\n this.invalid = !this.nativeInput.checkValidity();\n }\n }\n\n /** Emitted when the control's value changes. Access the new value via event.target.value. */\n @Event({ eventName: 'six-input-change' }) sixChange!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the clear button is activated. */\n @Event({ eventName: 'six-input-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control receives input. Access the new value via event.target.value. */\n @Event({ eventName: 'six-input-input' }) sixInput!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-input-focus' }) sixFocus!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control loses focus. Access the new value via event.target.value. */\n @Event({ eventName: 'six-input-blur' }) sixBlur!: EventEmitter<EmptyPayload>;\n\n /** defaultValue which the input will be reverted to when executing reset */\n private defaultValue = '';\n\n connectedCallback() {\n this.host.shadowRoot?.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.defaultValue = this.getValue();\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n const nativeInput = this.nativeInput;\n if (nativeInput == null) {\n return;\n }\n this.eventListeners.add(nativeInput, 'invalid', (event) => {\n this.invalid = true;\n if (this.customValidation || (!this.hasErrorTextSlot && this.errorText === '' && this.customErrorText === '')) {\n this.customErrorText = nativeInput.validationMessage;\n }\n event.preventDefault();\n });\n }\n\n disconnectedCallback() {\n this.host.shadowRoot?.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n /** Sets focus on the input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.nativeInput?.focus(options);\n }\n\n /** Removes focus from the input. */\n @Method()\n async removeFocus() {\n this.nativeInput?.blur();\n }\n\n /** Selects all the text in the input. */\n @Method()\n async select() {\n return this.nativeInput?.select();\n }\n\n /** Sets the start and end positions of the text selection (0-based). */\n @Method()\n async setSelectionRange(\n selectionStart: number,\n selectionEnd: number,\n selectionDirection: 'forward' | 'backward' | 'none' = 'none'\n ) {\n return this.nativeInput?.setSelectionRange(selectionStart, selectionEnd, selectionDirection);\n }\n\n /** Replaces a range of text with a new string. */\n @Method()\n async setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve'\n ) {\n if (this.nativeInput == null) {\n return;\n }\n this.nativeInput.setRangeText(replacement, start, end, selectMode);\n if (this.getValue() !== this.nativeInput.value) {\n this.value = this.nativeInput.value;\n this.sixChange.emit();\n this.sixInput.emit();\n }\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n @Method()\n async reportValidity() {\n return this.nativeInput?.reportValidity();\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity(): Promise<boolean> {\n if (this.nativeInput == null) {\n return true;\n }\n return this.nativeInput.validity.valid;\n }\n\n /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */\n @Method()\n async setCustomValidity(message: string) {\n this.customErrorText = '';\n this.customValidation = message !== '';\n if (this.nativeInput != null) {\n this.nativeInput.setCustomValidity(message);\n this.invalid = !this.nativeInput.checkValidity();\n }\n }\n\n /** Returns the native input's validity */\n @Method()\n async getValidity(): Promise<ValidityState | undefined> {\n return this?.nativeInput?.validity;\n }\n\n /** Returns the native input's validity */\n @Method()\n async isValid(): Promise<boolean> {\n if (this.nativeInput == null) {\n return true;\n }\n return this.nativeInput.validity.valid;\n }\n\n /** Returns the native input's validationMessage */\n @Method()\n async getValidationMessage() {\n if (this.nativeInput == null) {\n return '';\n }\n return this.nativeInput.validationMessage;\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.value = this.defaultValue;\n this.customErrorText = '';\n this.customValidation = false;\n this.nativeInput?.setCustomValidity('');\n this.invalid = false;\n }\n\n private handleChange = () => {\n if (this.nativeInput != null) {\n this.value = this.nativeInput.value;\n this.sixChange.emit();\n }\n };\n\n private handleInput = () => {\n if (this.nativeInput != null) {\n this.value = this.nativeInput.value;\n this.sixInput.emit();\n }\n };\n\n private handleBlur = () => {\n this.hasFocus = false;\n this.sixBlur.emit();\n };\n\n private handleFocus = () => {\n this.hasFocus = true;\n this.sixFocus.emit();\n };\n\n private handleClearClick = (event: MouseEvent) => {\n this.value = '';\n this.sixClear.emit();\n this.sixInput.emit();\n this.sixChange.emit();\n if (this.nativeInput != null) {\n this.nativeInput.focus();\n }\n event.stopPropagation();\n };\n\n private handlePasswordToggle = () => {\n this.isPasswordVisible = !this.isPasswordVisible;\n };\n\n private handleSlotChange = () => {\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n };\n\n private displayError() {\n return this.invalid && (!this.errorOnBlur || !this.hasFocus);\n }\n\n private getValue(): string {\n return (this.value ?? '').toString();\n }\n\n render() {\n return (\n <FormControl\n inputId={this.inputId}\n label={this.label}\n labelId={this.labelId}\n hasLabelSlot={this.hasLabelSlot}\n helpTextId={this.helpTextId}\n helpText={this.helpText}\n hasHelpTextSlot={this.hasHelpTextSlot}\n errorTextId={this.errorTextId}\n errorText={this.customErrorText !== '' ? this.customErrorText : this.errorText}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size={this.size}\n disabled={this.disabled}\n required={this.required}\n displayError={this.displayError()}\n >\n <div\n part=\"base\"\n class={{\n input: true,\n\n // Sizes\n 'input--small': this.size === 'small',\n 'input--medium': this.size === 'medium',\n 'input--large': this.size === 'large',\n\n // States\n 'input--line': this.line,\n 'input--pill': this.pill,\n 'input--disabled': this.disabled,\n 'input--focused': this.hasFocus,\n 'input--empty': this.getValue().length === 0,\n 'input--invalid': this.invalid,\n }}\n >\n <span part=\"prefix\" class=\"input__prefix\">\n <slot name=\"prefix\" />\n </span>\n\n <input\n part=\"input\"\n ref={(el) => (this.nativeInput = el)}\n id={this.inputId}\n size={1} // needed for firefox to overrule the default of 20\n class={{\n input__control: true,\n input__control__prefix: hasSlot(this.host, 'prefix'),\n }}\n type={this.type === 'password' && this.isPasswordVisible ? 'text' : this.type}\n name={this.name}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n minLength={this.minlength}\n maxLength={this.maxlength}\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.getValue()}\n autoCapitalize={this.autocapitalize}\n autoComplete={this.autocomplete}\n autoCorrect={this.autocorrect}\n autoFocus={this.autofocus}\n spellcheck={this.spellcheck}\n pattern={this.pattern}\n required={this.required}\n inputMode={this.inputmode}\n aria-labelledby={this.labelId}\n aria-describedby={this.helpTextId}\n aria-invalid={this.invalid ? 'true' : 'false'}\n onChange={this.handleChange}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n data-testid=\"input-control\"\n />\n\n {this.clearable && (\n <button\n part=\"clear-button\"\n class=\"input__clear\"\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n data-testid=\"input-clear-button\"\n >\n <slot name=\"clear-icon\">\n <six-icon size={ICON_SIZES[this.size]}>clear</six-icon>\n </slot>\n </button>\n )}\n\n {this.togglePassword && (\n <button\n part=\"password-toggle-button\"\n class=\"input__password-toggle\"\n type=\"button\"\n onClick={this.handlePasswordToggle}\n tabindex=\"-1\"\n >\n {this.isPasswordVisible ? (\n <slot name=\"show-password-icon\">\n <six-icon size={ICON_SIZES[this.size]}>visibility_off</six-icon>\n </slot>\n ) : (\n <slot name=\"hide-password-icon\">\n <six-icon size={ICON_SIZES[this.size]}>visibility</six-icon>\n </slot>\n )}\n </button>\n )}\n\n <span part=\"suffix\" class=\"input__suffix\">\n <slot name=\"suffix\" />\n </span>\n </div>\n </FormControl>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as s,g as e}from"./p-187fbba0.js";import{I as r}from"./p-25a3bf57.js";import{D as n,b as o,a as h}from"./p-8cf72af6.js";import{E as a}from"./p-02d5a6d8.js";import{h as c}from"./p-d87a6f4d.js";import{a as l,m as p}from"./p-0fe78f9b.js";const u=()=>{const i=new Date;return{hours:i.getHours(),minutes:i.getMinutes(),seconds:i.getSeconds(),milliseconds:i.getMilliseconds(),has24Hours:true}};const m=12;const d=i=>i>m?i-m:i;const f=()=>{const i=new Date;const t=i.getHours();return{hours:d(t),minutes:i.getMinutes(),seconds:i.getSeconds(),milliseconds:i.getMilliseconds(),has24Hours:false,period:t>=m?"PM":"AM"}};const g=(i=true)=>i?u():f();const x=(i,t)=>{const s=i.split(":");const e=t.split(":");return s.length===e.length};const b=(i,t)=>{const s=i.split(":");const e=t.split(":");if(!x(i,t)){console.error(`Timestring did not match expected format.\nExpected format: ${t}\nReceived timestring: ${i}`)}const r={};s.forEach(((i,t)=>{const s=e[t];switch(s){case"HH":r.hours=Number(i);r.has24Hours=true;break;case"hh":r.hours=Number(i);r.has24Hours=false;break;case"mm":r.minutes=Number(i);break;case"ss":r.seconds=Number(i);break;case"ms":r.milliseconds=Number(i);break;case"aa":r.period=i.toUpperCase()==="PM"?"PM":"AM"}}));return r};const k=(i,t)=>{if(i==null){return""}const s=t.split(":");return s.map((t=>{switch(t){case"HH":case"hh":return String(i.hours).padStart(2,"0");case"mm":return String(i.minutes).padStart(2,"0");case"ss":return String(i.seconds).padStart(2,"0");case"ms":return String(i.milliseconds).padStart(3,"0");case"aa":return String(i.period)}})).join(":")};const v=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;font-family:var(--six-font-family)}.timepicker_clear{display:inline-flex;align-items:center;font-size:inherit;color:var(--six-input-icon-color);border:none;background:none;padding:0;transition:var(--six-transition-fast) color;cursor:pointer}.timepicker_clear:hover{color:var(--six-input-icon-color-hover)}.timepicker_clear:focus{outline:none}.timepicker_clear--right{right:0;position:absolute}.timepicker_clear--left{right:35px;position:absolute}.timepicker__container{position:relative}.timepicker__popup{display:flex;justify-content:center;min-width:min-content;min-height:145px;background-color:white;padding:0.5em 0.5em 1.5em;box-shadow:0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12);user-select:none;position:absolute;z-index:var(--six-z-index-dropdown);right:0;left:0}.timepicker__popup--is-up{bottom:100%}.timepicker__popup--is-inline{position:initial;box-shadow:none;border:1px solid var(--six-color-web-rock-400)}.timepicker__separator{display:flex;align-items:center}.timepicker__item--wide{padding-left:0.5rem;padding-right:0.5rem}.input--empty .timepicker_clear{visibility:hidden}.input--hide{display:none}.prefix{cursor:pointer}.prefix--right{right:0;display:inline-flex;position:absolute;font-size:inherit;color:var(--six-input-icon-color);border:none;background:none;margin-right:var(--six-input-spacing-medium);transition:var(--six-transition-fast) color}";const _=145;const y=class{constructor(s){i(this,s);this.sixChange=t(this,"six-timepicker-change",7);this.sixChangeDebounced=t(this,"six-timepicker-change-debounced",7);this.sixClear=t(this,"six-timepicker-clear",7);this.eventListeners=new a;this.defaultValue={};this.handlePickerChange=(i,t)=>{i.stopPropagation();if(this.popupValue==null){return}this.popupValue[t]=i.detail;const s=k(this.popupValue,this.format);this.value=s;this.sixChange.emit({changedProperty:t,value:this.popupValue,valueAsString:s})};this.handleDocumentMouseDown=i=>{const t=i.composedPath();if(!t.includes(this.host)){this.closePopup();return}};this.handleClearClick=i=>{i.stopPropagation();this.value="";this.sixClear.emit();this.sixChange.emit({value:{},valueAsString:""})};this.format="HH:mm:ss";this.separator=":";this.value="";this.open=false;this.inline=false;this.readonly=false;this.disabled=false;this.placement=undefined;this.size="medium";this.required=false;this.placeholder=undefined;this.errorOnBlur=false;this.errorText="";this.label="";this.name="";this.clearable=false;this.iconPosition="left";this.hoist=false;this.timeout=n;this.interval=o;this.defaultTime=undefined;this.debounce=n;this.isPopupContentUp=false;this.isDropDownContentUp=false;this.popupValue={}}async resizeHandler(){this.calcIsPopupContentUp();this.moveOpenHoistedPopup()}async scrollHandler(){this.calcIsPopupContentUp();this.moveOpenHoistedPopup()}valueChanged(){this.updateValue()}async reportValidity(){var i;return(i=this.inputElement)===null||i===void 0?void 0:i.reportValidity()}async checkValidity(){var i;return(i=this.inputElement)===null||i===void 0?void 0:i.checkValidity()}async setCustomValidity(i){var t;await((t=this.inputElement)===null||t===void 0?void 0:t.setCustomValidity(i))}async reset(){this.popupValue=this.defaultValue;if(this.inputElement!=null){this.inputElement.value=k(this.popupValue,this.format);await this.inputElement.reset()}}componentWillLoad(){this.updateValue();this.defaultValue=this.popupValue;if(this.inline){this.open=true}if(this.open){this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown)}}componentDidLoad(){if(this.inputElement==null)return;const i=this.inputElement;this.eventListeners.add(this.host,"six-timepicker-change",h((i=>this.sixChangeDebounced.emit(i.detail)),this.debounce));this.eventListeners.add(i,"six-input-input",h((t=>{t.stopPropagation();if(!x(i.value,this.format)){this.sixChange.emit({value:{},valueAsString:""});return}this.value=i.value;this.popupValue=b(i.value,this.format);this.sixChange.emit({value:this.popupValue,valueAsString:k(this.popupValue,this.format)})}),this.debounce))}componentDidRender(){l(this.hoist,this.popup,this.inputElement,this.wrapper,_,(i=>this.isDropDownContentUp=i))}disconnectedCallback(){this.eventListeners.removeAll()}updateValue(){if(typeof this.value!=="string"||!x(this.value,this.format)){this.value=""}if(this.value===""){if(this.defaultTime==null){this.popupValue=g(this.is24HourClock())}else{this.popupValue=b(this.defaultTime,this.format)}}else{this.popupValue=b(this.value,this.format)}}calcIsPopupContentUp(){if(this.inputElement==null||this.wrapper==null){return}const i=this.inputElement.getBoundingClientRect();const t=this.wrapper.getBoundingClientRect();const s=Math.max(t.height,_);const e=i.y>window.innerHeight/2;this.isPopupContentUp=e&&window.innerHeight<i.bottom+s}moveOpenHoistedPopup(){p(this.hoist,this.open,this.popup,this.inputElement,this.wrapper,_)}getSixTimeUnitPicker(i){return s("six-item-picker",{class:i.class,timeout:this.timeout,interval:this.interval,padded:true,min:i.min,max:i.max,value:this.popupValue[i.propertyName],items:i.items,type:i.type||r.NUMBER,"padding-length":i.paddingLength,"onSix-item-picker-change":t=>this.handlePickerChange(t,i.propertyName)})}getHour24Picker(){if(!this.is24HourClock()){return}return this.getSixTimeUnitPicker({min:0,max:23,propertyName:"hours"})}is24HourClock(){return this.format.includes("HH")}getHour12Picker(){if(!this.is12HourClock()){return}return this.getSixTimeUnitPicker({min:0,max:11,propertyName:"hours"})}is12HourClock(){return this.format.includes("hh")}getAmPmPicker(){if(!this.is12HourClock()){return}const i=["AM","PM"];return this.getSixTimeUnitPicker({items:i,type:r.CUSTOM,propertyName:"period"})}getMinutePicker(){if(!this.format.includes("mm")){return}return this.getSixTimeUnitPicker({min:0,max:59,propertyName:"minutes"})}getSecondsPicker(){if(!this.format.includes("ss")){return}return this.getSixTimeUnitPicker({min:0,max:59,propertyName:"seconds"})}getMillisecondsPicker(){if(!this.format.includes("ms")){return}return this.getSixTimeUnitPicker({min:0,max:999,class:"timepicker__item--wide",paddingLength:3,propertyName:"milliseconds"})}getSeparator(){return s("div",{class:"timepicker__separator"},s("span",null,this.separator))}getContent(){const i=[this.getHour24Picker(),this.getHour12Picker(),this.getMinutePicker(),this.getSecondsPicker(),this.getMillisecondsPicker()];const t=i.filter((i=>i!==undefined));return t.map(((i,s)=>{if(s===t.length-1){return[i]}return[i,this.getSeparator()]}))}openPopup(){if(!this.open&&!this.disabled){this.open=true;this.eventListeners.add(document,"mousedown",this.handleDocumentMouseDown)}}closePopup(){if(this.inline){return}this.open=false;this.eventListeners.remove(document,"mousedown",this.handleDocumentMouseDown)}renderClearable(){return this.clearable&&s("button",{slot:"suffix",class:{timepicker_clear:true,"timepicker_clear--right":this.iconPosition==="left","timepicker_clear--left":this.iconPosition==="right"},type:"button",onClick:this.handleClearClick,tabindex:"-1"},s("six-icon",{size:"small"},"clear"))}renderCustomIcon(){const i=c(this.host,"custom-icon")?s("slot",{name:"custom-icon"}):s("six-icon",{size:this.size==="large"?"medium":this.size},"watch_later");return s("span",{slot:"prefix",part:"icon",class:{prefix:true,"prefix--right":this.iconPosition==="right"}},i)}render(){return s("div",{part:"container",ref:i=>this.wrapper=i,class:"timepicker__container"},s("six-input",{ref:i=>this.inputElement=i,part:"input",onClick:()=>this.openPopup(),value:this.value,placeholder:this.placeholder,readonly:this.readonly,disabled:this.disabled,size:this.size,name:this.name,label:this.label,required:this.required,"error-text":this.errorText,"error-on-blur":this.errorOnBlur,class:{"input--empty":this.value==="","input--hide":this.inline}},this.renderCustomIcon(),this.renderClearable(),c(this.host,"error-text")?s("span",{slot:"error-text"},s("slot",{name:"error-text"})):null,c(this.host,"label")?s("span",{slot:"label"},s("slot",{name:"label"})):null),this.open&&s("div",{ref:i=>this.popup=i,part:"popup",class:{timepicker__popup:true,"timepicker__popup--is-up":this.placement==null?this.placement==="top":this.isPopupContentUp,"timepicker__popup--is-inline":this.inline}},...this.getContent(),this.getAmPmPicker()))}get host(){return e(this)}static get watchers(){return{value:["valueChanged"]}}};y.style=v;export{y as six_timepicker};
2
- //# sourceMappingURL=p-9e0c386f.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getCurrentTimeIn24Hours","now","Date","hours","getHours","minutes","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","has24Hours","HOURS_IN_12_HOUR_CLOCK_FORMAT","getHoursIn12HourFormat","getCurrentTimeIn12Hours","period","getCurrentTime","isValidTimeString","timeStr","format","timeStringParts","split","timeFormatParts","length","parseTimeString","timeParts","formatParts","console","error","time","forEach","timeStringPart","i","formatStringPart","Number","toUpperCase","createTimeString","map","timeFormatPart","String","padStart","join","sixTimepickerCss","MIN_POPUP_HEIGHT","SixTimepicker","this","eventListeners","EventListeners","defaultValue","handlePickerChange","event","property","stopPropagation","popupValue","detail","timeString","value","sixChange","emit","changedProperty","valueAsString","handleDocumentMouseDown","path","composedPath","includes","host","closePopup","handleClearClick","sixClear","DEFAULT_DEBOUNCE_FAST","DEFAULT_DEBOUNCE_INSANELY_FAST","async","calcIsPopupContentUp","moveOpenHoistedPopup","valueChanged","updateValue","_a","inputElement","reportValidity","checkValidity","message","setCustomValidity","reset","componentWillLoad","inline","open","add","document","componentDidLoad","debounce","sixChangeDebounced","componentDidRender","adjustPopupForHoisting","hoist","popup","wrapper","isUp","isDropDownContentUp","disconnectedCallback","removeAll","defaultTime","is24HourClock","inputBoundingRect","getBoundingClientRect","wrapperBoundingRect","minPopupHeight","Math","max","height","moreSpaceInTop","y","window","innerHeight","isPopupContentUp","bottom","movePopup","getSixTimeUnitPicker","params","h","class","timeout","interval","padded","min","propertyName","items","type","ItemPickerType","NUMBER","paddingLength","getHour24Picker","getHour12Picker","is12HourClock","getAmPmPicker","CUSTOM","getMinutePicker","getSecondsPicker","getMillisecondsPicker","getSeparator","separator","getContent","elementsInOrder","visibleElements","filter","el","undefined","idx","openPopup","disabled","remove","renderClearable","clearable","slot","timepicker_clear","iconPosition","onClick","tabindex","size","renderCustomIcon","icon","hasSlot","name","part","prefix","render","ref","placeholder","readonly","label","required","errorText","errorOnBlur","timepicker__popup","placement"],"sources":["./src/utils/time.util.ts","./src/components/six-timepicker/six-timepicker.scss?tag=six-timepicker&encapsulation=shadow","./src/components/six-timepicker/six-timepicker.tsx"],"sourcesContent":["export type TimePeriod = 'AM' | 'PM';\n\nexport interface Time {\n hours?: number;\n minutes?: number;\n seconds?: number;\n milliseconds?: number;\n has24Hours?: boolean; // true => 24h, false => 12h\n period?: TimePeriod; // only needed for 12-hour clock\n}\n\nexport type TimeProperties = keyof Time;\n\nexport type TimeFormatChar =\n | 'HH' // 24h\n | 'hh' // 12h\n | 'mm' // minutes\n | 'ss' // seconds\n | 'ms' // milliseconds\n | 'aa'; // period (AM/PM)\n\n/*\n * Supported time formats\n */\nexport type TimeFormat =\n | 'HH:mm:ss'\n | 'hh:mm:ss:aa'\n | 'HH:mm:ss:ms'\n | 'hh:mm:ss:ms:aa'\n | 'HH:mm'\n | 'hh:mm:aa'\n | 'HH'\n | 'hh:aa'\n | 'mm'\n | 'ss'\n | 'ms';\n\nexport const getCurrentTimeIn24Hours = (): Time => {\n const now = new Date();\n return {\n hours: now.getHours(),\n minutes: now.getMinutes(),\n seconds: now.getSeconds(),\n milliseconds: now.getMilliseconds(),\n has24Hours: true,\n };\n};\n\nconst HOURS_IN_12_HOUR_CLOCK_FORMAT = 12;\n\nexport const getHoursIn12HourFormat = (hours: number) =>\n hours > HOURS_IN_12_HOUR_CLOCK_FORMAT ? hours - HOURS_IN_12_HOUR_CLOCK_FORMAT : hours;\n\nexport const getCurrentTimeIn12Hours = (): Time => {\n const now = new Date();\n const hours = now.getHours();\n return {\n hours: getHoursIn12HourFormat(hours),\n minutes: now.getMinutes(),\n seconds: now.getSeconds(),\n milliseconds: now.getMilliseconds(),\n has24Hours: false,\n period: hours >= HOURS_IN_12_HOUR_CLOCK_FORMAT ? 'PM' : 'AM',\n };\n};\n\nexport const getCurrentTime = (has24Hours = true): Time => {\n return has24Hours ? getCurrentTimeIn24Hours() : getCurrentTimeIn12Hours();\n};\n\nexport const isValidTimeString = (timeStr: string, format: TimeFormat) => {\n const timeStringParts = timeStr.split(':');\n const timeFormatParts = format.split(':');\n return timeStringParts.length === timeFormatParts.length;\n};\n\nexport const parseTimeString = (timeStr: string, format: TimeFormat): Time => {\n const timeParts = timeStr.split(':');\n const formatParts = format.split(':') as TimeFormatChar[];\n\n if (!isValidTimeString(timeStr, format)) {\n console.error(\n `Timestring did not match expected format.\\nExpected format: ${format}\\nReceived timestring: ${timeStr}`\n );\n }\n\n const time: Time = {};\n\n timeParts.forEach((timeStringPart, i) => {\n const formatStringPart: TimeFormatChar = formatParts[i];\n switch (formatStringPart) {\n case 'HH':\n time.hours = Number(timeStringPart);\n time.has24Hours = true;\n break;\n case 'hh':\n time.hours = Number(timeStringPart);\n time.has24Hours = false;\n break;\n case 'mm':\n time.minutes = Number(timeStringPart);\n break;\n case 'ss':\n time.seconds = Number(timeStringPart);\n break;\n case 'ms':\n time.milliseconds = Number(timeStringPart);\n break;\n case 'aa':\n time.period = timeStringPart.toUpperCase() === 'PM' ? 'PM' : 'AM';\n }\n });\n return time;\n};\n\nexport const createTimeString = (time: Time | undefined, format: TimeFormat): string => {\n if (time == null) {\n return '';\n }\n\n const formatParts = format.split(':') as TimeFormatChar[];\n\n return formatParts\n .map((timeFormatPart) => {\n switch (timeFormatPart) {\n case 'HH':\n case 'hh':\n return String(time.hours).padStart(2, '0');\n case 'mm':\n return String(time.minutes).padStart(2, '0');\n case 'ss':\n return String(time.seconds).padStart(2, '0');\n case 'ms':\n return String(time.milliseconds).padStart(3, '0');\n case 'aa':\n return String(time.period);\n }\n })\n .join(':');\n};\n","@import 'src/global/component';\n\n:host {\n display: block;\n font-family: var(--six-font-family);\n}\n\n.timepicker {\n &_clear {\n display: inline-flex;\n align-items: center;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--six-transition-fast) color;\n cursor: pointer;\n\n &:hover {\n color: var(--six-input-icon-color-hover);\n }\n\n &:focus {\n outline: none;\n }\n\n &--right {\n right: 0;\n position: absolute;\n }\n\n &--left {\n right: 35px;\n position: absolute;\n }\n }\n\n &__container {\n position: relative;\n }\n\n &__popup {\n display: flex;\n justify-content: center;\n min-width: min-content;\n min-height: 145px;\n background-color: white;\n padding: 0.5em 0.5em 1.5em;\n box-shadow: 0 2px 4px -1px rgb(0 0 0 / 20%), 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%);\n user-select: none;\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n right: 0;\n left: 0;\n\n &--is-up {\n bottom: 100%;\n }\n\n &--is-inline {\n position: initial;\n box-shadow: none;\n border: 1px solid var(--six-color-web-rock-400);\n }\n }\n\n &__separator {\n display: flex;\n align-items: center;\n }\n\n &__item {\n &--wide {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n }\n }\n}\n\n.input--empty .timepicker_clear {\n visibility: hidden;\n}\n\n.input--hide {\n display: none;\n}\n\n// Icon position\n.prefix {\n cursor: pointer;\n\n &--right {\n right: 0;\n display: inline-flex;\n position: absolute;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n margin-right: var(--six-input-spacing-medium);\n transition: var(--six-transition-fast) color;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerType } from '../six-item-picker/types';\nimport {\n createTimeString,\n getCurrentTime,\n isValidTimeString,\n parseTimeString,\n Time,\n TimeFormat,\n TimeProperties,\n} from '../../utils/time.util';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { SixItemPickerChangePayload } from '../six-item-picker/six-item-picker';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { adjustPopupForHoisting, movePopup } from '../../utils/popup';\n\nexport interface SixTimepickerChange {\n value?: Time;\n valueAsString: string;\n changedProperty?: string;\n}\n\ninterface SixTimeUnitPickerParams {\n min?: number;\n max?: number;\n items?: string[];\n type?: ItemPickerType;\n class?: string;\n paddingLength?: number;\n propertyName: TimeProperties;\n}\n\nconst MIN_POPUP_HEIGHT = 145;\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n * @part input - The input field\n * @part container - The container of whole component\n * @part popup - The popup of the timepicker component\n *\n */\n@Component({\n tag: 'six-timepicker',\n styleUrl: 'six-timepicker.scss',\n shadow: true,\n})\nexport class SixTimepicker {\n private eventListeners = new EventListeners();\n private popup?: HTMLElement;\n private wrapper?: HTMLElement;\n private inputElement?: HTMLSixInputElement;\n @Element() host!: HTMLSixTimepickerElement;\n\n /**\n * Define the time format. Valid formats are:\n *\n * HH:mm:ss\n * hh:mm:ss:aa\n * HH:mm:ss:ms\n * hh:mm:ss:ms:aa\n * HH:mm\n * hh:mm:aa\n * HH\n * hh:aa\n * mm\n * ss\n * ms\n *\n * where HH is the 24 hour format\n * and hh is the 12 hour format\n *\n * Please notice that when using the 12-hour-clock (hh)\n * you always need a period indicator (aa). So the time can be parsed as either am or pm\n * */\n @Prop() format: TimeFormat = 'HH:mm:ss';\n\n /**\n * Define the separator to be shown between the time unit pickers.\n * Please be aware that this property will modify the displayed separator only.\n * The separator for a timestring is always expected to be a colon (eg. '13:52:20')\n * */\n @Prop() separator = ':';\n\n /**\n * The value of the timepicker provided as a string. The string mast match the provided format (or default format)\n */\n @Prop({ mutable: true }) value = '';\n\n /** Indicates whether the timepicker dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether the timepicker should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a time via the timepicker but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement?: 'top' | 'bottom';\n\n /** Timepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to make the input a required field. */\n @Prop({ reflect: true }) required = false;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = false;\n\n /** The input's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText = '';\n\n /** The input's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between timeunits (e.g. hours).\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next timeunit (e.g. next hour) when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * The defaultTime defines the default setting for the timepicker when you open the popup. Default time must match the provided format.\n */\n @Prop() defaultTime?: string;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-timepicker-change-debounced` event.\n * If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce\n * is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click\n * (and keep pressed) and once you release\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Emitted when the timepicker's value changes\n */\n @Event({ eventName: 'six-timepicker-change' }) sixChange!: EventEmitter<SixTimepickerChange>;\n\n /**\n * Emitted when the timepicker's value changes, but debounced\n */\n @Event({ eventName: 'six-timepicker-change-debounced' }) sixChangeDebounced!: EventEmitter<SixTimepickerChange>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-timepicker-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n @State() isPopupContentUp = false;\n\n @State() isDropDownContentUp = false;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.calcIsPopupContentUp();\n this.moveOpenHoistedPopup();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.calcIsPopupContentUp();\n this.moveOpenHoistedPopup();\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n this.updateValue();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n @Method()\n async reportValidity() {\n return this.inputElement?.reportValidity();\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n return this.inputElement?.checkValidity();\n }\n\n /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */\n @Method()\n async setCustomValidity(message: string) {\n await this.inputElement?.setCustomValidity(message);\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.popupValue = this.defaultValue;\n if (this.inputElement != null) {\n this.inputElement.value = createTimeString(this.popupValue, this.format);\n await this.inputElement.reset();\n }\n }\n\n /*\n * Internally the six-timepicker uses a standardized representation of time, so we don't have a mess,\n * when switching between formats\n */\n @State() private popupValue: Time = {};\n\n private defaultValue: Time = {};\n\n componentWillLoad() {\n this.updateValue();\n this.defaultValue = this.popupValue;\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n }\n\n componentDidLoad() {\n if (this.inputElement == null) return;\n const inputElement = this.inputElement;\n\n // emit debounced change event\n this.eventListeners.add(\n this.host,\n 'six-timepicker-change',\n debounce((event: Event) => this.sixChangeDebounced.emit((event as CustomEvent).detail), this.debounce)\n );\n\n // update value and popup value based on input-element value\n this.eventListeners.add(\n inputElement,\n 'six-input-input',\n debounce((event: Event) => {\n event.stopPropagation();\n\n // emit empty event if time string is invalid\n if (!isValidTimeString(inputElement.value, this.format)) {\n this.sixChange.emit({\n value: {},\n valueAsString: '',\n });\n return;\n }\n\n // update value and popup value, and emit the new value\n this.value = inputElement.value;\n this.popupValue = parseTimeString(inputElement.value, this.format);\n this.sixChange.emit({\n value: this.popupValue,\n valueAsString: createTimeString(this.popupValue, this.format),\n });\n }, this.debounce)\n );\n }\n\n componentDidRender() {\n adjustPopupForHoisting(\n this.hoist,\n this.popup,\n this.inputElement,\n this.wrapper,\n MIN_POPUP_HEIGHT,\n (isUp) => (this.isDropDownContentUp = isUp)\n );\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private updateValue() {\n // normalize value\n if (typeof this.value !== 'string' || !isValidTimeString(this.value, this.format)) {\n this.value = '';\n }\n\n // update popup value\n if (this.value === '') {\n if (this.defaultTime == null) {\n this.popupValue = getCurrentTime(this.is24HourClock());\n } else {\n this.popupValue = parseTimeString(this.defaultTime, this.format);\n }\n } else {\n this.popupValue = parseTimeString(this.value, this.format);\n }\n }\n\n private calcIsPopupContentUp() {\n if (this.inputElement == null || this.wrapper == null) {\n return;\n }\n\n const inputBoundingRect = this.inputElement.getBoundingClientRect();\n const wrapperBoundingRect = this.wrapper.getBoundingClientRect();\n const minPopupHeight = Math.max(wrapperBoundingRect.height, MIN_POPUP_HEIGHT);\n\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n this.isPopupContentUp = moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + minPopupHeight;\n }\n\n private moveOpenHoistedPopup() {\n movePopup(this.hoist, this.open, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n private handlePickerChange = (event: CustomEvent<SixItemPickerChangePayload>, property: TimeProperties) => {\n // stop propagation, since the timepicker should not expose the events of the underlying item-picker\n event.stopPropagation();\n if (this.popupValue == null) {\n return;\n }\n\n // update the internal state\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.popupValue[property] = event.detail;\n\n const timeString = createTimeString(this.popupValue, this.format);\n\n // update the input value\n this.value = timeString;\n\n // emit change event\n this.sixChange.emit({\n changedProperty: property,\n value: this.popupValue,\n valueAsString: timeString,\n });\n };\n\n private getSixTimeUnitPicker(params: SixTimeUnitPickerParams) {\n return (\n <six-item-picker\n class={params.class}\n timeout={this.timeout}\n interval={this.interval}\n padded\n min={params.min}\n max={params.max}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n value={this.popupValue[params.propertyName]}\n items={params.items}\n type={params.type || ItemPickerType.NUMBER}\n padding-length={params.paddingLength}\n onSix-item-picker-change={(event) => this.handlePickerChange(event, params.propertyName)}\n ></six-item-picker>\n );\n }\n\n private getHour24Picker() {\n if (!this.is24HourClock()) {\n return;\n }\n return this.getSixTimeUnitPicker({ min: 0, max: 23, propertyName: 'hours' });\n }\n\n private is24HourClock() {\n return this.format.includes('HH');\n }\n\n private getHour12Picker() {\n if (!this.is12HourClock()) {\n return;\n }\n return this.getSixTimeUnitPicker({ min: 0, max: 11, propertyName: 'hours' });\n }\n\n private is12HourClock() {\n return this.format.includes('hh');\n }\n\n private getAmPmPicker() {\n if (!this.is12HourClock()) {\n return;\n }\n const items = ['AM', 'PM'];\n return this.getSixTimeUnitPicker({\n items,\n type: ItemPickerType.CUSTOM,\n propertyName: 'period',\n });\n }\n\n private getMinutePicker() {\n if (!this.format.includes('mm')) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: 'minutes' });\n }\n\n private getSecondsPicker() {\n if (!this.format.includes('ss')) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: 'seconds' });\n }\n\n private getMillisecondsPicker() {\n if (!this.format.includes('ms')) {\n return;\n }\n\n return this.getSixTimeUnitPicker({\n min: 0,\n max: 999,\n class: 'timepicker__item--wide',\n paddingLength: 3,\n propertyName: 'milliseconds',\n });\n }\n\n private getSeparator() {\n return (\n <div class=\"timepicker__separator\">\n <span>{this.separator}</span>\n </div>\n );\n }\n\n private getContent() {\n const elementsInOrder = [\n this.getHour24Picker(),\n this.getHour12Picker(),\n this.getMinutePicker(),\n this.getSecondsPicker(),\n this.getMillisecondsPicker(),\n ];\n\n const visibleElements = elementsInOrder.filter((el) => el !== undefined);\n\n return visibleElements.map((el, idx) => {\n if (idx === visibleElements.length - 1) {\n return [el];\n }\n\n return [el, this.getSeparator()];\n });\n }\n\n private openPopup() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n }\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.host)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.value = '';\n this.sixClear.emit();\n this.sixChange.emit({\n value: {},\n valueAsString: '',\n });\n };\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n timepicker_clear: true,\n 'timepicker_clear--right': this.iconPosition === 'left',\n 'timepicker_clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>watch_later</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n render() {\n return (\n <div part=\"container\" ref={(el) => (this.wrapper = el)} class=\"timepicker__container\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n part=\"input\"\n onClick={() => this.openPopup()}\n value={this.value}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n size={this.size}\n name={this.name}\n label={this.label}\n required={this.required}\n error-text={this.errorText}\n error-on-blur={this.errorOnBlur}\n class={{\n 'input--empty': this.value === '',\n 'input--hide': this.inline,\n }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n ref={(el) => (this.popup = el)}\n part=\"popup\"\n class={{\n timepicker__popup: true,\n 'timepicker__popup--is-up': this.placement == null ? this.placement === 'top' : this.isPopupContentUp,\n 'timepicker__popup--is-inline': this.inline,\n }}\n >\n {...this.getContent()}\n {this.getAmPmPicker()}\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixLanguageSwitcherCss","DEFAULT_LANGUAGES","SixLanguageSwitcher","this","handleLanguageSwitching","newLanguage","languageValue","undefined","sixChange","emit","selected","handleChangesLanguages","newValue","Array","isArray","Error","updateSelectedLanguage","componentWillLoad","selectedLanguage","languages","key","value","render","h","part","class","map","lang","index","language","onClick","length"],"sources":["./src/components/six-language-switcher/six-language-switcher.scss?tag=six-language-switcher&encapsulation=shadow","./src/components/six-language-switcher/six-language-switcher.tsx"],"sourcesContent":[".language-switcher {\n &__container {\n display: flex;\n }\n\n &__separator {\n padding: 0 0.25rem;\n }\n\n &__label {\n cursor: pointer;\n\n &:hover {\n color: var(--six-color-red);\n }\n\n &--selected {\n color: var(--six-color-red);\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\n\n/**\n * @since 2.1.0\n * @status experimental\n **/\n\nexport interface SixLanguageSwitcherInput {\n key: string;\n value: string;\n}\nexport type SixLanguageSwitcherChangePayload = string;\n\nconst DEFAULT_LANGUAGES = ['EN', 'DE', 'ES'];\n\n/*\n * @since 2.2.0\n * @status experimental\n * @part container - The whole component container\n * @part label - The language label\n * @part separator - The separator between the language labels\n */\n@Component({\n tag: 'six-language-switcher',\n styleUrl: 'six-language-switcher.scss',\n shadow: true,\n})\nexport class SixLanguageSwitcher {\n /** The language which should be shown as selected */\n @Prop({ mutable: true, reflect: true }) selected?: string;\n\n /** The languages which should be selectable options. */\n @Prop() languages: string[] | SixLanguageSwitcherInput[] = DEFAULT_LANGUAGES;\n\n @Watch('languages')\n handleChangesLanguages(newValue: string[]) {\n if (!Array.isArray(newValue)) {\n throw new Error('languages is expected to be an array');\n }\n\n this.updateSelectedLanguage();\n }\n /**\n * Emitted when the language switchers value changes\n */\n @Event({ eventName: 'six-language-switcher-change' }) sixChange!: EventEmitter<SixLanguageSwitcherChangePayload>;\n\n componentWillLoad() {\n if (this.selected === undefined) {\n this.updateSelectedLanguage();\n }\n }\n\n private updateSelectedLanguage() {\n const selectedLanguage = this.languages[0];\n if (typeof selectedLanguage === 'string') {\n this.selected = selectedLanguage;\n this.sixChange.emit(this.selected);\n } else {\n this.selected = selectedLanguage.key;\n this.sixChange.emit(selectedLanguage.value);\n }\n }\n\n private handleLanguageSwitching = (newLanguage: string, languageValue?: string) => () => {\n if (languageValue !== undefined) {\n this.sixChange.emit(languageValue);\n } else {\n this.sixChange.emit(newLanguage);\n }\n this.selected = newLanguage;\n };\n\n render() {\n return (\n <div part=\"container\" class=\"language-switcher__container\">\n {this.languages.map((lang, index) => {\n const language = typeof lang === 'string' ? lang : lang.key;\n return (\n <div onClick={this.handleLanguageSwitching(language, typeof lang === 'string' ? lang : lang.value)}>\n <span\n part=\"label\"\n class={{\n 'language-switcher__label': true,\n 'language-switcher__label--selected': this.selected === language,\n }}\n >\n {language}\n </span>\n {index < this.languages.length - 1 && (\n <span part=\"separator\" class=\"language-switcher__separator\">\n /\n </span>\n )}\n </div>\n );\n })}\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAyB,iQCa/B,MAAMC,EAAoB,CAAC,KAAM,KAAM,M,MAc1BC,EAAmB,M,iFAqCtBC,KAAAC,wBAA0B,CAACC,EAAqBC,IAA2B,KACjF,GAAIA,IAAkBC,UAAW,CAC/BJ,KAAKK,UAAUC,KAAKH,E,KACf,CACLH,KAAKK,UAAUC,KAAKJ,E,CAEtBF,KAAKO,SAAWL,CAAW,E,uCAtC8BJ,C,CAG3DU,uBAAuBC,GACrB,IAAKC,MAAMC,QAAQF,GAAW,CAC5B,MAAM,IAAIG,MAAM,uC,CAGlBZ,KAAKa,wB,CAOPC,oBACE,GAAId,KAAKO,WAAaH,UAAW,CAC/BJ,KAAKa,wB,EAIDA,yBACN,MAAME,EAAmBf,KAAKgB,UAAU,GACxC,UAAWD,IAAqB,SAAU,CACxCf,KAAKO,SAAWQ,EAChBf,KAAKK,UAAUC,KAAKN,KAAKO,S,KACpB,CACLP,KAAKO,SAAWQ,EAAiBE,IACjCjB,KAAKK,UAAUC,KAAKS,EAAiBG,M,EAazCC,SACE,OACEC,EAAA,OAAKC,KAAK,YAAYC,MAAM,gCACzBtB,KAAKgB,UAAUO,KAAI,CAACC,EAAMC,KACzB,MAAMC,SAAkBF,IAAS,SAAWA,EAAOA,EAAKP,IACxD,OACEG,EAAA,OAAKO,QAAS3B,KAAKC,wBAAwByB,SAAiBF,IAAS,SAAWA,EAAOA,EAAKN,QAC1FE,EAAA,QACEC,KAAK,QACLC,MAAO,CACL,2BAA4B,KAC5B,qCAAsCtB,KAAKO,WAAamB,IAGzDA,GAEFD,EAAQzB,KAAKgB,UAAUY,OAAS,GAC/BR,EAAA,QAAMC,KAAK,YAAYC,MAAM,gCAA8B,KAIzD,I"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixSearchFieldCss","SixSearchField","this","eventListeners","EventListeners","handleInputChange","inputElement","searchFieldChange","emit","value","DEFAULT_DEBOUNCE_FAST","handleValueChange","componentDidLoad","add","debounce","event","keyboardEvent","key","disconnectedCallback","removeAll","render","h","class","ref","el","placeholder","disabled","clearable","slot","size","onClick"],"sources":["./src/components/six-search-field/six-search-field.scss?tag=six-search-field&encapsulation=shadow","./src/components/six-search-field/six-search-field.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.search-box {\n z-index: var(--six-z-index-search-field);\n\n &__icon {\n cursor: pointer;\n }\n}\n","import { Component, Event, EventEmitter, h, Prop, Watch } from '@stencil/core';\nimport { debounce, DEFAULT_DEBOUNCE_FAST } from '../../utils/execution-control';\nimport { EventListeners } from '../../utils/event-listeners';\n\nexport interface SixSearchFieldChangePayload {\n value: string;\n}\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the results below the search component.\n */\n\n@Component({\n tag: 'six-search-field',\n styleUrl: 'six-search-field.scss',\n shadow: true,\n})\nexport class SixSearchField {\n /** The input's placeholder text. */\n @Prop() placeholder?: string;\n\n /** Debounce time in milliseconds, default is 300 ms */\n @Prop({ reflect: true }) debounce = DEFAULT_DEBOUNCE_FAST;\n\n /** Set to true to disable the input. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The input's value attribute. */\n @Prop({ reflect: true }) value = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Emitted when a search is triggered */\n @Event({ eventName: 'six-search-field-change' }) searchFieldChange!: EventEmitter<SixSearchFieldChangePayload>;\n\n private inputElement?: HTMLSixInputElement;\n\n private eventListeners = new EventListeners();\n\n private handleInputChange = () => {\n if (this.inputElement != null) {\n this.searchFieldChange.emit({ value: this.inputElement.value });\n }\n };\n\n @Watch('value')\n handleValueChange() {\n if (this.inputElement != null) {\n this.inputElement.value = this.value;\n }\n }\n\n componentDidLoad() {\n if (this.inputElement == null) return;\n\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'keydown', (event: Event) => {\n const keyboardEvent = event as KeyboardEvent;\n if (keyboardEvent.key === 'Enter') {\n // emit immediately\n this.handleInputChange();\n }\n });\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n render() {\n return (\n <div class=\"search-box\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n placeholder={this.placeholder}\n value={this.value}\n disabled={this.disabled}\n clearable={this.clearable}\n >\n <six-icon class=\"search-box__icon\" slot=\"prefix\" size=\"small\" onClick={this.handleInputChange}>\n search\n </six-icon>\n </six-input>\n <slot />\n </div>\n );\n }\n}\n"],"mappings":"iIAAA,MAAMA,EAAoB,kN,MCoBbC,EAAc,M,oFAqBjBC,KAAAC,eAAiB,IAAIC,EAErBF,KAAAG,kBAAoB,KAC1B,GAAIH,KAAKI,cAAgB,KAAM,CAC7BJ,KAAKK,kBAAkBC,KAAK,CAAEC,MAAOP,KAAKI,aAAaG,O,4CApBvBC,E,cAGA,M,WAGH,G,eAGb,K,CAgBpBC,oBACE,GAAIT,KAAKI,cAAgB,KAAM,CAC7BJ,KAAKI,aAAaG,MAAQP,KAAKO,K,EAInCG,mBACE,GAAIV,KAAKI,cAAgB,KAAM,OAE/BJ,KAAKC,eAAeU,IAAIX,KAAKI,aAAc,kBAAmBQ,EAASZ,KAAKG,kBAAmBH,KAAKY,WACpGZ,KAAKC,eAAeU,IAAIX,KAAKI,aAAc,WAAYS,IACrD,MAAMC,EAAgBD,EACtB,GAAIC,EAAcC,MAAQ,QAAS,CAEjCf,KAAKG,mB,KAKXa,uBACEhB,KAAKC,eAAegB,W,CAGtBC,SACE,OACEC,EAAA,OAAKC,MAAM,cACTD,EAAA,aACEE,IAAMC,GAAQtB,KAAKI,aAAekB,EAClCC,YAAavB,KAAKuB,YAClBhB,MAAOP,KAAKO,MACZiB,SAAUxB,KAAKwB,SACfC,UAAWzB,KAAKyB,WAEhBN,EAAA,YAAUC,MAAM,mBAAmBM,KAAK,SAASC,KAAK,QAAQC,QAAS5B,KAAKG,mBAAiB,WAI/FgB,EAAA,a"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixMenuDividerCss","SixMenuDivider","render","h","part","class","role"],"sources":["./src/components/six-menu-divider/six-menu-divider.scss?tag=six-menu-divider&encapsulation=shadow","./src/components/six-menu-divider/six-menu-divider.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n}\n\n.menu-divider {\n border-top: solid var(--six-border-width) var(--six-menu-divider-color);\n margin: 0;\n}\n","import { Component, h } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * Forked from https://github.com/shoelace-style/shoelace version v2.0.0-beta27.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-menu-divider',\n styleUrl: 'six-menu-divider.scss',\n shadow: true,\n})\nexport class SixMenuDivider {\n render() {\n return <div part=\"base\" class=\"menu-divider\" role=\"separator\" aria-hidden=\"true\" />;\n }\n}\n"],"mappings":"sCAAA,MAAMA,EAAoB,2N,MCgBbC,EAAc,M,yBACzBC,SACE,OAAOC,EAAA,OAAKC,KAAK,OAAOC,MAAM,eAAeC,KAAK,YAAW,cAAa,Q"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixCardCss","SixCard","render","h","Host"],"sources":["./src/components/six-card/six-card.scss?tag=six-card&encapsulation=shadow","./src/components/six-card/six-card.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: inline-block;\n box-shadow: var(--six-elevation-8dp);\n border-radius: 0;\n padding: 1rem;\n margin-bottom: 0.6rem;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define the content of the card.\n */\n\n@Component({\n tag: 'six-card',\n styleUrl: 'six-card.scss',\n shadow: true,\n})\nexport class SixCard {\n render() {\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAa,0N,MCcNC,EAAO,M,yBAClBC,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,a"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixTileCss","SixTile","this","handleSlotChange","hasIconSlot","hasSlot","host","hasLabelSlot","slot","getSlot","addEventListener","handleClickEvent","handleCloseClickEvent","visible","sixTileClose","emit","sixTileSelected","async","componentWillLoad","render","h","disabled","disableTooltip","label","content","part","class","tile","size","elevated","closeable","name","closeIconSize","onClick","iconName","iconSize","small","medium","large"],"sources":["./src/components/six-tile/six-tile.scss?tag=six-tile&encapsulation=shadow","./src/components/six-tile/six-tile.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: inline-block;\n}\n\n.tile {\n &--small {\n --tile-size: 80px;\n --tile-padding-size: var(--six-spacing-medium);\n }\n\n &--medium {\n --tile-size: 120px;\n --tile-padding-size: var(--six-spacing-large);\n }\n\n &--large {\n --tile-size: 160px;\n --tile-padding-size: var(--six-spacing-x-large);\n }\n\n min-height: var(--tile-size);\n width: var(--tile-size);\n\n background-color: var(--six-color-clay-50);\n\n display: inline-grid;\n grid-template-columns: 100%;\n grid-template-areas:\n 'header'\n 'middle'\n 'footer';\n\n &:not(.tile--visible) {\n visibility: hidden;\n }\n\n &--elevated {\n border: 0;\n box-shadow: var(--six-elevation-8dp);\n }\n}\n\n.tile__header {\n grid-area: header;\n height: 5%;\n justify-self: right;\n display: flex;\n justify-content: right;\n opacity: 0;\n transition: var(--six-transition-fast) opacity;\n\n .tile:hover > & {\n opacity: 1;\n }\n\n &--hidden {\n visibility: hidden;\n }\n\n six-icon-button {\n margin-top: -6px;\n margin-right: -6px;\n margin-bottom: -16px;\n }\n}\n\n.tile__body {\n grid-area: middle;\n display: grid;\n place-items: center;\n cursor: pointer;\n\n six-icon::part(base) {\n padding: 0;\n }\n\n &--small {\n @extend .tile__body;\n --tile-padding-size: var(--six-spacing-medium);\n }\n\n &--medium {\n @extend .tile__body;\n --tile-padding-size: var(--six-spacing-large);\n }\n\n &--large {\n @extend .tile__body;\n --tile-padding-size: var(--six-spacing-x-large);\n }\n\n padding-left: var(--tile-padding-size);\n padding-right: var(--tile-padding-size);\n}\n\n.tile__footer {\n grid-area: footer;\n display: flex;\n justify-content: center;\n cursor: pointer;\n font-weight: var(--six-font-weight-normal);\n color: var(--six-color-web-rock-900);\n\n &--small {\n @extend .tile__footer;\n font-size: var(--six-font-size-xxx-small);\n }\n\n &--medium {\n @extend .tile__footer;\n font-size: var(--six-font-size-xx-small);\n }\n\n &--large {\n @extend .tile__footer;\n font-size: var(--six-font-size-small);\n }\n\n .label__footer {\n overflow: hidden;\n text-overflow: ellipsis;\n width: calc(var(--tile-size) - 2em);\n text-align: center;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\nimport { getSlot, hasSlot } from '../../utils/slot';\n\n/**\n * @since 1.0\n * @status stable\n */\n\n@Component({\n tag: 'six-tile',\n styleUrl: 'six-tile.scss',\n shadow: true,\n})\nexport class SixTile {\n @Element() host!: HTMLSixTileElement;\n\n /** The tile's label. */\n @Prop() label = '';\n\n /** The icon's name. */\n @Prop() iconName?: string;\n\n /** Flag, whether the tile is closeable. */\n @Prop() closeable = true;\n\n /** Flag, whether the tile should cast a shadow. */\n @Prop() elevated = false;\n\n /** Enables tile tooltip for tiles */\n @Prop() disableTooltip = true;\n\n /** Set to true to disable the tile. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The tile's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n @State() visible = true;\n\n /** Emitted when the tile was closed. */\n @Event({ eventName: 'six-tile-closed' }) sixTileClose!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the tile is selected. */\n @Event({ eventName: 'six-tile-selected' }) sixTileSelected!: EventEmitter<EmptyPayload>;\n\n /** Hides the tile */\n @Method()\n async hide() {\n this.visible = false;\n }\n\n /** Shows the tile */\n @Method()\n async show() {\n this.visible = true;\n }\n\n @State() hasIconSlot = false;\n\n @State() hasLabelSlot = false;\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n private handleSlotChange = () => {\n this.hasIconSlot = hasSlot(this.host, 'icon');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n\n if (this.hasIconSlot) {\n const slot = getSlot(this.host, 'icon');\n slot?.addEventListener('click', this.handleClickEvent);\n }\n\n if (this.hasLabelSlot) {\n const slot = getSlot(this.host, 'label');\n slot?.addEventListener('click', this.handleClickEvent);\n }\n };\n\n render() {\n return (\n <six-tooltip disabled={this.disableTooltip || this.label === ''} content={this.label}>\n <div\n part=\"base\"\n class={{\n tile: true,\n 'tile--visible': this.visible,\n 'tile--small': this.size === 'small',\n 'tile--medium': this.size === 'medium',\n 'tile--large': this.size === 'large',\n 'tile--elevated': this.elevated,\n }}\n >\n <div part=\"header\" class=\"tile__header\">\n <six-icon-button\n class={{\n 'tile__header--hidden': !this.closeable,\n }}\n name=\"close\"\n size={closeIconSize(this.size)}\n onClick={this.handleCloseClickEvent}\n />\n </div>\n\n <div part=\"body\" class=\"tile__body\">\n {this.iconName && (\n <six-icon onClick={this.handleClickEvent} size={iconSize(this.size)}>\n {this.iconName}\n </six-icon>\n )}\n {this.hasIconSlot && <slot name=\"icon\"></slot>}\n </div>\n\n <div\n part=\"footer\"\n class={{\n 'tile__footer--small': this.size === 'small',\n 'tile__footer--medium': this.size === 'medium',\n 'tile__footer--large': this.size === 'large',\n }}\n >\n {this.label && (\n <div\n class={{\n '.label__footer': true,\n }}\n onClick={this.handleClickEvent}\n >\n {this.label}\n </div>\n )}\n {this.hasLabelSlot && <slot name=\"label\"></slot>}\n </div>\n </div>\n </six-tooltip>\n );\n }\n\n private handleCloseClickEvent = () => {\n this.visible = false;\n this.sixTileClose.emit();\n };\n\n private handleClickEvent = () => {\n this.sixTileSelected.emit();\n };\n}\n\nconst closeIconSize = (size: string) => {\n return {\n small: 'xxSmall',\n medium: 'medium',\n large: 'medium',\n }[size] as 'xSmall' | 'medium';\n};\n\nconst iconSize = (size: string) => {\n return {\n small: 'xLarge',\n medium: 'xxLarge',\n large: 'xxxLarge',\n }[size] as 'xLarge' | 'xxLarge' | 'xxxLarge';\n};\n"],"mappings":"oGAAA,MAAMA,EAAa,moE,MCcNC,EAAO,M,0HAoDVC,KAAAC,iBAAmB,KACzBD,KAAKE,YAAcC,EAAQH,KAAKI,KAAM,QACtCJ,KAAKK,aAAeF,EAAQH,KAAKI,KAAM,SAEvC,GAAIJ,KAAKE,YAAa,CACpB,MAAMI,EAAOC,EAAQP,KAAKI,KAAM,QAChCE,IAAI,MAAJA,SAAI,SAAJA,EAAME,iBAAiB,QAASR,KAAKS,iB,CAGvC,GAAIT,KAAKK,aAAc,CACrB,MAAMC,EAAOC,EAAQP,KAAKI,KAAM,SAChCE,IAAI,MAAJA,SAAI,SAAJA,EAAME,iBAAiB,QAASR,KAAKS,iB,GA+DjCT,KAAAU,sBAAwB,KAC9BV,KAAKW,QAAU,MACfX,KAAKY,aAAaC,MAAM,EAGlBb,KAAAS,iBAAmB,KACzBT,KAAKc,gBAAgBD,MAAM,E,WAhIb,G,uCAMI,K,cAGD,M,oBAGM,K,cAGW,M,UAG0B,S,aAE3C,K,iBAoBI,M,kBAEC,K,CAZxBE,aACEf,KAAKW,QAAU,K,CAKjBI,aACEf,KAAKW,QAAU,I,CAOjBK,oBACEhB,KAAKC,kB,CAkBPgB,SACE,OACEC,EAAA,eAAaC,SAAUnB,KAAKoB,gBAAkBpB,KAAKqB,QAAU,GAAIC,QAAStB,KAAKqB,OAC7EH,EAAA,OACEK,KAAK,OACLC,MAAO,CACLC,KAAM,KACN,gBAAiBzB,KAAKW,QACtB,cAAeX,KAAK0B,OAAS,QAC7B,eAAgB1B,KAAK0B,OAAS,SAC9B,cAAe1B,KAAK0B,OAAS,QAC7B,iBAAkB1B,KAAK2B,WAGzBT,EAAA,OAAKK,KAAK,SAASC,MAAM,gBACvBN,EAAA,mBACEM,MAAO,CACL,wBAAyBxB,KAAK4B,WAEhCC,KAAK,QACLH,KAAMI,EAAc9B,KAAK0B,MACzBK,QAAS/B,KAAKU,yBAIlBQ,EAAA,OAAKK,KAAK,OAAOC,MAAM,cACpBxB,KAAKgC,UACJd,EAAA,YAAUa,QAAS/B,KAAKS,iBAAkBiB,KAAMO,EAASjC,KAAK0B,OAC3D1B,KAAKgC,UAGThC,KAAKE,aAAegB,EAAA,QAAMW,KAAK,UAGlCX,EAAA,OACEK,KAAK,SACLC,MAAO,CACL,sBAAuBxB,KAAK0B,OAAS,QACrC,uBAAwB1B,KAAK0B,OAAS,SACtC,sBAAuB1B,KAAK0B,OAAS,UAGtC1B,KAAKqB,OACJH,EAAA,OACEM,MAAO,CACL,iBAAkB,MAEpBO,QAAS/B,KAAKS,kBAEbT,KAAKqB,OAGTrB,KAAKK,cAAgBa,EAAA,QAAMW,KAAK,Y,6BAiB7C,MAAMC,EAAiBJ,IACd,CACLQ,MAAO,UACPC,OAAQ,SACRC,MAAO,UACPV,IAGJ,MAAMO,EAAYP,IACT,CACLQ,MAAO,SACPC,OAAQ,UACRC,MAAO,YACPV,I"}
@@ -1,2 +0,0 @@
1
- import{h as l}from"./p-187fbba0.js";const o=(o,r)=>{var t,e,a,n,s,i;const m=o.label!=null&&o.label.trim()!==""?true:(t=o.hasLabelSlot)!==null&&t!==void 0?t:false;const f=o.helpText!=null&&o.helpText.trim()!==""?true:(e=o.hasHelpTextSlot)!==null&&e!==void 0?e:false;const c=o.errorText&&o.errorText!==""||!o.hasErrorTextSlot;return l("div",{part:"form-control",class:{"form-control":true,"form-control--small":o.size==="small","form-control--medium":o.size==="medium","form-control--large":o.size==="large","form-control--has-label":m,"form-control--has-help-text":f,"form-control--has-error-text":(a=o.displayError)!==null&&a!==void 0?a:false,"form-control--disabled":(n=o.disabled)!==null&&n!==void 0?n:false,"form-control--invalid":((s=o.displayError)!==null&&s!==void 0?s:false)&&!o.disabled}},l("label",{part:"label",id:o.labelId,class:{"form-control__label":true,"form-control__label__required":(i=o.required)!==null&&i!==void 0?i:false},htmlFor:o.inputId,"aria-hidden":m?"false":"true",onClick:o.onLabelClick},l("slot",{name:"label"},o.label)),l("div",{class:"form-control__input"},r),l("div",{part:"error-text",id:o.errorTextId,class:"form-control__error-text","aria-hidden":o.displayError?"false":"true"},c?o.errorText:l("slot",{name:"error-text"})),l("div",{part:"help-text",id:o.helpTextId,class:"form-control__help-text","aria-hidden":f?"false":"true"},l("slot",{name:"help-text"},o.helpText)))};export{o as F};
2
- //# sourceMappingURL=p-b183e44f.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FormControl","props","children","hasLabel","label","trim","_a","hasLabelSlot","hasHelpText","helpText","_b","hasHelpTextSlot","useErrorTextAttribute","errorText","hasErrorTextSlot","h","part","class","size","_c","displayError","_d","disabled","_e","id","labelId","_f","required","htmlFor","inputId","onClick","onLabelClick","name","errorTextId","helpTextId"],"sources":["./src/functional-components/form-control/form-control.tsx"],"sourcesContent":["import { h, VNode } from '@stencil/core';\n\nexport interface FormControlProps {\n /** The input id, used to map the input to the label */\n inputId: string;\n\n /** The size of the form control */\n size: 'small' | 'medium' | 'large';\n\n /** The label id, used to map the label to the input */\n labelId?: string;\n\n /** The label text (if the label slot isn't used) */\n label?: string;\n\n /** Whether a label slot has been provided. */\n hasLabelSlot?: boolean;\n\n /** The help text id, used to map the input to the help text */\n helpTextId?: string;\n\n /** The help text (if the help-text slot isn't used) */\n helpText?: string;\n\n /** Whether a help text slot has been provided. */\n hasHelpTextSlot?: boolean;\n\n /** The error text id, used to map the input to the help text */\n errorTextId?: string;\n\n /** The error text (if the error-text slot isn't used) */\n errorText?: string;\n\n /** Whether a error text slot has been provided. */\n hasErrorTextSlot?: boolean;\n\n /** Set to true to disable the input. */\n disabled?: boolean;\n\n /** Set if the value is required. */\n required?: boolean;\n\n /** Set if the error text is displayed. */\n displayError?: boolean;\n\n /** A function that gets called when the label is clicked. */\n onLabelClick?: (event: MouseEvent) => void;\n}\n\nconst FormControl = (props: FormControlProps, children: VNode[]) => {\n const hasLabel = props.label != null && props.label.trim() !== '' ? true : props.hasLabelSlot ?? false;\n const hasHelpText = props.helpText != null && props.helpText.trim() !== '' ? true : props.hasHelpTextSlot ?? false;\n /** ErrorTextAttribute has precedence if non-empty value is provided or if slot is not set */\n const useErrorTextAttribute = (props.errorText && props.errorText !== '') || !props.hasErrorTextSlot;\n\n return (\n <div\n part=\"form-control\"\n class={{\n 'form-control': true,\n 'form-control--small': props.size === 'small',\n 'form-control--medium': props.size === 'medium',\n 'form-control--large': props.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n 'form-control--has-error-text': props.displayError ?? false,\n 'form-control--disabled': props.disabled ?? false,\n 'form-control--invalid': (props.displayError ?? false) && !props.disabled,\n }}\n >\n <label\n part=\"label\"\n id={props.labelId}\n class={{\n 'form-control__label': true,\n 'form-control__label__required': props.required ?? false,\n }}\n htmlFor={props.inputId}\n aria-hidden={hasLabel ? 'false' : 'true'}\n onClick={props.onLabelClick}\n >\n <slot name=\"label\">{props.label}</slot>\n </label>\n\n <div class=\"form-control__input\">{children}</div>\n\n <div\n part=\"error-text\"\n id={props.errorTextId}\n class=\"form-control__error-text\"\n aria-hidden={props.displayError ? 'false' : 'true'}\n >\n {useErrorTextAttribute ? props.errorText : <slot name=\"error-text\" />}\n </div>\n\n <div\n part=\"help-text\"\n id={props.helpTextId}\n class=\"form-control__help-text\"\n aria-hidden={hasHelpText ? 'false' : 'true'}\n >\n <slot name=\"help-text\">{props.helpText}</slot>\n </div>\n </div>\n );\n};\n\nexport default FormControl;\n"],"mappings":"0CAiDMA,EAAc,CAACC,EAAyBC,K,gBAC5C,MAAMC,EAAWF,EAAMG,OAAS,MAAQH,EAAMG,MAAMC,SAAW,GAAK,MAAOC,EAAAL,EAAMM,gBAAY,MAAAD,SAAA,EAAAA,EAAI,MACjG,MAAME,EAAcP,EAAMQ,UAAY,MAAQR,EAAMQ,SAASJ,SAAW,GAAK,MAAOK,EAAAT,EAAMU,mBAAe,MAAAD,SAAA,EAAAA,EAAI,MAE7G,MAAME,EAAyBX,EAAMY,WAAaZ,EAAMY,YAAc,KAAQZ,EAAMa,iBAEpF,OACEC,EAAA,OACEC,KAAK,eACLC,MAAO,CACL,eAAgB,KAChB,sBAAuBhB,EAAMiB,OAAS,QACtC,uBAAwBjB,EAAMiB,OAAS,SACvC,sBAAuBjB,EAAMiB,OAAS,QACtC,0BAA2Bf,EAC3B,8BAA+BK,EAC/B,gCAAgCW,EAAAlB,EAAMmB,gBAAY,MAAAD,SAAA,EAAAA,EAAI,MACtD,0BAA0BE,EAAApB,EAAMqB,YAAQ,MAAAD,SAAA,EAAAA,EAAI,MAC5C,0BAA0BE,EAAAtB,EAAMmB,gBAAY,MAAAG,SAAA,EAAAA,EAAI,SAAWtB,EAAMqB,WAGnEP,EAAA,SACEC,KAAK,QACLQ,GAAIvB,EAAMwB,QACVR,MAAO,CACL,sBAAuB,KACvB,iCAAiCS,EAAAzB,EAAM0B,YAAQ,MAAAD,SAAA,EAAAA,EAAI,OAErDE,QAAS3B,EAAM4B,QAAO,cACT1B,EAAW,QAAU,OAClC2B,QAAS7B,EAAM8B,cAEfhB,EAAA,QAAMiB,KAAK,SAAS/B,EAAMG,QAG5BW,EAAA,OAAKE,MAAM,uBAAuBf,GAElCa,EAAA,OACEC,KAAK,aACLQ,GAAIvB,EAAMgC,YACVhB,MAAM,2BAA0B,cACnBhB,EAAMmB,aAAe,QAAU,QAE3CR,EAAwBX,EAAMY,UAAYE,EAAA,QAAMiB,KAAK,gBAGxDjB,EAAA,OACEC,KAAK,YACLQ,GAAIvB,EAAMiC,WACVjB,MAAM,0BAAyB,cAClBT,EAAc,QAAU,QAErCO,EAAA,QAAMiB,KAAK,aAAa/B,EAAMQ,WAE5B,S"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixFileListItemCss","SixFileListItem","this","downloadFile","nodownload","downloadEvent","emit","fileId","identifier","name","removeFile","nodelete","removeEvent","render","h","class","onClick","date","size","Math","round"],"sources":["./src/components/six-file-list-item/six-file-list-item.scss?tag=six-file-list-item&encapsulation=shadow","./src/components/six-file-list-item/six-file-list-item.tsx"],"sourcesContent":[".six-files-list-item {\n padding-bottom: 0.5rem;\n\n &__name {\n color: var(--six-color-action-600);\n cursor: pointer;\n\n &--disabled {\n cursor: inherit;\n color: var(--six-color-web-rock-500);\n }\n\n &:hover:not(&--disabled) {\n color: var(--six-color-action-500);\n }\n }\n\n &__date {\n padding-left: 1rem;\n color: var(--six-color-web-rock-600);\n }\n\n &__size {\n padding-left: 1rem;\n color: var(--six-color-web-rock-600);\n }\n\n &__icon {\n padding-left: 0.5rem;\n display: inline-block;\n transform: translateY(-1px);\n cursor: pointer;\n color: var(--six-color-web-rock-600);\n\n &--disabled {\n cursor: not-allowed;\n color: var(--six-color-web-rock-500);\n }\n\n &:hover:not(&--disabled) {\n color: var(--six-color-web-rock-900);\n }\n }\n}\n","import { Component, Event, EventEmitter, h, Prop } from '@stencil/core';\n\nexport interface SixFileListDownloadPayload {\n fileId: string;\n name: string;\n}\n\nexport interface SixFileListRemovePayload {\n fileId: string;\n name: string;\n}\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n */\n@Component({\n tag: 'six-file-list-item',\n styleUrl: 'six-file-list-item.scss',\n shadow: true,\n})\nexport class SixFileListItem {\n /** An id to clearly identify the file */\n @Prop({ reflect: true }) identifier = '';\n\n /** The filename */\n @Prop({ reflect: true }) name = '';\n\n /** The date when the file was uploaded */\n @Prop({ reflect: true }) date = '';\n\n /** The file size. This number will be divided by 1024 to show the filesize in KB */\n @Prop({ reflect: true }) size?: number;\n\n /** Set to true if you don't want to allow to download this file */\n @Prop({ reflect: true }) nodownload = false;\n\n /** Set to true if you don't want to allow to delete this file */\n @Prop({ reflect: true }) nodelete = false;\n\n /** Triggered on file download. */\n @Event({ eventName: 'six-file-list-item-download' }) downloadEvent!: EventEmitter<SixFileListDownloadPayload>;\n\n /** Triggered on file remove. */\n @Event({ eventName: 'six-file-list-item-remove' }) removeEvent!: EventEmitter<SixFileListRemovePayload>;\n\n private downloadFile = () => {\n if (this.nodownload) {\n return;\n }\n\n this.downloadEvent.emit({ fileId: this.identifier, name: this.name });\n };\n\n private removeFile = () => {\n if (this.nodelete) {\n return;\n }\n\n this.removeEvent.emit({ fileId: this.identifier, name: this.name });\n };\n\n render() {\n return (\n <div class=\"six-files-list-item\">\n <span\n class={{\n 'six-files-list-item__name': true,\n 'six-files-list-item__name--disabled': this.nodownload,\n }}\n onClick={this.downloadFile}\n >\n {this.name}\n </span>\n <span class=\"six-files-list-item__date\">{this.date}</span>\n {this.size != null && <span class=\"six-files-list-item__size\">{Math.round(this.size / 1024)} KB</span>}\n <six-icon\n class={{\n 'six-files-list-item__icon': true,\n 'six-files-list-item__icon--disabled': this.nodelete,\n }}\n size=\"small\"\n onClick={this.removeFile}\n >\n delete\n </six-icon>\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAqB,8zB,MCsBdC,EAAe,M,2IAyBlBC,KAAAC,aAAe,KACrB,GAAID,KAAKE,WAAY,CACnB,M,CAGFF,KAAKG,cAAcC,KAAK,CAAEC,OAAQL,KAAKM,WAAYC,KAAMP,KAAKO,MAAO,EAG/DP,KAAAQ,WAAa,KACnB,GAAIR,KAAKS,SAAU,CACjB,M,CAGFT,KAAKU,YAAYN,KAAK,CAAEC,OAAQL,KAAKM,WAAYC,KAAMP,KAAKO,MAAO,E,gBApC/B,G,UAGN,G,UAGA,G,oCAMM,M,cAGF,K,CAwBpCI,SACE,OACEC,EAAA,OAAKC,MAAM,uBACTD,EAAA,QACEC,MAAO,CACL,4BAA6B,KAC7B,sCAAuCb,KAAKE,YAE9CY,QAASd,KAAKC,cAEbD,KAAKO,MAERK,EAAA,QAAMC,MAAM,6BAA6Bb,KAAKe,MAC7Cf,KAAKgB,MAAQ,MAAQJ,EAAA,QAAMC,MAAM,6BAA6BI,KAAKC,MAAMlB,KAAKgB,KAAO,MAAK,OAC3FJ,EAAA,YACEC,MAAO,CACL,4BAA6B,KAC7B,sCAAuCb,KAAKS,UAE9CO,KAAK,QACLF,QAASd,KAAKQ,YAAU,U"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["isPreventScrollSupported","supported","element","document","createElement","focus","preventScroll","activeModals","Modal","constructor","options","this","handleFocusIn","bind","activate","push","addEventListener","deactivate","filter","modal","removeEventListener","isActive","length","event","target","tagName","toLowerCase","closest","_a","onFocusOut","_b"],"sources":["./src/utils/support.ts","./src/utils/modal.ts"],"sourcesContent":["//\n// Determines if the browser supports focus({ preventScroll })\n//\nexport const isPreventScrollSupported = () => {\n let supported = false;\n\n const element = document.createElement('div');\n element.focus &&\n element.focus({\n get preventScroll() {\n supported = true;\n return false;\n },\n });\n\n return supported;\n};\n","interface ModalOptions {\n onFocusOut?: (event: Event) => void;\n}\n\nlet activeModals: HTMLElement[] = [];\n\nexport default class Modal {\n element: HTMLElement;\n options?: ModalOptions;\n\n constructor(element: HTMLElement, options?: ModalOptions) {\n this.element = element;\n this.options = options;\n this.handleFocusIn = this.handleFocusIn.bind(this);\n }\n\n activate() {\n activeModals.push(this.element);\n document.addEventListener('focusin', this.handleFocusIn);\n }\n\n deactivate() {\n activeModals = activeModals.filter((modal) => modal !== this.element);\n document.removeEventListener('focusin', this.handleFocusIn);\n }\n\n isActive() {\n // The \"active\" modal is always the most recent one shown\n return activeModals[activeModals.length - 1] === this.element;\n }\n\n handleFocusIn(event: Event) {\n const target = event.target as HTMLElement;\n const tagName = this.element.tagName.toLowerCase();\n\n // If focus is lost while the modal is active, run the onFocusOut callback\n if (this.isActive() && target.closest(tagName) !== this.element && typeof this.options?.onFocusOut === 'function') {\n this.options?.onFocusOut(event);\n }\n }\n}\n"],"mappings":"MAGaA,EAA2B,KACtC,IAAIC,EAAY,MAEhB,MAAMC,EAAUC,SAASC,cAAc,OACvCF,EAAQG,OACNH,EAAQG,MAAM,CACRC,oBACFL,EAAY,KACZ,OAAO,K,IAIb,OAAOA,CAAS,ECXlB,IAAIM,EAA8B,G,MAEbC,EAInBC,YAAYP,EAAsBQ,GAChCC,KAAKT,QAAUA,EACfS,KAAKD,QAAUA,EACfC,KAAKC,cAAgBD,KAAKC,cAAcC,KAAKF,K,CAG/CG,WACEP,EAAaQ,KAAKJ,KAAKT,SACvBC,SAASa,iBAAiB,UAAWL,KAAKC,c,CAG5CK,aACEV,EAAeA,EAAaW,QAAQC,GAAUA,IAAUR,KAAKT,UAC7DC,SAASiB,oBAAoB,UAAWT,KAAKC,c,CAG/CS,WAEE,OAAOd,EAAaA,EAAae,OAAS,KAAOX,KAAKT,O,CAGxDU,cAAcW,G,QACZ,MAAMC,EAASD,EAAMC,OACrB,MAAMC,EAAUd,KAAKT,QAAQuB,QAAQC,cAGrC,GAAIf,KAAKU,YAAcG,EAAOG,QAAQF,KAAad,KAAKT,iBAAkB0B,EAAAjB,KAAKD,WAAO,MAAAkB,SAAA,SAAAA,EAAEC,cAAe,WAAY,EACjHC,EAAAnB,KAAKD,WAAO,MAAAoB,SAAA,SAAAA,EAAED,WAAWN,E"}