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

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 (738) hide show
  1. package/dist/cjs/event-listeners-b835dfae.js +61 -0
  2. package/dist/cjs/event-listeners-b835dfae.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-8cbd4e0e.js +20 -0
  8. package/dist/cjs/form-8cbd4e0e.js.map +1 -0
  9. package/dist/cjs/{form-control-2c17c573.js → form-control-8df00a52.js} +9 -10
  10. package/dist/cjs/form-control-8df00a52.js.map +1 -0
  11. package/dist/cjs/index.cjs.js +94 -0
  12. package/dist/cjs/index.cjs.js.map +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/{modal-48d42228.js → modal-21350fb5.js} +4 -3
  15. package/dist/cjs/modal-21350fb5.js.map +1 -0
  16. package/dist/cjs/{popover-f743f62b.js → popover-8885d50f.js} +39 -31
  17. package/dist/cjs/popover-8885d50f.js.map +1 -0
  18. package/dist/cjs/popup-44836aaf.js +103 -0
  19. package/dist/cjs/popup-44836aaf.js.map +1 -0
  20. package/dist/cjs/set-attributes_2.cjs.entry.js +3 -1
  21. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/six-alert.cjs.entry.js +17 -22
  23. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  24. package/dist/cjs/six-avatar.cjs.entry.js +4 -7
  25. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  26. package/dist/cjs/six-badge.cjs.entry.js +1 -1
  27. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-button.cjs.entry.js +35 -33
  29. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  31. package/dist/cjs/six-checkbox.cjs.entry.js +48 -75
  32. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  33. package/dist/cjs/six-datepicker.cjs.entry.js +150 -278
  34. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  35. package/dist/cjs/six-details.cjs.entry.js +47 -46
  36. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  37. package/dist/cjs/six-dialog.cjs.entry.js +35 -39
  38. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/six-drawer.cjs.entry.js +32 -36
  40. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  41. package/dist/cjs/six-dropdown_2.cjs.entry.js +214 -195
  42. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  43. package/dist/cjs/six-error-page.cjs.entry.js +19 -21
  44. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  45. package/dist/cjs/six-file-list-item.cjs.entry.js +1 -1
  46. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/six-file-upload.cjs.entry.js +20 -20
  48. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  49. package/dist/cjs/six-group-label.cjs.entry.js +11 -10
  50. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  51. package/dist/cjs/six-header.cjs.entry.js +65 -43
  52. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  53. package/dist/cjs/six-icon-button.cjs.entry.js +3 -3
  54. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/six-input.cjs.entry.js +93 -126
  56. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  57. package/dist/cjs/six-item-picker.cjs.entry.js +58 -77
  58. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  59. package/dist/cjs/six-language-switcher.cjs.entry.js +1 -1
  60. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  61. package/dist/cjs/six-layout-grid.cjs.entry.js +4 -2
  62. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  63. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-menu-item.cjs.entry.js +8 -6
  65. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-picto.cjs.entry.js +4 -1
  67. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-progress-ring.cjs.entry.js +3 -3
  69. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-radio.cjs.entry.js +59 -60
  71. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-range.cjs.entry.js +106 -105
  73. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-root.cjs.entry.js +1 -1
  75. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-search-field.cjs.entry.js +10 -5
  77. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-select.cjs.entry.js +185 -219
  79. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +9 -5
  81. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-sidebar.cjs.entry.js +39 -18
  83. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  85. package/dist/cjs/six-switch.cjs.entry.js +54 -62
  86. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  87. package/dist/cjs/six-tab-group.cjs.entry.js +130 -112
  88. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  89. package/dist/cjs/six-tab-panel.cjs.entry.js +1 -1
  90. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  91. package/dist/cjs/six-tab.cjs.entry.js +4 -2
  92. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  93. package/dist/cjs/six-tag.cjs.entry.js +4 -7
  94. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  95. package/dist/cjs/six-textarea.cjs.entry.js +87 -109
  96. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  97. package/dist/cjs/six-tile.cjs.entry.js +13 -16
  98. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  99. package/dist/cjs/six-timepicker.cjs.entry.js +157 -213
  100. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  101. package/dist/cjs/six-tooltip.cjs.entry.js +53 -56
  102. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  103. package/dist/cjs/{slot-ad537f24.js → slot-bccbdb59.js} +11 -10
  104. package/dist/cjs/slot-bccbdb59.js.map +1 -0
  105. package/dist/cjs/ui-library.cjs.js +1 -1
  106. package/dist/collection/collection-manifest.json +0 -1
  107. package/dist/collection/components/six-alert/six-alert.js +17 -22
  108. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  109. package/dist/collection/components/six-avatar/six-avatar.js +4 -7
  110. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  111. package/dist/collection/components/six-badge/six-badge.js +1 -1
  112. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  113. package/dist/collection/components/six-button/six-button.js +44 -40
  114. package/dist/collection/components/six-button/six-button.js.map +1 -1
  115. package/dist/collection/components/six-card/six-card.js +1 -1
  116. package/dist/collection/components/six-card/six-card.js.map +1 -1
  117. package/dist/collection/components/six-checkbox/six-checkbox.js +64 -159
  118. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  119. package/dist/collection/components/six-datepicker/components/day-selection.js +2 -2
  120. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  121. package/dist/collection/components/six-datepicker/components/month-selection.js +4 -3
  122. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  123. package/dist/collection/components/six-datepicker/components/year-selection.js +9 -6
  124. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  125. package/dist/collection/components/six-datepicker/six-datepicker.js +186 -376
  126. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  127. package/dist/collection/components/six-details/six-details.js +51 -50
  128. package/dist/collection/components/six-details/six-details.js.map +1 -1
  129. package/dist/collection/components/six-dialog/six-dialog.js +34 -38
  130. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  131. package/dist/collection/components/six-drawer/six-drawer.js +31 -35
  132. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  133. package/dist/collection/components/six-dropdown/six-dropdown.js +185 -173
  134. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  135. package/dist/collection/components/six-error-page/six-error-page.js +25 -27
  136. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  137. package/dist/collection/components/six-file-list-item/six-file-list-item.js +3 -3
  138. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  139. package/dist/collection/components/six-file-upload/six-file-upload.js +32 -32
  140. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  141. package/dist/collection/components/six-group-label/six-group-label.js +12 -10
  142. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  143. package/dist/collection/components/six-header/six-header.js +64 -42
  144. package/dist/collection/components/six-header/six-header.js.map +1 -1
  145. package/dist/collection/components/six-icon-button/six-icon-button.js +8 -8
  146. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  147. package/dist/collection/components/six-input/six-input.js +163 -347
  148. package/dist/collection/components/six-input/six-input.js.map +1 -1
  149. package/dist/collection/components/six-item-picker/six-item-picker.js +65 -84
  150. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  151. package/dist/collection/components/six-language-switcher/six-language-switcher.js +2 -2
  152. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  153. package/dist/collection/components/six-layout-grid/six-layout-grid.js +10 -8
  154. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  155. package/dist/collection/components/six-main-container/six-main-container.js +1 -1
  156. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  157. package/dist/collection/components/six-menu/six-menu.js +29 -23
  158. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  159. package/dist/collection/components/six-menu-item/six-menu-item.js +7 -5
  160. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  161. package/dist/collection/components/six-picto/six-picto.js +5 -2
  162. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  163. package/dist/collection/components/six-progress-ring/six-progress-ring.js +5 -4
  164. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  165. package/dist/collection/components/six-radio/six-radio.js +66 -114
  166. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  167. package/dist/collection/components/six-range/six-range.js +133 -180
  168. package/dist/collection/components/six-range/six-range.js.map +1 -1
  169. package/dist/collection/components/six-root/six-root.js +4 -4
  170. package/dist/collection/components/six-root/six-root.js.map +1 -1
  171. package/dist/collection/components/six-search-field/six-search-field.js +10 -5
  172. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  173. package/dist/collection/components/six-select/six-select.js +215 -336
  174. package/dist/collection/components/six-select/six-select.js.map +1 -1
  175. package/dist/collection/components/six-select/util.js +52 -0
  176. package/dist/collection/components/six-select/util.js.map +1 -0
  177. package/dist/collection/components/six-sidebar/six-sidebar.js +40 -19
  178. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  179. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +12 -8
  180. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  181. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  182. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +1 -1
  183. package/dist/collection/components/six-switch/six-switch.css +77 -0
  184. package/dist/collection/components/six-switch/six-switch.js +96 -133
  185. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  186. package/dist/collection/components/six-tab/six-tab.js +5 -3
  187. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  188. package/dist/collection/components/six-tab-group/six-tab-group.js +130 -112
  189. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  190. package/dist/collection/components/six-tab-panel/six-tab-panel.js +2 -2
  191. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  192. package/dist/collection/components/six-tag/six-tag.js +4 -7
  193. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  194. package/dist/collection/components/six-textarea/six-textarea.js +149 -270
  195. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  196. package/dist/collection/components/six-tile/six-tile.js +17 -20
  197. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  198. package/dist/collection/components/six-timepicker/six-timepicker.js +153 -254
  199. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  200. package/dist/collection/components/six-tooltip/six-tooltip.js +56 -59
  201. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  202. package/dist/collection/functional-components/form-control/form-control.js +8 -9
  203. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  204. package/dist/collection/index.js +1 -1
  205. package/dist/collection/index.js.map +1 -1
  206. package/dist/collection/testUtil/delay.js.map +1 -1
  207. package/dist/collection/utils/date-util.js +25 -16
  208. package/dist/collection/utils/date-util.js.map +1 -1
  209. package/dist/collection/utils/error-messages.js +91 -0
  210. package/dist/collection/utils/error-messages.js.map +1 -0
  211. package/dist/collection/utils/event-listeners.js +22 -6
  212. package/dist/collection/utils/event-listeners.js.map +1 -1
  213. package/dist/collection/utils/execution-control.js +5 -4
  214. package/dist/collection/utils/execution-control.js.map +1 -1
  215. package/dist/collection/utils/focus-visible.js +2 -2
  216. package/dist/collection/utils/focus-visible.js.map +1 -1
  217. package/dist/collection/utils/form.js +15 -0
  218. package/dist/collection/utils/form.js.map +1 -0
  219. package/dist/collection/utils/modal.js +3 -2
  220. package/dist/collection/utils/modal.js.map +1 -1
  221. package/dist/collection/utils/popover.js +32 -18
  222. package/dist/collection/utils/popover.js.map +1 -1
  223. package/dist/collection/utils/popup.js +95 -0
  224. package/dist/collection/utils/popup.js.map +1 -0
  225. package/dist/collection/utils/slot.js +9 -24
  226. package/dist/collection/utils/slot.js.map +1 -1
  227. package/dist/collection/utils/tabbable.js +6 -6
  228. package/dist/collection/utils/tabbable.js.map +1 -1
  229. package/dist/collection/utils/time.util.js +48 -34
  230. package/dist/collection/utils/time.util.js.map +1 -1
  231. package/dist/collection/utils/type-check.js +0 -1
  232. package/dist/collection/utils/type-check.js.map +1 -1
  233. package/dist/collection/wrappers/set-attributes/set-attributes.js +3 -1
  234. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  235. package/dist/components/event-listeners.js +22 -6
  236. package/dist/components/event-listeners.js.map +1 -1
  237. package/dist/components/execution-control.js +5 -2
  238. package/dist/components/execution-control.js.map +1 -1
  239. package/dist/components/focus-visible.js +2 -2
  240. package/dist/components/focus-visible.js.map +1 -1
  241. package/dist/components/form-control.js +8 -9
  242. package/dist/components/form-control.js.map +1 -1
  243. package/dist/components/form.js +18 -0
  244. package/dist/components/form.js.map +1 -0
  245. package/dist/components/index.js +92 -3
  246. package/dist/components/index.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 +38 -30
  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 +34 -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 +46 -78
  263. package/dist/components/six-checkbox.js.map +1 -1
  264. package/dist/components/six-datepicker.js +150 -281
  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-group-label.js +10 -9
  281. package/dist/components/six-group-label.js.map +1 -1
  282. package/dist/components/six-header.js +64 -42
  283. package/dist/components/six-header.js.map +1 -1
  284. package/dist/components/six-icon-button2.js +2 -2
  285. package/dist/components/six-icon-button2.js.map +1 -1
  286. package/dist/components/six-input2.js +95 -137
  287. package/dist/components/six-input2.js.map +1 -1
  288. package/dist/components/six-item-picker2.js +56 -75
  289. package/dist/components/six-item-picker2.js.map +1 -1
  290. package/dist/components/six-language-switcher.js +1 -1
  291. package/dist/components/six-language-switcher.js.map +1 -1
  292. package/dist/components/six-layout-grid.js +5 -3
  293. package/dist/components/six-layout-grid.js.map +1 -1
  294. package/dist/components/six-main-container.js.map +1 -1
  295. package/dist/components/six-menu-item2.js +7 -5
  296. package/dist/components/six-menu-item2.js.map +1 -1
  297. package/dist/components/six-menu2.js +25 -18
  298. package/dist/components/six-menu2.js.map +1 -1
  299. package/dist/components/six-picto2.js +4 -1
  300. package/dist/components/six-picto2.js.map +1 -1
  301. package/dist/components/six-progress-ring.js +3 -3
  302. package/dist/components/six-progress-ring.js.map +1 -1
  303. package/dist/components/six-radio.js +61 -65
  304. package/dist/components/six-radio.js.map +1 -1
  305. package/dist/components/six-range.js +108 -111
  306. package/dist/components/six-range.js.map +1 -1
  307. package/dist/components/six-root.js +1 -1
  308. package/dist/components/six-root.js.map +1 -1
  309. package/dist/components/six-search-field.js +8 -3
  310. package/dist/components/six-search-field.js.map +1 -1
  311. package/dist/components/six-select.js +186 -226
  312. package/dist/components/six-select.js.map +1 -1
  313. package/dist/components/six-sidebar-item-group.js +8 -4
  314. package/dist/components/six-sidebar-item-group.js.map +1 -1
  315. package/dist/components/six-sidebar.js +39 -18
  316. package/dist/components/six-sidebar.js.map +1 -1
  317. package/dist/components/six-spinner2.js.map +1 -1
  318. package/dist/components/six-switch.js +58 -68
  319. package/dist/components/six-switch.js.map +1 -1
  320. package/dist/components/six-tab-group.js +129 -111
  321. package/dist/components/six-tab-group.js.map +1 -1
  322. package/dist/components/six-tab-panel.js +1 -1
  323. package/dist/components/six-tab-panel.js.map +1 -1
  324. package/dist/components/six-tab.js +4 -2
  325. package/dist/components/six-tab.js.map +1 -1
  326. package/dist/components/six-tag2.js +4 -7
  327. package/dist/components/six-tag2.js.map +1 -1
  328. package/dist/components/six-textarea.js +89 -117
  329. package/dist/components/six-textarea.js.map +1 -1
  330. package/dist/components/six-tile.js +14 -17
  331. package/dist/components/six-tile.js.map +1 -1
  332. package/dist/components/six-timepicker.js +1 -1
  333. package/dist/components/six-timepicker2.js +247 -258
  334. package/dist/components/six-timepicker2.js.map +1 -1
  335. package/dist/components/six-tooltip2.js +52 -55
  336. package/dist/components/six-tooltip2.js.map +1 -1
  337. package/dist/components/slot.js +10 -9
  338. package/dist/components/slot.js.map +1 -1
  339. package/dist/components.json +527 -914
  340. package/dist/esm/event-listeners-535f3ad1.js +59 -0
  341. package/dist/esm/event-listeners-535f3ad1.js.map +1 -0
  342. package/dist/esm/{execution-control-1a60d709.js → execution-control-72cc50f4.js} +6 -3
  343. package/dist/esm/execution-control-72cc50f4.js.map +1 -0
  344. package/dist/esm/{focus-visible-97933ea9.js → focus-visible-fa7129a0.js} +3 -3
  345. package/dist/esm/focus-visible-fa7129a0.js.map +1 -0
  346. package/dist/esm/form-0b9c11cd.js +18 -0
  347. package/dist/esm/form-0b9c11cd.js.map +1 -0
  348. package/dist/esm/{form-control-3b440ea1.js → form-control-785c5f79.js} +9 -10
  349. package/dist/esm/form-control-785c5f79.js.map +1 -0
  350. package/dist/esm/index.js +91 -0
  351. package/dist/esm/index.js.map +1 -1
  352. package/dist/esm/loader.js +1 -1
  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-2e72e7d8.js} +39 -31
  356. package/dist/esm/popover-2e72e7d8.js.map +1 -0
  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 +3 -1
  360. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  361. package/dist/esm/six-alert.entry.js +17 -22
  362. package/dist/esm/six-alert.entry.js.map +1 -1
  363. package/dist/esm/six-avatar.entry.js +4 -7
  364. package/dist/esm/six-avatar.entry.js.map +1 -1
  365. package/dist/esm/six-badge.entry.js +1 -1
  366. package/dist/esm/six-badge.entry.js.map +1 -1
  367. package/dist/esm/six-button.entry.js +35 -33
  368. package/dist/esm/six-button.entry.js.map +1 -1
  369. package/dist/esm/six-card.entry.js.map +1 -1
  370. package/dist/esm/six-checkbox.entry.js +48 -75
  371. package/dist/esm/six-checkbox.entry.js.map +1 -1
  372. package/dist/esm/six-datepicker.entry.js +148 -276
  373. package/dist/esm/six-datepicker.entry.js.map +1 -1
  374. package/dist/esm/six-details.entry.js +47 -46
  375. package/dist/esm/six-details.entry.js.map +1 -1
  376. package/dist/esm/six-dialog.entry.js +35 -39
  377. package/dist/esm/six-dialog.entry.js.map +1 -1
  378. package/dist/esm/six-drawer.entry.js +32 -36
  379. package/dist/esm/six-drawer.entry.js.map +1 -1
  380. package/dist/esm/six-dropdown_2.entry.js +214 -195
  381. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  382. package/dist/esm/six-error-page.entry.js +19 -21
  383. package/dist/esm/six-error-page.entry.js.map +1 -1
  384. package/dist/esm/six-file-list-item.entry.js +1 -1
  385. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  386. package/dist/esm/six-file-upload.entry.js +20 -20
  387. package/dist/esm/six-file-upload.entry.js.map +1 -1
  388. package/dist/esm/six-group-label.entry.js +11 -10
  389. package/dist/esm/six-group-label.entry.js.map +1 -1
  390. package/dist/esm/six-header.entry.js +65 -43
  391. package/dist/esm/six-header.entry.js.map +1 -1
  392. package/dist/esm/six-icon-button.entry.js +3 -3
  393. package/dist/esm/six-icon-button.entry.js.map +1 -1
  394. package/dist/esm/six-input.entry.js +93 -126
  395. package/dist/esm/six-input.entry.js.map +1 -1
  396. package/dist/esm/six-item-picker.entry.js +58 -77
  397. package/dist/esm/six-item-picker.entry.js.map +1 -1
  398. package/dist/esm/six-language-switcher.entry.js +1 -1
  399. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  400. package/dist/esm/six-layout-grid.entry.js +4 -2
  401. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  402. package/dist/esm/six-main-container.entry.js.map +1 -1
  403. package/dist/esm/six-menu-item.entry.js +8 -6
  404. package/dist/esm/six-menu-item.entry.js.map +1 -1
  405. package/dist/esm/six-picto.entry.js +4 -1
  406. package/dist/esm/six-picto.entry.js.map +1 -1
  407. package/dist/esm/six-progress-ring.entry.js +3 -3
  408. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  409. package/dist/esm/six-radio.entry.js +59 -60
  410. package/dist/esm/six-radio.entry.js.map +1 -1
  411. package/dist/esm/six-range.entry.js +106 -105
  412. package/dist/esm/six-range.entry.js.map +1 -1
  413. package/dist/esm/six-root.entry.js +1 -1
  414. package/dist/esm/six-root.entry.js.map +1 -1
  415. package/dist/esm/six-search-field.entry.js +10 -5
  416. package/dist/esm/six-search-field.entry.js.map +1 -1
  417. package/dist/esm/six-select.entry.js +185 -219
  418. package/dist/esm/six-select.entry.js.map +1 -1
  419. package/dist/esm/six-sidebar-item-group.entry.js +9 -5
  420. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  421. package/dist/esm/six-sidebar.entry.js +39 -18
  422. package/dist/esm/six-sidebar.entry.js.map +1 -1
  423. package/dist/esm/six-spinner.entry.js.map +1 -1
  424. package/dist/esm/six-switch.entry.js +55 -63
  425. package/dist/esm/six-switch.entry.js.map +1 -1
  426. package/dist/esm/six-tab-group.entry.js +130 -112
  427. package/dist/esm/six-tab-group.entry.js.map +1 -1
  428. package/dist/esm/six-tab-panel.entry.js +1 -1
  429. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  430. package/dist/esm/six-tab.entry.js +4 -2
  431. package/dist/esm/six-tab.entry.js.map +1 -1
  432. package/dist/esm/six-tag.entry.js +4 -7
  433. package/dist/esm/six-tag.entry.js.map +1 -1
  434. package/dist/esm/six-textarea.entry.js +87 -109
  435. package/dist/esm/six-textarea.entry.js.map +1 -1
  436. package/dist/esm/six-tile.entry.js +13 -16
  437. package/dist/esm/six-tile.entry.js.map +1 -1
  438. package/dist/esm/six-timepicker.entry.js +157 -213
  439. package/dist/esm/six-timepicker.entry.js.map +1 -1
  440. package/dist/esm/six-tooltip.entry.js +53 -56
  441. package/dist/esm/six-tooltip.entry.js.map +1 -1
  442. package/dist/esm/{slot-6f3984c7.js → slot-2e64df19.js} +11 -10
  443. package/dist/esm/slot-2e64df19.js.map +1 -0
  444. package/dist/esm/ui-library.js +1 -1
  445. package/dist/types/components/six-alert/six-alert.d.ts +5 -7
  446. package/dist/types/components/six-avatar/six-avatar.d.ts +1 -2
  447. package/dist/types/components/six-badge/six-badge.d.ts +0 -1
  448. package/dist/types/components/six-button/six-button.d.ts +8 -9
  449. package/dist/types/components/six-checkbox/six-checkbox.d.ts +23 -31
  450. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  451. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  452. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  453. package/dist/types/components/six-datepicker/six-datepicker.d.ts +41 -52
  454. package/dist/types/components/six-details/six-details.d.ts +12 -12
  455. package/dist/types/components/six-dialog/six-dialog.d.ts +12 -13
  456. package/dist/types/components/six-drawer/six-drawer.d.ts +12 -13
  457. package/dist/types/components/six-dropdown/six-dropdown.d.ts +28 -32
  458. package/dist/types/components/six-error-page/six-error-page.d.ts +1 -1
  459. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +3 -3
  460. package/dist/types/components/six-file-upload/six-file-upload.d.ts +11 -11
  461. package/dist/types/components/six-group-label/six-group-label.d.ts +5 -5
  462. package/dist/types/components/six-header/six-header.d.ts +16 -27
  463. package/dist/types/components/six-icon-button/six-icon-button.d.ts +4 -4
  464. package/dist/types/components/six-input/six-input.d.ts +32 -67
  465. package/dist/types/components/six-item-picker/six-item-picker.d.ts +13 -16
  466. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +1 -1
  467. package/dist/types/components/six-menu/six-menu.d.ts +10 -11
  468. package/dist/types/components/six-menu-item/six-menu-item.d.ts +6 -6
  469. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +2 -2
  470. package/dist/types/components/six-radio/six-radio.d.ts +14 -20
  471. package/dist/types/components/six-range/six-range.d.ts +27 -38
  472. package/dist/types/components/six-root/six-root.d.ts +3 -3
  473. package/dist/types/components/six-search-field/six-search-field.d.ts +4 -5
  474. package/dist/types/components/six-select/six-select.d.ts +41 -58
  475. package/dist/types/components/six-select/util.d.ts +7 -0
  476. package/dist/types/components/six-sidebar/six-sidebar.d.ts +5 -5
  477. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +7 -6
  478. package/dist/types/components/six-spinner/six-spinner.d.ts +2 -2
  479. package/dist/types/components/six-switch/six-switch.d.ts +18 -21
  480. package/dist/types/components/six-tab/six-tab.d.ts +3 -3
  481. package/dist/types/components/six-tab-group/six-tab-group.d.ts +20 -21
  482. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +1 -1
  483. package/dist/types/components/six-tag/six-tag.d.ts +1 -3
  484. package/dist/types/components/six-textarea/six-textarea.d.ts +27 -55
  485. package/dist/types/components/six-tile/six-tile.d.ts +2 -3
  486. package/dist/types/components/six-timepicker/six-timepicker.d.ts +26 -43
  487. package/dist/types/components/six-tooltip/six-tooltip.d.ts +19 -21
  488. package/dist/types/components.d.ts +209 -444
  489. package/dist/types/functional-components/form-control/form-control.d.ts +5 -6
  490. package/dist/types/index.d.ts +1 -0
  491. package/dist/types/testUtil/delay.d.ts +1 -1
  492. package/dist/types/types.d.ts +2 -0
  493. package/dist/types/utils/date-util.d.ts +18 -10
  494. package/dist/types/utils/error-messages.d.ts +42 -0
  495. package/dist/types/utils/event-listeners.d.ts +2 -1
  496. package/dist/types/utils/execution-control.d.ts +1 -3
  497. package/dist/types/utils/form.d.ts +1 -0
  498. package/dist/types/utils/modal.d.ts +2 -2
  499. package/dist/types/utils/popover.d.ts +5 -5
  500. package/dist/types/utils/popup.d.ts +9 -0
  501. package/dist/types/utils/slot.d.ts +2 -7
  502. package/dist/types/utils/tabbable.d.ts +1 -1
  503. package/dist/types/utils/time.util.d.ts +18 -9
  504. package/dist/types/utils/type-check.d.ts +3 -4
  505. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +1 -1
  506. package/dist/ui-library/index.esm.js +1 -1
  507. package/dist/ui-library/index.esm.js.map +1 -1
  508. package/dist/ui-library/p-0045a402.entry.js +2 -0
  509. package/dist/ui-library/p-0045a402.entry.js.map +1 -0
  510. package/dist/ui-library/p-0108fe92.entry.js +2 -0
  511. package/dist/ui-library/p-0108fe92.entry.js.map +1 -0
  512. package/dist/ui-library/p-03a145f5.entry.js +2 -0
  513. package/dist/ui-library/p-03a145f5.entry.js.map +1 -0
  514. package/dist/ui-library/{p-7e0cc4ae.entry.js → p-087fdd96.entry.js} +2 -2
  515. package/dist/ui-library/p-087fdd96.entry.js.map +1 -0
  516. package/dist/ui-library/p-09779e47.entry.js +2 -0
  517. package/dist/ui-library/p-09779e47.entry.js.map +1 -0
  518. package/dist/ui-library/p-097cced4.entry.js.map +1 -1
  519. package/dist/ui-library/p-0b2c6348.js +2 -0
  520. package/dist/ui-library/p-0b2c6348.js.map +1 -0
  521. package/dist/ui-library/p-0cc08e91.js +2 -0
  522. package/dist/ui-library/p-0cc08e91.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-2761f908.js +2 -0
  526. package/dist/ui-library/p-2761f908.js.map +1 -0
  527. package/dist/ui-library/{p-19b50b5a.entry.js → p-28be55f0.entry.js} +2 -2
  528. package/dist/ui-library/p-28be55f0.entry.js.map +1 -0
  529. package/dist/ui-library/{p-c349d1d4.entry.js → p-3929b0af.entry.js} +2 -2
  530. package/dist/ui-library/p-3929b0af.entry.js.map +1 -0
  531. package/dist/ui-library/{p-9328e5bc.entry.js → p-445ba5b8.entry.js} +2 -2
  532. package/dist/ui-library/p-445ba5b8.entry.js.map +1 -0
  533. package/dist/ui-library/p-4d408fb4.js +2 -0
  534. package/dist/ui-library/p-4d408fb4.js.map +1 -0
  535. package/dist/ui-library/p-502ff3d3.entry.js +2 -0
  536. package/dist/ui-library/p-502ff3d3.entry.js.map +1 -0
  537. package/dist/ui-library/p-5a34c93e.entry.js +2 -0
  538. package/dist/ui-library/p-5a34c93e.entry.js.map +1 -0
  539. package/dist/ui-library/p-60621dc6.js +2 -0
  540. package/dist/ui-library/p-60621dc6.js.map +1 -0
  541. package/dist/ui-library/p-63703ba3.entry.js.map +1 -1
  542. package/dist/ui-library/p-66180e89.entry.js +2 -0
  543. package/dist/ui-library/p-66180e89.entry.js.map +1 -0
  544. package/dist/ui-library/p-686b12ec.entry.js +2 -0
  545. package/dist/ui-library/p-686b12ec.entry.js.map +1 -0
  546. package/dist/ui-library/p-71035abf.entry.js +2 -0
  547. package/dist/ui-library/p-71035abf.entry.js.map +1 -0
  548. package/dist/ui-library/{p-8a970a40.entry.js → p-724e154d.entry.js} +2 -2
  549. package/dist/ui-library/p-724e154d.entry.js.map +1 -0
  550. package/dist/ui-library/p-72ca96e1.entry.js +2 -0
  551. package/dist/ui-library/p-72ca96e1.entry.js.map +1 -0
  552. package/dist/ui-library/p-73597d13.entry.js.map +1 -1
  553. package/dist/ui-library/{p-c30f9e0b.entry.js → p-778cf804.entry.js} +2 -2
  554. package/dist/ui-library/p-778cf804.entry.js.map +1 -0
  555. package/dist/ui-library/p-87032e26.entry.js +2 -0
  556. package/dist/ui-library/p-87032e26.entry.js.map +1 -0
  557. package/dist/ui-library/p-8cf72af6.js +2 -0
  558. package/dist/ui-library/p-8cf72af6.js.map +1 -0
  559. package/dist/ui-library/p-8e0b6b7e.entry.js +2 -0
  560. package/dist/ui-library/p-8e0b6b7e.entry.js.map +1 -0
  561. package/dist/ui-library/p-912092c0.entry.js +2 -0
  562. package/dist/ui-library/p-912092c0.entry.js.map +1 -0
  563. package/dist/ui-library/p-92ca6a84.entry.js +2 -0
  564. package/dist/ui-library/p-92ca6a84.entry.js.map +1 -0
  565. package/dist/ui-library/{p-d5633a29.entry.js → p-9337cdd6.entry.js} +2 -2
  566. package/dist/ui-library/p-9337cdd6.entry.js.map +1 -0
  567. package/dist/ui-library/p-9461417e.entry.js +2 -0
  568. package/dist/ui-library/p-9461417e.entry.js.map +1 -0
  569. package/dist/ui-library/p-a1d4f6cf.entry.js.map +1 -1
  570. package/dist/ui-library/{p-611e1978.entry.js → p-a844cb72.entry.js} +2 -2
  571. package/dist/ui-library/{p-611e1978.entry.js.map → p-a844cb72.entry.js.map} +1 -1
  572. package/dist/ui-library/p-afcbe9da.entry.js +2 -0
  573. package/dist/ui-library/p-afcbe9da.entry.js.map +1 -0
  574. package/dist/ui-library/{p-0d79b0c6.entry.js → p-b2bf4ac8.entry.js} +2 -2
  575. package/dist/ui-library/p-b2bf4ac8.entry.js.map +1 -0
  576. package/dist/ui-library/{p-90dc6af4.entry.js → p-b3bff992.entry.js} +2 -2
  577. package/dist/ui-library/p-b3bff992.entry.js.map +1 -0
  578. package/dist/ui-library/p-b4547fb5.entry.js +2 -0
  579. package/dist/ui-library/p-b4547fb5.entry.js.map +1 -0
  580. package/dist/ui-library/{p-4f8394d7.js → p-ba74863a.js} +2 -2
  581. package/dist/ui-library/p-ba74863a.js.map +1 -0
  582. package/dist/ui-library/p-bd8f8eef.entry.js +2 -0
  583. package/dist/ui-library/p-bd8f8eef.entry.js.map +1 -0
  584. package/dist/ui-library/p-c57f16af.entry.js +2 -0
  585. package/dist/ui-library/p-c57f16af.entry.js.map +1 -0
  586. package/dist/ui-library/p-c5cdba08.entry.js +2 -0
  587. package/dist/ui-library/p-c5cdba08.entry.js.map +1 -0
  588. package/dist/ui-library/p-c87810b0.entry.js +2 -0
  589. package/dist/ui-library/p-c87810b0.entry.js.map +1 -0
  590. package/dist/ui-library/{p-af793d04.entry.js → p-cdcde4cd.entry.js} +2 -2
  591. package/dist/ui-library/p-cdcde4cd.entry.js.map +1 -0
  592. package/dist/ui-library/p-d6798d35.entry.js +2 -0
  593. package/dist/ui-library/p-d6798d35.entry.js.map +1 -0
  594. package/dist/ui-library/p-d87a6f4d.js +2 -0
  595. package/dist/ui-library/p-d87a6f4d.js.map +1 -0
  596. package/dist/ui-library/p-dc3f5996.entry.js +2 -0
  597. package/dist/ui-library/p-dc3f5996.entry.js.map +1 -0
  598. package/dist/ui-library/p-dcd7c547.entry.js +2 -0
  599. package/dist/ui-library/p-dcd7c547.entry.js.map +1 -0
  600. package/dist/ui-library/p-e07b3f0c.entry.js +2 -0
  601. package/dist/ui-library/p-e07b3f0c.entry.js.map +1 -0
  602. package/dist/ui-library/{p-19364560.entry.js → p-e8feb81f.entry.js} +2 -2
  603. package/dist/ui-library/{p-19364560.entry.js.map → p-e8feb81f.entry.js.map} +1 -1
  604. package/dist/ui-library/p-ef3936e5.entry.js +2 -0
  605. package/dist/ui-library/p-ef3936e5.entry.js.map +1 -0
  606. package/dist/ui-library/p-f0dd77e1.entry.js +2 -0
  607. package/dist/ui-library/p-f0dd77e1.entry.js.map +1 -0
  608. package/dist/ui-library/ui-library.esm.js +1 -1
  609. package/dist/ui-library/ui-library.esm.js.map +1 -1
  610. package/package.json +14 -15
  611. package/dist/cjs/event-listeners-74715e62.js +0 -45
  612. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  613. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  614. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  615. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  616. package/dist/cjs/modal-48d42228.js.map +0 -1
  617. package/dist/cjs/popover-f743f62b.js.map +0 -1
  618. package/dist/cjs/six-form.cjs.entry.js +0 -231
  619. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  620. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  621. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  622. package/dist/cjs/slot-ad537f24.js.map +0 -1
  623. package/dist/collection/components/six-form/six-form.css +0 -11
  624. package/dist/collection/components/six-form/six-form.js +0 -419
  625. package/dist/collection/components/six-form/six-form.js.map +0 -1
  626. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  627. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  628. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  629. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  630. package/dist/collection/utils/as-array.js +0 -2
  631. package/dist/collection/utils/as-array.js.map +0 -1
  632. package/dist/collection/utils/matchers.js +0 -3
  633. package/dist/collection/utils/matchers.js.map +0 -1
  634. package/dist/collection/utils/testing.js +0 -39
  635. package/dist/collection/utils/testing.js.map +0 -1
  636. package/dist/components/six-form.d.ts +0 -11
  637. package/dist/components/six-form.js +0 -252
  638. package/dist/components/six-form.js.map +0 -1
  639. package/dist/esm/event-listeners-570a24ea.js +0 -43
  640. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  641. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  642. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  643. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  644. package/dist/esm/modal-5ebdc320.js.map +0 -1
  645. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  646. package/dist/esm/six-form.entry.js +0 -227
  647. package/dist/esm/six-form.entry.js.map +0 -1
  648. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  649. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  650. package/dist/esm/slot-6f3984c7.js.map +0 -1
  651. package/dist/types/components/six-form/six-form.d.ts +0 -69
  652. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  653. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  654. package/dist/types/utils/as-array.d.ts +0 -1
  655. package/dist/types/utils/matchers.d.ts +0 -2
  656. package/dist/types/utils/popper.d.ts +0 -33
  657. package/dist/types/utils/testing.d.ts +0 -2
  658. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  659. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  660. package/dist/ui-library/p-0786fa7c.js +0 -2
  661. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  662. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  663. package/dist/ui-library/p-14f20bbb.entry.js +0 -2
  664. package/dist/ui-library/p-14f20bbb.entry.js.map +0 -1
  665. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  666. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  667. package/dist/ui-library/p-18ea0c56.js +0 -2
  668. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  669. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  670. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  671. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  672. package/dist/ui-library/p-308261c4.entry.js +0 -2
  673. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  674. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  675. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  676. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  677. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  678. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  679. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  680. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  681. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  682. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  683. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  684. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  685. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  686. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  687. package/dist/ui-library/p-79eee01b.js +0 -2
  688. package/dist/ui-library/p-79eee01b.js.map +0 -1
  689. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  690. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  691. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  692. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  693. package/dist/ui-library/p-90824648.entry.js +0 -2
  694. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  695. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  696. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  697. package/dist/ui-library/p-9a860acc.js +0 -2
  698. package/dist/ui-library/p-9a860acc.js.map +0 -1
  699. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  700. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  701. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  702. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  703. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  704. package/dist/ui-library/p-b1e66136.js +0 -2
  705. package/dist/ui-library/p-b1e66136.js.map +0 -1
  706. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  707. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  708. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  709. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  710. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  711. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  712. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  713. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  714. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  715. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  716. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  717. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  718. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  719. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  720. package/dist/ui-library/p-d12c6092.js +0 -2
  721. package/dist/ui-library/p-d12c6092.js.map +0 -1
  722. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  723. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  724. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  725. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  726. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  727. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  728. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  729. package/dist/ui-library/p-f4938771.entry.js +0 -2
  730. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  731. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  732. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  733. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  734. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  735. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  736. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  737. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  738. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"six-tab-group.js","mappings":"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","names":["SixTabGroup"],"sources":["./src/components/six-tab-group/six-tab-group.scss?tag=six-tab-group&encapsulation=shadow","./src/components/six-tab-group/six-tab-group.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hide-scrollbar';\n\n/**\n * @prop --tabs-border-color: The color of the border that separates tabs.\n */\n:host {\n --tabs-border-color: var(--six-tab-border-color);\n display: block;\n}\n\n.tab-group {\n display: flex;\n border: solid 1px transparent;\n border-radius: 0;\n\n .tab-group__tabs {\n display: flex;\n position: relative;\n }\n\n .tab-group__active-tab-indicator {\n position: absolute;\n transition: var(--six-transition-fast) transform ease, var(--six-transition-fast) width ease;\n }\n\n // Remove the focus ring when the user isn't interacting with a keyboard\n &:not(.focus-visible) ::slotted(six-tab) {\n --focus-ring: none;\n }\n}\n\n.tab-group--has-scroll-controls .tab-group__nav-container {\n position: relative;\n padding: 0 var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button--left {\n left: 0;\n}\n\n.tab-group__scroll-button--right {\n right: 0;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Top\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--top {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-bottom: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n bottom: -2px;\n border-bottom: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n order: 2;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Bottom\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--bottom {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-top: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n top: calc(-1 * 2px);\n border-top: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n order: 1;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Left\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--left {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-right: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n right: calc(-1 * 2px);\n border-right: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 2;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Right\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--right {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-left: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n left: calc(-1 * 2px);\n border-left: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 1;\n }\n}\n","import { Component, Element, Event, EventEmitter, Method, Prop, State, Watch, h } from '@stencil/core';\nimport { getOffset } from '../../utils/offset';\nimport { scrollIntoView } from '../../utils/scroll';\nimport { focusVisible } from '../../utils/focus-visible';\n\nexport interface SixTabShowPayload {\n name: string;\n}\n\nexport interface SixTabHidePayload {\n name: string;\n}\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 nav - Used for grouping tabs in the tab group.\n * @slot - Used for grouping tab panels in the tab group.\n *\n * @part base - The component's base wrapper.\n * @part nav - The tab group navigation container.\n * @part tabs - The container that wraps the slotted tabs.\n * @part active-tab-indicator - An element that displays the currently selected tab. This is a child of the tabs container.\n * @part body - The tab group body where tab panels are slotted in.\n * @part scroll-button - The previous and next scroll buttons that appear when tabs are scrollable.\n */\n@Component({\n tag: 'six-tab-group',\n styleUrl: 'six-tab-group.scss',\n shadow: true,\n})\nexport class SixTabGroup {\n activeTab: HTMLSixTabElement;\n activeTabIndicator: HTMLElement;\n body: HTMLElement;\n mutationObserver: MutationObserver;\n nav: HTMLElement;\n resizeObserver: ResizeObserver;\n tabGroup: HTMLElement;\n tabs: HTMLElement;\n\n @Element() host: HTMLSixTabGroupElement;\n\n @State() hasScrollControls = false;\n\n /** The placement of the tabs. */\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @Prop() noScrollControls = false;\n\n @Watch('placement')\n handlePlacementChange() {\n this.syncActiveTabIndicator();\n }\n\n @Watch('noScrollControls')\n handleNoScrollControlsChange() {\n this.updateScrollControls();\n }\n\n /** Emitted when a tab is shown. */\n @Event({ eventName: 'six-tab-show' }) sixTabShow: EventEmitter<SixTabShowPayload>;\n\n /** Emitted when a tab is hidden. */\n @Event({ eventName: 'six-tab-hide' }) sixTabHide: EventEmitter<SixTabHidePayload>;\n\n connectedCallback() {\n this.handleClick = this.handleClick.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleScrollLeft = this.handleScrollLeft.bind(this);\n this.handleScrollRight = this.handleScrollRight.bind(this);\n this.syncActiveTabIndicator = this.syncActiveTabIndicator.bind(this);\n }\n\n componentDidLoad() {\n // Set initial tab state when the tabs first become visible\n const observer = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);\n observer.unobserve(entries[0].target);\n }\n });\n observer.observe(this.host);\n\n focusVisible.observe(this.tabGroup);\n\n this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());\n this.resizeObserver.observe(this.nav);\n requestAnimationFrame(() => this.updateScrollControls());\n\n // Update aria labels if the DOM changes\n this.mutationObserver = new MutationObserver((mutations) => {\n if (\n mutations.some((mutation) => {\n return !['aria-labelledby', 'aria-controls'].includes(mutation.attributeName);\n })\n ) {\n setTimeout(() => this.setAriaLabels());\n }\n });\n this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });\n }\n\n disconnectedCallback() {\n this.mutationObserver.disconnect();\n focusVisible.unobserve(this.tabGroup);\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n @Method()\n async show(panel: string) {\n const tabs = this.getAllTabs();\n const tab = tabs.find((el) => el.panel === panel);\n\n if (tab) {\n this.setActiveTab(tab);\n }\n }\n\n getAllTabs(includeDisabled = false) {\n const slot = this.tabs.querySelector('slot');\n\n return [...slot.assignedElements()].filter((el: any) => {\n return includeDisabled\n ? el.tagName.toLowerCase() === 'six-tab'\n : el.tagName.toLowerCase() === 'six-tab' && !el.disabled;\n }) as [HTMLSixTabElement];\n }\n\n getAllPanels() {\n const slot = this.body.querySelector('slot');\n return [...slot.assignedElements()].filter((el: any) => el.tagName.toLowerCase() === 'six-tab-panel') as [\n HTMLSixTabPanelElement\n ];\n }\n\n getActiveTab() {\n return this.getAllTabs().find((el) => el.active);\n }\n\n handleClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n if (tab) {\n this.setActiveTab(tab);\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab) {\n this.setActiveTab(tab);\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = document.activeElement as any;\n\n if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {\n const tabs = this.getAllTabs();\n let index = tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = tabs.length - 1;\n } else if (event.key === 'ArrowLeft') {\n index = Math.max(0, index - 1);\n } else if (event.key === 'ArrowRight') {\n index = Math.min(tabs.length - 1, index + 1);\n }\n\n tabs[index].setFocus({ preventScroll: true });\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n }\n\n handleScrollLeft() {\n this.nav.scroll({\n left: this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth',\n });\n }\n\n handleScrollRight() {\n this.nav.scroll({\n left: this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth',\n });\n }\n\n updateScrollControls() {\n this.hasScrollControls = this.noScrollControls\n ? false\n : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n\n setActiveTab(tab: HTMLSixTabElement, emitEvents = true) {\n if (tab && tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync tabs and panels\n this.getAllTabs().map((el) => (el.active = el === this.activeTab));\n this.getAllPanels().map((el) => (el.active = el.name === this.activeTab.panel));\n this.syncActiveTabIndicator();\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal');\n }\n\n // Emit events\n if (emitEvents) {\n if (previousTab) {\n this.sixTabHide.emit({ name: previousTab.panel });\n }\n\n this.sixTabShow.emit({ name: this.activeTab.panel });\n }\n }\n }\n\n setAriaLabels() {\n const tabs = this.getAllTabs();\n const panels = this.getAllPanels();\n\n // Link each tab with its corresponding panel\n tabs.map((tab) => {\n const panel = panels.find((el) => el.name === tab.panel);\n if (panel) {\n tab.setAttribute('aria-controls', panel.getAttribute('id'));\n panel.setAttribute('aria-labelledby', tab.getAttribute('id'));\n }\n });\n }\n\n syncActiveTabIndicator() {\n const tab = this.getActiveTab();\n\n if (tab) {\n this.activeTabIndicator.style.display = 'block';\n } else {\n this.activeTabIndicator.style.display = 'none';\n return;\n }\n\n const width = tab.clientWidth;\n const height = tab.clientHeight;\n const offset = getOffset(tab, this.nav);\n const offsetTop = offset.top + this.nav.scrollTop;\n const offsetLeft = offset.left + this.nav.scrollLeft;\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.activeTabIndicator.style.width = `${width}px`;\n this.activeTabIndicator.style.height = null;\n this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;\n break;\n\n case 'left':\n case 'right':\n this.activeTabIndicator.style.width = null;\n this.activeTabIndicator.style.height = `${height}px`;\n this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;\n break;\n }\n }\n\n render() {\n return (\n <div\n part=\"base\"\n ref={(el) => (this.tabGroup = el)}\n class={{\n 'tab-group': true,\n\n // Placements\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--left': this.placement === 'left',\n 'tab-group--right': this.placement === 'right',\n\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\">\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--left\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_left\"\n onClick={this.handleScrollLeft}\n />\n )}\n <div ref={(el) => (this.nav = el)} key=\"nav\" part=\"nav\" class=\"tab-group__nav\">\n <div ref={(el) => (this.tabs = el)} part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div\n ref={(el) => (this.activeTabIndicator = el)}\n part=\"active-tab-indicator\"\n class=\"tab-group__active-tab-indicator\"\n />\n <slot name=\"nav\" onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--right\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_right\"\n onClick={this.handleScrollRight}\n />\n )}\n </div>\n\n <div ref={(el) => (this.body = el)} part=\"body\" class=\"tab-group__body\">\n <slot onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-tab-group.js","mappings":"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","names":["SixTabGroup"],"sources":["./src/components/six-tab-group/six-tab-group.scss?tag=six-tab-group&encapsulation=shadow","./src/components/six-tab-group/six-tab-group.tsx"],"sourcesContent":["@import 'src/global/component';\n@import 'src/global/mixins/hide-scrollbar';\n\n/**\n * @prop --tabs-border-color: The color of the border that separates tabs.\n */\n:host {\n --tabs-border-color: var(--six-tab-border-color);\n display: block;\n}\n\n.tab-group {\n display: flex;\n border: solid 1px transparent;\n border-radius: 0;\n\n .tab-group__tabs {\n display: flex;\n position: relative;\n }\n\n .tab-group__active-tab-indicator {\n position: absolute;\n transition: var(--six-transition-fast) transform ease, var(--six-transition-fast) width ease;\n }\n\n // Remove the focus ring when the user isn't interacting with a keyboard\n &:not(.focus-visible) ::slotted(six-tab) {\n --focus-ring: none;\n }\n}\n\n.tab-group--has-scroll-controls .tab-group__nav-container {\n position: relative;\n padding: 0 var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button {\n display: flex;\n align-items: center;\n justify-content: center;\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--six-spacing-x-large);\n}\n\n.tab-group__scroll-button--left {\n left: 0;\n}\n\n.tab-group__scroll-button--right {\n right: 0;\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Top\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--top {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-bottom: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n bottom: -2px;\n border-bottom: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n order: 2;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Bottom\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--bottom {\n flex-direction: column;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__nav {\n display: flex;\n overflow-x: auto;\n @include hide-scrollbar();\n }\n\n .tab-group__tabs {\n flex: 1 1 auto;\n position: relative;\n flex-direction: row;\n border-top: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n top: calc(-1 * 2px);\n border-top: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n order: 1;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Left\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--left {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 1;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-right: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n right: calc(-1 * 2px);\n border-right: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 2;\n }\n}\n\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n// Right\n////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n\n.tab-group--right {\n flex-direction: row;\n\n .tab-group__nav-container {\n order: 2;\n }\n\n .tab-group__tabs {\n flex: 0 0 auto;\n flex-direction: column;\n border-left: solid var(--six-tab-border-width) var(--tabs-border-color);\n }\n\n .tab-group__active-tab-indicator {\n left: calc(-1 * 2px);\n border-left: solid var(--six-tab-border-width-active) var(--six-tab-border-color-active);\n }\n\n .tab-group__body {\n flex: 1 1 auto;\n order: 1;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Method, Prop, State, Watch } from '@stencil/core';\nimport { getOffset } from '../../utils/offset';\nimport { scrollIntoView } from '../../utils/scroll';\nimport { focusVisible } from '../../utils/focus-visible';\n\nexport interface SixTabShowPayload {\n name: string;\n}\n\nexport interface SixTabHidePayload {\n name: string;\n}\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 nav - Used for grouping tabs in the tab group.\n * @slot - Used for grouping tab panels in the tab group.\n *\n * @part base - The component's base wrapper.\n * @part nav - The tab group navigation container.\n * @part tabs - The container that wraps the slotted tabs.\n * @part active-tab-indicator - An element that displays the currently selected tab. This is a child of the tab's container.\n * @part body - The tab group body where tab panels are slotted in.\n * @part scroll-button - The previous and next scroll buttons that appear when tabs are scrollable.\n */\n@Component({\n tag: 'six-tab-group',\n styleUrl: 'six-tab-group.scss',\n shadow: true,\n})\nexport class SixTabGroup {\n private activeTab?: HTMLSixTabElement;\n private activeTabIndicator?: HTMLElement;\n private body?: HTMLElement;\n private mutationObserver?: MutationObserver;\n private nav?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n private tabGroup?: HTMLElement;\n private tabs?: HTMLElement;\n\n @Element() host!: HTMLSixTabGroupElement;\n\n @State() hasScrollControls = false;\n\n /** The placement of the tabs. */\n @Prop() placement: 'top' | 'bottom' | 'left' | 'right' = 'top';\n\n /** Disables the scroll arrows that appear when tabs overflow. */\n @Prop() noScrollControls = false;\n\n @Watch('placement')\n handlePlacementChange() {\n this.syncActiveTabIndicator();\n }\n\n @Watch('noScrollControls')\n handleNoScrollControlsChange() {\n this.updateScrollControls();\n }\n\n /** Emitted when a tab is shown. */\n @Event({ eventName: 'six-tab-show' }) sixTabShow!: EventEmitter<SixTabShowPayload>;\n\n /** Emitted when a tab is hidden. */\n @Event({ eventName: 'six-tab-hide' }) sixTabHide!: EventEmitter<SixTabHidePayload>;\n\n componentDidLoad() {\n if (this.tabGroup == null || this.nav == null) return;\n\n // Set initial tab state when the tabs first become visible\n const observer = new IntersectionObserver((entries, observer) => {\n if (entries[0].intersectionRatio > 0) {\n this.setAriaLabels();\n this.setActiveTab(this.getActiveTab() || this.getAllTabs()[0], false);\n observer.unobserve(entries[0].target);\n }\n });\n observer.observe(this.host);\n\n focusVisible.observe(this.tabGroup);\n\n this.resizeObserver = new ResizeObserver(() => this.updateScrollControls());\n this.resizeObserver.observe(this.nav);\n requestAnimationFrame(() => this.updateScrollControls());\n\n // Update aria labels if the DOM changes\n this.mutationObserver = new MutationObserver((mutations) => {\n if (\n mutations.some((mutation) => {\n return !['aria-labelledby', 'aria-controls'].includes(mutation.attributeName ?? '');\n })\n ) {\n setTimeout(() => this.setAriaLabels());\n }\n });\n this.mutationObserver.observe(this.host, { attributes: true, childList: true, subtree: true });\n }\n\n disconnectedCallback() {\n if (this.mutationObserver == null || this.tabGroup == null || this.nav == null || this.resizeObserver == null) {\n return;\n }\n\n this.mutationObserver.disconnect();\n focusVisible.unobserve(this.tabGroup);\n this.resizeObserver.unobserve(this.nav);\n }\n\n /** Shows the specified tab panel. */\n @Method()\n async show(panel: string) {\n const tabs = this.getAllTabs();\n const tab = tabs.find((el) => el.panel === panel);\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n }\n\n private getAllTabs(includeDisabled = false): HTMLSixTabElement[] {\n const slot = this.tabs?.querySelector('slot');\n if (slot == null) return [];\n\n return [...slot.assignedElements()].filter((el: Element) => {\n return includeDisabled\n ? el.tagName.toLowerCase() === 'six-tab'\n : el.tagName.toLowerCase() === 'six-tab' && !(el as HTMLSixTabElement).disabled;\n }) as [HTMLSixTabElement];\n }\n\n private getAllPanels(): HTMLSixTabPanelElement[] {\n const slot = this.body?.querySelector('slot');\n if (slot == null) return [];\n return [...slot.assignedElements()].filter((el: Element) => el.tagName.toLowerCase() === 'six-tab-panel') as [\n HTMLSixTabPanelElement\n ];\n }\n\n private getActiveTab() {\n return this.getAllTabs().find((el) => el.active);\n }\n\n private handleClick = (event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n if (tab != null) {\n this.setActiveTab(tab);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.nav == null) return;\n\n const target = event.target as HTMLElement;\n const tab = target.closest('six-tab');\n const tabGroup = tab?.closest('six-tab-group');\n\n // Ensure the target tab is in this tab group\n if (tabGroup !== this.host) {\n return false;\n }\n\n // Activate a tab\n if (['Enter', ' '].includes(event.key)) {\n if (tab != null) {\n this.setActiveTab(tab);\n event.preventDefault();\n }\n }\n\n // Move focus left or right\n if (['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const activeEl = document.activeElement as HTMLSixTabElement;\n\n if (activeEl && activeEl.tagName.toLowerCase() === 'six-tab') {\n const tabs = this.getAllTabs();\n let index = tabs.indexOf(activeEl);\n\n if (event.key === 'Home') {\n index = 0;\n } else if (event.key === 'End') {\n index = tabs.length - 1;\n } else if (event.key === 'ArrowLeft') {\n index = Math.max(0, index - 1);\n } else if (event.key === 'ArrowRight') {\n index = Math.min(tabs.length - 1, index + 1);\n }\n\n tabs[index].setFocus({ preventScroll: true });\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(tabs[index], this.nav, 'horizontal');\n }\n\n event.preventDefault();\n }\n }\n };\n\n private handleScrollLeft = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft - this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private handleScrollRight = () => {\n if (this.nav == null) return;\n\n this.nav.scroll({\n left: this.nav.scrollLeft + this.nav.clientWidth,\n behavior: 'smooth',\n });\n };\n\n private updateScrollControls() {\n if (this.nav == null) return;\n\n this.hasScrollControls = this.noScrollControls\n ? false\n : ['top', 'bottom'].includes(this.placement) && this.nav.scrollWidth > this.nav.clientWidth;\n }\n\n private setActiveTab(tab: HTMLSixTabElement, emitEvents = true) {\n if (this.nav == null) return;\n\n if (tab != null && tab !== this.activeTab && !tab.disabled) {\n const previousTab = this.activeTab;\n this.activeTab = tab;\n\n // Sync tabs and panels\n this.getAllTabs().map((el) => (el.active = el === this.activeTab));\n this.getAllPanels().map((el) => (el.active = el.name === this.activeTab?.panel));\n this.syncActiveTabIndicator();\n\n if (['top', 'bottom'].includes(this.placement)) {\n scrollIntoView(this.activeTab, this.nav, 'horizontal');\n }\n\n // Emit events\n if (emitEvents) {\n if (previousTab != null) {\n this.sixTabHide.emit({ name: previousTab.panel });\n }\n\n this.sixTabShow.emit({ name: this.activeTab.panel });\n }\n }\n }\n\n private setAriaLabels() {\n const tabs = this.getAllTabs();\n const panels = this.getAllPanels();\n\n // Link each tab with its corresponding panel\n tabs.map((tab) => {\n const panel = panels.find((el) => el.name === tab.panel);\n if (panel != null) {\n tab.setAttribute('aria-controls', panel.getAttribute('id') ?? '');\n panel.setAttribute('aria-labelledby', tab.getAttribute('id') ?? '');\n }\n });\n }\n\n private syncActiveTabIndicator = () => {\n if (this.activeTabIndicator == null || this.nav == null) return;\n\n const tab = this.getActiveTab();\n\n if (tab != null) {\n this.activeTabIndicator.style.display = 'block';\n } else {\n this.activeTabIndicator.style.display = 'none';\n return;\n }\n\n const width = tab.clientWidth;\n const height = tab.clientHeight;\n const offset = getOffset(tab, this.nav);\n const offsetTop = offset.top + this.nav.scrollTop;\n const offsetLeft = offset.left + this.nav.scrollLeft;\n\n switch (this.placement) {\n case 'top':\n case 'bottom':\n this.activeTabIndicator.style.width = `${width}px`;\n this.activeTabIndicator.style.height = '';\n this.activeTabIndicator.style.transform = `translateX(${offsetLeft}px)`;\n break;\n\n case 'left':\n case 'right':\n this.activeTabIndicator.style.width = '';\n this.activeTabIndicator.style.height = `${height}px`;\n this.activeTabIndicator.style.transform = `translateY(${offsetTop}px)`;\n break;\n }\n };\n\n render() {\n return (\n <div\n part=\"base\"\n ref={(el) => (this.tabGroup = el)}\n class={{\n 'tab-group': true,\n\n // Placements\n 'tab-group--top': this.placement === 'top',\n 'tab-group--bottom': this.placement === 'bottom',\n 'tab-group--left': this.placement === 'left',\n 'tab-group--right': this.placement === 'right',\n\n 'tab-group--has-scroll-controls': this.hasScrollControls,\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n >\n <div class=\"tab-group__nav-container\">\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--left\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_left\"\n onClick={this.handleScrollLeft}\n />\n )}\n <div ref={(el) => (this.nav = el)} key=\"nav\" part=\"nav\" class=\"tab-group__nav\">\n <div ref={(el) => (this.tabs = el)} part=\"tabs\" class=\"tab-group__tabs\" role=\"tablist\">\n <div\n ref={(el) => (this.activeTabIndicator = el)}\n part=\"active-tab-indicator\"\n class=\"tab-group__active-tab-indicator\"\n />\n <slot name=\"nav\" onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n {this.hasScrollControls && (\n <six-icon-button\n class=\"tab-group__scroll-button tab-group__scroll-button--right\"\n exportparts=\"base:scroll-button\"\n name=\"chevron_right\"\n onClick={this.handleScrollRight}\n />\n )}\n </div>\n\n <div ref={(el) => (this.body = el)} part=\"body\" class=\"tab-group__body\">\n <slot onSlotchange={this.syncActiveTabIndicator} />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -14,7 +14,7 @@ const SixTabPanel$1 = /*@__PURE__*/ proxyCustomElement(class SixTabPanel extends
14
14
  }
15
15
  render() {
16
16
  return (
17
- // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels
17
+ // If the user didn't provide an ID, we'll set one, so we can link tabs and tab panels with aria labels
18
18
  h(Host, { id: this.host.id || this.componentId, style: { display: this.active ? 'block' : 'none' } }, h("div", { part: "base", class: "tab-panel", role: "tabpanel", "aria-selected": this.active ? 'true' : 'false', "aria-hidden": this.active ? 'false' : 'true' }, h("slot", null))));
19
19
  }
20
20
  get host() { return this; }
@@ -1 +1 @@
1
- {"file":"six-tab-panel.js","mappings":";;AAAA,MAAM,cAAc,GAAG,yNAAyN;;ACEhP,IAAI,EAAE,GAAG,CAAC,CAAC;MAkBEA,aAAW;;;;;IACtB,gBAAW,GAAG,aAAa,EAAE,EAAE,EAAE,CAAC;gBAKnB,EAAE;kBAGiB,KAAK;;EAEvC,MAAM;IACJ;;IAEE,EAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,IAC5F,WACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,iBAChC,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,IAE3C,eAAQ,CACJ,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SixTabPanel"],"sources":["./src/components/six-tab-panel/six-tab-panel.scss?tag=six-tab-panel&encapsulation=shadow","./src/components/six-tab-panel/six-tab-panel.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n font-family: var(--six-font-family);\n}\n\n.tab-panel {\n border: solid 1px transparent;\n padding: 20px 20px;\n}\n","import { Component, Element, Host, Prop, h } from '@stencil/core';\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 tab panel's content.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-tab-panel',\n styleUrl: 'six-tab-panel.scss',\n shadow: true,\n})\nexport class SixTabPanel {\n componentId = `tab-panel-${++id}`;\n\n @Element() host: HTMLSixTabPanelElement;\n\n /** The tab panel's name. */\n @Prop() name = '';\n\n /** When true, the tab panel will be shown. */\n @Prop({ reflect: true }) active = false;\n\n render() {\n return (\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n <Host id={this.host.id || this.componentId} style={{ display: this.active ? 'block' : 'none' }}>\n <div\n part=\"base\"\n class=\"tab-panel\"\n role=\"tabpanel\"\n aria-selected={this.active ? 'true' : 'false'}\n aria-hidden={this.active ? 'false' : 'true'}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-tab-panel.js","mappings":";;AAAA,MAAM,cAAc,GAAG,yNAAyN;;ACEhP,IAAI,EAAE,GAAG,CAAC,CAAC;MAkBEA,aAAW;;;;;IACd,gBAAW,GAAG,aAAa,EAAE,EAAE,EAAE,CAAC;gBAK3B,EAAE;kBAGiB,KAAK;;EAEvC,MAAM;IACJ;;IAEE,EAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,IAC5F,WACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,UAAU,mBACA,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,iBAChC,IAAI,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,IAE3C,eAAQ,CACJ,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SixTabPanel"],"sources":["./src/components/six-tab-panel/six-tab-panel.scss?tag=six-tab-panel&encapsulation=shadow","./src/components/six-tab-panel/six-tab-panel.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: block;\n font-family: var(--six-font-family);\n}\n\n.tab-panel {\n border: solid 1px transparent;\n padding: 20px 20px;\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\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 tab panel's content.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-tab-panel',\n styleUrl: 'six-tab-panel.scss',\n shadow: true,\n})\nexport class SixTabPanel {\n private componentId = `tab-panel-${++id}`;\n\n @Element() host!: HTMLSixTabPanelElement;\n\n /** The tab panel's name. */\n @Prop() name = '';\n\n /** When true, the tab panel will be shown. */\n @Prop({ reflect: true }) active = false;\n\n render() {\n return (\n // If the user didn't provide an ID, we'll set one, so we can link tabs and tab panels with aria labels\n <Host id={this.host.id || this.componentId} style={{ display: this.active ? 'block' : 'none' }}>\n <div\n part=\"base\"\n class=\"tab-panel\"\n role=\"tabpanel\"\n aria-selected={this.active ? 'true' : 'false'}\n aria-hidden={this.active ? 'false' : 'true'}\n >\n <slot />\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -22,11 +22,13 @@ const SixTab$1 = /*@__PURE__*/ proxyCustomElement(class SixTab extends HTMLEleme
22
22
  }
23
23
  /** Sets focus to the tab. */
24
24
  async setFocus(options) {
25
- this.tab.focus(options);
25
+ var _a;
26
+ (_a = this.tab) === null || _a === void 0 ? void 0 : _a.focus(options);
26
27
  }
27
28
  /** Removes focus from the tab. */
28
29
  async removeFocus() {
29
- this.tab.blur();
30
+ var _a;
31
+ (_a = this.tab) === null || _a === void 0 ? void 0 : _a.blur();
30
32
  }
31
33
  handleCloseClick() {
32
34
  this.sixClose.emit();
@@ -1 +1 @@
1
- {"file":"six-tab.js","mappings":";;;;AAAA,MAAM,SAAS,GAAG,ikCAAikC;;ACGnlC,IAAI,EAAE,GAAG,CAAC,CAAC;MAmBEA,QAAM;;;;;;IACjB,gBAAW,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC;iBAMK,EAAE;kBAGD,KAAK;oBAGpB,KAAK;oBAGY,KAAK;;EAKzC,iBAAiB;IACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAC1D;;EAID,MAAM,QAAQ,CAAC,OAAsB;IACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;GACzB;;EAID,MAAM,WAAW;IACf,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;GACjB;EAED,gBAAgB;IACd,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;GACtB;EAED,MAAM;IACJ;;IAEE,EAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,IACxC,WACE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAC5B,KAAK,EAAE;QACL,GAAG,EAAE,IAAI;;QAGT,aAAa,EAAE,IAAI,CAAC,MAAM;QAC1B,eAAe,EAAE,IAAI,CAAC,QAAQ;QAC9B,eAAe,EAAE,IAAI,CAAC,QAAQ;OAC/B,EACD,IAAI,EAAC,KAAK,mBACK,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,mBAChC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,IAEpD,eAAQ,EACP,IAAI,CAAC,QAAQ,KACZ,uBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAC,mBAAmB,EACzB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAE,CAAC,CAAC,iBACA,MAAM,GAClB,CACH,CACG,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SixTab"],"sources":["./src/components/six-tab/six-tab.scss?tag=six-tab&encapsulation=shadow","./src/components/six-tab/six-tab.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: inline-block;\n}\n\n.tab {\n display: inline-flex;\n align-items: center;\n font-family: var(--six-font-family);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-semibold);\n border-radius: 4px;\n color: var(--six-tab-color);\n padding: var(--six-spacing-medium) var(--six-spacing-large);\n white-space: nowrap;\n user-select: none;\n cursor: pointer;\n transition: var(--six-transition-fast) box-shadow, var(--six-transition-fast) color;\n\n &:focus {\n outline: none;\n }\n\n &:focus:not(.tab--disabled) {\n color: var(--six-tab-color-active);\n }\n\n &.tab--active:not(.tab--disabled) {\n color: var(--six-tab-color-active);\n font-weight: var(--six-font-weight-bold);\n }\n\n &.tab--closable {\n padding-right: var(--six-spacing-small);\n }\n\n &.tab--disabled {\n color: var(--six-tab-color-disabled);\n cursor: not-allowed;\n }\n\n &:hover:not(.tab--disabled) {\n color: var(--six-tab-color-hover);\n }\n}\n\n.tab__close-button {\n font-size: var(--six-font-size-large);\n margin-left: var(--six-spacing-xx-small);\n\n &::part(base) {\n padding: var(--six-spacing-xxx-small);\n }\n}\n","import { Component, Element, Event, EventEmitter, Host, Method, Prop, h } 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 tab's label.\n *\n * @part base - The component's base wrapper.\n * @part close-button - The close button, which is the icon button's base wrapper.\n */\n\n@Component({\n tag: 'six-tab',\n styleUrl: 'six-tab.scss',\n shadow: true,\n})\nexport class SixTab {\n componentId = `tab-${++id}`;\n tab: HTMLElement;\n\n @Element() host: HTMLSixTabElement;\n\n /** The name of the tab panel the tab will control. The panel must be located in the same tab group. */\n @Prop({ reflect: true }) panel = '';\n\n /** Set to true to draw the tab in an active state. */\n @Prop({ reflect: true }) active = false;\n\n /** When true, the tab will be rendered with a close icon. */\n @Prop() closable = false;\n\n /** Set to true to draw the tab in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Emitted when the tab is closable and the close button is activated. */\n @Event({ eventName: 'six-tab-close' }) sixClose: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleCloseClick = this.handleCloseClick.bind(this);\n }\n\n /** Sets focus to the tab. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.tab.focus(options);\n }\n\n /** Removes focus from the tab. */\n @Method()\n async removeFocus() {\n this.tab.blur();\n }\n\n handleCloseClick() {\n this.sixClose.emit();\n }\n\n render() {\n return (\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n <Host id={this.host.id || this.componentId}>\n <div\n part=\"base\"\n ref={(el) => (this.tab = el)}\n class={{\n tab: true,\n\n // States\n 'tab--active': this.active,\n 'tab--closable': this.closable,\n 'tab--disabled': this.disabled,\n }}\n role=\"tab\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-selected={this.active ? 'true' : 'false'}\n tabindex={this.disabled || !this.active ? '-1' : '0'}\n >\n <slot />\n {this.closable && (\n <six-icon-button\n name=\"close\"\n size=\"xSmall\"\n exportparts=\"base:close-button\"\n class=\"tab__close-button\"\n onClick={this.handleCloseClick}\n tabIndex={-1}\n aria-hidden=\"true\"\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-tab.js","mappings":";;;;AAAA,MAAM,SAAS,GAAG,ikCAAikC;;ACGnlC,IAAI,EAAE,GAAG,CAAC,CAAC;MAmBEA,QAAM;;;;;;IACT,gBAAW,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC;iBAMH,EAAE;kBAGD,KAAK;oBAGpB,KAAK;oBAGY,KAAK;;EAKzC,iBAAiB;IACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAC1D;;EAID,MAAM,QAAQ,CAAC,OAAsB;;IACnC,MAAA,IAAI,CAAC,GAAG,0CAAE,KAAK,CAAC,OAAO,CAAC,CAAC;GAC1B;;EAID,MAAM,WAAW;;IACf,MAAA,IAAI,CAAC,GAAG,0CAAE,IAAI,EAAE,CAAC;GAClB;EAEO,gBAAgB;IACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;GACtB;EAED,MAAM;IACJ;;IAEE,EAAC,IAAI,IAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,IACxC,WACE,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAC5B,KAAK,EAAE;QACL,GAAG,EAAE,IAAI;;QAGT,aAAa,EAAE,IAAI,CAAC,MAAM;QAC1B,eAAe,EAAE,IAAI,CAAC,QAAQ;QAC9B,eAAe,EAAE,IAAI,CAAC,QAAQ;OAC/B,EACD,IAAI,EAAC,KAAK,mBACK,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,mBAChC,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,EAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,GAAG,IAEpD,eAAQ,EACP,IAAI,CAAC,QAAQ,KACZ,uBACE,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,QAAQ,EACb,WAAW,EAAC,mBAAmB,EAC/B,KAAK,EAAC,mBAAmB,EACzB,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,QAAQ,EAAE,CAAC,CAAC,iBACA,MAAM,GAClB,CACH,CACG,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SixTab"],"sources":["./src/components/six-tab/six-tab.scss?tag=six-tab&encapsulation=shadow","./src/components/six-tab/six-tab.tsx"],"sourcesContent":["@import 'src/global/component';\n\n:host {\n display: inline-block;\n}\n\n.tab {\n display: inline-flex;\n align-items: center;\n font-family: var(--six-font-family);\n font-size: var(--six-font-size-small);\n font-weight: var(--six-font-weight-semibold);\n border-radius: 4px;\n color: var(--six-tab-color);\n padding: var(--six-spacing-medium) var(--six-spacing-large);\n white-space: nowrap;\n user-select: none;\n cursor: pointer;\n transition: var(--six-transition-fast) box-shadow, var(--six-transition-fast) color;\n\n &:focus {\n outline: none;\n }\n\n &:focus:not(.tab--disabled) {\n color: var(--six-tab-color-active);\n }\n\n &.tab--active:not(.tab--disabled) {\n color: var(--six-tab-color-active);\n font-weight: var(--six-font-weight-bold);\n }\n\n &.tab--closable {\n padding-right: var(--six-spacing-small);\n }\n\n &.tab--disabled {\n color: var(--six-tab-color-disabled);\n cursor: not-allowed;\n }\n\n &:hover:not(.tab--disabled) {\n color: var(--six-tab-color-hover);\n }\n}\n\n.tab__close-button {\n font-size: var(--six-font-size-large);\n margin-left: var(--six-spacing-xx-small);\n\n &::part(base) {\n padding: var(--six-spacing-xxx-small);\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop } 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 tab's label.\n *\n * @part base - The component's base wrapper.\n * @part close-button - The close button, which is the icon button's base wrapper.\n */\n\n@Component({\n tag: 'six-tab',\n styleUrl: 'six-tab.scss',\n shadow: true,\n})\nexport class SixTab {\n private componentId = `tab-${++id}`;\n private tab?: HTMLElement;\n\n @Element() host!: HTMLSixTabElement;\n\n /** The name of the tab panel the tab will control. The panel must be located in the same tab group. */\n @Prop({ reflect: true }) panel = '';\n\n /** Set to true to draw the tab in an active state. */\n @Prop({ reflect: true }) active = false;\n\n /** When true, the tab will be rendered with a close icon. */\n @Prop() closable = false;\n\n /** Set to true to draw the tab in a disabled state. */\n @Prop({ reflect: true }) disabled = false;\n\n /** Emitted when the tab is closable and the close button is activated. */\n @Event({ eventName: 'six-tab-close' }) sixClose!: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleCloseClick = this.handleCloseClick.bind(this);\n }\n\n /** Sets focus to the tab. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.tab?.focus(options);\n }\n\n /** Removes focus from the tab. */\n @Method()\n async removeFocus() {\n this.tab?.blur();\n }\n\n private handleCloseClick() {\n this.sixClose.emit();\n }\n\n render() {\n return (\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n <Host id={this.host.id || this.componentId}>\n <div\n part=\"base\"\n ref={(el) => (this.tab = el)}\n class={{\n tab: true,\n\n // States\n 'tab--active': this.active,\n 'tab--closable': this.closable,\n 'tab--disabled': this.disabled,\n }}\n role=\"tab\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-selected={this.active ? 'true' : 'false'}\n tabindex={this.disabled || !this.active ? '-1' : '0'}\n >\n <slot />\n {this.closable && (\n <six-icon-button\n name=\"close\"\n size=\"xSmall\"\n exportparts=\"base:close-button\"\n class=\"tab__close-button\"\n onClick={this.handleCloseClick}\n tabIndex={-1}\n aria-hidden=\"true\"\n />\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -10,19 +10,16 @@ const SixTag = /*@__PURE__*/ proxyCustomElement(class SixTag extends HTMLElement
10
10
  this.__registerHost();
11
11
  this.__attachShadow();
12
12
  this.sixClear = createEvent(this, "six-tag-clear", 7);
13
+ this.handleClearClick = () => {
14
+ this.sixClear.emit();
15
+ };
13
16
  this.type = 'primary';
14
17
  this.size = 'medium';
15
18
  this.pill = false;
16
19
  this.clearable = false;
17
20
  }
18
- connectedCallback() {
19
- this.handleClearClick = this.handleClearClick.bind(this);
20
- }
21
- handleClearClick() {
22
- this.sixClear.emit();
23
- }
24
21
  render() {
25
- return (h("span", { ref: (el) => (this.tag = el), part: "base", class: {
22
+ return (h("span", { part: "base", class: {
26
23
  tag: true,
27
24
  // Types
28
25
  'tag--primary': this.type === 'primary',
@@ -1 +1 @@
1
- {"file":"six-tag2.js","mappings":";;;;AAAA,MAAM,SAAS,GAAG,owEAAowE;;MCqBzwE,MAAM;;;;;;gBAI0F,SAAS;gBAGtD,QAAQ;gBAGtC,KAAK;qBAGA,KAAK;;EAK1C,iBAAiB;IACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GAC1D;EAED,gBAAgB;IACd,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;GACtB;EAED,MAAM;IACJ,QACE,YACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAC5B,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,GAAG,EAAE,IAAI;;QAGT,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvC,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;QACjC,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;;QAGjC,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;QACnC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrC,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;;QAGnC,WAAW,EAAE,IAAI,CAAC,IAAI;QACtB,YAAY,EAAE,IAAI,CAAC,SAAS;OAC7B,IAED,YAAM,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,cAAc,IACvC,eAAQ,CACH,EAEN,IAAI,CAAC,SAAS,KACb,uBACE,WAAW,EAAC,mBAAmB,EAC/B,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAC9B,CACH,CACI,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"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"],"version":3}
1
+ {"file":"six-tag2.js","mappings":";;;;AAAA,MAAM,SAAS,GAAG,owEAAowE;;MCqBzwE,MAAM;;;;;;IAgBT,qBAAgB,GAAG;MACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KACtB,CAAC;gBAhByG,SAAS;gBAGtD,QAAQ;gBAGtC,KAAK;qBAGA,KAAK;;EAS1C,MAAM;IACJ,QACE,YACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,GAAG,EAAE,IAAI;;QAGT,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvC,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;QACjC,cAAc,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;QACvC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrC,WAAW,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM;;QAGjC,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;QACnC,aAAa,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrC,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;;QAGnC,WAAW,EAAE,IAAI,CAAC,IAAI;QACtB,YAAY,EAAE,IAAI,CAAC,SAAS;OAC7B,IAED,YAAM,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,cAAc,IACvC,eAAQ,CACH,EAEN,IAAI,CAAC,SAAS,KACb,uBACE,WAAW,EAAC,mBAAmB,EAC/B,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,YAAY,EAClB,OAAO,EAAE,IAAI,CAAC,gBAAgB,GAC9B,CACH,CACI,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"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, Event, EventEmitter, h, Prop } 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 /** 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 private handleClearClick = () => {\n this.sixClear.emit();\n };\n\n render() {\n return (\n <span\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"],"version":3}
@@ -15,26 +15,43 @@ const SixTextarea$1 = /*@__PURE__*/ proxyCustomElement(class SixTextarea extends
15
15
  this.sixInput = createEvent(this, "six-textarea-input", 7);
16
16
  this.sixFocus = createEvent(this, "six-textarea-focus", 7);
17
17
  this.sixBlur = createEvent(this, "six-textarea-blur", 7);
18
- this.sixValueChange = createEvent(this, "six-textarea-value-change", 7);
19
18
  this.inputId = `textarea-${++id}`;
20
19
  this.labelId = `textarea-label-${id}`;
21
20
  this.helpTextId = `textarea-help-text-${id}`;
22
21
  this.errorTextId = `input-error-text-${id}`;
23
- this.customErrorText = '';
24
- this.customValidation = false;
25
22
  this.eventListeners = new EventListeners();
26
- /** default value the textarea will be reverted to when reset is executed */
27
- this.defaultValue = '';
23
+ this.handleChange = () => {
24
+ if (this.nativeTextarea != null) {
25
+ this.value = this.nativeTextarea.value;
26
+ this.sixChange.emit();
27
+ }
28
+ };
29
+ this.handleInput = () => {
30
+ if (this.nativeTextarea != null) {
31
+ this.value = this.nativeTextarea.value;
32
+ this.setTextareaHeight(this.nativeTextarea);
33
+ this.sixInput.emit();
34
+ }
35
+ };
36
+ this.handleBlur = () => {
37
+ this.hasFocus = false;
38
+ this.sixBlur.emit();
39
+ };
40
+ this.handleFocus = () => {
41
+ this.hasFocus = true;
42
+ this.sixFocus.emit();
43
+ };
44
+ this.handleSlotChange = () => {
45
+ this.hasLabelSlot = hasSlot(this.host, 'label');
46
+ this.hasHelpTextSlot = hasSlot(this.host, 'help-text');
47
+ };
28
48
  this.hasFocus = false;
29
49
  this.hasHelpTextSlot = false;
30
- this.hasErrorTextSlot = false;
31
50
  this.hasLabelSlot = false;
32
51
  this.size = 'medium';
33
52
  this.name = '';
34
53
  this.value = '';
35
- this.label = '';
36
54
  this.helpText = '';
37
- this.errorText = '';
38
55
  this.placeholder = undefined;
39
56
  this.rows = 4;
40
57
  this.resize = 'vertical';
@@ -42,149 +59,110 @@ const SixTextarea$1 = /*@__PURE__*/ proxyCustomElement(class SixTextarea extends
42
59
  this.readonly = false;
43
60
  this.minlength = undefined;
44
61
  this.maxlength = undefined;
45
- this.required = undefined;
62
+ this.required = false;
63
+ this.label = '';
64
+ this.errorText = '';
46
65
  this.invalid = false;
47
- this.autocapitalize = undefined;
48
- this.autocorrect = undefined;
49
- this.autocomplete = undefined;
50
- this.autofocus = undefined;
51
- this.spellcheck = undefined;
66
+ this.autocapitalize = 'off';
67
+ this.autocorrect = 'off';
68
+ this.autocomplete = 'off';
69
+ this.autofocus = false;
70
+ this.spellcheck = false;
52
71
  this.inputmode = undefined;
53
- this.errorOnBlur = false;
54
72
  }
55
73
  handleLabelChange() {
56
74
  this.handleSlotChange();
57
75
  }
58
76
  handleRowsChange() {
59
- if (this.textarea) {
60
- this.setTextareaHeight();
77
+ if (this.nativeTextarea != null) {
78
+ this.setTextareaHeight(this.nativeTextarea);
61
79
  }
62
80
  }
63
81
  handleValueChange() {
64
- if (!this.textarea) {
65
- return;
82
+ this.value = this.getValue();
83
+ if (this.nativeTextarea != null) {
84
+ if (this.nativeTextarea.value !== this.value) {
85
+ this.nativeTextarea.value = this.value;
86
+ }
66
87
  }
67
- this.textarea.value = this.value;
68
- this.invalid = !this.textarea.checkValidity();
69
- this.sixValueChange.emit();
70
88
  }
71
89
  connectedCallback() {
72
- this.handleChange = this.handleChange.bind(this);
73
- this.handleInput = this.handleInput.bind(this);
74
- this.handleInvalid = this.handleInvalid.bind(this);
75
- this.handleBlur = this.handleBlur.bind(this);
76
- this.handleFocus = this.handleFocus.bind(this);
77
- this.handleSlotChange = this.handleSlotChange.bind(this);
78
- this.host.shadowRoot.addEventListener('slotchange', this.handleSlotChange);
90
+ var _a;
91
+ (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.addEventListener('slotchange', this.handleSlotChange);
92
+ this.eventListeners.forward('six-textarea-input', 'input', this.host);
93
+ this.eventListeners.forward('six-textarea-change', 'change', this.host);
94
+ this.eventListeners.forward('six-textarea-focus', 'focus', this.host);
95
+ this.eventListeners.forward('six-textarea-blur', 'blur', this.host);
79
96
  }
80
97
  componentWillLoad() {
81
- this.defaultValue = this.value || '';
82
98
  this.handleSlotChange();
83
99
  }
84
100
  componentDidLoad() {
85
- this.setTextareaHeight();
86
- this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight());
87
- this.resizeObserver.observe(this.textarea);
88
- this.eventListeners.add(this.textarea, 'invalid', (event) => {
89
- if (this.customValidation || (!this.hasErrorTextSlot && !this.errorText && !this.customErrorText)) {
90
- this.customErrorText = this.textarea.validationMessage;
91
- }
92
- event.preventDefault();
93
- });
101
+ const nativeTextarea = this.nativeTextarea;
102
+ if (nativeTextarea == null) {
103
+ return;
104
+ }
105
+ this.setTextareaHeight(nativeTextarea);
106
+ this.resizeObserver = new ResizeObserver(() => this.setTextareaHeight(nativeTextarea));
107
+ this.resizeObserver.observe(nativeTextarea);
94
108
  }
95
109
  disconnectedCallback() {
96
- this.resizeObserver.unobserve(this.textarea);
97
- this.host.shadowRoot.removeEventListener('slotchange', this.handleSlotChange);
110
+ var _a, _b;
111
+ if (this.nativeTextarea != null) {
112
+ (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.unobserve(this.nativeTextarea);
113
+ }
114
+ (_b = this.host.shadowRoot) === null || _b === void 0 ? void 0 : _b.removeEventListener('slotchange', this.handleSlotChange);
98
115
  this.eventListeners.removeAll();
99
116
  }
100
117
  /** Sets focus on the textarea. */
101
118
  async setFocus(options) {
102
- this.textarea.focus(options);
119
+ var _a;
120
+ (_a = this.nativeTextarea) === null || _a === void 0 ? void 0 : _a.focus(options);
103
121
  }
104
122
  /** Removes focus fromt the textarea. */
105
123
  async removeFocus() {
106
- this.textarea.blur();
124
+ var _a;
125
+ (_a = this.nativeTextarea) === null || _a === void 0 ? void 0 : _a.blur();
107
126
  }
108
127
  /** Selects all the text in the input. */
109
128
  async select() {
110
- return this.textarea.select();
129
+ var _a;
130
+ return (_a = this.nativeTextarea) === null || _a === void 0 ? void 0 : _a.select();
111
131
  }
112
132
  /** Sets the start and end positions of the text selection (0-based). */
113
133
  async setSelectionRange(selectionStart, selectionEnd, selectionDirection = 'none') {
114
- return this.textarea.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
134
+ var _a;
135
+ return (_a = this.nativeTextarea) === null || _a === void 0 ? void 0 : _a.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
115
136
  }
116
137
  /** Replaces a range of text with a new string. */
117
138
  async setRangeText(replacement, start, end, selectMode = 'preserve') {
118
- this.textarea.setRangeText(replacement, start, end, selectMode);
119
- if (this.value !== this.textarea.value) {
120
- this.value = this.textarea.value;
121
- this.setTextareaHeight();
139
+ if (this.nativeTextarea == null) {
140
+ return;
141
+ }
142
+ this.nativeTextarea.setRangeText(replacement, start, end, selectMode);
143
+ if (this.getValue() !== this.nativeTextarea.value) {
144
+ this.value = this.nativeTextarea.value;
145
+ this.setTextareaHeight(this.nativeTextarea);
122
146
  this.sixChange.emit();
123
147
  this.sixInput.emit();
124
148
  }
125
149
  }
126
- /** Checks for validity and shows the browser's validation message if the control is invalid. */
127
- async reportValidity() {
128
- return this.textarea.reportValidity();
129
- }
130
- /** Checks for validity. */
131
- async checkValidity() {
132
- return this.textarea.validity.valid;
133
- }
134
- /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */
135
- async setCustomValidity(message) {
136
- this.customErrorText = '';
137
- this.customValidation = message !== '';
138
- this.textarea.setCustomValidity(message);
139
- this.invalid = !this.textarea.checkValidity();
140
- }
141
- /** Resets the formcontrol */
142
- async reset() {
143
- this.value = this.defaultValue;
144
- this.customErrorText = '';
145
- this.customValidation = false;
146
- this.textarea.setCustomValidity('');
147
- this.invalid = false;
148
- }
149
- handleChange() {
150
- this.sixChange.emit();
151
- }
152
- handleInput() {
153
- this.value = this.textarea.value;
154
- this.setTextareaHeight();
155
- this.sixInput.emit();
156
- }
157
- handleInvalid() {
158
- this.invalid = true;
159
- }
160
- handleBlur() {
161
- this.hasFocus = false;
162
- this.sixBlur.emit();
163
- }
164
- handleFocus() {
165
- this.hasFocus = true;
166
- this.sixFocus.emit();
167
- }
168
- handleSlotChange() {
169
- this.hasLabelSlot = hasSlot(this.host, 'label');
170
- this.hasHelpTextSlot = hasSlot(this.host, 'help-text');
171
- this.hasErrorTextSlot = hasSlot(this.host, 'error-text');
172
- }
173
- setTextareaHeight() {
150
+ setTextareaHeight(nativeTextarea) {
174
151
  if (this.resize === 'auto') {
175
- this.textarea.style.height = 'auto';
176
- this.textarea.style.height = this.textarea.scrollHeight + 'px';
152
+ nativeTextarea.style.height = 'auto';
153
+ const height = nativeTextarea.scrollHeight + 1;
154
+ nativeTextarea.style.height = height + 'px';
177
155
  }
178
156
  else {
179
- this.textarea.style.height = undefined;
157
+ nativeTextarea.style.height = '';
180
158
  }
181
159
  }
182
- displayError() {
183
- return this.invalid && (!this.errorOnBlur || !this.hasFocus);
160
+ getValue() {
161
+ var _a;
162
+ return ((_a = this.value) !== null && _a !== void 0 ? _a : '').toString();
184
163
  }
185
164
  render() {
186
- var _a;
187
- return (h(FormControl, { inputId: this.inputId, label: this.label, labelId: this.labelId, hasLabelSlot: this.hasLabelSlot, helpTextId: this.helpTextId, helpText: this.helpText, hasHelpTextSlot: this.hasHelpTextSlot, errorTextId: this.errorTextId, errorText: this.customErrorText ? this.customErrorText : this.errorText, hasErrorTextSlot: this.hasErrorTextSlot, size: this.size, disabled: this.disabled, required: this.required, displayError: this.displayError() }, h("div", { part: "base", class: {
165
+ return (h(FormControl, { 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.errorText, size: this.size, disabled: this.disabled, required: this.required, displayError: this.invalid }, h("div", { part: "base", class: {
188
166
  textarea: true,
189
167
  // Sizes
190
168
  'textarea--small': this.size === 'small',
@@ -193,13 +171,13 @@ const SixTextarea$1 = /*@__PURE__*/ proxyCustomElement(class SixTextarea extends
193
171
  // States
194
172
  'textarea--disabled': this.disabled,
195
173
  'textarea--focused': this.hasFocus,
196
- 'textarea--empty': ((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === 0,
174
+ 'textarea--empty': this.getValue().length === 0,
197
175
  'textarea--invalid': this.invalid,
198
176
  // Modifiers
199
177
  'textarea--resize-none': this.resize === 'none',
200
178
  'textarea--resize-vertical': this.resize === 'vertical',
201
179
  'textarea--resize-auto': this.resize === 'auto',
202
- } }, h("textarea", { part: "textarea", ref: (el) => (this.textarea = el), id: this.inputId, class: "textarea__control", name: this.name, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, rows: this.rows, minLength: this.minlength, maxLength: this.maxlength, value: this.value, autoCapitalize: this.autocapitalize, autoCorrect: this.autocorrect, autoFocus: this.autofocus, spellcheck: this.spellcheck, required: this.required, inputMode: this.inputmode, "aria-labelledby": this.labelId, onChange: this.handleChange, onInput: this.handleInput, onInvalid: this.handleInvalid, onFocus: this.handleFocus, onBlur: this.handleBlur }))));
180
+ } }, h("textarea", { part: "textarea", ref: (el) => (this.nativeTextarea = el), id: this.inputId, class: "textarea__control", name: this.name, placeholder: this.placeholder, disabled: this.disabled, readOnly: this.readonly, rows: this.rows, minLength: this.minlength, maxLength: this.maxlength, value: this.getValue(), autoCapitalize: this.autocapitalize, autoCorrect: this.autocorrect, autoFocus: this.autofocus, spellcheck: this.spellcheck, required: this.required, inputMode: this.inputmode, "aria-labelledby": this.labelId, onChange: this.handleChange, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur }))));
203
181
  }
204
182
  get host() { return this; }
205
183
  static get watchers() { return {
@@ -214,9 +192,7 @@ const SixTextarea$1 = /*@__PURE__*/ proxyCustomElement(class SixTextarea extends
214
192
  "size": [513],
215
193
  "name": [513],
216
194
  "value": [1537],
217
- "label": [1],
218
195
  "helpText": [1, "help-text"],
219
- "errorText": [1, "error-text"],
220
196
  "placeholder": [1],
221
197
  "rows": [2],
222
198
  "resize": [1],
@@ -224,28 +200,24 @@ const SixTextarea$1 = /*@__PURE__*/ proxyCustomElement(class SixTextarea extends
224
200
  "readonly": [516],
225
201
  "minlength": [514],
226
202
  "maxlength": [514],
227
- "required": [516],
228
- "invalid": [1540],
203
+ "required": [4],
204
+ "label": [1],
205
+ "errorText": [1, "error-text"],
206
+ "invalid": [516],
229
207
  "autocapitalize": [1],
230
208
  "autocorrect": [1],
231
209
  "autocomplete": [1],
232
210
  "autofocus": [4],
233
211
  "spellcheck": [4],
234
212
  "inputmode": [1],
235
- "errorOnBlur": [4, "error-on-blur"],
236
213
  "hasFocus": [32],
237
214
  "hasHelpTextSlot": [32],
238
- "hasErrorTextSlot": [32],
239
215
  "hasLabelSlot": [32],
240
216
  "setFocus": [64],
241
217
  "removeFocus": [64],
242
218
  "select": [64],
243
219
  "setSelectionRange": [64],
244
- "setRangeText": [64],
245
- "reportValidity": [64],
246
- "checkValidity": [64],
247
- "setCustomValidity": [64],
248
- "reset": [64]
220
+ "setRangeText": [64]
249
221
  }]);
250
222
  function defineCustomElement$1() {
251
223
  if (typeof customElements === "undefined") {