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

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 (754) hide show
  1. package/dist/cjs/{event-listeners-74715e62.js → event-listeners-dd94dcfb.js} +7 -7
  2. package/dist/cjs/event-listeners-dd94dcfb.js.map +1 -0
  3. package/dist/cjs/{execution-control-46f388e0.js → execution-control-45c84c46.js} +6 -3
  4. package/dist/cjs/execution-control-45c84c46.js.map +1 -0
  5. package/dist/cjs/{focus-visible-0b352c74.js → focus-visible-e0d93a95.js} +3 -3
  6. package/dist/cjs/focus-visible-e0d93a95.js.map +1 -0
  7. package/dist/cjs/{form-control-2c17c573.js → form-control-7494488a.js} +10 -9
  8. package/dist/cjs/form-control-7494488a.js.map +1 -0
  9. package/dist/cjs/{index-2f6daa5b.js → index-ccf35821.js} +4 -1
  10. package/dist/cjs/index-ccf35821.js.map +1 -0
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{modal-48d42228.js → modal-21350fb5.js} +4 -3
  13. package/dist/cjs/modal-21350fb5.js.map +1 -0
  14. package/dist/cjs/{popover-f743f62b.js → popover-b5e2d5ef.js} +33 -19
  15. package/dist/cjs/popover-b5e2d5ef.js.map +1 -0
  16. package/dist/cjs/popup-44836aaf.js +103 -0
  17. package/dist/cjs/popup-44836aaf.js.map +1 -0
  18. package/dist/cjs/set-attributes_2.cjs.entry.js +4 -2
  19. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/six-alert.cjs.entry.js +18 -23
  21. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-avatar.cjs.entry.js +5 -8
  23. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  24. package/dist/cjs/six-badge.cjs.entry.js +2 -2
  25. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-button.cjs.entry.js +30 -34
  27. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-card.cjs.entry.js +1 -1
  29. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-checkbox.cjs.entry.js +62 -50
  31. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-datepicker.cjs.entry.js +148 -245
  33. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-details.cjs.entry.js +48 -47
  35. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-dialog.cjs.entry.js +36 -40
  37. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-drawer.cjs.entry.js +33 -37
  39. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-dropdown_2.cjs.entry.js +215 -196
  41. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-error-page.cjs.entry.js +20 -22
  43. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-file-list-item.cjs.entry.js +2 -2
  45. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-file-list.cjs.entry.js +1 -1
  47. package/dist/cjs/six-file-upload.cjs.entry.js +21 -21
  48. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-footer.cjs.entry.js +1 -1
  50. package/dist/cjs/six-form.cjs.entry.js +40 -35
  51. package/dist/cjs/six-form.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-group-label.cjs.entry.js +12 -11
  53. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-header.cjs.entry.js +66 -44
  55. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-icon-button.cjs.entry.js +4 -4
  57. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-icon.cjs.entry.js +1 -1
  59. package/dist/cjs/six-input.cjs.entry.js +111 -85
  60. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-item-picker.cjs.entry.js +59 -78
  62. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-language-switcher.cjs.entry.js +2 -2
  64. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  65. package/dist/cjs/six-layout-grid.cjs.entry.js +5 -3
  66. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  67. package/dist/cjs/six-main-container.cjs.entry.js +1 -1
  68. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  69. package/dist/cjs/six-menu-divider.cjs.entry.js +1 -1
  70. package/dist/cjs/six-menu-item.cjs.entry.js +9 -7
  71. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-menu-label.cjs.entry.js +1 -1
  73. package/dist/cjs/six-picto.cjs.entry.js +5 -2
  74. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  75. package/dist/cjs/six-progress-bar.cjs.entry.js +1 -1
  76. package/dist/cjs/six-progress-ring.cjs.entry.js +4 -4
  77. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-radio.cjs.entry.js +57 -52
  79. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-range.cjs.entry.js +118 -79
  81. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-root.cjs.entry.js +2 -2
  83. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-search-field.cjs.entry.js +11 -6
  85. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-select.cjs.entry.js +192 -186
  87. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +10 -6
  89. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-sidebar-item.cjs.entry.js +1 -1
  91. package/dist/cjs/six-sidebar.cjs.entry.js +40 -19
  92. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-spinner.cjs.entry.js +1 -1
  94. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-switch.cjs.entry.js +51 -45
  96. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tab-group.cjs.entry.js +131 -113
  98. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-tab-panel.cjs.entry.js +2 -2
  100. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tab.cjs.entry.js +5 -3
  102. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  103. package/dist/cjs/six-tag.cjs.entry.js +5 -8
  104. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  105. package/dist/cjs/six-textarea.cjs.entry.js +101 -78
  106. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  107. package/dist/cjs/six-tile.cjs.entry.js +14 -17
  108. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  109. package/dist/cjs/six-timepicker.cjs.entry.js +155 -201
  110. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  111. package/dist/cjs/six-tooltip.cjs.entry.js +54 -57
  112. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  113. package/dist/cjs/{slot-ad537f24.js → slot-bccbdb59.js} +11 -10
  114. package/dist/cjs/slot-bccbdb59.js.map +1 -0
  115. package/dist/cjs/ui-library.cjs.js +2 -2
  116. package/dist/collection/components/six-alert/six-alert.js +17 -22
  117. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  118. package/dist/collection/components/six-avatar/six-avatar.js +4 -7
  119. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  120. package/dist/collection/components/six-badge/six-badge.js +1 -1
  121. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  122. package/dist/collection/components/six-button/six-button.js +38 -40
  123. package/dist/collection/components/six-button/six-button.js.map +1 -1
  124. package/dist/collection/components/six-card/six-card.js +1 -1
  125. package/dist/collection/components/six-card/six-card.js.map +1 -1
  126. package/dist/collection/components/six-checkbox/six-checkbox.js +65 -51
  127. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  128. package/dist/collection/components/six-datepicker/components/day-selection.js +2 -2
  129. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  130. package/dist/collection/components/six-datepicker/components/month-selection.js +4 -3
  131. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  132. package/dist/collection/components/six-datepicker/components/year-selection.js +9 -6
  133. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  134. package/dist/collection/components/six-datepicker/six-datepicker.js +126 -240
  135. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  136. package/dist/collection/components/six-details/six-details.js +51 -50
  137. package/dist/collection/components/six-details/six-details.js.map +1 -1
  138. package/dist/collection/components/six-dialog/six-dialog.js +34 -38
  139. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  140. package/dist/collection/components/six-drawer/six-drawer.js +31 -35
  141. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  142. package/dist/collection/components/six-dropdown/six-dropdown.js +185 -173
  143. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  144. package/dist/collection/components/six-error-page/six-error-page.js +25 -27
  145. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  146. package/dist/collection/components/six-file-list-item/six-file-list-item.js +3 -3
  147. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  148. package/dist/collection/components/six-file-upload/six-file-upload.js +32 -32
  149. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  150. package/dist/collection/components/six-form/six-form.js +41 -33
  151. package/dist/collection/components/six-form/six-form.js.map +1 -1
  152. package/dist/collection/components/six-group-label/six-group-label.js +11 -9
  153. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  154. package/dist/collection/components/six-header/six-header.js +64 -42
  155. package/dist/collection/components/six-header/six-header.js.map +1 -1
  156. package/dist/collection/components/six-icon-button/six-icon-button.js +8 -8
  157. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  158. package/dist/collection/components/six-input/six-input.js +145 -132
  159. package/dist/collection/components/six-input/six-input.js.map +1 -1
  160. package/dist/collection/components/six-item-picker/six-item-picker.js +65 -84
  161. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  162. package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
  163. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  164. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  165. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  166. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  167. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  168. package/dist/collection/components/six-menu/six-menu.js +29 -23
  169. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  170. package/dist/collection/components/six-menu-item/six-menu-item.js +7 -5
  171. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  172. package/dist/collection/components/six-picto/six-picto.js +5 -2
  173. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  174. package/dist/collection/components/six-progress-ring/six-progress-ring.js +5 -4
  175. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  176. package/dist/collection/components/six-radio/six-radio.js +62 -55
  177. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  178. package/dist/collection/components/six-range/six-range.js +121 -76
  179. package/dist/collection/components/six-range/six-range.js.map +1 -1
  180. package/dist/collection/components/six-root/six-root.js +4 -4
  181. package/dist/collection/components/six-root/six-root.js.map +1 -1
  182. package/dist/collection/components/six-search-field/six-search-field.js +10 -5
  183. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  184. package/dist/collection/components/six-select/six-select.js +191 -190
  185. package/dist/collection/components/six-select/six-select.js.map +1 -1
  186. package/dist/collection/components/six-select/util.js +52 -0
  187. package/dist/collection/components/six-select/util.js.map +1 -0
  188. package/dist/collection/components/six-sidebar/six-sidebar.js +40 -19
  189. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  190. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +12 -8
  191. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  192. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  193. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +1 -1
  194. package/dist/collection/components/six-switch/six-switch.js +58 -50
  195. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  196. package/dist/collection/components/six-tab/six-tab.js +5 -3
  197. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  198. package/dist/collection/components/six-tab-group/six-tab-group.js +130 -112
  199. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  200. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  201. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  202. package/dist/collection/components/six-tag/six-tag.js +4 -7
  203. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  204. package/dist/collection/components/six-textarea/six-textarea.js +125 -115
  205. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  206. package/dist/collection/components/six-tile/six-tile.js +17 -20
  207. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  208. package/dist/collection/components/six-timepicker/six-timepicker.js +129 -177
  209. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  210. package/dist/collection/components/six-tooltip/six-tooltip.js +56 -59
  211. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  212. package/dist/collection/functional-components/form-control/form-control.js +8 -7
  213. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  214. package/dist/collection/testUtil/delay.js.map +1 -1
  215. package/dist/collection/utils/date-util.js +24 -16
  216. package/dist/collection/utils/date-util.js.map +1 -1
  217. package/dist/collection/utils/event-listeners.js +6 -6
  218. package/dist/collection/utils/event-listeners.js.map +1 -1
  219. package/dist/collection/utils/execution-control.js +5 -4
  220. package/dist/collection/utils/execution-control.js.map +1 -1
  221. package/dist/collection/utils/focus-visible.js +2 -2
  222. package/dist/collection/utils/focus-visible.js.map +1 -1
  223. package/dist/collection/utils/modal.js +3 -2
  224. package/dist/collection/utils/modal.js.map +1 -1
  225. package/dist/collection/utils/popover.js +32 -18
  226. package/dist/collection/utils/popover.js.map +1 -1
  227. package/dist/collection/utils/popup.js +95 -0
  228. package/dist/collection/utils/popup.js.map +1 -0
  229. package/dist/collection/utils/slot.js +9 -24
  230. package/dist/collection/utils/slot.js.map +1 -1
  231. package/dist/collection/utils/tabbable.js +6 -6
  232. package/dist/collection/utils/tabbable.js.map +1 -1
  233. package/dist/collection/utils/time.util.js +48 -34
  234. package/dist/collection/utils/time.util.js.map +1 -1
  235. package/dist/collection/utils/type-check.js +0 -1
  236. package/dist/collection/utils/type-check.js.map +1 -1
  237. package/dist/collection/wrappers/set-attributes/set-attributes.js +3 -1
  238. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  239. package/dist/components/event-listeners.js +6 -6
  240. package/dist/components/event-listeners.js.map +1 -1
  241. package/dist/components/execution-control.js +5 -2
  242. package/dist/components/execution-control.js.map +1 -1
  243. package/dist/components/focus-visible.js +2 -2
  244. package/dist/components/focus-visible.js.map +1 -1
  245. package/dist/components/form-control.js +8 -7
  246. package/dist/components/form-control.js.map +1 -1
  247. package/dist/components/modal.js +3 -2
  248. package/dist/components/modal.js.map +1 -1
  249. package/dist/components/popover.js +32 -18
  250. package/dist/components/popover.js.map +1 -1
  251. package/dist/components/set-attributes2.js +3 -1
  252. package/dist/components/set-attributes2.js.map +1 -1
  253. package/dist/components/six-alert.js +17 -22
  254. package/dist/components/six-alert.js.map +1 -1
  255. package/dist/components/six-avatar.js +4 -7
  256. package/dist/components/six-avatar.js.map +1 -1
  257. package/dist/components/six-badge.js +1 -1
  258. package/dist/components/six-badge.js.map +1 -1
  259. package/dist/components/six-button.js +28 -32
  260. package/dist/components/six-button.js.map +1 -1
  261. package/dist/components/six-card.js.map +1 -1
  262. package/dist/components/six-checkbox.js +58 -46
  263. package/dist/components/six-checkbox.js.map +1 -1
  264. package/dist/components/six-datepicker.js +141 -238
  265. package/dist/components/six-datepicker.js.map +1 -1
  266. package/dist/components/six-details2.js +46 -45
  267. package/dist/components/six-details2.js.map +1 -1
  268. package/dist/components/six-dialog.js +33 -37
  269. package/dist/components/six-dialog.js.map +1 -1
  270. package/dist/components/six-drawer.js +30 -34
  271. package/dist/components/six-drawer.js.map +1 -1
  272. package/dist/components/six-dropdown2.js +185 -173
  273. package/dist/components/six-dropdown2.js.map +1 -1
  274. package/dist/components/six-error-page.js +19 -21
  275. package/dist/components/six-error-page.js.map +1 -1
  276. package/dist/components/six-file-list-item.js +1 -1
  277. package/dist/components/six-file-list-item.js.map +1 -1
  278. package/dist/components/six-file-upload.js +20 -20
  279. package/dist/components/six-file-upload.js.map +1 -1
  280. package/dist/components/six-form.js +38 -33
  281. package/dist/components/six-form.js.map +1 -1
  282. package/dist/components/six-group-label.js +9 -8
  283. package/dist/components/six-group-label.js.map +1 -1
  284. package/dist/components/six-header.js +64 -42
  285. package/dist/components/six-header.js.map +1 -1
  286. package/dist/components/six-icon-button2.js +2 -2
  287. package/dist/components/six-icon-button2.js.map +1 -1
  288. package/dist/components/six-input2.js +107 -81
  289. package/dist/components/six-input2.js.map +1 -1
  290. package/dist/components/six-item-picker2.js +56 -75
  291. package/dist/components/six-item-picker2.js.map +1 -1
  292. package/dist/components/six-language-switcher.js +1 -1
  293. package/dist/components/six-language-switcher.js.map +1 -1
  294. package/dist/components/six-layout-grid.js +5 -3
  295. package/dist/components/six-layout-grid.js.map +1 -1
  296. package/dist/components/six-main-container.js.map +1 -1
  297. package/dist/components/six-menu-item2.js +7 -5
  298. package/dist/components/six-menu-item2.js.map +1 -1
  299. package/dist/components/six-menu2.js +25 -18
  300. package/dist/components/six-menu2.js.map +1 -1
  301. package/dist/components/six-picto2.js +4 -1
  302. package/dist/components/six-picto2.js.map +1 -1
  303. package/dist/components/six-progress-ring.js +3 -3
  304. package/dist/components/six-progress-ring.js.map +1 -1
  305. package/dist/components/six-radio.js +56 -51
  306. package/dist/components/six-radio.js.map +1 -1
  307. package/dist/components/six-range.js +114 -75
  308. package/dist/components/six-range.js.map +1 -1
  309. package/dist/components/six-root.js +1 -1
  310. package/dist/components/six-root.js.map +1 -1
  311. package/dist/components/six-search-field.js +8 -3
  312. package/dist/components/six-search-field.js.map +1 -1
  313. package/dist/components/six-select.js +188 -182
  314. package/dist/components/six-select.js.map +1 -1
  315. package/dist/components/six-sidebar-item-group.js +8 -4
  316. package/dist/components/six-sidebar-item-group.js.map +1 -1
  317. package/dist/components/six-sidebar.js +39 -18
  318. package/dist/components/six-sidebar.js.map +1 -1
  319. package/dist/components/six-spinner2.js.map +1 -1
  320. package/dist/components/six-switch.js +50 -44
  321. package/dist/components/six-switch.js.map +1 -1
  322. package/dist/components/six-tab-group.js +129 -111
  323. package/dist/components/six-tab-group.js.map +1 -1
  324. package/dist/components/six-tab-panel.js +1 -1
  325. package/dist/components/six-tab-panel.js.map +1 -1
  326. package/dist/components/six-tab.js +4 -2
  327. package/dist/components/six-tab.js.map +1 -1
  328. package/dist/components/six-tag2.js +4 -7
  329. package/dist/components/six-tag2.js.map +1 -1
  330. package/dist/components/six-textarea.js +97 -74
  331. package/dist/components/six-textarea.js.map +1 -1
  332. package/dist/components/six-tile.js +14 -17
  333. package/dist/components/six-tile.js.map +1 -1
  334. package/dist/components/six-timepicker.js +1 -1
  335. package/dist/components/six-timepicker2.js +241 -239
  336. package/dist/components/six-timepicker2.js.map +1 -1
  337. package/dist/components/six-tooltip2.js +52 -55
  338. package/dist/components/six-tooltip2.js.map +1 -1
  339. package/dist/components/slot.js +10 -9
  340. package/dist/components/slot.js.map +1 -1
  341. package/dist/components.json +388 -196
  342. package/dist/esm/{event-listeners-570a24ea.js → event-listeners-6b434035.js} +7 -7
  343. package/dist/esm/event-listeners-6b434035.js.map +1 -0
  344. package/dist/esm/{execution-control-1a60d709.js → execution-control-72cc50f4.js} +6 -3
  345. package/dist/esm/execution-control-72cc50f4.js.map +1 -0
  346. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fa7129a0.js} +3 -3
  347. package/dist/esm/focus-visible-fa7129a0.js.map +1 -0
  348. package/dist/esm/{form-control-3b440ea1.js → form-control-44a50dd6.js} +10 -9
  349. package/dist/esm/form-control-44a50dd6.js.map +1 -0
  350. package/dist/esm/{index-5c0f6628.js → index-371fb9d4.js} +4 -2
  351. package/dist/esm/index-371fb9d4.js.map +1 -0
  352. package/dist/esm/loader.js +3 -3
  353. package/dist/esm/{modal-5ebdc320.js → modal-b1d96441.js} +4 -3
  354. package/dist/esm/modal-b1d96441.js.map +1 -0
  355. package/dist/esm/{popover-bd2c2fca.js → popover-1aacbae8.js} +33 -19
  356. package/dist/{cjs/popover-f743f62b.js.map → esm/popover-1aacbae8.js.map} +1 -1
  357. package/dist/esm/popup-678b8592.js +98 -0
  358. package/dist/esm/popup-678b8592.js.map +1 -0
  359. package/dist/esm/set-attributes_2.entry.js +4 -2
  360. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  361. package/dist/esm/six-alert.entry.js +18 -23
  362. package/dist/esm/six-alert.entry.js.map +1 -1
  363. package/dist/esm/six-avatar.entry.js +5 -8
  364. package/dist/esm/six-avatar.entry.js.map +1 -1
  365. package/dist/esm/six-badge.entry.js +2 -2
  366. package/dist/esm/six-badge.entry.js.map +1 -1
  367. package/dist/esm/six-button.entry.js +30 -34
  368. package/dist/esm/six-button.entry.js.map +1 -1
  369. package/dist/esm/six-card.entry.js +1 -1
  370. package/dist/esm/six-card.entry.js.map +1 -1
  371. package/dist/esm/six-checkbox.entry.js +62 -50
  372. package/dist/esm/six-checkbox.entry.js.map +1 -1
  373. package/dist/esm/six-datepicker.entry.js +145 -242
  374. package/dist/esm/six-datepicker.entry.js.map +1 -1
  375. package/dist/esm/six-details.entry.js +48 -47
  376. package/dist/esm/six-details.entry.js.map +1 -1
  377. package/dist/esm/six-dialog.entry.js +36 -40
  378. package/dist/esm/six-dialog.entry.js.map +1 -1
  379. package/dist/esm/six-drawer.entry.js +33 -37
  380. package/dist/esm/six-drawer.entry.js.map +1 -1
  381. package/dist/esm/six-dropdown_2.entry.js +215 -196
  382. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  383. package/dist/esm/six-error-page.entry.js +20 -22
  384. package/dist/esm/six-error-page.entry.js.map +1 -1
  385. package/dist/esm/six-file-list-item.entry.js +2 -2
  386. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  387. package/dist/esm/six-file-list.entry.js +1 -1
  388. package/dist/esm/six-file-upload.entry.js +21 -21
  389. package/dist/esm/six-file-upload.entry.js.map +1 -1
  390. package/dist/esm/six-footer.entry.js +1 -1
  391. package/dist/esm/six-form.entry.js +40 -35
  392. package/dist/esm/six-form.entry.js.map +1 -1
  393. package/dist/esm/six-group-label.entry.js +12 -11
  394. package/dist/esm/six-group-label.entry.js.map +1 -1
  395. package/dist/esm/six-header.entry.js +66 -44
  396. package/dist/esm/six-header.entry.js.map +1 -1
  397. package/dist/esm/six-icon-button.entry.js +4 -4
  398. package/dist/esm/six-icon-button.entry.js.map +1 -1
  399. package/dist/esm/six-icon.entry.js +1 -1
  400. package/dist/esm/six-input.entry.js +111 -85
  401. package/dist/esm/six-input.entry.js.map +1 -1
  402. package/dist/esm/six-item-picker.entry.js +59 -78
  403. package/dist/esm/six-item-picker.entry.js.map +1 -1
  404. package/dist/esm/six-language-switcher.entry.js +2 -2
  405. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  406. package/dist/esm/six-layout-grid.entry.js +5 -3
  407. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  408. package/dist/esm/six-main-container.entry.js +1 -1
  409. package/dist/esm/six-main-container.entry.js.map +1 -1
  410. package/dist/esm/six-menu-divider.entry.js +1 -1
  411. package/dist/esm/six-menu-item.entry.js +9 -7
  412. package/dist/esm/six-menu-item.entry.js.map +1 -1
  413. package/dist/esm/six-menu-label.entry.js +1 -1
  414. package/dist/esm/six-picto.entry.js +5 -2
  415. package/dist/esm/six-picto.entry.js.map +1 -1
  416. package/dist/esm/six-progress-bar.entry.js +1 -1
  417. package/dist/esm/six-progress-ring.entry.js +4 -4
  418. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  419. package/dist/esm/six-radio.entry.js +57 -52
  420. package/dist/esm/six-radio.entry.js.map +1 -1
  421. package/dist/esm/six-range.entry.js +118 -79
  422. package/dist/esm/six-range.entry.js.map +1 -1
  423. package/dist/esm/six-root.entry.js +2 -2
  424. package/dist/esm/six-root.entry.js.map +1 -1
  425. package/dist/esm/six-search-field.entry.js +11 -6
  426. package/dist/esm/six-search-field.entry.js.map +1 -1
  427. package/dist/esm/six-select.entry.js +192 -186
  428. package/dist/esm/six-select.entry.js.map +1 -1
  429. package/dist/esm/six-sidebar-item-group.entry.js +10 -6
  430. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  431. package/dist/esm/six-sidebar-item.entry.js +1 -1
  432. package/dist/esm/six-sidebar.entry.js +40 -19
  433. package/dist/esm/six-sidebar.entry.js.map +1 -1
  434. package/dist/esm/six-spinner.entry.js +1 -1
  435. package/dist/esm/six-spinner.entry.js.map +1 -1
  436. package/dist/esm/six-switch.entry.js +51 -45
  437. package/dist/esm/six-switch.entry.js.map +1 -1
  438. package/dist/esm/six-tab-group.entry.js +131 -113
  439. package/dist/esm/six-tab-group.entry.js.map +1 -1
  440. package/dist/esm/six-tab-panel.entry.js +2 -2
  441. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  442. package/dist/esm/six-tab.entry.js +5 -3
  443. package/dist/esm/six-tab.entry.js.map +1 -1
  444. package/dist/esm/six-tag.entry.js +5 -8
  445. package/dist/esm/six-tag.entry.js.map +1 -1
  446. package/dist/esm/six-textarea.entry.js +101 -78
  447. package/dist/esm/six-textarea.entry.js.map +1 -1
  448. package/dist/esm/six-tile.entry.js +14 -17
  449. package/dist/esm/six-tile.entry.js.map +1 -1
  450. package/dist/esm/six-timepicker.entry.js +155 -201
  451. package/dist/esm/six-timepicker.entry.js.map +1 -1
  452. package/dist/esm/six-tooltip.entry.js +54 -57
  453. package/dist/esm/six-tooltip.entry.js.map +1 -1
  454. package/dist/esm/{slot-6f3984c7.js → slot-2e64df19.js} +11 -10
  455. package/dist/esm/slot-2e64df19.js.map +1 -0
  456. package/dist/esm/ui-library.js +3 -3
  457. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  458. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  459. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  460. package/dist/types/components/six-button/six-button.d.ts +8 -9
  461. package/dist/types/components/six-checkbox/six-checkbox.d.ts +22 -18
  462. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  463. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  464. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  465. package/dist/types/components/six-datepicker/six-datepicker.d.ts +34 -39
  466. package/dist/types/components/six-details/six-details.d.ts +12 -12
  467. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  468. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  469. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  470. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  471. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  472. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  473. package/dist/types/components/six-form/six-form.d.ts +7 -16
  474. package/dist/types/components/six-group-label/six-group-label.d.ts +4 -4
  475. package/dist/types/components/six-header/six-header.d.ts +16 -27
  476. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  477. package/dist/types/components/six-input/six-input.d.ts +30 -39
  478. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  479. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  480. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  481. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  482. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  483. package/dist/types/components/six-radio/six-radio.d.ts +11 -12
  484. package/dist/types/components/six-range/six-range.d.ts +24 -20
  485. package/dist/types/components/six-root/six-root.d.ts +3 -3
  486. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  487. package/dist/types/components/six-select/six-select.d.ts +39 -41
  488. package/dist/types/components/six-select/util.d.ts +7 -0
  489. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  490. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  491. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  492. package/dist/types/components/six-switch/six-switch.d.ts +10 -11
  493. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  494. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  495. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  496. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  497. package/dist/types/components/six-textarea/six-textarea.d.ts +25 -34
  498. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  499. package/dist/types/components/six-timepicker/six-timepicker.d.ts +21 -33
  500. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  501. package/dist/types/components.d.ts +130 -126
  502. package/dist/types/functional-components/form-control/form-control.d.ts +5 -4
  503. package/dist/types/testUtil/delay.d.ts +1 -1
  504. package/dist/types/utils/date-util.d.ts +17 -10
  505. package/dist/types/utils/event-listeners.d.ts +1 -1
  506. package/dist/types/utils/execution-control.d.ts +1 -3
  507. package/dist/types/utils/modal.d.ts +2 -2
  508. package/dist/types/utils/popover.d.ts +5 -5
  509. package/dist/types/utils/popup.d.ts +9 -0
  510. package/dist/types/utils/slot.d.ts +2 -7
  511. package/dist/types/utils/tabbable.d.ts +1 -1
  512. package/dist/types/utils/time.util.d.ts +18 -9
  513. package/dist/types/utils/type-check.d.ts +3 -4
  514. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  515. package/dist/ui-library/p-02d5a6d8.js +2 -0
  516. package/dist/ui-library/p-02d5a6d8.js.map +1 -0
  517. package/dist/ui-library/p-053d6de8.entry.js +2 -0
  518. package/dist/ui-library/p-053d6de8.entry.js.map +1 -0
  519. package/dist/ui-library/p-0cc08e91.js +2 -0
  520. package/dist/ui-library/p-0cc08e91.js.map +1 -0
  521. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-0eee4c41.entry.js} +2 -2
  522. package/dist/ui-library/p-0eee4c41.entry.js.map +1 -0
  523. package/dist/ui-library/p-0fe78f9b.js +2 -0
  524. package/dist/ui-library/p-0fe78f9b.js.map +1 -0
  525. package/dist/ui-library/{p-ac4f4d45.js → p-187fbba0.js} +3 -3
  526. package/dist/ui-library/p-187fbba0.js.map +1 -0
  527. package/dist/ui-library/p-25b42655.entry.js +2 -0
  528. package/dist/ui-library/p-25b42655.entry.js.map +1 -0
  529. package/dist/ui-library/p-271ba152.entry.js +2 -0
  530. package/dist/ui-library/p-271ba152.entry.js.map +1 -0
  531. package/dist/ui-library/{p-6d75f216.entry.js → p-27c4ee88.entry.js} +2 -2
  532. package/dist/ui-library/p-2a36b7d0.entry.js +2 -0
  533. package/dist/ui-library/p-2a36b7d0.entry.js.map +1 -0
  534. package/dist/ui-library/p-2a8ad91b.entry.js +2 -0
  535. package/dist/ui-library/p-2a8ad91b.entry.js.map +1 -0
  536. package/dist/ui-library/{p-90dc6af4.entry.js → p-30e0cdce.entry.js} +2 -2
  537. package/dist/ui-library/p-30e0cdce.entry.js.map +1 -0
  538. package/dist/ui-library/{p-63703ba3.entry.js → p-3a47c8ad.entry.js} +2 -2
  539. package/dist/ui-library/{p-63703ba3.entry.js.map → p-3a47c8ad.entry.js.map} +1 -1
  540. package/dist/ui-library/p-3a4815cb.entry.js +2 -0
  541. package/dist/ui-library/p-3a4815cb.entry.js.map +1 -0
  542. package/dist/ui-library/p-3b71cac4.entry.js +2 -0
  543. package/dist/ui-library/p-3b71cac4.entry.js.map +1 -0
  544. package/dist/ui-library/p-3d4a2e03.entry.js +2 -0
  545. package/dist/ui-library/p-3d4a2e03.entry.js.map +1 -0
  546. package/dist/ui-library/{p-73597d13.entry.js → p-3e4b9341.entry.js} +2 -2
  547. package/dist/ui-library/{p-73597d13.entry.js.map → p-3e4b9341.entry.js.map} +1 -1
  548. package/dist/ui-library/{p-7e0cc4ae.entry.js → p-41f0b6ff.entry.js} +2 -2
  549. package/dist/ui-library/p-41f0b6ff.entry.js.map +1 -0
  550. package/dist/ui-library/p-435242a8.entry.js +2 -0
  551. package/dist/ui-library/p-435242a8.entry.js.map +1 -0
  552. package/dist/ui-library/{p-19364560.entry.js → p-5084ca7c.entry.js} +2 -2
  553. package/dist/ui-library/{p-19364560.entry.js.map → p-5084ca7c.entry.js.map} +1 -1
  554. package/dist/ui-library/p-5b3e6eb7.entry.js +2 -0
  555. package/dist/ui-library/p-5b3e6eb7.entry.js.map +1 -0
  556. package/dist/ui-library/{p-8a970a40.entry.js → p-5c1dd25a.entry.js} +2 -2
  557. package/dist/ui-library/p-5c1dd25a.entry.js.map +1 -0
  558. package/dist/ui-library/p-5c60227f.entry.js +2 -0
  559. package/dist/ui-library/p-5c60227f.entry.js.map +1 -0
  560. package/dist/ui-library/p-5dc40a6a.entry.js +2 -0
  561. package/dist/ui-library/p-5dc40a6a.entry.js.map +1 -0
  562. package/dist/ui-library/{p-dd3c76f1.entry.js → p-649017db.entry.js} +2 -2
  563. package/dist/ui-library/p-713684c7.entry.js +2 -0
  564. package/dist/ui-library/p-713684c7.entry.js.map +1 -0
  565. package/dist/ui-library/{p-c30f9e0b.entry.js → p-73325eec.entry.js} +2 -2
  566. package/dist/ui-library/p-73325eec.entry.js.map +1 -0
  567. package/dist/ui-library/p-7639c68e.entry.js +2 -0
  568. package/dist/ui-library/p-7639c68e.entry.js.map +1 -0
  569. package/dist/ui-library/p-764f56dd.entry.js +2 -0
  570. package/dist/ui-library/p-764f56dd.entry.js.map +1 -0
  571. package/dist/ui-library/{p-e19a6c95.entry.js → p-886a35ee.entry.js} +2 -2
  572. package/dist/ui-library/p-8cf72af6.js +2 -0
  573. package/dist/ui-library/p-8cf72af6.js.map +1 -0
  574. package/dist/ui-library/p-8d6f4311.entry.js +2 -0
  575. package/dist/ui-library/p-8d6f4311.entry.js.map +1 -0
  576. package/dist/ui-library/p-90c2dc30.entry.js +2 -0
  577. package/dist/ui-library/p-90c2dc30.entry.js.map +1 -0
  578. package/dist/ui-library/{p-97323ad7.entry.js → p-965fa6a6.entry.js} +2 -2
  579. package/dist/ui-library/p-98234e3f.entry.js +2 -0
  580. package/dist/ui-library/p-98234e3f.entry.js.map +1 -0
  581. package/dist/ui-library/{p-820c23f0.entry.js → p-9b9c3afc.entry.js} +2 -2
  582. package/dist/ui-library/{p-14f20bbb.entry.js → p-9c34eab7.entry.js} +2 -2
  583. package/dist/ui-library/p-9c34eab7.entry.js.map +1 -0
  584. package/dist/ui-library/p-9e0c386f.entry.js +2 -0
  585. package/dist/ui-library/p-9e0c386f.entry.js.map +1 -0
  586. package/dist/ui-library/p-9f8b6144.entry.js +2 -0
  587. package/dist/ui-library/p-9f8b6144.entry.js.map +1 -0
  588. package/dist/ui-library/p-a3cc0521.entry.js +2 -0
  589. package/dist/ui-library/p-a3cc0521.entry.js.map +1 -0
  590. package/dist/ui-library/{p-21859bca.entry.js → p-a5143b8d.entry.js} +2 -2
  591. package/dist/ui-library/{p-097cced4.entry.js → p-aa6f71e1.entry.js} +2 -2
  592. package/dist/ui-library/{p-097cced4.entry.js.map → p-aa6f71e1.entry.js.map} +1 -1
  593. package/dist/ui-library/p-abb98245.entry.js +2 -0
  594. package/dist/ui-library/p-abb98245.entry.js.map +1 -0
  595. package/dist/ui-library/p-b183e44f.js +2 -0
  596. package/dist/ui-library/p-b183e44f.js.map +1 -0
  597. package/dist/ui-library/{p-19b50b5a.entry.js → p-b27f496f.entry.js} +2 -2
  598. package/dist/ui-library/p-b27f496f.entry.js.map +1 -0
  599. package/dist/ui-library/{p-4f8394d7.js → p-ba74863a.js} +2 -2
  600. package/dist/ui-library/p-ba74863a.js.map +1 -0
  601. package/dist/ui-library/p-bf4a35ec.js +2 -0
  602. package/dist/ui-library/p-bf4a35ec.js.map +1 -0
  603. package/dist/ui-library/{p-d5633a29.entry.js → p-c07adc21.entry.js} +2 -2
  604. package/dist/ui-library/p-c07adc21.entry.js.map +1 -0
  605. package/dist/ui-library/p-c700e3eb.entry.js +2 -0
  606. package/dist/ui-library/p-c700e3eb.entry.js.map +1 -0
  607. package/dist/ui-library/p-cab99e54.entry.js +2 -0
  608. package/dist/ui-library/p-cab99e54.entry.js.map +1 -0
  609. package/dist/ui-library/{p-baa03951.entry.js → p-cf1133a0.entry.js} +2 -2
  610. package/dist/ui-library/p-cf1d36c0.entry.js +2 -0
  611. package/dist/ui-library/p-cf1d36c0.entry.js.map +1 -0
  612. package/dist/ui-library/p-d87a6f4d.js +2 -0
  613. package/dist/ui-library/p-d87a6f4d.js.map +1 -0
  614. package/dist/ui-library/{p-c349d1d4.entry.js → p-d8c97778.entry.js} +2 -2
  615. package/dist/ui-library/p-d8c97778.entry.js.map +1 -0
  616. package/dist/ui-library/p-deb01174.entry.js +2 -0
  617. package/dist/ui-library/p-deb01174.entry.js.map +1 -0
  618. package/dist/ui-library/{p-af793d04.entry.js → p-e5ba13d2.entry.js} +2 -2
  619. package/dist/ui-library/p-e5ba13d2.entry.js.map +1 -0
  620. package/dist/ui-library/{p-611e1978.entry.js → p-f29ba9cb.entry.js} +2 -2
  621. package/dist/ui-library/{p-611e1978.entry.js.map → p-f29ba9cb.entry.js.map} +1 -1
  622. package/dist/ui-library/{p-9328e5bc.entry.js → p-f66eb76c.entry.js} +2 -2
  623. package/dist/ui-library/p-f66eb76c.entry.js.map +1 -0
  624. package/dist/ui-library/p-f974a184.entry.js +2 -0
  625. package/dist/ui-library/p-f974a184.entry.js.map +1 -0
  626. package/dist/ui-library/{p-b0e5658f.entry.js → p-fb8d0734.entry.js} +2 -2
  627. package/dist/ui-library/p-fb8d0734.entry.js.map +1 -0
  628. package/dist/ui-library/ui-library.esm.js +1 -1
  629. package/dist/ui-library/ui-library.esm.js.map +1 -1
  630. package/package.json +13 -14
  631. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  632. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  633. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  634. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  635. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  636. package/dist/cjs/modal-48d42228.js.map +0 -1
  637. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  638. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  639. package/dist/cjs/slot-ad537f24.js.map +0 -1
  640. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  641. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  642. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  643. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  644. package/dist/collection/utils/as-array.js +0 -2
  645. package/dist/collection/utils/as-array.js.map +0 -1
  646. package/dist/collection/utils/matchers.js +0 -3
  647. package/dist/collection/utils/matchers.js.map +0 -1
  648. package/dist/collection/utils/testing.js +0 -39
  649. package/dist/collection/utils/testing.js.map +0 -1
  650. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  651. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  652. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  653. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  654. package/dist/esm/index-5c0f6628.js.map +0 -1
  655. package/dist/esm/modal-5ebdc320.js.map +0 -1
  656. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  657. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  658. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  659. package/dist/esm/slot-6f3984c7.js.map +0 -1
  660. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  661. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  662. package/dist/types/utils/as-array.d.ts +0 -1
  663. package/dist/types/utils/matchers.d.ts +0 -2
  664. package/dist/types/utils/popper.d.ts +0 -33
  665. package/dist/types/utils/testing.d.ts +0 -2
  666. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  667. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  668. package/dist/ui-library/p-0786fa7c.js +0 -2
  669. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  670. package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
  671. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  672. package/dist/ui-library/p-14f20bbb.entry.js.map +0 -1
  673. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  674. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  675. package/dist/ui-library/p-18ea0c56.js +0 -2
  676. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  677. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  678. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  679. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  680. package/dist/ui-library/p-308261c4.entry.js +0 -2
  681. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  682. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  683. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  684. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  685. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  686. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  687. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  688. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  689. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  690. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  691. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  692. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  693. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  694. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  695. package/dist/ui-library/p-79eee01b.js +0 -2
  696. package/dist/ui-library/p-79eee01b.js.map +0 -1
  697. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  698. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  699. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  700. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  701. package/dist/ui-library/p-90824648.entry.js +0 -2
  702. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  703. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  704. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  705. package/dist/ui-library/p-9a860acc.js +0 -2
  706. package/dist/ui-library/p-9a860acc.js.map +0 -1
  707. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  708. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  709. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  710. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  711. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  712. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  713. package/dist/ui-library/p-b1e66136.js +0 -2
  714. package/dist/ui-library/p-b1e66136.js.map +0 -1
  715. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  716. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  717. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  718. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  719. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  720. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  721. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  722. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  723. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  724. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  725. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  726. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  727. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  728. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  729. package/dist/ui-library/p-d12c6092.js +0 -2
  730. package/dist/ui-library/p-d12c6092.js.map +0 -1
  731. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  732. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  733. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  734. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  735. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  736. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  737. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  738. package/dist/ui-library/p-f4938771.entry.js +0 -2
  739. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  740. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  741. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  742. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  743. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  744. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  745. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  746. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  747. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  748. /package/dist/ui-library/{p-6d75f216.entry.js.map → p-27c4ee88.entry.js.map} +0 -0
  749. /package/dist/ui-library/{p-dd3c76f1.entry.js.map → p-649017db.entry.js.map} +0 -0
  750. /package/dist/ui-library/{p-e19a6c95.entry.js.map → p-886a35ee.entry.js.map} +0 -0
  751. /package/dist/ui-library/{p-97323ad7.entry.js.map → p-965fa6a6.entry.js.map} +0 -0
  752. /package/dist/ui-library/{p-820c23f0.entry.js.map → p-9b9c3afc.entry.js.map} +0 -0
  753. /package/dist/ui-library/{p-21859bca.entry.js.map → p-a5143b8d.entry.js.map} +0 -0
  754. /package/dist/ui-library/{p-baa03951.entry.js.map → p-cf1133a0.entry.js.map} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as e,c as s,h as i,H as t,g as h}from"./p-ac4f4d45.js";import{E as r}from"./p-9a860acc.js";import{g as a}from"./p-b4dfb7cf.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block;user-select:none;--search-border-width:1px}::slotted(six-search-field){position:absolute;margin-left:var(--search-border-width);width:calc(100% - 2 * var(--search-border-width))}.six-header{display:flex;width:100%;height:3.75rem;background-color:var(--six-header-background-color);align-items:center;flex-wrap:wrap;box-shadow:var(--six-shadow-x-large);border-bottom:var(--six-header-border-with) solid var(--six-header-border-color)}.six-header__logo{width:6rem;margin-top:0.15rem}.six-header__logo--clickable{cursor:pointer}.six-header__placeholder{flex:1}.six-header__menu,.six-header__logo,.six-header__custom,.six-header__search,.six-header__notification,.six-header__app-switcher,.six-header__profile{height:calc(100% - 0.25rem - 1px);padding:0 1.25rem;display:flex;align-items:center;border-bottom:solid 0.25rem transparent}.six-header__menu--open,.six-header__logo--open,.six-header__custom--open,.six-header__search--open,.six-header__notification--open,.six-header__app-switcher--open,.six-header__profile--open{border-bottom:solid 0.25rem var(--six-header-border-color-open)}.six-header__selected-app{cursor:pointer;font-size:0.9rem;font-weight:600;padding-right:0;padding-left:0.3rem}.six-header__selected-app:hover{color:var(--six-header-selected-app-color-hover)}.six-header__search-field{opacity:0;transform:scale(0.9);transition:var(--six-transition-fast) opacity, var(--six-transition-fast) transform;display:none}.six-header__search-field--visible{opacity:1;transform:none;display:block}.six-header__search-field--shift-content.six-header__search-field--visible{height:2.65rem;transition:var(--six-transition-fast) height}.six-header__search-field--shift-content:not(.six-header__search-field--visible){height:0;transition:var(--six-transition-fast) height}";var n;(function(e){e[e["None"]=0]="None";e[e["Search"]=1]="Search";e[e["Notifications"]=2]="Notifications";e[e["AppSwitcher"]=3]="AppSwitcher";e[e["Profile"]=4]="Profile"})(n||(n={}));var c;(function(e){e["Search"]="search-field";e["Notifications"]="notifications";e["AppSwitcher"]="app-switcher-menu";e["Profile"]="profile-menu";e["Logo"]="logo"})(c||(c={}));const d=a(c);const l=class{constructor(i){e(this,i);this.sixAppNameClicked=s(this,"six-header-app-name-clicked",7);this.sixAppSwitcherSelect=s(this,"six-header-app-switcher-select",7);this.sixProfileSelect=s(this,"six-header-profile-select",7);this.sixHamburgerClick=s(this,"six-header-hamburger-menu-clicked",7);this.sixLogoClick=s(this,"six-header-logo-clicked",7);this.sixSearchFieldToggle=s(this,"six-header-search-field-toggle",7);this.eventListeners=new r;this.has=e=>this.slots[e];this.selected=e=>e===this.selectedSection;this.select=e=>()=>{this.selectedSection=e};this.toggleSearch=e=>()=>{var s;if(e===n.Search){const i=this.selectedSection!==e;if(i){(s=this.host.querySelector(`[slot="${c.Search}"]`).shadowRoot.querySelector("six-input"))===null||s===void 0?void 0:s.setFocus()}this.sixSearchFieldToggle.emit({visible:i})}this.selectedSection=this.selectedSection===e?n.None:e};this.setupMenu=e=>{this.eventListeners.add(e,"click",(()=>this.sixHamburgerClick.emit()))};this.setupLogo=e=>{if(!this.clickableLogo){return}this.eventListeners.add(e,"click",(()=>this.sixLogoClick.emit()))};this.setupProfile=e=>{this.eventListeners.add(e,"six-dropdown-show",this.select(n.Profile));this.eventListeners.add(e,"six-dropdown-hide",this.select(n.None));this.eventListeners.add(e,"six-menu-item-selected",(e=>{const{name:s,item:i}=e.detail;this.sixProfileSelect.emit({selectedLabel:i.innerText,name:s,item:i})}))};this.setupAppSwitcher=e=>{this.eventListeners.add(e,"six-dropdown-show",this.select(n.AppSwitcher));this.eventListeners.add(e,"six-dropdown-hide",this.select(n.None));this.eventListeners.add(e,"six-menu-item-selected",(e=>{const{name:s,item:i}=e.detail;this.selectedApp=i.innerText;this.sixAppSwitcherSelect.emit({selectedLabel:i.innerText,name:s,item:i})}))};this.appNameClicked=()=>this.sixAppNameClicked.emit();this.computeSearchOpenState=()=>{this.selectedSection=this.openSearch?n.Search:n.None};this.shiftContent=false;this.openHamburgerMenu=false;this.openSearch=false;this.clickableLogo=false;this.selectedApp=undefined;this.selectedSection=undefined}handleOpenSearchChange(){this.computeSearchOpenState()}async setSearchOpenState(e){if(this.selectedSection===n.Search&&!e){this.selectedSection=n.None}else if(e&&this.selectedSection!==n.Search){this.selectedSection=n.Search}}async getIsSearchOpen(){return this.selectedSection===n.Search}componentWillLoad(){this.slots=d(this.host);if(this.has(c.AppSwitcher)){this.selectedApp=this.getSelectedApp()}if(this.has(c.Search)){this.computeSearchOpenState()}}getSelectedApp(){const e=this.host.querySelector(`[slot="${c.AppSwitcher}"]`);const s=Array.from(e.querySelectorAll("six-menu-item"));const i=s.find((e=>e.hasAttribute("checked")));return i===null||i===void 0?void 0:i.textContent}disconnectedCallback(){this.eventListeners.removeAll()}render(){const e=this.has(c.Search)&&i("section",{class:{"six-header__search":true,"six-header__search--open":this.selected(n.Search)}},i("six-icon-button",{name:"search",onClick:this.toggleSearch(n.Search),"data-testid":"search-trigger"}));const s=this.has(c.Notifications)&&i("section",{class:"six-header__notification"},i("slot",{name:c.Notifications}));const h=this.has(c.AppSwitcher)&&i("section",{class:{"six-header__app-switcher":true,"six-header__app-switcher--open":this.selected(n.AppSwitcher)}},i("a",{onClick:this.appNameClicked,class:"six-header__selected-app"},this.selectedApp),i("six-dropdown",{distance:13,skidding:20,placement:"bottom-end",ref:this.setupAppSwitcher},i("six-icon-button",{name:"apps",slot:"trigger"}),i("slot",{name:c.AppSwitcher})));const r=this.has(c.Profile)&&i("section",{class:{"six-header__profile":true,"six-header__profile--open":this.selected(n.Profile)}},i("six-dropdown",{distance:17,skidding:20,placement:"bottom-end",ref:this.setupProfile},i("slot",{name:"profile-avatar",slot:"trigger"}),i("slot",{name:"profile-menu"})));const a=this.has(c.Logo)?i("section",null,i("slot",{name:"logo"})):i("section",{class:{"six-header__logo":true,"six-header__logo--clickable":this.clickableLogo},ref:this.setupLogo},i("svg",{height:"20",viewBox:"0 0 90 26",xmlns:"http://www.w3.org/2000/svg"},i("title",null,"SIX"),i("g",{fill:"#DE3919","fill-rule":"nonzero"},i("path",{d:"m22.798 3.869c1.82-2.168 4.549-3.545 7.6-3.545h6.807v4.961h-6.807c-1.526 0-2.89.689-3.8 1.771l-12.19 14.526c-1.82 2.166-4.549 3.545-7.6 3.545h-6.808v-4.961h6.808c1.525 0 2.889-.689 3.799-1.773l12.191-14.525"}),i("path",{d:"m42.16.324h5.21v24.806h-5.21z"}),i("path",{d:"m66.743 3.869l4.195 4.999 4.195-4.999c1.819-2.168 4.549-3.545 7.6-3.545h6.806v4.961h-6.806c-1.526 0-2.89.689-3.8 1.771l-4.758 5.669 4.758 5.669c.91 1.084 2.274 1.773 3.8 1.773h6.806v4.961h-6.806c-3.051 0-5.781-1.379-7.6-3.545l-4.195-4.999-4.195 4.999c-1.82 2.166-4.55 3.545-7.6 3.545h-6.807v-4.961h6.807c1.525 0 2.889-.689 3.799-1.773l4.758-5.669-4.758-5.669c-.91-1.083-2.274-1.771-3.799-1.771h-6.807v-4.961h6.807c3.05 0 5.78 1.378 7.6 3.545"}))));return i(t,null,i("header",{class:"six-header"},i("section",{class:"six-header__menu"},i("six-icon-button",{name:this.openHamburgerMenu?"menu_open":"menu",ref:this.setupMenu})),a,i("section",{class:"six-header__placeholder"}),i("section",{class:"six-header__custom"},i("slot",null)),e,s,h,r),i("div",{class:{"six-header__search-field":true,"six-header__search-field--visible":this.selected(n.Search),"six-header__search-field--shift-content":this.shiftContent}},i("slot",{name:c.Search})))}static get assetsDirs(){return["assets"]}get host(){return h(this)}static get watchers(){return{openSearch:["handleOpenSearchChange"]}}};l.style=o;export{l as six_header};
2
- //# sourceMappingURL=p-559c87f0.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixHeaderCss","Section","Slot","getSlots","getAvailableSlots","SixHeader","this","eventListeners","EventListeners","has","slot","slots","selected","value","selectedSection","select","toggleSearch","Search","visible","_a","host","querySelector","shadowRoot","setFocus","sixSearchFieldToggle","emit","None","setupMenu","el","add","sixHamburgerClick","setupLogo","clickableLogo","sixLogoClick","setupProfile","Profile","event","name","item","detail","sixProfileSelect","selectedLabel","innerText","setupAppSwitcher","AppSwitcher","selectedApp","sixAppSwitcherSelect","appNameClicked","sixAppNameClicked","computeSearchOpenState","openSearch","handleOpenSearchChange","async","openState","componentWillLoad","getSelectedApp","element","items","Array","from","querySelectorAll","firstCheckedMenuItem","find","hasAttribute","textContent","disconnectedCallback","removeAll","render","search","h","class","onClick","notifications","Notifications","appSwitcher","distance","skidding","placement","ref","profile","logo","Logo","height","viewBox","xmlns","fill","d","Host","openHamburgerMenu","shiftContent"],"sources":["./src/components/six-header/six-header.scss?tag=six-header&encapsulation=shadow","./src/components/six-header/six-header.tsx"],"sourcesContent":["@import 'src/global/component';\n\n$header-height: 3.75rem;\n$border-height: 0.25rem;\n\n:host {\n display: block;\n user-select: none;\n --search-border-width: 1px;\n}\n\n::slotted(six-search-field) {\n position: absolute;\n margin-left: var(--search-border-width);\n width: calc(100% - 2 * var(--search-border-width));\n}\n\n.six-header {\n display: flex;\n width: 100%;\n height: $header-height;\n background-color: var(--six-header-background-color);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: var(--six-shadow-x-large);\n border-bottom: var(--six-header-border-with) solid var(--six-header-border-color);\n\n &__logo {\n width: 6rem;\n margin-top: 0.15rem;\n\n &--clickable {\n cursor: pointer;\n }\n }\n\n &__placeholder {\n flex: 1;\n }\n\n &__menu,\n &__logo,\n &__custom,\n &__search,\n &__notification,\n &__app-switcher,\n &__profile {\n height: calc(100% - #{$border-height} - 1px);\n padding: 0 1.25rem;\n display: flex;\n align-items: center;\n border-bottom: solid $border-height transparent;\n\n &--open {\n border-bottom: solid $border-height var(--six-header-border-color-open);\n }\n }\n\n &__selected-app {\n cursor: pointer;\n font-size: 0.9rem;\n font-weight: 600;\n padding-right: 0;\n padding-left: 0.3rem;\n &:hover {\n color: var(--six-header-selected-app-color-hover);\n }\n }\n\n &__search-field {\n opacity: 0;\n transform: scale(0.9);\n transition: var(--six-transition-fast) opacity, var(--six-transition-fast) transform;\n display: none;\n\n &--visible {\n opacity: 1;\n transform: none;\n display: block;\n }\n\n &--shift-content.six-header__search-field--visible {\n height: 2.65rem;\n transition: var(--six-transition-fast) height;\n }\n\n &--shift-content:not(.six-header__search-field--visible) {\n height: 0;\n transition: var(--six-transition-fast) height;\n }\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State, Watch } from '@stencil/core';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { getAvailableSlots } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\n\nexport interface SixHeaderAppSwitcherSelectPayload {\n selectedLabel: string;\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nexport interface SixHeaderProfileSelectPayload {\n selectedLabel: string;\n name: string;\n item: HTMLSixMenuItemElement;\n}\n\nexport interface SixHeaderSearchFieldToggle {\n visible: boolean;\n}\n\nenum Section {\n None,\n Search,\n Notifications,\n AppSwitcher,\n Profile,\n}\n\nenum Slot {\n Search = 'search-field',\n Notifications = 'notifications',\n AppSwitcher = 'app-switcher-menu',\n Profile = 'profile-menu',\n Logo = 'logo',\n}\n\nconst getSlots = getAvailableSlots(Slot);\n\n/**\n * @since 1.0\n * @status stable\n *\n * @slot - Used to define a custom component that is included in the header.\n * @slot search-field - Used to define the search field component in the header.\n * @slot notifications - Used to define the notification component in the header.\n * @slot app-switcher-menu - Used to define the application switcher menu in the header.\n * @slot profile-menu - Used to define the profile menu in the header.\n * @slot profile-avatar - Used to define the avator in the header.\n */\n\n@Component({\n tag: 'six-header',\n styleUrl: 'six-header.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class SixHeader {\n /** Indicates if content should be shifted down when search field is visible. */\n @Prop() shiftContent = false;\n\n /** Set the hamburger menu icon to open or closed state */\n @Prop() openHamburgerMenu = false;\n\n /** Set the header search to be in an open or closed state */\n @Prop() openSearch = false;\n\n /** Set whether the logo should be clickable */\n @Prop() clickableLogo = false;\n\n @Watch('openSearch')\n handleOpenSearchChange() {\n this.computeSearchOpenState();\n }\n\n /** Sets open state for search */\n @Method()\n async setSearchOpenState(openState: boolean) {\n if (this.selectedSection === Section.Search && !openState) {\n this.selectedSection = Section.None;\n } else if (openState && this.selectedSection !== Section.Search) {\n this.selectedSection = Section.Search;\n }\n }\n\n /** Get open state for search */\n @Method()\n async getIsSearchOpen() {\n return this.selectedSection === Section.Search;\n }\n\n /** Emitted when the name of the selected app is clicked. */\n @Event({ eventName: 'six-header-app-name-clicked' })\n sixAppNameClicked: EventEmitter<EmptyPayload>;\n\n /** Emitted when a menu item is in the app switcher menu is selected. */\n @Event({ eventName: 'six-header-app-switcher-select' })\n sixAppSwitcherSelect: EventEmitter<SixHeaderAppSwitcherSelectPayload>;\n\n /** Emitted when a menu item is in the profile menu is selected. */\n @Event({ eventName: 'six-header-profile-select' })\n sixProfileSelect: EventEmitter<SixHeaderProfileSelectPayload>;\n\n /** Emitted when the hamburger menu is clicked. */\n @Event({ eventName: 'six-header-hamburger-menu-clicked' })\n sixHamburgerClick: EventEmitter<EmptyPayload>;\n\n /** Emitted when the header logo is clicked. */\n @Event({ eventName: 'six-header-logo-clicked' })\n sixLogoClick: EventEmitter<EmptyPayload>;\n\n /** Emitted when search field is toggled. */\n @Event({ eventName: 'six-header-search-field-toggle' })\n sixSearchFieldToggle: EventEmitter<SixHeaderSearchFieldToggle>;\n\n @Element() host: HTMLSixHeaderElement;\n\n readonly eventListeners = new EventListeners();\n\n slots: { readonly [K: string]: boolean };\n\n @State() selectedApp: string;\n @State() selectedSection: Section;\n\n has = (slot: Slot) => this.slots[slot];\n\n selected = (value: Section) => value === this.selectedSection;\n\n select = (value: Section) => () => {\n this.selectedSection = value;\n };\n\n toggleSearch = (value: Section) => () => {\n if (value === Section.Search) {\n const visible = this.selectedSection !== value;\n if (visible) {\n this.host.querySelector(`[slot=\"${Slot.Search}\"]`).shadowRoot.querySelector('six-input')?.setFocus();\n }\n this.sixSearchFieldToggle.emit({ visible });\n }\n this.selectedSection = this.selectedSection === value ? Section.None : value;\n };\n\n setupMenu = (el: HTMLSixIconButtonElement) => {\n this.eventListeners.add(el, 'click', () => this.sixHamburgerClick.emit());\n };\n\n setupLogo = (el: HTMLSixIconButtonElement) => {\n if (!this.clickableLogo) {\n return;\n }\n\n this.eventListeners.add(el, 'click', () => this.sixLogoClick.emit());\n };\n\n setupProfile = (el: HTMLSixDropdownElement) => {\n this.eventListeners.add(el, 'six-dropdown-show', this.select(Section.Profile));\n this.eventListeners.add(el, 'six-dropdown-hide', this.select(Section.None));\n this.eventListeners.add(el, 'six-menu-item-selected', (event: CustomEvent) => {\n const { name, item } = event.detail;\n this.sixProfileSelect.emit({ selectedLabel: item.innerText, name, item });\n });\n };\n\n setupAppSwitcher = (el: HTMLSixDropdownElement) => {\n this.eventListeners.add(el, 'six-dropdown-show', this.select(Section.AppSwitcher));\n this.eventListeners.add(el, 'six-dropdown-hide', this.select(Section.None));\n this.eventListeners.add(el, 'six-menu-item-selected', (event: CustomEvent) => {\n const { name, item } = event.detail;\n this.selectedApp = item.innerText;\n this.sixAppSwitcherSelect.emit({ selectedLabel: item.innerText, name, item });\n });\n };\n\n appNameClicked = () => this.sixAppNameClicked.emit();\n\n computeSearchOpenState = () => {\n this.selectedSection = this.openSearch ? Section.Search : Section.None;\n };\n\n componentWillLoad() {\n this.slots = getSlots(this.host);\n\n if (this.has(Slot.AppSwitcher)) {\n this.selectedApp = this.getSelectedApp();\n }\n\n if (this.has(Slot.Search)) {\n this.computeSearchOpenState();\n }\n }\n\n private getSelectedApp() {\n // there are more concise ways to select the first checked menu item, but this is one that works for jest\n const element = this.host.querySelector(`[slot=\"${Slot.AppSwitcher}\"]`);\n const items = Array.from(element.querySelectorAll('six-menu-item'));\n const firstCheckedMenuItem = items.find((item: HTMLElement) => item.hasAttribute('checked'));\n return firstCheckedMenuItem?.textContent;\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n render() {\n const search = this.has(Slot.Search) && (\n <section\n class={{\n 'six-header__search': true,\n 'six-header__search--open': this.selected(Section.Search),\n }}\n >\n <six-icon-button name=\"search\" onClick={this.toggleSearch(Section.Search)} data-testid=\"search-trigger\" />\n </section>\n );\n\n const notifications = this.has(Slot.Notifications) && (\n <section class=\"six-header__notification\">\n <slot name={Slot.Notifications} />\n </section>\n );\n\n const appSwitcher = this.has(Slot.AppSwitcher) && (\n <section\n class={{\n 'six-header__app-switcher': true,\n 'six-header__app-switcher--open': this.selected(Section.AppSwitcher),\n }}\n >\n <a onClick={this.appNameClicked} class=\"six-header__selected-app\">\n {this.selectedApp}\n </a>\n <six-dropdown distance={13} skidding={20} placement=\"bottom-end\" ref={this.setupAppSwitcher}>\n <six-icon-button name=\"apps\" slot=\"trigger\" />\n <slot name={Slot.AppSwitcher} />\n </six-dropdown>\n </section>\n );\n\n const profile = this.has(Slot.Profile) && (\n <section\n class={{\n 'six-header__profile': true,\n 'six-header__profile--open': this.selected(Section.Profile),\n }}\n >\n <six-dropdown distance={17} skidding={20} placement=\"bottom-end\" ref={this.setupProfile}>\n <slot name=\"profile-avatar\" slot=\"trigger\" />\n <slot name=\"profile-menu\" />\n </six-dropdown>\n </section>\n );\n\n const logo = this.has(Slot.Logo) ? (\n <section>\n <slot name=\"logo\" />\n </section>\n ) : (\n <section\n class={{\n 'six-header__logo': true,\n 'six-header__logo--clickable': this.clickableLogo,\n }}\n ref={this.setupLogo}\n >\n <svg height=\"20\" viewBox=\"0 0 90 26\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>SIX</title>\n <g fill=\"#DE3919\" fill-rule=\"nonzero\">\n <path d=\"m22.798 3.869c1.82-2.168 4.549-3.545 7.6-3.545h6.807v4.961h-6.807c-1.526 0-2.89.689-3.8 1.771l-12.19 14.526c-1.82 2.166-4.549 3.545-7.6 3.545h-6.808v-4.961h6.808c1.525 0 2.889-.689 3.799-1.773l12.191-14.525\" />\n <path d=\"m42.16.324h5.21v24.806h-5.21z\" />\n <path d=\"m66.743 3.869l4.195 4.999 4.195-4.999c1.819-2.168 4.549-3.545 7.6-3.545h6.806v4.961h-6.806c-1.526 0-2.89.689-3.8 1.771l-4.758 5.669 4.758 5.669c.91 1.084 2.274 1.773 3.8 1.773h6.806v4.961h-6.806c-3.051 0-5.781-1.379-7.6-3.545l-4.195-4.999-4.195 4.999c-1.82 2.166-4.55 3.545-7.6 3.545h-6.807v-4.961h6.807c1.525 0 2.889-.689 3.799-1.773l4.758-5.669-4.758-5.669c-.91-1.083-2.274-1.771-3.799-1.771h-6.807v-4.961h6.807c3.05 0 5.78 1.378 7.6 3.545\" />\n </g>\n </svg>\n </section>\n );\n\n return (\n <Host>\n <header class=\"six-header\">\n <section class=\"six-header__menu\">\n <six-icon-button name={this.openHamburgerMenu ? 'menu_open' : 'menu'} ref={this.setupMenu} />\n </section>\n\n {logo}\n\n <section class=\"six-header__placeholder\" />\n\n <section class=\"six-header__custom\">\n <slot />\n </section>\n\n {search}\n\n {notifications}\n\n {appSwitcher}\n\n {profile}\n </header>\n\n <div\n class={{\n 'six-header__search-field': true,\n 'six-header__search-field--visible': this.selected(Section.Search),\n 'six-header__search-field--shift-content': this.shiftContent,\n }}\n >\n <slot name={Slot.Search} />\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as s,c as i,h as t}from"./p-ac4f4d45.js";import{D as e,a as h}from"./p-0786fa7c.js";import{E as a}from"./p-9a860acc.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:block}.search-box{z-index:var(--six-z-index-search-field)}.search-box__icon{cursor:pointer}";const r=class{constructor(t){s(this,t);this.searchFieldChange=i(this,"six-search-field-change",7);this.eventListeners=new a;this.handleInputChange=()=>{this.searchFieldChange.emit({value:this.inputElement.value})};this.placeholder=undefined;this.debounce=e;this.disabled=false;this.value="";this.clearable=false}handleValueChange(){if(this.inputElement){this.inputElement.value=this.value}}componentDidLoad(){this.eventListeners.add(this.inputElement,"six-input-input",h(this.handleInputChange,this.debounce));this.eventListeners.add(this.inputElement,"keydown",(s=>{if(s.key==="Enter"){this.handleInputChange()}}))}disconnectedCallback(){this.eventListeners.removeAll()}render(){return t("div",{class:"search-box"},t("six-input",{ref:s=>this.inputElement=s,placeholder:this.placeholder,value:this.value,disabled:this.disabled,clearable:this.clearable},t("six-icon",{class:"search-box__icon",slot:"prefix",size:"small",onClick:this.handleInputChange},"search")),t("slot",null))}static get watchers(){return{value:["handleValueChange"]}}};r.style=o;export{r as six_search_field};
2
- //# sourceMappingURL=p-6403fd87.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixSearchFieldCss","SixSearchField","this","eventListeners","EventListeners","handleInputChange","searchFieldChange","emit","value","inputElement","DEFAULT_DEBOUNCE_FAST","handleValueChange","componentDidLoad","add","debounce","event","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 inputElement: HTMLSixInputElement;\n\n readonly eventListeners = new EventListeners();\n\n handleInputChange = () => {\n this.searchFieldChange.emit({ value: this.inputElement.value });\n };\n\n @Watch('value')\n handleValueChange() {\n if (this.inputElement) {\n this.inputElement.value = this.value;\n }\n }\n\n componentDidLoad() {\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n this.eventListeners.add(this.inputElement, 'keydown', (event: KeyboardEvent) => {\n if (event.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,oFAqBhBC,KAAAC,eAAiB,IAAIC,EAE9BF,KAAAG,kBAAoB,KAClBH,KAAKI,kBAAkBC,KAAK,CAAEC,MAAON,KAAKO,aAAaD,OAAQ,E,yCAnB7BE,E,cAGA,M,WAGH,G,eAGb,K,CAcpBC,oBACE,GAAIT,KAAKO,aAAc,CACrBP,KAAKO,aAAaD,MAAQN,KAAKM,K,EAInCI,mBACEV,KAAKC,eAAeU,IAAIX,KAAKO,aAAc,kBAAmBK,EAASZ,KAAKG,kBAAmBH,KAAKY,WACpGZ,KAAKC,eAAeU,IAAIX,KAAKO,aAAc,WAAYM,IACrD,GAAIA,EAAMC,MAAQ,QAAS,CAEzBd,KAAKG,mB,KAKXY,uBACEf,KAAKC,eAAee,W,CAGtBC,SACE,OACEC,EAAA,OAAKC,MAAM,cACTD,EAAA,aACEE,IAAMC,GAAQrB,KAAKO,aAAec,EAClCC,YAAatB,KAAKsB,YAClBhB,MAAON,KAAKM,MACZiB,SAAUvB,KAAKuB,SACfC,UAAWxB,KAAKwB,WAEhBN,EAAA,YAAUC,MAAM,mBAAmBM,KAAK,SAASC,KAAK,QAAQC,QAAS3B,KAAKG,mBAAiB,WAI/Fe,EAAA,a"}
@@ -1,2 +0,0 @@
1
- import{r as a,c as r,h as i}from"./p-ac4f4d45.js";const s=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:inline-block}.tag{display:flex;align-items:center;border:solid 1px;font-family:var(--six-font-family);line-height:1;white-space:nowrap;user-select:none;cursor:default}.tag__clear::part(base){color:inherit;padding:0}.tag--info{color:var(--six-color-white);background-color:var(--six-color-web-rock-900);border-color:var(--six-color-web-rock-900)}.tag--success{color:var(--six-color-web-rock-900);border-color:var(--six-color-success-500);background-color:var(--six-color-success-500)}.tag--primary{color:var(--six-color-web-rock-900);border-color:var(--six-color-clay-50);background-color:var(--six-color-clay-50)}.tag--warning{color:var(--six-color-web-rock-900);border-color:var(--six-color-warning-700);background-color:var(--six-color-warning-700)}.tag--danger{color:var(--six-color-white);border-color:var(--six-color-danger-800);background-color:var(--six-color-danger-800)}.tag--action{color:var(--six-color-white);border-color:var(--six-color-action-500);background-color:var(--six-color-action-500)}.tag--small{font-size:var(--six-button-font-size-small);height:calc(var(--six-height-small) * 0.8);line-height:calc(var(--six-height-small) - var(--six-border-width) * 2);border-radius:var(--six-input-border-radius-small);padding:0 var(--six-spacing-x-small)}.tag--small .tag__clear{margin-left:var(--six-spacing-xx-small);margin-right:calc(-1 * var(--six-spacing-xxx-small))}.tag--medium{font-size:var(--six-button-font-size-medium);height:calc(var(--six-height-medium) * 0.8);line-height:calc(var(--six-height-medium) - var(--six-border-width) * 2);border-radius:var(--six-input-border-radius-medium);padding:0 var(--six-spacing-small)}.tag--medium .tag__clear{margin-left:var(--six-spacing-xx-small);margin-right:calc(-1 * var(--six-spacing-xx-small))}.tag--large{font-size:var(--six-button-font-size-large);height:calc(var(--six-height-large) * 0.8);line-height:calc(var(--six-height-large) - var(--six-border-width) * 2);border-radius:var(--six-input-border-radius-large);padding:0 var(--six-spacing-medium)}.tag--large .tag__clear{margin-left:var(--six-spacing-xx-small);margin-right:calc(-1 * var(--six-spacing-x-small))}.tag--pill{border-radius:var(--six-border-radius-pill)}";const o=class{constructor(i){a(this,i);this.sixClear=r(this,"six-tag-clear",7);this.type="primary";this.size="medium";this.pill=false;this.clearable=false}connectedCallback(){this.handleClearClick=this.handleClearClick.bind(this)}handleClearClick(){this.sixClear.emit()}render(){return i("span",{ref:a=>this.tag=a,part:"base",class:{tag:true,"tag--primary":this.type==="primary","tag--success":this.type==="success","tag--info":this.type==="info","tag--warning":this.type==="warning","tag--danger":this.type==="danger","tag--action":this.type==="action","tag--text":this.type==="text","tag--small":this.size==="small","tag--medium":this.size==="medium","tag--large":this.size==="large","tag--pill":this.pill,"tag--clear":this.clearable}},i("span",{part:"content",class:"tag__content"},i("slot",null)),this.clearable&&i("six-icon-button",{exportparts:"base:clear-button",size:"xSmall",name:"clear",class:"tag__clear",onClick:this.handleClearClick}))}};o.style=s;export{o as six_tag};
2
- //# sourceMappingURL=p-6433c0da.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixTagCss","SixTag","connectedCallback","this","handleClearClick","bind","sixClear","emit","render","h","ref","el","tag","part","class","type","size","pill","clearable","exportparts","name","onClick"],"sources":["./src/components/six-tag/six-tag.scss?tag=six-tag&encapsulation=shadow","./src/components/six-tag/six-tag.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: inline-block;\n}\n\n.tag {\n display: flex;\n align-items: center;\n border: solid 1px;\n font-family: var(--six-font-family);\n line-height: 1;\n white-space: nowrap;\n user-select: none;\n cursor: default;\n}\n\n.tag__clear::part(base) {\n color: inherit;\n padding: 0;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Type modifiers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tag--info {\n color: var(--six-color-white);\n background-color: var(--six-color-web-rock-900);\n border-color: var(--six-color-web-rock-900);\n}\n\n.tag--success {\n color: var(--six-color-web-rock-900);\n border-color: var(--six-color-success-500);\n background-color: var(--six-color-success-500);\n}\n\n.tag--primary {\n color: var(--six-color-web-rock-900);\n border-color: var(--six-color-clay-50);\n background-color: var(--six-color-clay-50);\n}\n\n.tag--warning {\n color: var(--six-color-web-rock-900);\n border-color: var(--six-color-warning-700);\n background-color: var(--six-color-warning-700);\n}\n\n.tag--danger {\n color: var(--six-color-white);\n border-color: var(--six-color-danger-800);\n background-color: var(--six-color-danger-800);\n}\n\n.tag--action {\n color: var(--six-color-white);\n border-color: var(--six-color-action-500);\n background-color: var(--six-color-action-500);\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Size modifiers\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tag--small {\n font-size: var(--six-button-font-size-small);\n height: calc(var(--six-height-small) * 0.8);\n line-height: calc(var(--six-height-small) - var(--six-border-width) * 2);\n border-radius: var(--six-input-border-radius-small);\n padding: 0 var(--six-spacing-x-small);\n\n .tag__clear {\n margin-left: var(--six-spacing-xx-small);\n margin-right: calc(-1 * var(--six-spacing-xxx-small));\n }\n}\n\n.tag--medium {\n font-size: var(--six-button-font-size-medium);\n height: calc(var(--six-height-medium) * 0.8);\n line-height: calc(var(--six-height-medium) - var(--six-border-width) * 2);\n border-radius: var(--six-input-border-radius-medium);\n padding: 0 var(--six-spacing-small);\n\n .tag__clear {\n margin-left: var(--six-spacing-xx-small);\n margin-right: calc(-1 * var(--six-spacing-xx-small));\n }\n}\n\n.tag--large {\n font-size: var(--six-button-font-size-large);\n height: calc(var(--six-height-large) * 0.8);\n line-height: calc(var(--six-height-large) - var(--six-border-width) * 2);\n border-radius: var(--six-input-border-radius-large);\n padding: 0 var(--six-spacing-medium);\n\n .tag__clear {\n margin-left: var(--six-spacing-xx-small);\n margin-right: calc(-1 * var(--six-spacing-x-small));\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Pill modifier\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tag--pill {\n border-radius: var(--six-border-radius-pill);\n}\n","import { Component, h, Prop, EventEmitter, Event } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\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 tag's content.\n *\n * @part base - The component's base wrapper.\n * @part content - The tag content.\n * @part clear-button - The clear button.\n */\n\n@Component({\n tag: 'six-tag',\n styleUrl: 'six-tag.scss',\n shadow: true,\n})\nexport class SixTag {\n tag: HTMLElement;\n\n /** The tag's type. */\n @Prop({ reflect: true }) type: 'primary' | 'success' | 'info' | 'warning' | 'danger' | 'action' | 'text' = 'primary';\n\n /** The tag's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to draw a pill-style tag with rounded edges. */\n @Prop({ reflect: true }) pill = false;\n\n /** Set to true to make the tag clearable. */\n @Prop({ reflect: true }) clearable = false;\n\n /** Emitted when the clear button is activated. */\n @Event({ eventName: 'six-tag-clear' }) sixClear: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleClearClick = this.handleClearClick.bind(this);\n }\n\n handleClearClick() {\n this.sixClear.emit();\n }\n\n render() {\n return (\n <span\n ref={(el) => (this.tag = el)}\n part=\"base\"\n class={{\n tag: true,\n\n // Types\n 'tag--primary': this.type === 'primary',\n 'tag--success': this.type === 'success',\n 'tag--info': this.type === 'info',\n 'tag--warning': this.type === 'warning',\n 'tag--danger': this.type === 'danger',\n 'tag--action': this.type === 'action',\n 'tag--text': this.type === 'text',\n\n // Sizes\n 'tag--small': this.size === 'small',\n 'tag--medium': this.size === 'medium',\n 'tag--large': this.size === 'large',\n\n // Modifers\n 'tag--pill': this.pill,\n 'tag--clear': this.clearable,\n }}\n >\n <span part=\"content\" class=\"tag__content\">\n <slot />\n </span>\n\n {this.clearable && (\n <six-icon-button\n exportparts=\"base:clear-button\"\n size=\"xSmall\"\n name=\"clear\"\n class=\"tag__clear\"\n onClick={this.handleClearClick}\n />\n )}\n </span>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAY,qwE,MCqBLC,EAAM,M,2EAI0F,U,UAG7C,S,UAG9B,M,eAGK,K,CAKrCC,oBACEC,KAAKC,iBAAmBD,KAAKC,iBAAiBC,KAAKF,K,CAGrDC,mBACED,KAAKG,SAASC,M,CAGhBC,SACE,OACEC,EAAA,QACEC,IAAMC,GAAQR,KAAKS,IAAMD,EACzBE,KAAK,OACLC,MAAO,CACLF,IAAK,KAGL,eAAgBT,KAAKY,OAAS,UAC9B,eAAgBZ,KAAKY,OAAS,UAC9B,YAAaZ,KAAKY,OAAS,OAC3B,eAAgBZ,KAAKY,OAAS,UAC9B,cAAeZ,KAAKY,OAAS,SAC7B,cAAeZ,KAAKY,OAAS,SAC7B,YAAaZ,KAAKY,OAAS,OAG3B,aAAcZ,KAAKa,OAAS,QAC5B,cAAeb,KAAKa,OAAS,SAC7B,aAAcb,KAAKa,OAAS,QAG5B,YAAab,KAAKc,KAClB,aAAcd,KAAKe,YAGrBT,EAAA,QAAMI,KAAK,UAAUC,MAAM,gBACzBL,EAAA,cAGDN,KAAKe,WACJT,EAAA,mBACEU,YAAY,oBACZH,KAAK,SACLI,KAAK,QACLN,MAAM,aACNO,QAASlB,KAAKC,mB"}
@@ -1,2 +0,0 @@
1
- import{h as r}from"./p-ac4f4d45.js";const o=(o,t)=>{const l=o.label?true:o.hasLabelSlot;const e=o.helpText?true:o.hasHelpTextSlot;const a=o.errorText&&o.errorText!==""||!o.hasErrorTextSlot;return r("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":l,"form-control--has-help-text":e,"form-control--has-error-text":o.displayError,"form-control--disabled":o.disabled,"form-control--invalid":o.displayError&&!o.disabled}},r("label",{part:"label",id:o.labelId,class:{"form-control__label":true,"form-control__label__required":o.required},htmlFor:o.inputId,"aria-hidden":l?"false":"true",onClick:o.onLabelClick},r("slot",{name:"label"},o.label)),r("div",{class:"form-control__input"},t),r("div",{part:"error-text",id:o.errorTextId,class:"form-control__error-text","aria-hidden":o.displayError?"false":"true"},a?o.errorText:r("slot",{name:"error-text"})),r("div",{part:"help-text",id:o.helpTextId,class:"form-control__help-text","aria-hidden":e?"false":"true"},r("slot",{name:"help-text"},o.helpText)))};export{o as F};
2
- //# sourceMappingURL=p-79eee01b.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FormControl","props","children","hasLabel","label","hasLabelSlot","hasHelpText","helpText","hasHelpTextSlot","useErrorTextAttribute","errorText","hasErrorTextSlot","h","part","class","size","displayError","disabled","id","labelId","required","htmlFor","inputId","onClick","onLabelClick","name","errorTextId","helpTextId"],"sources":["./src/functional-components/form-control/form-control.tsx"],"sourcesContent":["import { h } 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 or not 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 or not 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 or not 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) => {\n const hasLabel = props.label ? true : props.hasLabelSlot;\n const hasHelpText = props.helpText ? true : props.hasHelpTextSlot;\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,\n 'form-control--disabled': props.disabled,\n 'form-control--invalid': props.displayError && !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,\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,KAC5C,MAAMC,EAAWF,EAAMG,MAAQ,KAAOH,EAAMI,aAC5C,MAAMC,EAAcL,EAAMM,SAAW,KAAON,EAAMO,gBAElD,MAAMC,EAAyBR,EAAMS,WAAaT,EAAMS,YAAc,KAAQT,EAAMU,iBAEpF,OACEC,EAAA,OACEC,KAAK,eACLC,MAAO,CACL,eAAgB,KAChB,sBAAuBb,EAAMc,OAAS,QACtC,uBAAwBd,EAAMc,OAAS,SACvC,sBAAuBd,EAAMc,OAAS,QACtC,0BAA2BZ,EAC3B,8BAA+BG,EAC/B,+BAAgCL,EAAMe,aACtC,yBAA0Bf,EAAMgB,SAChC,wBAAyBhB,EAAMe,eAAiBf,EAAMgB,WAGxDL,EAAA,SACEC,KAAK,QACLK,GAAIjB,EAAMkB,QACVL,MAAO,CACL,sBAAuB,KACvB,gCAAiCb,EAAMmB,UAEzCC,QAASpB,EAAMqB,QAAO,cACTnB,EAAW,QAAU,OAClCoB,QAAStB,EAAMuB,cAEfZ,EAAA,QAAMa,KAAK,SAASxB,EAAMG,QAG5BQ,EAAA,OAAKE,MAAM,uBAAuBZ,GAElCU,EAAA,OACEC,KAAK,aACLK,GAAIjB,EAAMyB,YACVZ,MAAM,2BAA0B,cACnBb,EAAMe,aAAe,QAAU,QAE3CP,EAAwBR,EAAMS,UAAYE,EAAA,QAAMa,KAAK,gBAGxDb,EAAA,OACEC,KAAK,YACLK,GAAIjB,EAAM0B,WACVb,MAAM,0BAAyB,cAClBR,EAAc,QAAU,QAErCM,EAAA,QAAMa,KAAK,aAAaxB,EAAMM,WAE5B,S"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixRangeCss","id","SixRange","this","inputId","labelId","helpTextId","errorTextId","customErrorText","customValidation","eventListeners","EventListeners","defaultValue","value","toString","handleLabelChange","handleSlotChange","handleValueChange","input","calculateColorRunnableTrack","invalid","checkValidity","connectedCallback","handleInput","bind","handleBlur","handleFocus","handleTouchStart","host","shadowRoot","addEventListener","componentWillLoad","undefined","min","max","componentDidLoad","syncTooltip","resizeObserver","ResizeObserver","add","event","hasErrorTextSlot","errorText","validationMessage","preventDefault","disconnectedCallback","removeEventListener","removeAll","async","options","focus","blur","message","setCustomValidity","Number","sixChange","emit","requestAnimationFrame","hasFocus","hasTooltip","sixBlur","unobserve","sixFocus","observe","hasHelpTextSlot","hasSlot","hasLabelSlot","setFocus","displayError","errorOnBlur","tooltip","percent","Math","inputWidth","offsetWidth","tooltipWidth","output","thumbSize","getComputedStyle","getPropertyValue","x","style","transform","marginLeft","isFirefox","parseInt","ceil","background","navigator","userAgent","toLowerCase","indexOf","render","h","FormControl","label","helpText","size","disabled","required","part","class","range","onTouchStart","ref","el","type","name","step","onInput","onFocus","onBlur","tooltipFormatter"],"sources":["./src/components/six-range/six-range.scss?tag=six-range&encapsulation=shadow","./src/components/six-range/six-range.tsx"],"sourcesContent":["@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n\n:host {\n --thumb-size: 14px;\n --tooltip-offset-y: 10px;\n --track-color: var(--six-color-web-rock-900);\n --thumb-color: var(--six-color-web-rock-900);\n --track-height: 3px;\n\n display: block;\n}\n\n.range {\n position: relative;\n\n .range__control {\n -webkit-appearance: none;\n width: 100%;\n height: var(--six-input-height-medium);\n background: transparent;\n line-height: var(--six-input-height-medium);\n vertical-align: middle;\n\n &::-webkit-slider-runnable-track {\n width: 100%;\n height: var(--track-height);\n border-radius: 3px;\n border: none;\n }\n\n &::-webkit-slider-thumb {\n border: none;\n width: var(--thumb-size);\n height: var(--thumb-size);\n border-radius: 50%;\n background-color: var(--thumb-color);\n -webkit-appearance: none;\n margin-top: calc(var(--thumb-size) / -2 + var(--track-height) / 2);\n transition: var(--six-transition-fast) border-color, var(--six-transition-fast) background-color,\n var(--six-transition-fast) color, var(--six-transition-fast) box-shadow, var(--six-transition-fast) transform;\n cursor: pointer;\n }\n\n &:not(:disabled)::-webkit-slider-thumb:hover {\n background-color: var(--thumb-color);\n }\n\n &:not(:disabled):focus::-webkit-slider-thumb {\n background-color: var(--thumb-color);\n }\n\n &:not(:disabled)::-webkit-slider-thumb:active {\n background-color: var(--thumb-color);\n cursor: grabbing;\n }\n\n // Firefox\n &::-moz-focus-outer {\n border: 0;\n }\n\n &::-moz-range-track {\n width: 100%;\n height: var(--track-height);\n background-color: var(--six-progress-track-color);\n border-radius: 3px;\n border: none;\n }\n\n &::-moz-range-progress {\n height: var(--track-height);\n border-radius: 3px;\n background-color: var(--track-color);\n border: none;\n }\n\n &::-moz-range-thumb {\n border: none;\n height: var(--thumb-size);\n width: var(--thumb-size);\n border-radius: 50%;\n background-color: var(--thumb-color);\n transition: var(--six-transition-fast) border-color, var(--six-transition-fast) background-color,\n var(--six-transition-fast) color, var(--six-transition-fast) box-shadow, var(--six-transition-fast) transform;\n cursor: pointer;\n }\n\n &:not(:disabled)::-moz-range-thumb:hover {\n background-color: var(--thumb-color);\n }\n\n &:not(:disabled):focus::-moz-range-thumb {\n background-color: var(--thumb-color);\n }\n\n &:not(:disabled)::-moz-range-thumb:active {\n background-color: var(--thumb-color);\n cursor: grabbing;\n }\n\n // States\n &:focus {\n outline: none;\n }\n\n &:disabled {\n &::-webkit-slider-thumb {\n cursor: not-allowed;\n color: var(--six-color-web-rock-300);\n border-color: var(--six-color-web-rock-300);\n background-color: var(--six-color-web-rock-300);\n }\n\n &::-moz-range-thumb {\n cursor: not-allowed;\n color: var(--six-color-web-rock-300);\n border-color: var(--six-color-web-rock-300);\n background-color: var(--six-color-web-rock-300);\n }\n }\n }\n}\n\n// Tooltip\n.range__tooltip {\n position: absolute;\n z-index: var(--six-z-index-tooltip);\n left: 1px;\n border-radius: var(--six-border-radius-medium);\n background-color: var(--six-color-web-rock-900);\n font-family: var(--six-font-family);\n font-size: var(--six-tooltip-font-size);\n font-weight: var(--six-tooltip-font-weight);\n line-height: var(--six-tooltip-line-height);\n color: var(--six-color-white);\n opacity: 0;\n padding: var(--six-spacing-xxx-small) var(--six-spacing-xx-small);\n transition: var(--six-transition-fast) opacity;\n pointer-events: none;\n\n &::after {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n left: 50%;\n margin-left: calc(-1 * var(--six-tooltip-arrow-size));\n }\n}\n\n.range--tooltip-visible .range__tooltip {\n opacity: 1;\n}\n\n// Tooltip on top\n.range--tooltip-top .range__tooltip {\n top: calc(-1 * var(--thumb-size) - var(--tooltip-offset-y));\n\n &::after {\n border-top: var(--six-tooltip-arrow-size) solid var(--six-color-web-rock-900);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n top: 100%;\n }\n}\n\n// Tooltip on bottom\n.range--tooltip-bottom .range__tooltip {\n bottom: calc(-1 * var(--thumb-size) - var(--tooltip-offset-y));\n\n &::after {\n border-bottom: var(--six-tooltip-arrow-size) solid var(--six-color-web-rock-900);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n bottom: 100%;\n }\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } 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\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 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 input - The native range input.\n * @part tooltip - The range tooltip.\n */\n@Component({\n tag: 'six-range',\n styleUrl: 'six-range.scss',\n shadow: true,\n})\nexport class SixRange {\n inputId = `input-${++id}`;\n labelId = `input-label-${id}`;\n helpTextId = `input-help-text-${id}`;\n errorTextId = `input-error-text-${id}`;\n resizeObserver: ResizeObserver;\n\n output: HTMLElement;\n input: HTMLInputElement;\n customErrorText = '';\n customValidation = false;\n\n readonly eventListeners = new EventListeners();\n\n @Element() host: HTMLSixRangeElement;\n\n @State() hasFocus = false;\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n @State() hasErrorTextSlot = false;\n @State() hasTooltip = false;\n\n /** The input's name attribute. */\n @Prop() name = '';\n\n /** The input's value attribute. */\n @Prop({ mutable: true }) value: number;\n\n /** Set to true to make the input a required field. */\n @Prop({ reflect: true }) required: boolean;\n\n /** The range's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The range'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 /** Set to true to disable the input. */\n @Prop() disabled = false;\n\n /**\n * This will be true when the control is in an invalid state. Validity in range inputs is determined by the message\n * provided by the `setCustomValidity` method.\n */\n @Prop({ mutable: true, reflect: true }) invalid = false;\n\n /** The input's min attribute. */\n @Prop() min = 0;\n\n /** The input's max attribute. */\n @Prop() max = 100;\n\n /** The input's step attribute. */\n @Prop() step = 1;\n\n /** The preferred placedment of the tooltip. */\n @Prop() tooltip: 'top' | 'bottom' | 'none' = 'top';\n\n /** A function used to format the tooltip's value. */\n @Prop() tooltipFormatter = (value: number) => value.toString();\n\n /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = false;\n\n /** Emitted when the control's value changes. */\n @Event({ eventName: 'six-range-change' }) sixChange: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-range-blur' }) sixBlur: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-range-focus' }) sixFocus: EventEmitter<EmptyPayload>;\n\n /** default value the slider will be reverted to when reset is executed */\n private defaultValue = 0;\n\n @Watch('label')\n @Watch('errorText')\n @Watch('helpText')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n @Watch('value')\n handleValueChange() {\n if (this.input) {\n this.input.value = this.value as any;\n this.calculateColorRunnableTrack();\n }\n // In rare cases, the watcher may be called before render so we need to make sure the input exists\n this.invalid = this.input ? !this.input.checkValidity() : false;\n }\n\n connectedCallback() {\n this.handleInput = this.handleInput.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleSlotChange = this.handleSlotChange.bind(this);\n this.handleTouchStart = this.handleTouchStart.bind(this);\n\n this.host.shadowRoot.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n if (this.value === undefined || this.value === null) this.value = this.min;\n if (this.value < this.min) this.value = this.min;\n if (this.value > this.max) this.value = this.max;\n this.defaultValue = this.value;\n\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n this.syncTooltip();\n this.calculateColorRunnableTrack();\n this.resizeObserver = new ResizeObserver(() => this.syncTooltip());\n this.eventListeners.add(this.input, 'invalid', (event) => {\n if (this.customValidation || (!this.hasErrorTextSlot && !this.errorText && !this.customErrorText)) {\n this.customErrorText = this.input.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.input.focus(options);\n }\n\n /** Removes focus from the input. */\n @Method()\n async removeFocus() {\n this.input.blur();\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 this.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\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.input.setCustomValidity('');\n this.invalid = false;\n }\n\n handleInput() {\n this.value = Number(this.input.value);\n this.sixChange.emit();\n\n requestAnimationFrame(() => this.syncTooltip());\n requestAnimationFrame(() => this.calculateColorRunnableTrack());\n }\n\n handleBlur() {\n this.hasFocus = false;\n this.hasTooltip = false;\n this.sixBlur.emit();\n this.resizeObserver.unobserve(this.input);\n }\n\n handleFocus() {\n this.hasFocus = true;\n this.hasTooltip = true;\n this.sixFocus.emit();\n this.resizeObserver.observe(this.input);\n }\n\n 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 handleTouchStart() {\n this.setFocus();\n }\n\n displayError() {\n return this.invalid && (!this.errorOnBlur || !this.hasFocus);\n }\n\n syncTooltip() {\n if (this.tooltip !== 'none') {\n const percent = Math.max(0, (this.value - this.min) / (this.max - this.min));\n const inputWidth = this.input.offsetWidth;\n const tooltipWidth = this.output.offsetWidth;\n const thumbSize = getComputedStyle(this.input).getPropertyValue('--thumb-size');\n const x = `calc(${inputWidth * percent}px - calc(calc(${percent} * ${thumbSize}) - calc(${thumbSize} / 2)))`;\n this.output.style.transform = `translateX(${x})`;\n this.output.style.marginLeft = `-${tooltipWidth / 2}px`;\n }\n }\n\n /**\n * For Firefox this functionality is not needed because it is supported by standard CSS.\n */\n calculateColorRunnableTrack() {\n if (!this.isFirefox()) {\n const value = parseInt(this.input.value, 10);\n const min = parseInt(this.input.min, 10);\n const max = parseInt(this.input.max, 10);\n const percent = Math.ceil(((value - min) / (max - min)) * 100);\n this.input.style.background =\n '-webkit-linear-gradient(left, var(--track-color) 0%, var(--track-color) ' +\n percent +\n '%, var(--six-color-web-rock-300) ' +\n percent +\n '%)';\n }\n }\n\n isFirefox() {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\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 size=\"medium\"\n errorTextId={this.errorTextId}\n errorText={this.customErrorText ? this.customErrorText : this.errorText}\n hasErrorTextSlot={this.hasErrorTextSlot}\n disabled={this.disabled}\n required={this.required}\n displayError={this.displayError()}\n >\n <div\n part=\"base\"\n class={{\n range: true,\n\n // States\n 'range--disabled': this.disabled,\n 'range--focused': this.hasFocus,\n 'range--tooltip-visible': this.hasTooltip,\n 'range--tooltip-top': this.tooltip === 'top',\n 'range--tooltip-bottom': this.tooltip === 'bottom',\n }}\n onTouchStart={this.handleTouchStart}\n >\n <input\n part=\"input\"\n ref={(el) => (this.input = el)}\n type=\"range\"\n class=\"range__control\"\n name={this.name}\n disabled={this.disabled}\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.value}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n {this.tooltip !== 'none' && (\n <output part=\"tooltip\" ref={(el) => (this.output = el)} class=\"range__tooltip\">\n {this.tooltipFormatter(this.value)}\n </output>\n )}\n </div>\n </FormControl>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as s,g as i}from"./p-ac4f4d45.js";import{a as l,h as o}from"./p-b4dfb7cf.js";import{F as r}from"./p-79eee01b.js";import{E as a}from"./p-9a860acc.js";import{D as n,a as h}from"./p-0786fa7c.js";const c=':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}.select{display:block}.select__box{display:inline-flex;align-items:center;justify-content:start;position:relative;width:100%;font-family:var(--six-font-family);font-weight:var(--six-input-font-weight);font-size:var(--six-input-font-size-medium);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:pointer}.select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select__box--autocomplete{border:none;overflow:initial}.select:not(.select--disabled) .select__box:hover{background-color:var(--six-input-background-color-hover);color:var(--six-input-color-hover);border-bottom-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:hover:not(.select__box--line){border-color:var(--six-input-border-color-hover)}.select:not(.select--disabled) .select__box:focus{background-color:var(--six-input-background-color-focus);outline:none;color:var(--six-input-color-focus);border-bottom-color:var(--six-input-border-color-focus);box-shadow:0 1px 0 0 var(--six-input-border-color-focus)}.select:not(.select--disabled) .select__box:focus:not(.select__box--line){border-color:var(--six-input-border-color-focus);box-shadow:var(--six-input-focus-shadow)}.select--disabled .select__box{background-color:var(--six-input-background-color-disabled);color:var(--six-input-color-disabled);cursor:not-allowed;outline:none}.select--disabled .select__box:not(.select__box--line){border-color:var(--six-input-border-color-disabled)}.select--disabled .select__tags,.select--disabled .select__clear{pointer-events:none}.select--invalid:not(.select--disabled):not(.select--focused) .select__box{border-bottom-color:var(--six-input-border-color-danger)}.select--invalid:not(.select--disabled):not(.select--focused) .select__box:not(.input--line){border-color:var(--six-input-border-color-danger)}.select__label{flex-shrink:1;flex-grow:1;align-items:center;user-select:none;width:0;scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.select__label::-webkit-scrollbar{width:0;height:0}.select__clear{flex-shrink:0;flex-grow:0;display:inline}.select__icon{flex-shrink:0;flex-grow:0;display:inline;transition:var(--six-transition-medium) transform ease}.select--open .select__icon{transform:rotate(-180deg)}.select--placeholder-visible .select__label{color:var(--six-input-placeholder-color)}.select--disabled.select--placeholder-visible .select__label{color:var(--six-input-placeholder-color-disabled)}.select__tags{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:left;margin-left:var(--six-spacing-xx-small)}.select__hidden-select{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.select__input{position:absolute;top:0;left:0;width:100%;height:100%}.select--small .select__box{border-radius:var(--six-input-border-radius-small);font-size:var(--six-input-font-size-small);min-height:var(--six-height-small)}.select--small .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--small .select__label{margin:0 var(--six-input-spacing-small)}.select--small .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--small .select__icon{margin-right:var(--six-spacing-x-small)}.select--small .select__tags{padding-bottom:2px}.select--small .select__tags six-tag{padding-top:2px}.select--small .select__tags six-tag:not(:last-of-type){margin-right:var(--six-spacing-xx-small)}.select--small.select--has-tags .select__label{margin-left:0}.select--medium .select__box{border-radius:var(--six-input-border-radius-medium);font-size:var(--six-input-font-size-medium);min-height:var(--six-height-medium)}.select--medium .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--medium .select__label{margin:0 var(--six-input-spacing-medium)}.select--medium .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--medium .select__icon{margin-right:var(--six-spacing-x-small)}.select--medium .select__tags{padding-bottom:3px}.select--medium .select__tags six-tag{padding-top:3px}.select--medium .select__tags six-tag:not(:last-of-type){margin-right:var(--six-spacing-xx-small)}.select--medium.select--has-tags .select__label{margin-left:0}.select--large .select__box{border-radius:var(--six-input-border-radius-large);font-size:var(--six-input-font-size-large);min-height:var(--six-height-large)}.select--large .select__box--line{border:none;border-bottom:solid var(--six-border-width) var(--six-input-border-color)}.select--large .select__label{margin:0 var(--six-input-spacing-large)}.select--large .select__clear{margin-right:var(--six-spacing-xxx-small)}.select--large .select__icon{margin-right:var(--six-spacing-x-small)}.select--large .select__tags{padding-bottom:4px}.select--large .select__tags six-tag{padding-top:4px}.select--large .select__tags six-tag:not(:last-of-type){margin-right:var(--six-spacing-xx-small)}.select--large.select--has-tags .select__label{margin-left:0}.select--pill.select--small .select__box{border-radius:var(--six-height-small)}.select--pill.select--medium .select__box{border-radius:var(--six-height-medium)}.select--pill.select--large .select__box{border-radius:var(--six-height-large)}.select__menu{max-width:50vw;width:fit-content}.select__menu--filtered{width:100% !important}.select__menu--hidden{display:none}six-icon-button::part(base){padding-top:0;padding-bottom:0}';let d=0;const x=class{constructor(s){t(this,s);this.sixChange=e(this,"six-select-change",7);this.sixFocus=e(this,"six-select-focus",7);this.sixBlur=e(this,"six-select-blur",7);this.inputId=`select-${++d}`;this.labelId=`select-label-${d}`;this.helpTextId=`select-help-text-${d}`;this.errorTextId=`select-error-text-${d}`;this.customErrorText="";this.customValidation=false;this.eventListeners=new a;this.hasFocus=false;this.hasHelpTextSlot=false;this.hasErrorTextSlot=false;this.hasLabelSlot=false;this.isOpen=false;this.displayLabel="";this.displayTags=[];this.multiple=false;this.maxTagsVisible=3;this.disabled=false;this.name="";this.placeholder="";this.filterPlaceholder=undefined;this.filterDebounce=n;this.size="medium";this.hoist=false;this.value="";this.pill=false;this.label="";this.helpText="";this.errorText="";this.required=false;this.clearable=false;this.invalid=false;this.line=false;this.errorOnBlur=false;this.filter=false;this.asyncFilter=false;this.autocomplete=false;this.inputDebounce=n;this.options=null;this.virtualScroll=false;this.defaultValue=undefined}handleDisabledChange(){if(this.disabled&&this.isOpen){this.dropdown.hide()}}handleLabelChange(){this.handleSlotChange()}handleMultipleChange(){const t=this.getValueAsArray();this.value=this.multiple?t:t[0]||"";this.syncItemsFromValue()}handleValueChange(){this.syncItemsFromValue();if(this.input){this.sixChange.emit({value:this.value,isSelected:true})}}connectedCallback(){if(this.virtualScroll&&this.options===null){console.error("Options must be defined when using virtual scrolling")}this.handleBlur=this.handleBlur.bind(this);this.handleFocus=this.handleFocus.bind(this);this.handleClearClick=this.handleClearClick.bind(this);this.handleKeyDown=this.handleKeyDown.bind(this);this.handleSelectAll=this.handleSelectAll.bind(this);this.handleLabelClick=this.handleLabelClick.bind(this);this.handleMenuHide=this.handleMenuHide.bind(this);this.handleMenuShow=this.handleMenuShow.bind(this);this.handleMenuSelect=this.handleMenuSelect.bind(this);this.handleSlotChange=this.handleSlotChange.bind(this);this.handleInvalid=this.handleInvalid.bind(this);this.handleTagInteraction=this.handleTagInteraction.bind(this);this.host.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}componentWillLoad(){this.handleSlotChange();if(this.multiple&&this.value){this.value=this.getValueAsArray()}}componentDidLoad(){this.resizeObserver=new ResizeObserver((()=>this.resizeMenu()));requestAnimationFrame((()=>this.syncItemsFromValue()));this.eventListeners.add(this.input,"invalid",(async t=>{if(this.customValidation||!this.hasErrorTextSlot&&!this.errorText&&!this.customErrorText){this.customErrorText=await this.input.getValidationMessage()}t.preventDefault()}));this.eventListeners.add(this.input,"six-input-input",h((t=>{const e=this.input.value;this.clearValues();this.sixChange.emit({value:e,isSelected:false});t.stopPropagation()}),this.inputDebounce));this.input.value=this.hasSelection()?this.displayLabel:""}disconnectedCallback(){this.host.shadowRoot.removeEventListener("slotchange",this.handleSlotChange);this.eventListeners.removeAll()}async reportValidity(){return this.input.reportValidity()}async checkValidity(){return this.input.isValid()}async setCustomValidity(t){this.customErrorText="";this.customValidation=t!=="";this.input.setCustomValidity(t);this.invalid=!this.input.checkValidity()}async reset(){this.clearValues();this.customErrorText="";this.customValidation=false;this.input.setCustomValidity("");this.invalid=false}getItemLabel(t){const e=t.shadowRoot.querySelector("slot:not([name])");if(e){return l(e)}else{return t.textContent}}getItems(){if(this.options!==null){return this.options.map((t=>s("six-menu-item",{value:t.value},t.label)))}return[...this.host.querySelectorAll("six-menu-item")]}hasMenuItems(){return this.getItems().length>0}getValueAsStringArray(){const t=this.getValueAsArray();return t.map(String)}getValueAsArray(){return Array.isArray(this.value)?this.value:[this.value]}handleBlur(){this.hasFocus=false;this.sixBlur.emit()}handleFocus(){this.hasFocus=true;this.sixFocus.emit()}handleInvalid(){this.invalid=true}handleClearClick(t){t.stopPropagation();this.clearValues()}clearValues(){var t;this.value=(t=this.defaultValue)!==null&&t!==void 0?t:this.multiple?[]:"";this.syncItemsFromValue()}handleSelectAll(t){const e=this.getItems().filter((t=>t.style.display!=="none"));const s=t.key;const i=t.code;if(s==="Control"){return}if(this.isOpen&&this.multiple&&i==="KeyA"&&t.ctrlKey){t.preventDefault();const s=e.some((t=>!t.disabled&&!t.checked));e.filter((t=>!t.disabled)).forEach((t=>t.checked=s));const i=e.filter((t=>t.checked)).map((t=>t.value));this.value=s?i:[]}}handleKeyDown(t){const e=t.target;const s=this.getItems();const i=s[0];const l=s[s.length-1];if(e.tagName.toLowerCase()==="six-tag"){return}if(t.key==="Tab"){if(this.isOpen){this.dropdown.hide()}return}if(["ArrowDown","ArrowUp"].includes(t.key)){t.preventDefault();if(!this.isOpen){this.dropdown.show()}if(t.key==="ArrowDown"&&i){i.setFocus();return}if(t.key==="ArrowUp"&&l){l.setFocus();return}}if(!this.isOpen){t.stopPropagation();t.preventDefault();this.dropdown.show();this.menu.typeToSelect(t.key)}}handleLabelClick(){this.box.focus()}handleMenuSelect(t){const e=t.detail.item;if(this.multiple){if(this.value==null||this.value===""){this.value=[]}else if(!Array.isArray(this.value)){this.value=[this.value]}this.value=this.value.includes(e.value)?this.value.filter((t=>t!==e.value)):[...this.value,e.value]}else{this.value=e.value}this.syncItemsFromValue()}handleMenuShow(t){if(this.disabled){t.preventDefault();return}this.resizeMenu();this.resizeObserver.observe(this.host);this.isOpen=true}handleMenuHide(){this.resizeObserver.unobserve(this.host);this.isOpen=false}handleSlotChange(){this.hasHelpTextSlot=o(this.host,"help-text");this.hasErrorTextSlot=o(this.host,"error-text");this.hasLabelSlot=o(this.host,"label");this.syncItemsFromValue()}handleTagInteraction(t){const e=t.composedPath();const s=e.find((t=>{if(t instanceof HTMLElement){const e=t;return e.classList.contains("tag__clear")}}));if(s){t.stopPropagation()}}resizeMenu(){this.menu.style.minWidth=`${this.box.clientWidth}px`;if(this.dropdown){this.dropdown.reposition()}}syncItemsFromValue(){const t=this.getItems();const e=this.getValueAsStringArray();t.forEach((t=>t.checked=e.includes(t.value)));if(this.multiple){const i=[];e.forEach((e=>t.map((t=>t.value===e?i.push(t):null))));this.displayTags=i.map((t=>s("six-tag",{exportparts:"base:tag",type:"primary",size:this.size,pill:this.pill,clearable:true,onClick:this.handleTagInteraction,onKeyDown:this.handleTagInteraction,"onSix-tag-clear":e=>{e.stopPropagation();if(!this.disabled){t.checked=false;this.syncValueFromItems()}}},this.getItemLabel(t))));if(this.maxTagsVisible>0&&this.displayTags.length>this.maxTagsVisible){const t=this.displayTags.length;this.displayLabel="";this.displayTags=this.displayTags.slice(0,this.maxTagsVisible);this.displayTags.push(s("six-tag",{exportparts:"base:tag",type:"info",size:this.size},"+",t-this.maxTagsVisible))}}else{this.displayLabel=this.extractLabelForSelectedItem(e,t);this.displayTags=[]}const i=this.hasSelection();if(i){this.touched=true}if(this.input&&this.touched){if(!this.autocomplete){this.input.value=i?this.displayLabel:""}else if(i){this.input.value=Array.isArray(this.value)?this.value.join(","):this.value}this.invalid=!this.input.checkValidity()}}extractLabelForSelectedItem(t,e){if(t.length===0||t.length===1&&t[0]===""){return""}if(this.options!==null){const e=this.options.find((e=>e.value===t[0]));return(e===null||e===void 0?void 0:e.value)||""}const s=e.find((e=>e.value===t[0]));return s?this.getItemLabel(s):""}syncValueFromItems(){const t=this.getItems();const e=t.filter((t=>t.checked));const s=e.map((t=>t.value));this.value=this.multiple?this.getValueAsStringArray().filter((t=>s.includes(t))):s.length>0?s[0]:""}displayError(){return this.invalid&&(!this.errorOnBlur||!this.hasFocus&&!this.isOpen)}render(){var t;const e=this.hasSelection();return s(r,{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,onLabelClick:this.handleLabelClick,disabled:this.disabled,required:this.required,displayError:this.displayError()},s("six-dropdown",{part:"base",ref:t=>this.dropdown=t,hoist:this.hoist,closeOnSelect:!this.multiple,containingElement:this.host,disableHideOnEnterAndSpace:this.autocomplete,class:{select:true,"select--open":this.isOpen,"select--empty":((t=this.value)===null||t===void 0?void 0:t.length)===0,"select--focused":this.hasFocus,"select--clearable":this.clearable,"select--disabled":this.disabled,"select--multiple":this.multiple,"select--has-tags":this.multiple&&e,"select--placeholder-visible":this.displayLabel==="","select--small":this.size==="small","select--medium":this.size==="medium","select--large":this.size==="large","select--pill":this.pill,"select--invalid":this.invalid},onKeyDown:this.handleSelectAll,"onSix-dropdown-show":this.handleMenuShow,"onSix-dropdown-hide":this.handleMenuHide,filterPlaceholder:this.filterPlaceholder,filterDebounce:this.filterDebounce,filter:this.filter,asyncFilter:this.asyncFilter},s("div",{slot:"trigger",ref:t=>this.box=t,id:this.inputId,class:{select__box:true,"select__box--line":this.line,"select__box--autocomplete":this.autocomplete},role:"combobox","aria-labelledby":this.labelId,"aria-describedby":this.helpTextId,"aria-haspopup":"true","aria-expanded":this.isOpen?"true":"false",tabIndex:this.disabled?-1:0,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown},s("span",{class:"select__label"},this.displayTags.length?s("span",{part:"tags",class:"select__tags"},this.displayTags):this.displayLabel||this.placeholder),this.clearable&&e&&s("six-icon-button",{exportparts:"base:clear-button",class:"select__clear",name:"clear",size:"small",onClick:this.handleClearClick,tabindex:"-1"}),this.hasMenuItems()&&s("span",{part:"icon",class:"select__icon"},s("six-icon",{size:"medium"},"expand_more")),s("six-input",{ref:t=>this.input=t,class:{select__input:true,"select__hidden-select":!this.autocomplete},"aria-hidden":"true",required:this.required,onInvalid:this.handleInvalid,onFocus:this.handleFocus,clearable:this.clearable,placeholder:this.placeholder,pill:this.pill,disabled:this.disabled,size:this.size,tabIndex:-1})),s("six-menu",{ref:t=>this.menu=t,part:"menu",class:{select__menu:true,"select__menu--filtered":this.filter||this.asyncFilter,"select__menu--hidden":!this.hasMenuItems()},"onSix-menu-item-selected":this.handleMenuSelect,items:this.options,virtualScroll:this.virtualScroll,"remove-box-shadow":true},s("slot",{onSlotchange:this.handleSlotChange}))))}hasSelection(){if(this.multiple){return Array.isArray(this.value)?this.value.length>0:false}return this.value!==""}get host(){return i(this)}static get watchers(){return{disabled:["handleDisabledChange"],helpText:["handleLabelChange"],errorText:["handleLabelChange"],label:["handleLabelChange"],multiple:["handleMultipleChange"],value:["handleValueChange"]}}};x.style=c;export{x as six_select};
2
- //# sourceMappingURL=p-835c3ff7.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixSelectCss","id","SixSelect","this","inputId","labelId","helpTextId","errorTextId","customErrorText","customValidation","eventListeners","EventListeners","DEFAULT_DEBOUNCE_FAST","handleDisabledChange","disabled","isOpen","dropdown","hide","handleLabelChange","handleSlotChange","handleMultipleChange","value","getValueAsArray","multiple","syncItemsFromValue","handleValueChange","input","sixChange","emit","isSelected","connectedCallback","virtualScroll","options","console","error","handleBlur","bind","handleFocus","handleClearClick","handleKeyDown","handleSelectAll","handleLabelClick","handleMenuHide","handleMenuShow","handleMenuSelect","handleInvalid","handleTagInteraction","host","shadowRoot","addEventListener","componentWillLoad","componentDidLoad","resizeObserver","ResizeObserver","resizeMenu","requestAnimationFrame","add","async","event","hasErrorTextSlot","errorText","getValidationMessage","preventDefault","debounce","enteredValue","clearValues","stopPropagation","inputDebounce","hasSelection","displayLabel","disconnectedCallback","removeEventListener","removeAll","reportValidity","isValid","message","setCustomValidity","invalid","checkValidity","getItemLabel","item","slot","querySelector","getTextContent","textContent","getItems","map","option","h","label","querySelectorAll","hasMenuItems","length","getValueAsStringArray","values","String","Array","isArray","hasFocus","sixBlur","sixFocus","_a","defaultValue","nonFilteredItems","filter","style","display","keyName","key","keyCode","code","ctrlKey","hasDeselectedOptions","some","opt","checked","forEach","checkedItems","target","items","firstItem","lastItem","tagName","toLowerCase","includes","show","setFocus","menu","typeToSelect","box","focus","detail","v","observe","unobserve","hasHelpTextSlot","hasSlot","hasLabelSlot","path","composedPath","clearButton","find","el","HTMLElement","element","classList","contains","minWidth","clientWidth","reposition","val","push","displayTags","exportparts","type","size","pill","clearable","onClick","onKeyDown","syncValueFromItems","maxTagsVisible","total","slice","extractLabelForSelectedItem","touched","autocomplete","join","selectedOption","checkedItem","checkedValues","displayError","errorOnBlur","render","FormControl","helpText","onLabelClick","required","part","ref","hoist","closeOnSelect","containingElement","disableHideOnEnterAndSpace","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/six-select.scss?tag=six-select&encapsulation=shadow","./src/components/six-select/six-select.tsx"],"sourcesContent":["@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';\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 box: HTMLElement;\n dropdown: HTMLSixDropdownElement;\n input: HTMLSixInputElement;\n inputId = `select-${++id}`;\n labelId = `select-label-${id}`;\n helpTextId = `select-help-text-${id}`;\n errorTextId = `select-error-text-${id}`;\n menu: HTMLSixMenuElement;\n resizeObserver: ResizeObserver;\n touched: boolean;\n customErrorText = '';\n customValidation = false;\n\n readonly 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 = [];\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[] | undefined;\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 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\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleClearClick = this.handleClearClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleSelectAll = this.handleSelectAll.bind(this);\n this.handleLabelClick = this.handleLabelClick.bind(this);\n this.handleMenuHide = this.handleMenuHide.bind(this);\n this.handleMenuShow = this.handleMenuShow.bind(this);\n this.handleMenuSelect = this.handleMenuSelect.bind(this);\n this.handleSlotChange = this.handleSlotChange.bind(this);\n this.handleInvalid = this.handleInvalid.bind(this);\n this.handleTagInteraction = this.handleTagInteraction.bind(this);\n\n this.host.shadowRoot.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n if (this.multiple && this.value) {\n this.value = this.getValueAsArray();\n }\n }\n\n componentDidLoad() {\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 && !this.customErrorText)) {\n this.customErrorText = await this.input.getValidationMessage();\n }\n event.preventDefault();\n });\n\n this.eventListeners.add(\n this.input,\n 'six-input-input',\n debounce((event) => {\n const enteredValue = this.input.value;\n this.clearValues();\n this.sixChange.emit({ value: enteredValue, isSelected: false });\n event.stopPropagation();\n }, this.inputDebounce)\n );\n\n this.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 this.customErrorText = '';\n this.customValidation = message !== '';\n this.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.clearValues();\n this.customErrorText = '';\n this.customValidation = false;\n this.input.setCustomValidity('');\n this.invalid = false;\n }\n\n getItemLabel(item: HTMLSixMenuItemElement) {\n const slot = item.shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement;\n if (slot) {\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 getItems() {\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 hasMenuItems() {\n return this.getItems().length > 0;\n }\n\n getValueAsStringArray() {\n const values = this.getValueAsArray();\n // enforce that the values are converted to 'string' before the value is compared\n return values.map(String);\n }\n\n getValueAsArray() {\n return Array.isArray(this.value) ? this.value : [this.value];\n }\n\n handleBlur() {\n this.hasFocus = false;\n this.sixBlur.emit();\n }\n\n handleFocus() {\n this.hasFocus = true;\n this.sixFocus.emit();\n }\n\n handleInvalid() {\n this.invalid = true;\n }\n\n handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n this.clearValues();\n }\n\n clearValues() {\n this.value = this.defaultValue ?? (this.multiple ? [] : '');\n this.syncItemsFromValue();\n }\n\n 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 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 handleLabelClick() {\n this.box.focus();\n }\n\n handleMenuSelect(event: CustomEvent) {\n const item = event.detail.item;\n if (this.multiple) {\n if (this.value == null || this.value === '') {\n this.value = [];\n } else if (!Array.isArray(this.value)) {\n this.value = [this.value];\n }\n this.value = this.value.includes(item.value)\n ? this.value.filter((v) => v !== item.value)\n : [...this.value, item.value];\n } else {\n this.value = item.value;\n }\n this.syncItemsFromValue();\n }\n\n 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 handleMenuHide() {\n this.resizeObserver.unobserve(this.host);\n this.isOpen = false;\n }\n\n 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 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 resizeMenu() {\n this.menu.style.minWidth = `${this.box.clientWidth}px`;\n\n if (this.dropdown) {\n this.dropdown.reposition();\n }\n }\n\n syncItemsFromValue() {\n const items = this.getItems();\n const value = this.getValueAsStringArray();\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 = [];\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 const hasSelection = this.hasSelection();\n if (hasSelection) {\n this.touched = true;\n }\n if (this.input && this.touched) {\n if (!this.autocomplete) {\n this.input.value = hasSelection ? this.displayLabel : '';\n } else if (hasSelection) {\n this.input.value = Array.isArray(this.value) ? this.value.join(',') : this.value;\n }\n this.invalid = !this.input.checkValidity();\n }\n }\n\n private extractLabelForSelectedItem(value: string[], items: HTMLSixMenuItemElement[]) {\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 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.getValueAsStringArray().filter((val) => checkedValues.includes(val))\n : checkedValues.length > 0\n ? checkedValues[0]\n : '';\n }\n\n 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 ? 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 ? (\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 if (this.multiple) {\n return Array.isArray(this.value) ? this.value.length > 0 : false;\n }\n return this.value !== '';\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixGroupLabelCss","id","SixGroupLabel","this","wrapperLabelId","labelId","helpTextId","handleLabelChange","handleSlotChange","connectedCallback","bind","host","shadowRoot","addEventListener","componentWillLoad","disconnectedCallback","removeEventListener","hasLabelSlot","hasSlot","hasHelpTextSlot","render","h","FormControl","inputId","label","helpText","size","disabled","required"],"sources":["./src/components/six-group-label/six-group-label.scss?tag=six-group-label&encapsulation=shadow","./src/components/six-group-label/six-group-label.tsx"],"sourcesContent":["@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n\n:host {\n display: block;\n}\n","import { Component, Element, h, Prop, State, Watch } from '@stencil/core';\nimport FormControl from '../../functional-components/form-control/form-control';\nimport { hasSlot } from '../../utils/slot';\n\nlet id = 0;\n\n/**\n * @since 1.1\n * @status stable\n *\n * @slot label - The wrapped component's label. Alternatively, you can use the label prop.\n * @slot help-text - Help text that describes how to use the input.\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, textarea, and help text.\n * @part label - The label of wrapped component.\n * @part help-text - The help text of the wrapped component.\n */\n@Component({\n tag: 'six-group-label',\n styleUrl: 'six-group-label.scss',\n shadow: true,\n})\nexport class SixGroupLabel {\n wrapperLabelId = `label-${++id}`;\n labelId = `label-label-${id}`;\n helpTextId = `label-help-text-${id}`;\n\n @Element() host: HTMLSixGroupLabelElement;\n\n @State() hasHelpTextSlot = false;\n @State() hasLabelSlot = false;\n\n /** The label's size. */\n @Prop({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** The wrapper label's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The wrapper label's help text. Alternatively, you can use the help-text slot. */\n @Prop() helpText = '';\n\n /** Set to true to disable the label. */\n @Prop({ reflect: true }) disabled = false;\n\n /** The label's required attribute. */\n @Prop({ reflect: true }) required: boolean;\n\n @Watch('helpText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n connectedCallback() {\n this.handleSlotChange = this.handleSlotChange.bind(this);\n this.host.shadowRoot.addEventListener('slotchange', this.handleSlotChange);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n disconnectedCallback() {\n this.host.shadowRoot.removeEventListener('slotchange', this.handleSlotChange);\n }\n\n handleSlotChange() {\n this.hasLabelSlot = hasSlot(this.host, 'label');\n this.hasHelpTextSlot = hasSlot(this.host, 'help-text');\n }\n\n render() {\n return (\n <FormControl\n inputId={this.wrapperLabelId}\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 size={this.size}\n disabled={this.disabled}\n required={this.required}\n >\n <slot></slot>\n </FormControl>\n );\n }\n}\n"],"mappings":"0HAAA,MAAMA,EAAmB,u7ECIzB,IAAIC,EAAK,E,MAoBIC,EAAa,M,yBACxBC,KAAAC,eAAiB,WAAWH,IAC5BE,KAAAE,QAAU,eAAeJ,IACzBE,KAAAG,WAAa,mBAAmBL,I,qBAIL,M,kBACH,M,UAGsC,S,WAG9C,G,cAGG,G,cAGiB,M,wBAOpCM,oBACEJ,KAAKK,kB,CAGPC,oBACEN,KAAKK,iBAAmBL,KAAKK,iBAAiBE,KAAKP,MACnDA,KAAKQ,KAAKC,WAAWC,iBAAiB,aAAcV,KAAKK,iB,CAG3DM,oBACEX,KAAKK,kB,CAGPO,uBACEZ,KAAKQ,KAAKC,WAAWI,oBAAoB,aAAcb,KAAKK,iB,CAG9DA,mBACEL,KAAKc,aAAeC,EAAQf,KAAKQ,KAAM,SACvCR,KAAKgB,gBAAkBD,EAAQf,KAAKQ,KAAM,Y,CAG5CS,SACE,OACEC,EAACC,EAAW,CACVC,QAASpB,KAAKC,eACdoB,MAAOrB,KAAKqB,MACZnB,QAASF,KAAKE,QACdY,aAAcd,KAAKc,aACnBX,WAAYH,KAAKG,WACjBmB,SAAUtB,KAAKsB,SACfN,gBAAiBhB,KAAKgB,gBACtBO,KAAMvB,KAAKuB,KACXC,SAAUxB,KAAKwB,SACfC,SAAUzB,KAAKyB,UAEfP,EAAA,a"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as s}from"./p-ac4f4d45.js";const o=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--height:var(--six-selection-control-toggle-size);--thumb-size:calc(var(--six-selection-control-toggle-size) - 4px);--width:calc(var(--height) * 2);display:inline-block}.switch{display:inline-flex;align-items:center;font-family:var(--six-font-family);font-size:var(--six-input-font-size-medium);font-weight:var(--six-input-font-weight);color:var(--six-input-color);vertical-align:middle;cursor:pointer}.switch__control{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--width);height:var(--height);background-color:var(--six-selection-control-color-disabled);border-radius:var(--height);transition:var(--six-transition-fast) border-color, var(--six-transition-fast) background-color}.switch__control .switch__thumb{width:var(--thumb-size);height:var(--thumb-size);background-color:var(--six-input-background-color);border-radius:50%;transform:translateX(calc(var(--width) / -2 + var(--thumb-size) / 2 - (var(--thumb-size) - var(--height)) / 2));transition:var(--six-transition-fast) transform ease, var(--six-transition-fast) background-color, var(--six-transition-fast) border-color, var(--six-transition-fast) box-shadow}.switch__control input[type=checkbox]{position:absolute;opacity:0;padding:0;margin:0;pointer-events:none}.switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover{background-color:var(--six-input-border-color-hover)}.switch--checked .switch__control{background-color:var(--six-selection-control-color)}.switch--checked .switch__control .switch__thumb{background-color:var(--six-color-white);transform:translateX(calc(var(--width) / 2 - var(--thumb-size) / 2 + (var(--thumb-size) - var(--height)) / 2))}.switch.switch--checked:not(.switch--disabled) .switch__control:hover{background-color:var(--six-input-border-color-focus)}.switch--disabled{cursor:not-allowed;color:var(--six-selection-control-color-disabled)}.switch--disabled .switch__control{background-color:var(--six-selection-control-color-disabled)}.switch--disabled.switch--checked .switch__control{background-color:var(--six-selection-control-color-disabled)}.switch__label{line-height:var(--height);margin-left:0.5em;user-select:none}";let e=0;const h=class{constructor(s){t(this,s);this.sixBlur=i(this,"six-switch-blur",7);this.sixChange=i(this,"six-switch-change",7);this.sixFocus=i(this,"six-switch-focus",7);this.switchId=`switch-${++e}`;this.labelId=`switch-label-${e}`;this.defaultValue="";this.hasFocus=false;this.name=undefined;this.value=undefined;this.disabled=false;this.required=false;this.checked=false;this.invalid=false}handleCheckedChange(){this.input.checked=this.checked;this.sixChange.emit(this.checked)}connectedCallback(){this.handleClick=this.handleClick.bind(this);this.handleBlur=this.handleBlur.bind(this);this.handleFocus=this.handleFocus.bind(this);this.handleKeyDown=this.handleKeyDown.bind(this);this.handleMouseDown=this.handleMouseDown.bind(this)}componentWillLoad(){this.defaultValue=this.value}async setFocus(t){this.input.focus(t)}async removeFocus(){this.input.blur()}async reportValidity(){return this.input.reportValidity()}async checkValidity(){return this.input.validity.valid}async setCustomValidity(t){this.input.setCustomValidity(t);this.invalid=!this.input.checkValidity()}async reset(){this.value=this.defaultValue;this.input.setCustomValidity("");this.invalid=false}handleClick(){this.checked=this.input.checked}handleBlur(){this.hasFocus=false;this.sixBlur.emit(this.checked)}handleFocus(){this.hasFocus=true;this.sixFocus.emit()}handleKeyDown(t){if(t.key==="ArrowLeft"){t.preventDefault();this.checked=false}if(t.key==="ArrowRight"){t.preventDefault();this.checked=true}}handleMouseDown(t){t.preventDefault();this.input.focus()}render(){return s("label",{part:"base",htmlFor:this.switchId,class:{switch:true,"switch--checked":this.checked,"switch--disabled":this.disabled,"switch--focused":this.hasFocus},onMouseDown:this.handleMouseDown},s("span",{part:"control",class:"switch__control"},s("span",{part:"thumb",class:"switch__thumb"}),s("input",{ref:t=>this.input=t,id:this.switchId,type:"checkbox",name:this.name,value:this.value,checked:this.checked,disabled:this.disabled,required:this.required,role:"switch","aria-checked":this.checked?"true":"false","aria-labelledby":this.labelId,onClick:this.handleClick,onBlur:this.handleBlur,onFocus:this.handleFocus,onKeyDown:this.handleKeyDown})),s("span",{part:"label",id:this.labelId,class:"switch__label"},s("slot",null)))}static get watchers(){return{checked:["handleCheckedChange"]}}};h.style=o;export{h as six_switch};
2
- //# sourceMappingURL=p-90824648.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixSwitchCss","id","SixSwitch","this","switchId","labelId","defaultValue","handleCheckedChange","input","checked","sixChange","emit","connectedCallback","handleClick","bind","handleBlur","handleFocus","handleKeyDown","handleMouseDown","componentWillLoad","value","async","options","focus","blur","reportValidity","validity","valid","message","setCustomValidity","invalid","checkValidity","hasFocus","sixBlur","sixFocus","event","key","preventDefault","render","h","part","htmlFor","class","switch","disabled","onMouseDown","ref","el","type","name","required","role","onClick","onBlur","onFocus","onKeyDown"],"sources":["./src/components/six-switch/six-switch.scss?tag=six-switch&encapsulation=shadow","./src/components/six-switch/six-switch.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --width: The width of the switch.\n * @prop --height: The height of the switch.\n * @prop --thumb-size: The size of the thumb.\n */\n:host {\n --height: var(--six-selection-control-toggle-size);\n --thumb-size: calc(var(--six-selection-control-toggle-size) - 4px);\n --width: calc(var(--height) * 2);\n\n display: inline-block;\n}\n\n.switch {\n display: inline-flex;\n align-items: center;\n font-family: var(--six-font-family);\n font-size: var(--six-input-font-size-medium);\n font-weight: var(--six-input-font-weight);\n color: var(--six-input-color);\n vertical-align: middle;\n cursor: pointer;\n}\n\n.switch__control {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--width);\n height: var(--height);\n background-color: var(--six-selection-control-color-disabled);\n border-radius: var(--height);\n transition: var(--six-transition-fast) border-color, var(--six-transition-fast) background-color;\n\n .switch__thumb {\n width: var(--thumb-size);\n height: var(--thumb-size);\n background-color: var(--six-input-background-color);\n border-radius: 50%;\n transform: translateX(calc(var(--width) / -2 + var(--thumb-size) / 2 - (var(--thumb-size) - var(--height)) / 2));\n transition: var(--six-transition-fast) transform ease, var(--six-transition-fast) background-color,\n var(--six-transition-fast) border-color, var(--six-transition-fast) box-shadow;\n }\n\n input[type='checkbox'] {\n position: absolute;\n opacity: 0;\n padding: 0;\n margin: 0;\n pointer-events: none;\n }\n}\n\n// Hover\n.switch:not(.switch--checked):not(.switch--disabled) .switch__control:hover {\n background-color: var(--six-input-border-color-hover);\n}\n\n// Checked\n.switch--checked .switch__control {\n background-color: var(--six-selection-control-color);\n\n .switch__thumb {\n background-color: var(--six-color-white);\n transform: translateX(calc(var(--width) / 2 - var(--thumb-size) / 2 + (var(--thumb-size) - var(--height)) / 2));\n }\n}\n\n// Checked + hover\n.switch.switch--checked:not(.switch--disabled) .switch__control:hover {\n background-color: var(--six-input-border-color-focus);\n}\n\n// Disabled\n.switch--disabled {\n cursor: not-allowed;\n color: var(--six-selection-control-color-disabled);\n\n .switch__control {\n background-color: var(--six-selection-control-color-disabled);\n }\n\n &.switch--checked .switch__control {\n background-color: var(--six-selection-control-color-disabled);\n }\n}\n\n.switch__label {\n line-height: var(--height);\n margin-left: 0.5em;\n user-select: none;\n}\n","import { Component, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\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 switch's label.\n *\n * @part base - The component's base wrapper.\n * @part control - The switch control.\n * @part thumb - The switch position indicator.\n * @part label - The switch label.\n */\n\n@Component({\n tag: 'six-switch',\n styleUrl: 'six-switch.scss',\n shadow: true,\n})\nexport class SixSwitch {\n switchId = `switch-${++id}`;\n labelId = `switch-label-${id}`;\n input: HTMLInputElement;\n\n @State() hasFocus = false;\n\n /** The switch's name attribute. */\n @Prop() name: string;\n\n /** The switch's value attribute. */\n @Prop() value: string;\n\n /** Set to true to disable the switch. */\n @Prop() disabled = false;\n\n /** Set to true to make the switch a required field. */\n @Prop() required = false;\n\n /** Set to true to draw the switch in a checked state. */\n @Prop({ mutable: true, reflect: true }) checked = 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, reflect: true }) invalid = false;\n\n @Watch('checked')\n handleCheckedChange() {\n this.input.checked = this.checked;\n this.sixChange.emit(this.checked);\n }\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-switch-blur' }) sixBlur: EventEmitter<boolean>;\n\n /** Emitted when the control's checked state changes. */\n @Event({ eventName: 'six-switch-change' }) sixChange: EventEmitter<boolean>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-switch-focus' }) sixFocus: EventEmitter<EmptyPayload>;\n\n /** default value the switch will be reverted to when reset is executed */\n private defaultValue = '';\n\n connectedCallback() {\n this.handleClick = this.handleClick.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n }\n\n componentWillLoad() {\n this.defaultValue = this.value;\n }\n\n /** Sets focus on the switch. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the switch. */\n @Method()\n async removeFocus() {\n this.input.blur();\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.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.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.value = this.defaultValue;\n this.input.setCustomValidity('');\n this.invalid = false;\n }\n\n handleClick() {\n this.checked = this.input.checked;\n }\n\n handleBlur() {\n this.hasFocus = false;\n this.sixBlur.emit(this.checked);\n }\n\n handleFocus() {\n this.hasFocus = true;\n this.sixFocus.emit();\n }\n\n handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n this.checked = false;\n }\n\n if (event.key === 'ArrowRight') {\n event.preventDefault();\n this.checked = true;\n }\n }\n\n handleMouseDown(event: MouseEvent) {\n // Prevent clicks on the label from briefly blurring the input\n event.preventDefault();\n this.input.focus();\n }\n\n render() {\n return (\n <label\n part=\"base\"\n htmlFor={this.switchId}\n class={{\n switch: true,\n 'switch--checked': this.checked,\n 'switch--disabled': this.disabled,\n 'switch--focused': this.hasFocus,\n }}\n onMouseDown={this.handleMouseDown}\n >\n <span part=\"control\" class=\"switch__control\">\n <span part=\"thumb\" class=\"switch__thumb\" />\n\n <input\n ref={(el) => (this.input = el)}\n id={this.switchId}\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n required={this.required}\n role=\"switch\"\n aria-checked={this.checked ? 'true' : 'false'}\n aria-labelledby={this.labelId}\n onClick={this.handleClick}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n />\n </span>\n\n <span part=\"label\" id={this.labelId} class=\"switch__label\">\n <slot />\n </span>\n </label>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAe,ivECGrB,IAAIC,EAAK,E,MAqBIC,EAAS,M,0JACpBC,KAAAC,SAAW,YAAYH,IACvBE,KAAAE,QAAU,gBAAgBJ,IAuClBE,KAAAG,aAAe,G,cApCH,M,uDASD,M,cAGA,M,aAG+B,M,aAGA,K,CAGlDC,sBACEJ,KAAKK,MAAMC,QAAUN,KAAKM,QAC1BN,KAAKO,UAAUC,KAAKR,KAAKM,Q,CAe3BG,oBACET,KAAKU,YAAcV,KAAKU,YAAYC,KAAKX,MACzCA,KAAKY,WAAaZ,KAAKY,WAAWD,KAAKX,MACvCA,KAAKa,YAAcb,KAAKa,YAAYF,KAAKX,MACzCA,KAAKc,cAAgBd,KAAKc,cAAcH,KAAKX,MAC7CA,KAAKe,gBAAkBf,KAAKe,gBAAgBJ,KAAKX,K,CAGnDgB,oBACEhB,KAAKG,aAAeH,KAAKiB,K,CAK3BC,eAAeC,GACbnB,KAAKK,MAAMe,MAAMD,E,CAKnBD,oBACElB,KAAKK,MAAMgB,M,CAKbH,uBACE,OAAOlB,KAAKK,MAAMiB,gB,CAKpBJ,sBACE,OAAOlB,KAAKK,MAAMkB,SAASC,K,CAK7BN,wBAAwBO,GACtBzB,KAAKK,MAAMqB,kBAAkBD,GAC7BzB,KAAK2B,SAAW3B,KAAKK,MAAMuB,e,CAK7BV,cACElB,KAAKiB,MAAQjB,KAAKG,aAClBH,KAAKK,MAAMqB,kBAAkB,IAC7B1B,KAAK2B,QAAU,K,CAGjBjB,cACEV,KAAKM,QAAUN,KAAKK,MAAMC,O,CAG5BM,aACEZ,KAAK6B,SAAW,MAChB7B,KAAK8B,QAAQtB,KAAKR,KAAKM,Q,CAGzBO,cACEb,KAAK6B,SAAW,KAChB7B,KAAK+B,SAASvB,M,CAGhBM,cAAckB,GACZ,GAAIA,EAAMC,MAAQ,YAAa,CAC7BD,EAAME,iBACNlC,KAAKM,QAAU,K,CAGjB,GAAI0B,EAAMC,MAAQ,aAAc,CAC9BD,EAAME,iBACNlC,KAAKM,QAAU,I,EAInBS,gBAAgBiB,GAEdA,EAAME,iBACNlC,KAAKK,MAAMe,O,CAGbe,SACE,OACEC,EAAA,SACEC,KAAK,OACLC,QAAStC,KAAKC,SACdsC,MAAO,CACLC,OAAQ,KACR,kBAAmBxC,KAAKM,QACxB,mBAAoBN,KAAKyC,SACzB,kBAAmBzC,KAAK6B,UAE1Ba,YAAa1C,KAAKe,iBAElBqB,EAAA,QAAMC,KAAK,UAAUE,MAAM,mBACzBH,EAAA,QAAMC,KAAK,QAAQE,MAAM,kBAEzBH,EAAA,SACEO,IAAMC,GAAQ5C,KAAKK,MAAQuC,EAC3B9C,GAAIE,KAAKC,SACT4C,KAAK,WACLC,KAAM9C,KAAK8C,KACX7B,MAAOjB,KAAKiB,MACZX,QAASN,KAAKM,QACdmC,SAAUzC,KAAKyC,SACfM,SAAU/C,KAAK+C,SACfC,KAAK,SAAQ,eACChD,KAAKM,QAAU,OAAS,QAAO,kBAC5BN,KAAKE,QACtB+C,QAASjD,KAAKU,YACdwC,OAAQlD,KAAKY,WACbuC,QAASnD,KAAKa,YACduC,UAAWpD,KAAKc,iBAIpBsB,EAAA,QAAMC,KAAK,QAAQvC,GAAIE,KAAKE,QAASqC,MAAM,iBACzCH,EAAA,c"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixCheckboxCss","id","SixCheckbox","this","inputId","labelId","textId","errorTextId","customErrorText","customValidation","eventListeners","EventListeners","defaultState","handleCheckedChange","input","checked","indeterminate","invalid","checkValidity","sixChange","emit","handleLabelChange","handleSlotChange","connectedCallback","handleChange","bind","handleBlur","handleFocus","handleMouseDown","handleInvalid","host","shadowRoot","addEventListener","disconnectedCallback","removeEventListener","removeAll","componentWillLoad","componentDidLoad","add","event","hasErrorTextSlot","errorText","validationMessage","preventDefault","async","options","focus","blur","reportValidity","validity","valid","message","setCustomValidity","hasFocus","sixBlur","sixFocus","hasSlot","hasLabelSlot","displayError","errorOnBlur","render","h","FormControl","label","size","disabled","required","part","class","checkbox","htmlFor","onMouseDown","viewBox","stroke","fill","transform","d","ref","el","type","name","value","role","onChange","onBlur","onFocus","onInvalid"],"sources":["./src/components/six-checkbox/six-checkbox.scss?tag=six-checkbox&encapsulation=shadow","./src/components/six-checkbox/six-checkbox.tsx"],"sourcesContent":["@import 'src/global/component';\n@import '../../functional-components/form-control/form-control';\n\n:host {\n display: inline-block;\n}\n\n.checkbox {\n display: inline-flex;\n align-items: center;\n font-family: var(--six-font-family);\n font-size: var(--six-input-font-size-medium);\n font-weight: var(--six-input-font-weight);\n color: var(--six-input-color);\n vertical-align: middle;\n cursor: pointer;\n}\n\n.checkbox__control {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--six-selection-control-toggle-size);\n height: var(--six-selection-control-toggle-size);\n border: solid var(--six-border-width) var(--six-input-border-color);\n border-radius: 0;\n background-color: var(--six-input-background-color);\n color: var(--six-checkbox-color);\n transition: var(--six-transition-fast) border-color, var(--six-transition-fast) background-color,\n var(--six-transition-fast) color, var(--six-transition-fast) box-shadow;\n\n input[type='checkbox'] {\n position: absolute;\n opacity: 0;\n padding: 0;\n margin: 0;\n pointer-events: none;\n }\n\n .checkbox__icon {\n display: inline-flex;\n width: var(--six-selection-control-toggle-size);\n height: var(--six-selection-control-toggle-size);\n\n svg {\n width: 100%;\n height: 100%;\n }\n }\n}\n\n// Hover\n.checkbox:not(.checkbox--checked):not(.checkbox--disabled) .checkbox__control:hover {\n border-color: var(--six-input-border-color-hover);\n}\n\n// Checked/indeterminate\n.checkbox--checked .checkbox__control,\n.checkbox--indeterminate .checkbox__control {\n border-color: var(--six-selection-control-color);\n background-color: var(--six-selection-control-color);\n}\n\n// Checked/indeterminate + hover\n.checkbox.checkbox--checked:not(.checkbox--disabled) .checkbox__control:hover,\n.checkbox.checkbox--indeterminate:not(.checkbox--disabled) .checkbox__control:hover {\n border-color: var(--six-input-border-color-focus);\n background-color: var(--six-input-border-color-focus);\n}\n\n// Disabled\n.checkbox--disabled {\n cursor: not-allowed;\n color: var(--six-input-color-disabled);\n\n .checkbox__control {\n border-color: var(--six-input-border-color-disabled);\n }\n\n &.checkbox--checked .checkbox__control,\n &.checkbox--indeterminate .checkbox__control {\n background-color: var(--six-selection-control-color-disabled);\n }\n}\n\n// Invalid\n.checkbox--invalid:not(.checkbox--disabled) {\n .checkbox__control {\n border-color: var(--six-input-border-color-danger);\n }\n}\n\n.checkbox__text {\n line-height: var(--six-selection-control-toggle-size);\n margin-left: 0.5em;\n user-select: none;\n}\n","import { Component, Event, EventEmitter, Method, Prop, State, Watch, h, Element } 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\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 checkbox label.\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 control - The checkbox control.\n * @part checked-icon - The container the wraps the checked icon.\n * @part indeterminate-icon - The container that wraps the indeterminate icon.\n * @part text - The checkbox text rendered to the right.\n */\n\n@Component({\n tag: 'six-checkbox',\n styleUrl: 'six-checkbox.scss',\n shadow: true,\n})\nexport class SixCheckbox {\n inputId = `checkbox-${++id}`;\n labelId = `checkbox-label-${id}`;\n textId = `checkbox-text-${id}`;\n errorTextId = `input-error-text-${id}`;\n input: HTMLInputElement;\n customErrorText = '';\n customValidation = false;\n\n readonly eventListeners = new EventListeners();\n\n @Element() host: HTMLSixCheckboxElement;\n\n @State() hasFocus = false;\n @State() hasLabelSlot = false;\n @State() hasErrorTextSlot = false;\n\n /** The checkbox's name attribute. */\n @Prop() name: string;\n\n /** The checkbox's value attribute. */\n @Prop() value: string;\n\n /** Set to true to disable the checkbox. */\n @Prop() disabled = false;\n\n /** Set to true to make the checkbox a required field. */\n @Prop() required = false;\n\n /** The checkbox label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The checkbox's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText = '';\n\n /** Set to true to draw the checkbox in a checked state. */\n @Prop({ mutable: true, reflect: true }) checked = false;\n\n /** Set to true to draw the checkbox in an indeterminate state. */\n @Prop({ mutable: true, reflect: true }) indeterminate = 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, reflect: true }) invalid = false;\n\n /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = false;\n\n /** Emitted when the control loses focus. */\n @Event({ eventName: 'six-checkbox-blur' }) sixBlur: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control's checked state changes. */\n @Event({ eventName: 'six-checkbox-change' }) sixChange: EventEmitter<EmptyPayload>;\n\n /** Emitted when the control gains focus. */\n @Event({ eventName: 'six-checkbox-focus' }) sixFocus: EventEmitter<EmptyPayload>;\n\n @Watch('checked')\n @Watch('indeterminate')\n handleCheckedChange() {\n if (!this.input) {\n return;\n }\n this.input.checked = this.checked;\n this.input.indeterminate = this.indeterminate;\n this.invalid = !this.input.checkValidity();\n this.sixChange.emit();\n }\n\n @Watch('errorText')\n @Watch('label')\n handleLabelChange() {\n this.handleSlotChange();\n }\n\n /** default state whether the radio button should be checked or not when resetting */\n private defaultState = false;\n\n connectedCallback() {\n this.handleChange = this.handleChange.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleInvalid = this.handleInvalid.bind(this);\n\n this.host.shadowRoot.addEventListener('slotchange', this.handleSlotChange);\n }\n\n disconnectedCallback() {\n this.host.shadowRoot.removeEventListener('slotchange', this.handleSlotChange);\n this.eventListeners.removeAll();\n }\n\n componentWillLoad() {\n this.defaultState = this.checked;\n this.handleSlotChange();\n }\n\n componentDidLoad() {\n this.input.indeterminate = this.indeterminate;\n this.eventListeners.add(this.input, 'invalid', (event) => {\n if (this.customValidation || (!this.hasErrorTextSlot && !this.errorText && !this.customErrorText)) {\n this.customErrorText = this.input.validationMessage;\n }\n event.preventDefault();\n });\n }\n\n /** Sets focus on the checkbox. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n @Method()\n async removeFocus() {\n this.input.blur();\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.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 this.input.setCustomValidity(message);\n this.invalid = !this.input.checkValidity();\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.checked = this.defaultState;\n this.customErrorText = '';\n this.customValidation = false;\n this.input.setCustomValidity('');\n this.invalid = false;\n }\n\n handleChange() {\n this.checked = this.input.checked;\n this.indeterminate = false;\n }\n\n handleBlur() {\n this.hasFocus = false;\n this.sixBlur.emit();\n }\n\n handleFocus() {\n this.hasFocus = true;\n this.sixFocus.emit();\n }\n\n handleMouseDown(event: MouseEvent) {\n // Prevent clicks on the label from briefly blurring the input\n event.preventDefault();\n this.input.focus();\n }\n\n handleInvalid() {\n this.invalid = true;\n }\n\n handleSlotChange() {\n this.hasErrorTextSlot = hasSlot(this.host, 'error-text');\n this.hasLabelSlot = hasSlot(this.host, 'label');\n }\n\n displayError() {\n return this.invalid && (!this.errorOnBlur || !this.hasFocus);\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 errorTextId={this.errorTextId}\n errorText={this.customErrorText ? this.customErrorText : this.errorText}\n hasErrorTextSlot={this.hasErrorTextSlot}\n size=\"medium\"\n disabled={this.disabled}\n required={this.required}\n displayError={this.displayError()}\n >\n <label\n part=\"base\"\n class={{\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--disabled': this.disabled,\n 'checkbox--focused': this.hasFocus,\n 'checkbox--invalid': this.invalid,\n 'checkbox--indeterminate': this.indeterminate,\n }}\n htmlFor={this.inputId}\n onMouseDown={this.handleMouseDown}\n >\n <span part=\"control\" class=\"checkbox__control\">\n {this.checked && (\n <span part=\"checked-icon\" class=\"checkbox__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(3.428571, 3.428571)\">\n <path d=\"M0,5.71428571 L3.42857143,9.14285714\"></path>\n <path d=\"M9.14285714,0 L3.42857143,9.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n )}\n\n {!this.checked && this.indeterminate && (\n <span part=\"indeterminate-icon\" class=\"checkbox__icon\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\">\n <g stroke=\"currentColor\" stroke-width=\"2\">\n <g transform=\"translate(2.285714, 6.857143)\">\n <path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"></path>\n </g>\n </g>\n </g>\n </svg>\n </span>\n )}\n\n <input\n ref={(el) => (this.input = el)}\n id={this.inputId}\n type=\"checkbox\"\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled}\n required={this.required}\n role=\"checkbox\"\n aria-checked={this.checked ? 'true' : 'false'}\n aria-labelledby={this.labelId}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onInvalid={this.handleInvalid}\n />\n </span>\n\n <span part=\"text\" id={this.textId} class=\"checkbox__text\">\n <slot />\n </span>\n </label>\n </FormControl>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixAvatarCss","SixAvatar","connectedCallback","this","handleImageError","bind","hasError","render","h","part","class","avatar","shape","role","alt","tabIndex","initials","name","image","src","onError"],"sources":["./src/components/six-avatar/six-avatar.scss?tag=six-avatar&encapsulation=shadow","./src/components/six-avatar/six-avatar.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --size: The size of the avatar.\n */\n:host {\n display: inline-block;\n\n --size: 2rem;\n}\n\n.avatar {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n width: var(--size);\n height: var(--size);\n background-color: var(--six-avatar-background-color);\n font-family: var(--six-font-sans);\n font-size: calc(var(--size) * 0.5);\n font-weight: var(--six-font-weight-normal);\n color: var(--six-avatar-color);\n overflow: hidden;\n user-select: none;\n vertical-align: middle;\n cursor: pointer;\n outline: none;\n\n &:hover {\n box-shadow: var(--six-elevation-4dp);\n }\n}\n\n.avatar--circle {\n border-radius: var(--six-border-radius-circle);\n}\n\n.avatar--rounded {\n border-radius: var(--six-border-radius-medium);\n}\n\n.avatar--square {\n border-radius: 0;\n}\n\n.avatar__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.avatar__initials {\n line-height: 1;\n text-transform: uppercase;\n}\n\n.avatar__image {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n","import { Component, h, Prop, State } 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 * @slot icon - The default icon to use when no image or initials are present.\n *\n * @part base - The component's base wrapper.\n * @part icon - The container that wraps the avatar icon.\n * @part initials - The container that wraps the avatar initials.\n * @part image - The avatar image.\n */\n@Component({\n tag: 'six-avatar',\n styleUrl: 'six-avatar.scss',\n shadow: true,\n})\nexport class SixAvatar {\n @State() hasError = false;\n\n /** The image source to use for the avatar. */\n @Prop() image = '';\n\n /** Alternative text for the image. */\n @Prop() alt = '';\n\n /** Initials to use as a fallback when no image is available (1-2 characters max recommended). */\n @Prop() initials = '';\n\n /** The shape of the avatar. */\n @Prop() shape: 'circle' | 'square' | 'rounded' = 'circle';\n\n connectedCallback() {\n this.handleImageError = this.handleImageError.bind(this);\n }\n\n handleImageError() {\n this.hasError = true;\n }\n\n render() {\n return (\n <div\n part=\"base\"\n class={{\n avatar: true,\n 'avatar--circle': this.shape === 'circle',\n 'avatar--rounded': this.shape === 'rounded',\n 'avatar--square': this.shape === 'square',\n }}\n role=\"image\"\n aria-label={this.alt}\n tabIndex={0}\n >\n {!this.initials && (\n <div part=\"icon\" class=\"avatar__icon\">\n <slot name=\"icon\">\n <six-icon>person</six-icon>\n </slot>\n </div>\n )}\n\n {this.initials && (\n <div part=\"initials\" class=\"avatar__initials\">\n {this.initials}\n </div>\n )}\n\n {this.image && !this.hasError && (\n <img part=\"image\" class=\"avatar__image\" src={this.image} onError={this.handleImageError} />\n )}\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAe,w/B,MCoBRC,EAAS,M,uCACA,M,WAGJ,G,SAGF,G,cAGK,G,WAG8B,Q,CAEjDC,oBACEC,KAAKC,iBAAmBD,KAAKC,iBAAiBC,KAAKF,K,CAGrDC,mBACED,KAAKG,SAAW,I,CAGlBC,SACE,OACEC,EAAA,OACEC,KAAK,OACLC,MAAO,CACLC,OAAQ,KACR,iBAAkBR,KAAKS,QAAU,SACjC,kBAAmBT,KAAKS,QAAU,UAClC,iBAAkBT,KAAKS,QAAU,UAEnCC,KAAK,QAAO,aACAV,KAAKW,IACjBC,SAAU,IAERZ,KAAKa,UACLR,EAAA,OAAKC,KAAK,OAAOC,MAAM,gBACrBF,EAAA,QAAMS,KAAK,QACTT,EAAA,4BAKLL,KAAKa,UACJR,EAAA,OAAKC,KAAK,WAAWC,MAAM,oBACxBP,KAAKa,UAITb,KAAKe,QAAUf,KAAKG,UACnBE,EAAA,OAAKC,KAAK,QAAQC,MAAM,gBAAgBS,IAAKhB,KAAKe,MAAOE,QAASjB,KAAKC,mB"}
@@ -1,2 +0,0 @@
1
- const t=t=>e=>Object.keys(t).every((s=>t[s]===e[s]));class e{constructor(){this.eventListeners=[];this.add=(t,e,s,i=null)=>{this.eventListeners.push({el:t,name:e,listener:s,identifier:i});t.addEventListener(e,s)};this.remove=(e,s,i)=>{const n=t({el:e,name:s,listener:i});this.eventListeners=this.getFilteredEventListeners(n)};this.removeByIdentifier=t=>{const e=e=>e.identifier===t;const s=this.eventListeners.find(e)!==undefined;if(!s){return}this.eventListeners=this.getFilteredEventListeners(e)};this.removeAll=()=>{while(this.eventListeners.length){const{el:t,name:e,listener:s}=this.eventListeners.pop();t.removeEventListener(e,s)}}}getFilteredEventListeners(t){return this.eventListeners.filter((e=>{if(t(e)){e.el.removeEventListener(e.name,e.listener);return false}else{return true}}))}}export{e as E};
2
- //# sourceMappingURL=p-9a860acc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["equals","a","b","Object","keys","every","key","EventListeners","constructor","this","eventListeners","add","el","name","listener","identifier","push","addEventListener","remove","sameItem","getFilteredEventListeners","removeByIdentifier","foundListener","find","undefined","removeAll","length","pop","removeEventListener","filter","item"],"sources":["./src/utils/event-listeners.ts"],"sourcesContent":["interface EventListener {\n el: DocumentAndElementEventHandlers;\n name: string;\n listener: EventListenerOrEventListenerObject;\n identifier?: string | null;\n}\n\nconst equals =\n <A extends Object>(a: A) =>\n <B extends Object>(b: B) =>\n Object.keys(a).every((key) => a[key] === b[key]);\n\nexport class EventListeners {\n eventListeners: EventListener[] = [];\n\n add = <T extends DocumentAndElementEventHandlers>(\n el: T,\n name: string,\n listener: EventListenerOrEventListenerObject,\n identifier = null\n ) => {\n this.eventListeners.push({ el, name, listener, identifier });\n el.addEventListener(name, listener);\n };\n\n remove = <T extends DocumentAndElementEventHandlers>(\n el: T,\n name: string,\n listener: EventListenerOrEventListenerObject\n ) => {\n const sameItem = equals({ el, name, listener });\n this.eventListeners = this.getFilteredEventListeners(sameItem);\n };\n\n removeByIdentifier = (identifier: string) => {\n const sameItem = (el) => el.identifier === identifier;\n const foundListener = this.eventListeners.find(sameItem) !== undefined;\n\n if (!foundListener) {\n return;\n }\n\n this.eventListeners = this.getFilteredEventListeners(sameItem);\n };\n\n private getFilteredEventListeners(sameItem: (el) => boolean) {\n return this.eventListeners.filter((item) => {\n if (sameItem(item)) {\n item.el.removeEventListener(item.name, item.listener);\n return false;\n } else {\n return true;\n }\n });\n }\n\n removeAll = () => {\n while (this.eventListeners.length) {\n const { el, name, listener } = this.eventListeners.pop();\n el.removeEventListener(name, listener);\n }\n };\n}\n"],"mappings":"AAOA,MAAMA,EACeC,GACAC,GACjBC,OAAOC,KAAKH,GAAGI,OAAOC,GAAQL,EAAEK,KAASJ,EAAEI,K,MAElCC,EAAbC,cACEC,KAAAC,eAAkC,GAElCD,KAAAE,IAAM,CACJC,EACAC,EACAC,EACAC,EAAa,QAEbN,KAAKC,eAAeM,KAAK,CAAEJ,KAAIC,OAAMC,WAAUC,eAC/CH,EAAGK,iBAAiBJ,EAAMC,EAAS,EAGrCL,KAAAS,OAAS,CACPN,EACAC,EACAC,KAEA,MAAMK,EAAWnB,EAAO,CAAEY,KAAIC,OAAMC,aACpCL,KAAKC,eAAiBD,KAAKW,0BAA0BD,EAAS,EAGhEV,KAAAY,mBAAsBN,IACpB,MAAMI,EAAYP,GAAOA,EAAGG,aAAeA,EAC3C,MAAMO,EAAgBb,KAAKC,eAAea,KAAKJ,KAAcK,UAE7D,IAAKF,EAAe,CAClB,M,CAGFb,KAAKC,eAAiBD,KAAKW,0BAA0BD,EAAS,EAchEV,KAAAgB,UAAY,KACV,MAAOhB,KAAKC,eAAegB,OAAQ,CACjC,MAAMd,GAAEA,EAAEC,KAAEA,EAAIC,SAAEA,GAAaL,KAAKC,eAAeiB,MACnDf,EAAGgB,oBAAoBf,EAAMC,E,GAdzBM,0BAA0BD,GAChC,OAAOV,KAAKC,eAAemB,QAAQC,IACjC,GAAIX,EAASW,GAAO,CAClBA,EAAKlB,GAAGgB,oBAAoBE,EAAKjB,KAAMiB,EAAKhB,UAC5C,OAAO,K,KACF,CACL,OAAO,I"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as s,g as e}from"./p-ac4f4d45.js";const r=":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{display:contents;margin:0}.alert{position:relative;display:flex;align-items:stretch;background-color:var(--six-color-white);border:solid 1px var(--six-color-web-rock-200);border-top-width:3px;border-radius:var(--six-border-radius-medium);box-shadow:var(--box-shadow);font-family:var(--six-font-sans);font-size:var(--six-font-size-small);font-weight:var(--six-font-weight-normal);line-height:1.6;color:var(--six-color-web-rock-700);opacity:0;transform:scale(0.9);transition:var(--six-transition-medium) opacity ease, var(--six-transition-medium) transform ease;margin:inherit}.alert:not(.alert--visible){position:absolute;width:1px;height:1px;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;pointer-events:none;visibility:hidden}.alert--open{opacity:1;transform:none}.alert__icon{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large)}.alert__icon ::slotted(*){margin-left:var(--six-spacing-large)}.alert--primary{border-top-color:var(--six-color-web-rock-900)}.alert--primary .alert__icon{color:var(--six-color-web-rock-900)}.alert--success{border-top-color:var(--six-color-success-600)}.alert--success .alert__icon{color:var(--six-color-success-600)}.alert--info{border-top-color:var(--six-color-action-500)}.alert--info .alert__icon{color:var(--six-color-action-500)}.alert--warning{border-top-color:var(--six-color-warning-800)}.alert--warning .alert__icon{color:var(--six-color-warning-800)}.alert--danger{border-top-color:var(--six-color-danger-900)}.alert--danger .alert__icon{color:var(--six-color-danger-900)}.alert__message{flex:1 1 auto;padding:var(--six-spacing-large);overflow:hidden}.alert__close{flex:0 0 auto;display:flex;align-items:center;font-size:var(--six-font-size-large);padding-right:var(--six-spacing-medium)}";const a=Object.assign(document.createElement("div"),{className:"six-toast-stack"});const o=class{constructor(s){t(this,s);this.sixShow=i(this,"six-alert-show",7);this.sixAfterShow=i(this,"six-alert-after-show",7);this.sixHide=i(this,"six-alert-hide",7);this.sixAfterHide=i(this,"six-alert-after-hide",7);this.isVisible=false;this.open=false;this.closable=false;this.type="primary";this.duration=Infinity}handleOpenChange(){this.open?this.show():this.hide()}handleDurationChange(){this.restartAutoHide()}connectedCallback(){this.handleCloseClick=this.handleCloseClick.bind(this);this.handleMouseMove=this.handleMouseMove.bind(this);this.handleTransitionEnd=this.handleTransitionEnd.bind(this)}componentWillLoad(){if(this.open){this.show()}}async show(){if(this.isVisible){return}const t=this.sixShow.emit();if(t.defaultPrevented){this.open=false;return}this.isVisible=true;this.open=true;if(this.duration<Infinity){this.autoHideTimeout=setTimeout((()=>this.hide()),this.duration)}}async hide(){if(!this.isVisible){return}const t=this.sixHide.emit();if(t.defaultPrevented){this.open=true;return}clearTimeout(this.autoHideTimeout);this.isVisible=false;this.open=false}async toast(){return new Promise((t=>{if(!a.parentElement){document.body.append(a)}a.append(this.host);requestAnimationFrame((()=>this.show()));this.host.addEventListener("six-alert-after-hide",(()=>{this.host.remove();t();if(a.querySelector("six-alert")===null){a.remove()}}),{once:true})}))}handleCloseClick(){this.hide()}handleMouseMove(){this.restartAutoHide()}handleTransitionEnd(t){const i=t.target;if(t.propertyName==="opacity"&&i.classList.contains("alert")){this.isVisible=this.open;this.open?this.sixAfterShow.emit():this.sixAfterHide.emit()}}restartAutoHide(){clearTimeout(this.autoHideTimeout);if(this.open&&this.duration<Infinity){this.autoHideTimeout=setTimeout((()=>this.hide()),this.duration)}}render(){return s("div",{ref:t=>this.alert=t,part:"base",class:{alert:true,"alert--open":this.open,"alert--visible":this.isVisible,"alert--closable":this.closable,"alert--primary":this.type==="primary","alert--success":this.type==="success","alert--info":this.type==="info","alert--warning":this.type==="warning","alert--danger":this.type==="danger"},role:"alert","aria-live":"assertive","aria-atomic":"true","aria-hidden":this.open?"false":"true",onMouseMove:this.handleMouseMove,onTransitionEnd:this.handleTransitionEnd},s("span",{part:"icon",class:"alert__icon"},s("slot",{name:"icon"})),s("span",{part:"message",class:"alert__message"},s("slot",null)),this.closable&&s("span",{class:"alert__close"},s("six-icon-button",{name:"clear",exportparts:"base:close-button",onClick:this.handleCloseClick})))}get host(){return e(this)}static get watchers(){return{open:["handleOpenChange"],duration:["handleDurationChange"]}}};o.style=r;export{o as six_alert};
2
- //# sourceMappingURL=p-9d1d222f.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["sixAlertCss","toastStack","Object","assign","document","createElement","className","SixAlert","Infinity","handleOpenChange","this","open","show","hide","handleDurationChange","restartAutoHide","connectedCallback","handleCloseClick","bind","handleMouseMove","handleTransitionEnd","componentWillLoad","async","isVisible","sixShow","emit","defaultPrevented","duration","autoHideTimeout","setTimeout","sixHide","clearTimeout","Promise","resolve","parentElement","body","append","host","requestAnimationFrame","addEventListener","remove","querySelector","once","event","target","propertyName","classList","contains","sixAfterShow","sixAfterHide","render","h","ref","el","alert","part","class","closable","type","role","onMouseMove","onTransitionEnd","name","exportparts","onClick"],"sources":["./src/components/six-alert/six-alert.scss?tag=six-alert&encapsulation=shadow","./src/components/six-alert/six-alert.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hidden';\n\n/**\n * @prop --box-shadow: The alert's box shadow.\n */\n:host {\n display: contents;\n\n // For better DX, we'll reset the margin here so the base part can inherit it\n margin: 0;\n}\n\n.alert {\n position: relative;\n display: flex;\n align-items: stretch;\n background-color: var(--six-color-white);\n border: solid 1px var(--six-color-web-rock-200);\n border-top-width: 3px;\n border-radius: var(--six-border-radius-medium);\n box-shadow: var(--box-shadow);\n font-family: var(--six-font-sans);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-normal);\n line-height: 1.6;\n color: var(--six-color-web-rock-700);\n opacity: 0;\n transform: scale(0.9);\n transition: var(--six-transition-medium) opacity ease, var(--six-transition-medium) transform ease;\n margin: inherit;\n\n &:not(.alert--visible) {\n @include hidden;\n }\n}\n\n.alert--open {\n opacity: 1;\n transform: none;\n}\n\n.alert__icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-large);\n\n ::slotted(*) {\n margin-left: var(--six-spacing-large);\n }\n}\n\n.alert--primary {\n border-top-color: var(--six-color-web-rock-900);\n\n .alert__icon {\n color: var(--six-color-web-rock-900);\n }\n}\n\n.alert--success {\n border-top-color: var(--six-color-success-600);\n\n .alert__icon {\n color: var(--six-color-success-600);\n }\n}\n\n.alert--info {\n border-top-color: var(--six-color-action-500);\n\n .alert__icon {\n color: var(--six-color-action-500);\n }\n}\n\n.alert--warning {\n border-top-color: var(--six-color-warning-800);\n\n .alert__icon {\n color: var(--six-color-warning-800);\n }\n}\n\n.alert--danger {\n border-top-color: var(--six-color-danger-900);\n\n .alert__icon {\n color: var(--six-color-danger-900);\n }\n}\n\n.alert__message {\n flex: 1 1 auto;\n padding: var(--six-spacing-large);\n overflow: hidden;\n}\n\n.alert__close {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n font-size: var(--six-font-size-large);\n padding-right: var(--six-spacing-medium);\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { EmptyPayload } from '../../utils/types';\n\nconst toastStack = Object.assign(document.createElement('div'), { className: 'six-toast-stack' });\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 alert's content.\n * @slot icon - An icon to show in the alert.\n *\n * @part base - The component's base wrapper.\n * @part icon - The container that wraps the alert icon.\n * @part message - The alert message.\n * @part close-button - The close button.\n */\n\n@Component({\n tag: 'six-alert',\n styleUrl: 'six-alert.scss',\n shadow: true,\n})\nexport class SixAlert {\n alert: HTMLElement;\n autoHideTimeout: any;\n\n @Element() host: HTMLSixAlertElement;\n\n @State() isVisible = false;\n\n /** Indicates whether or not the alert is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Set to true to make the alert closable. */\n @Prop({ reflect: true }) closable = false;\n\n /** The type of alert. */\n @Prop({ reflect: true }) type: 'primary' | 'success' | 'info' | 'warning' | 'danger' = 'primary';\n\n /**\n * The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with the\n * alert before it closes (e.g. moves the mouse over it), the timer will restart.\n */\n @Prop() duration = Infinity;\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n @Watch('duration')\n handleDurationChange() {\n this.restartAutoHide();\n }\n\n /** Emitted when the alert opens. Calling `event.preventDefault()` will prevent it from being opened. */\n @Event({ eventName: 'six-alert-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the alert opens and all transitions are complete. */\n @Event({ eventName: 'six-alert-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the alert closes. Calling `event.preventDefault()` will prevent it from being closed. */\n @Event({ eventName: 'six-alert-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the alert closes and all transitions are complete. */\n @Event({ eventName: 'six-alert-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleCloseClick = this.handleCloseClick.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleTransitionEnd = this.handleTransitionEnd.bind(this);\n }\n\n componentWillLoad() {\n // Show on init if open\n if (this.open) {\n this.show();\n }\n }\n\n /** Shows the alert. */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.isVisible = true;\n this.open = true;\n\n if (this.duration < Infinity) {\n this.autoHideTimeout = setTimeout(() => this.hide(), this.duration);\n }\n }\n\n /** Hides the alert */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n clearTimeout(this.autoHideTimeout);\n this.isVisible = false;\n this.open = false;\n }\n\n /**\n * Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when\n * dismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by\n * calling this method again. The returned promise will resolve after the alert is hidden.\n */\n @Method()\n async toast() {\n return new Promise<void>((resolve) => {\n if (!toastStack.parentElement) {\n document.body.append(toastStack);\n }\n\n toastStack.append(this.host);\n requestAnimationFrame(() => this.show());\n\n this.host.addEventListener(\n 'six-alert-after-hide',\n () => {\n this.host.remove();\n resolve();\n\n // Remove the toast stack from the DOM when there are no more alerts\n if (toastStack.querySelector('six-alert') === null) {\n toastStack.remove();\n }\n },\n { once: true }\n );\n });\n }\n\n handleCloseClick() {\n this.hide();\n }\n\n handleMouseMove() {\n this.restartAutoHide();\n }\n\n handleTransitionEnd(event: TransitionEvent) {\n const target = event.target as HTMLElement;\n\n // Ensure we only emit one event when the target element is no longer visible\n if (event.propertyName === 'opacity' && target.classList.contains('alert')) {\n this.isVisible = this.open;\n this.open ? this.sixAfterShow.emit() : this.sixAfterHide.emit();\n }\n }\n\n restartAutoHide() {\n clearTimeout(this.autoHideTimeout);\n if (this.open && this.duration < Infinity) {\n this.autoHideTimeout = setTimeout(() => this.hide(), this.duration);\n }\n }\n\n render() {\n return (\n <div\n ref={(el) => (this.alert = el)}\n part=\"base\"\n class={{\n alert: true,\n 'alert--open': this.open,\n 'alert--visible': this.isVisible,\n 'alert--closable': this.closable,\n 'alert--primary': this.type === 'primary',\n 'alert--success': this.type === 'success',\n 'alert--info': this.type === 'info',\n 'alert--warning': this.type === 'warning',\n 'alert--danger': this.type === 'danger',\n }}\n role=\"alert\"\n aria-live=\"assertive\"\n aria-atomic=\"true\"\n aria-hidden={this.open ? 'false' : 'true'}\n onMouseMove={this.handleMouseMove}\n onTransitionEnd={this.handleTransitionEnd}\n >\n <span part=\"icon\" class=\"alert__icon\">\n <slot name=\"icon\" />\n </span>\n\n <span part=\"message\" class=\"alert__message\">\n <slot />\n </span>\n\n {this.closable && (\n <span class=\"alert__close\">\n <six-icon-button\n name=\"clear\"\n exportparts=\"base:close-button\"\n onClick={this.handleCloseClick}\n ></six-icon-button>\n </span>\n )}\n </div>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAc,w1DCGpB,MAAMC,EAAaC,OAAOC,OAAOC,SAASC,cAAc,OAAQ,CAAEC,UAAW,oB,MAsBhEC,EAAQ,M,8NAME,M,UAG0B,M,cAGX,M,UAGmD,U,cAMpEC,Q,CAGnBC,mBACEC,KAAKC,KAAOD,KAAKE,OAASF,KAAKG,M,CAIjCC,uBACEJ,KAAKK,iB,CAePC,oBACEN,KAAKO,iBAAmBP,KAAKO,iBAAiBC,KAAKR,MACnDA,KAAKS,gBAAkBT,KAAKS,gBAAgBD,KAAKR,MACjDA,KAAKU,oBAAsBV,KAAKU,oBAAoBF,KAAKR,K,CAG3DW,oBAEE,GAAIX,KAAKC,KAAM,CACbD,KAAKE,M,EAMTU,aAEE,GAAIZ,KAAKa,UAAW,CAClB,M,CAGF,MAAMC,EAAUd,KAAKc,QAAQC,OAC7B,GAAID,EAAQE,iBAAkB,CAC5BhB,KAAKC,KAAO,MACZ,M,CAGFD,KAAKa,UAAY,KACjBb,KAAKC,KAAO,KAEZ,GAAID,KAAKiB,SAAWnB,SAAU,CAC5BE,KAAKkB,gBAAkBC,YAAW,IAAMnB,KAAKG,QAAQH,KAAKiB,S,EAM9DL,aAEE,IAAKZ,KAAKa,UAAW,CACnB,M,CAGF,MAAMO,EAAUpB,KAAKoB,QAAQL,OAC7B,GAAIK,EAAQJ,iBAAkB,CAC5BhB,KAAKC,KAAO,KACZ,M,CAGFoB,aAAarB,KAAKkB,iBAClBlB,KAAKa,UAAY,MACjBb,KAAKC,KAAO,K,CASdW,cACE,OAAO,IAAIU,SAAeC,IACxB,IAAKhC,EAAWiC,cAAe,CAC7B9B,SAAS+B,KAAKC,OAAOnC,E,CAGvBA,EAAWmC,OAAO1B,KAAK2B,MACvBC,uBAAsB,IAAM5B,KAAKE,SAEjCF,KAAK2B,KAAKE,iBACR,wBACA,KACE7B,KAAK2B,KAAKG,SACVP,IAGA,GAAIhC,EAAWwC,cAAc,eAAiB,KAAM,CAClDxC,EAAWuC,Q,IAGf,CAAEE,KAAM,MACT,G,CAILzB,mBACEP,KAAKG,M,CAGPM,kBACET,KAAKK,iB,CAGPK,oBAAoBuB,GAClB,MAAMC,EAASD,EAAMC,OAGrB,GAAID,EAAME,eAAiB,WAAaD,EAAOE,UAAUC,SAAS,SAAU,CAC1ErC,KAAKa,UAAYb,KAAKC,KACtBD,KAAKC,KAAOD,KAAKsC,aAAavB,OAASf,KAAKuC,aAAaxB,M,EAI7DV,kBACEgB,aAAarB,KAAKkB,iBAClB,GAAIlB,KAAKC,MAAQD,KAAKiB,SAAWnB,SAAU,CACzCE,KAAKkB,gBAAkBC,YAAW,IAAMnB,KAAKG,QAAQH,KAAKiB,S,EAI9DuB,SACE,OACEC,EAAA,OACEC,IAAMC,GAAQ3C,KAAK4C,MAAQD,EAC3BE,KAAK,OACLC,MAAO,CACLF,MAAO,KACP,cAAe5C,KAAKC,KACpB,iBAAkBD,KAAKa,UACvB,kBAAmBb,KAAK+C,SACxB,iBAAkB/C,KAAKgD,OAAS,UAChC,iBAAkBhD,KAAKgD,OAAS,UAChC,cAAehD,KAAKgD,OAAS,OAC7B,iBAAkBhD,KAAKgD,OAAS,UAChC,gBAAiBhD,KAAKgD,OAAS,UAEjCC,KAAK,QAAO,YACF,YAAW,cACT,OAAM,cACLjD,KAAKC,KAAO,QAAU,OACnCiD,YAAalD,KAAKS,gBAClB0C,gBAAiBnD,KAAKU,qBAEtB+B,EAAA,QAAMI,KAAK,OAAOC,MAAM,eACtBL,EAAA,QAAMW,KAAK,UAGbX,EAAA,QAAMI,KAAK,UAAUC,MAAM,kBACzBL,EAAA,cAGDzC,KAAK+C,UACJN,EAAA,QAAMK,MAAM,gBACVL,EAAA,mBACEW,KAAK,QACLC,YAAY,oBACZC,QAAStD,KAAKO,oB"}