@six-group/ui-library 0.0.0-insider.24fcc9e → 0.0.0-insider.2c99825

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 (1126) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/event-listeners-9fb878f1.js +61 -0
  3. package/dist/cjs/event-listeners-9fb878f1.js.map +1 -0
  4. package/dist/cjs/{execution-control-46f388e0.js → execution-control-d728da70.js} +15 -12
  5. package/dist/cjs/execution-control-d728da70.js.map +1 -0
  6. package/dist/cjs/focus-visible-e2c9255a.js +47 -0
  7. package/dist/cjs/focus-visible-e2c9255a.js.map +1 -0
  8. package/dist/cjs/form-9ebaae7c.js +20 -0
  9. package/dist/cjs/form-9ebaae7c.js.map +1 -0
  10. package/dist/cjs/form-control-f9bc25dd.js +36 -0
  11. package/dist/cjs/form-control-f9bc25dd.js.map +1 -0
  12. package/dist/cjs/{index-2f6daa5b.js → index-3baddcdc.js} +724 -180
  13. package/dist/cjs/index-3baddcdc.js.map +1 -0
  14. package/dist/cjs/index.cjs.js +109 -0
  15. package/dist/cjs/index.cjs.js.map +1 -1
  16. package/dist/cjs/loader.cjs.js +3 -12
  17. package/dist/cjs/loader.cjs.js.map +1 -1
  18. package/dist/cjs/modal-3ce015be.js +52 -0
  19. package/dist/cjs/modal-3ce015be.js.map +1 -0
  20. package/dist/cjs/{popover-f743f62b.js → popover-1e7c09f1.js} +109 -101
  21. package/dist/cjs/popover-1e7c09f1.js.map +1 -0
  22. package/dist/cjs/popup-e854acda.js +103 -0
  23. package/dist/cjs/popup-e854acda.js.map +1 -0
  24. package/dist/cjs/scroll-68033901.js +68 -0
  25. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-68033901.js.map} +1 -1
  26. package/dist/cjs/set-attributes_2.cjs.entry.js +50 -48
  27. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/six-alert.cjs.entry.js +108 -113
  29. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js +20 -23
  31. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js +22 -22
  33. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-button.cjs.entry.js +94 -92
  35. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js +7 -7
  37. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-checkbox.cjs.entry.js +112 -144
  39. package/dist/cjs/six-checkbox.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-datepicker.cjs.entry.js +848 -979
  41. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-details.cjs.entry.js +127 -126
  43. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-dialog.cjs.entry.js +127 -131
  45. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-drawer.cjs.entry.js +144 -148
  47. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js +636 -617
  49. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js +82 -84
  51. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-error.cjs.entry.js +21 -0
  53. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  54. package/dist/cjs/six-file-list-item.cjs.entry.js +33 -33
  55. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-file-list.cjs.entry.js +7 -7
  57. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-file-upload.cjs.entry.js +99 -99
  59. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-footer.cjs.entry.js +7 -7
  61. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-group-label.cjs.entry.js +43 -42
  63. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-header.cjs.entry.js +172 -135
  65. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-icon-button.cjs.entry.js +32 -32
  67. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-icon.cjs.entry.js +22 -22
  69. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-input.cjs.entry.js +191 -221
  71. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-item-picker.cjs.entry.js +413 -336
  73. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-language-switcher.cjs.entry.js +46 -46
  75. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-layout-grid.cjs.entry.js +21 -19
  77. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-main-container.cjs.entry.js +9 -9
  79. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-menu-divider.cjs.entry.js +7 -7
  81. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-item.cjs.entry.js +49 -47
  83. package/dist/cjs/six-menu-item.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-menu-label.cjs.entry.js +7 -7
  85. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-picto.cjs.entry.js +14 -11
  87. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-bar.cjs.entry.js +14 -14
  89. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-progress-ring.cjs.entry.js +28 -28
  91. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-radio.cjs.entry.js +103 -112
  93. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-range.cjs.entry.js +185 -181
  95. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-root.cjs.entry.js +30 -30
  97. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-search-field.cjs.entry.js +43 -38
  99. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-select.cjs.entry.js +366 -396
  101. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +56 -41
  103. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar-item.cjs.entry.js +17 -15
  105. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-sidebar.cjs.entry.js +175 -154
  107. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-spinner.cjs.entry.js +14 -14
  109. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  110. package/dist/cjs/six-switch.cjs.entry.js +107 -95
  111. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  112. package/dist/cjs/six-tab-group.cjs.entry.js +226 -213
  113. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab-panel.cjs.entry.js +13 -13
  115. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tab.cjs.entry.js +55 -37
  117. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-tag.cjs.entry.js +55 -36
  119. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-textarea.cjs.entry.js +182 -205
  121. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-tile.cjs.entry.js +74 -77
  123. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-timepicker.cjs.entry.js +343 -404
  125. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  126. package/dist/cjs/six-tooltip.cjs.entry.js +145 -148
  127. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  128. package/dist/cjs/slot-9821749e.js +53 -0
  129. package/dist/cjs/slot-9821749e.js.map +1 -0
  130. package/dist/cjs/types-0a6d66f6.js +17 -0
  131. package/dist/cjs/types-0a6d66f6.js.map +1 -0
  132. package/dist/cjs/ui-library.cjs.js +3 -6
  133. package/dist/cjs/ui-library.cjs.js.map +1 -1
  134. package/dist/collection/collection-manifest.json +55 -55
  135. package/dist/collection/components/six-alert/six-alert.js +339 -337
  136. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  137. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  138. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  139. package/dist/collection/components/six-avatar/six-avatar.js +112 -115
  140. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  141. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  142. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  143. package/dist/collection/components/six-badge/six-badge.js +91 -91
  144. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  145. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  146. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  147. package/dist/collection/components/six-button/six-button.css +5 -30
  148. package/dist/collection/components/six-button/six-button.js +449 -440
  149. package/dist/collection/components/six-button/six-button.js.map +1 -1
  150. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  151. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  152. package/dist/collection/components/six-card/six-card.js +16 -16
  153. package/dist/collection/components/six-card/six-card.js.map +1 -1
  154. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  155. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  156. package/dist/collection/components/six-checkbox/six-checkbox.css +9 -1
  157. package/dist/collection/components/six-checkbox/six-checkbox.js +425 -517
  158. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  159. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  160. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  161. package/dist/collection/components/six-datepicker/components/day-selection.js +10 -10
  162. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  163. package/dist/collection/components/six-datepicker/components/month-selection.js +11 -10
  164. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  165. package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
  166. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  167. package/dist/collection/components/six-datepicker/six-date-formats.js +20 -20
  168. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  169. package/dist/collection/components/six-datepicker/six-datepicker.js +1052 -1217
  170. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  171. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  172. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  173. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +14 -14
  174. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -1
  175. package/dist/collection/components/six-details/six-details.css +3 -1
  176. package/dist/collection/components/six-details/six-details.js +409 -402
  177. package/dist/collection/components/six-details/six-details.js.map +1 -1
  178. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  179. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  180. package/dist/collection/components/six-dialog/six-dialog.js +361 -357
  181. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  182. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  183. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  184. package/dist/collection/components/six-drawer/six-drawer.js +414 -410
  185. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  186. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  187. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  188. package/dist/collection/components/six-dropdown/six-dropdown.css +2 -1
  189. package/dist/collection/components/six-dropdown/six-dropdown.js +894 -870
  190. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  191. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +122 -0
  192. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  193. package/dist/collection/components/six-error/six-error.css +5 -0
  194. package/dist/collection/components/six-error/six-error.js +25 -0
  195. package/dist/collection/components/six-error/six-error.js.map +1 -0
  196. package/dist/collection/components/six-error-page/six-error-page.js +178 -180
  197. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  198. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  199. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  200. package/dist/collection/components/six-file-list/six-file-list.js +16 -16
  201. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  202. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  203. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  204. package/dist/collection/components/six-file-list-item/six-file-list-item.js +196 -194
  205. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  206. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  207. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  208. package/dist/collection/components/six-file-upload/six-file-upload.js +293 -291
  209. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  210. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  211. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  212. package/dist/collection/components/six-footer/six-footer.js +16 -16
  213. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  214. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  215. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  216. package/dist/collection/components/six-group-label/six-group-label.css +4 -1
  217. package/dist/collection/components/six-group-label/six-group-label.js +158 -156
  218. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  219. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  220. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  221. package/dist/collection/components/six-header/six-header.css +4 -0
  222. package/dist/collection/components/six-header/six-header.js +443 -380
  223. package/dist/collection/components/six-header/six-header.js.map +1 -1
  224. package/dist/collection/components/six-header/test/six-header.spec.js +177 -0
  225. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  226. package/dist/collection/components/six-icon/six-icon.css +7 -0
  227. package/dist/collection/components/six-icon/six-icon.js +72 -72
  228. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  229. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  230. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  231. package/dist/collection/components/six-icon-button/six-icon-button.css +4 -4
  232. package/dist/collection/components/six-icon-button/six-icon-button.js +133 -133
  233. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  234. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  235. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  236. package/dist/collection/components/six-input/six-input.css +5 -2
  237. package/dist/collection/components/six-input/six-input.js +946 -1096
  238. package/dist/collection/components/six-input/six-input.js.map +1 -1
  239. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  240. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  241. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  242. package/dist/collection/components/six-item-picker/six-item-picker.js +739 -658
  243. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  244. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  245. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  246. package/dist/collection/components/six-item-picker/types.js +7 -7
  247. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  248. package/dist/collection/components/six-language-switcher/six-language-switcher.js +125 -123
  249. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  250. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  251. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  252. package/dist/collection/components/six-layout-grid/six-layout-grid.js +56 -54
  253. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  254. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  255. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  256. package/dist/collection/components/six-main-container/six-main-container.js +42 -42
  257. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  258. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  259. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  260. package/dist/collection/components/six-menu/six-menu.js +368 -358
  261. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  262. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  263. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  264. package/dist/collection/components/six-menu-divider/six-menu-divider.js +16 -16
  265. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  266. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  267. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  268. package/dist/collection/components/six-menu-item/six-menu-item.js +182 -176
  269. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  270. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  271. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  272. package/dist/collection/components/six-menu-label/six-menu-label.js +16 -16
  273. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  274. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  275. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  276. package/dist/collection/components/six-picto/six-picto.js +47 -44
  277. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  278. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  279. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  280. package/dist/collection/components/six-progress-bar/six-progress-bar.js +65 -65
  281. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  282. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  283. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  284. package/dist/collection/components/six-progress-ring/six-progress-ring.js +100 -99
  285. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  286. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  287. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  288. package/dist/collection/components/six-radio/six-radio.js +322 -388
  289. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  290. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  291. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  292. package/dist/collection/components/six-range/six-range.css +4 -1
  293. package/dist/collection/components/six-range/six-range.js +571 -591
  294. package/dist/collection/components/six-range/six-range.js.map +1 -1
  295. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  296. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  297. package/dist/collection/components/six-root/six-root.js +155 -153
  298. package/dist/collection/components/six-root/six-root.js.map +1 -1
  299. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  300. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  301. package/dist/collection/components/six-search-field/six-search-field.js +172 -166
  302. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  303. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  304. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  305. package/dist/collection/components/six-select/six-select.css +10 -10
  306. package/dist/collection/components/six-select/six-select.js +937 -1030
  307. package/dist/collection/components/six-select/six-select.js.map +1 -1
  308. package/dist/collection/components/six-select/test/six-select.spec.js +86 -0
  309. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  310. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  311. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  312. package/dist/collection/components/six-select/util.js +52 -0
  313. package/dist/collection/components/six-select/util.js.map +1 -0
  314. package/dist/collection/components/six-sidebar/six-sidebar.js +468 -435
  315. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  316. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  317. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  318. package/dist/collection/components/six-sidebar-item/six-sidebar-item.css +6 -1
  319. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +102 -83
  320. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  321. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  322. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  323. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +11 -0
  324. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +183 -151
  325. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  326. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  327. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  328. package/dist/collection/components/six-spinner/six-spinner.js +48 -47
  329. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  330. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  331. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  332. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -45
  333. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  334. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  335. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  336. package/dist/collection/components/six-switch/six-switch.css +80 -0
  337. package/dist/collection/components/six-switch/six-switch.js +388 -378
  338. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  339. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  340. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  341. package/dist/collection/components/six-tab/six-tab.css +54 -5
  342. package/dist/collection/components/six-tab/six-tab.js +206 -184
  343. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  344. package/dist/collection/components/six-tab-group/six-tab-group.css +0 -31
  345. package/dist/collection/components/six-tab-group/six-tab-group.js +315 -335
  346. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  347. package/dist/collection/components/six-tab-panel/six-tab-panel.js +64 -64
  348. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  349. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  350. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  351. package/dist/collection/components/six-tag/six-tag.css +6 -0
  352. package/dist/collection/components/six-tag/six-tag.js +162 -142
  353. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  354. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  355. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  356. package/dist/collection/components/six-textarea/six-textarea.css +4 -1
  357. package/dist/collection/components/six-textarea/six-textarea.js +788 -882
  358. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  359. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  360. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  361. package/dist/collection/components/six-tile/six-tile.js +300 -299
  362. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  363. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  364. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  365. package/dist/collection/components/six-timepicker/six-timepicker.js +828 -911
  366. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  367. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  368. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  369. package/dist/collection/components/six-tooltip/six-tooltip.css +1 -1
  370. package/dist/collection/components/six-tooltip/six-tooltip.js +405 -402
  371. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  372. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  373. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  374. package/dist/collection/functional-components/form-control/form-control.js +20 -19
  375. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  376. package/dist/collection/index.js +1 -1
  377. package/dist/collection/index.js.map +1 -1
  378. package/dist/collection/testUtil/delay.js +1 -1
  379. package/dist/collection/testUtil/delay.js.map +1 -1
  380. package/dist/collection/utils/animation.js +34 -0
  381. package/dist/collection/utils/animation.js.map +1 -0
  382. package/dist/collection/utils/date-util.js +511 -502
  383. package/dist/collection/utils/date-util.js.map +1 -1
  384. package/dist/collection/utils/date-util.spec.js +995 -0
  385. package/dist/collection/utils/date-util.spec.js.map +1 -0
  386. package/dist/collection/utils/error-messages.js +105 -0
  387. package/dist/collection/utils/error-messages.js.map +1 -0
  388. package/dist/collection/utils/event-listeners.js +53 -37
  389. package/dist/collection/utils/event-listeners.js.map +1 -1
  390. package/dist/collection/utils/execution-control.js +14 -13
  391. package/dist/collection/utils/execution-control.js.map +1 -1
  392. package/dist/collection/utils/focus-visible.js +28 -28
  393. package/dist/collection/utils/focus-visible.js.map +1 -1
  394. package/dist/collection/utils/form.js +15 -0
  395. package/dist/collection/utils/form.js.map +1 -0
  396. package/dist/collection/utils/modal.js +25 -24
  397. package/dist/collection/utils/modal.js.map +1 -1
  398. package/dist/collection/utils/offset.js +4 -4
  399. package/dist/collection/utils/offset.js.map +1 -1
  400. package/dist/collection/utils/popover.js +104 -90
  401. package/dist/collection/utils/popover.js.map +1 -1
  402. package/dist/collection/utils/popup.js +95 -0
  403. package/dist/collection/utils/popup.js.map +1 -0
  404. package/dist/collection/utils/scroll.js +28 -28
  405. package/dist/collection/utils/scroll.js.map +1 -1
  406. package/dist/collection/utils/scroll.spec.js +122 -0
  407. package/dist/collection/utils/scroll.spec.js.map +1 -0
  408. package/dist/collection/utils/slot.js +30 -45
  409. package/dist/collection/utils/slot.js.map +1 -1
  410. package/dist/collection/utils/support.js +10 -10
  411. package/dist/collection/utils/support.js.map +1 -1
  412. package/dist/collection/utils/tabbable.js +17 -17
  413. package/dist/collection/utils/tabbable.js.map +1 -1
  414. package/dist/collection/utils/time.util.js +73 -59
  415. package/dist/collection/utils/time.util.js.map +1 -1
  416. package/dist/collection/utils/time.util.spec.js +368 -0
  417. package/dist/collection/utils/time.util.spec.js.map +1 -0
  418. package/dist/collection/utils/type-check.js +0 -1
  419. package/dist/collection/utils/type-check.js.map +1 -1
  420. package/dist/collection/wrappers/set-attributes/set-attributes.js +66 -64
  421. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  422. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  423. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  424. package/dist/components/event-listeners.js +53 -37
  425. package/dist/components/event-listeners.js.map +1 -1
  426. package/dist/components/execution-control.js +14 -11
  427. package/dist/components/execution-control.js.map +1 -1
  428. package/dist/components/focus-visible.js +28 -28
  429. package/dist/components/focus-visible.js.map +1 -1
  430. package/dist/components/form-control.js +26 -24
  431. package/dist/components/form-control.js.map +1 -1
  432. package/dist/components/form.js +18 -0
  433. package/dist/components/form.js.map +1 -0
  434. package/dist/components/index.d.ts +6 -0
  435. package/dist/components/index.js +169 -64
  436. package/dist/components/index.js.map +1 -1
  437. package/dist/components/modal.js +35 -34
  438. package/dist/components/modal.js.map +1 -1
  439. package/dist/components/popover.js +108 -100
  440. package/dist/components/popover.js.map +1 -1
  441. package/dist/components/scroll.js +32 -32
  442. package/dist/components/scroll.js.map +1 -1
  443. package/dist/components/set-attributes.d.ts +2 -2
  444. package/dist/components/set-attributes2.js +58 -54
  445. package/dist/components/set-attributes2.js.map +1 -1
  446. package/dist/components/six-alert.d.ts +2 -2
  447. package/dist/components/six-alert.js +143 -145
  448. package/dist/components/six-alert.js.map +1 -1
  449. package/dist/components/six-avatar.d.ts +2 -2
  450. package/dist/components/six-avatar.js +44 -47
  451. package/dist/components/six-avatar.js.map +1 -1
  452. package/dist/components/six-badge.d.ts +2 -2
  453. package/dist/components/six-badge.js +39 -39
  454. package/dist/components/six-badge.js.map +1 -1
  455. package/dist/components/six-button.d.ts +2 -2
  456. package/dist/components/six-button.js +132 -130
  457. package/dist/components/six-button.js.map +1 -1
  458. package/dist/components/six-card.d.ts +2 -2
  459. package/dist/components/six-card.js +20 -20
  460. package/dist/components/six-card.js.map +1 -1
  461. package/dist/components/six-checkbox.d.ts +2 -2
  462. package/dist/components/six-checkbox.js +149 -174
  463. package/dist/components/six-checkbox.js.map +1 -1
  464. package/dist/components/six-datepicker.d.ts +2 -2
  465. package/dist/components/six-datepicker.js +920 -1044
  466. package/dist/components/six-datepicker.js.map +1 -1
  467. package/dist/components/six-details.d.ts +2 -2
  468. package/dist/components/six-details2.js +158 -155
  469. package/dist/components/six-details2.js.map +1 -1
  470. package/dist/components/six-dialog.d.ts +2 -2
  471. package/dist/components/six-dialog.js +157 -159
  472. package/dist/components/six-dialog.js.map +1 -1
  473. package/dist/components/six-drawer.d.ts +2 -2
  474. package/dist/components/six-drawer.js +176 -178
  475. package/dist/components/six-drawer.js.map +1 -1
  476. package/dist/components/six-dropdown.d.ts +2 -2
  477. package/dist/components/six-dropdown2.js +471 -446
  478. package/dist/components/six-dropdown2.js.map +1 -1
  479. package/dist/components/six-error-page.d.ts +2 -2
  480. package/dist/components/six-error-page.js +106 -108
  481. package/dist/components/six-error-page.js.map +1 -1
  482. package/dist/components/{six-form.d.ts → six-error.d.ts} +4 -4
  483. package/dist/components/six-error.js +8 -0
  484. package/dist/components/six-error.js.map +1 -0
  485. package/dist/components/six-error2.js +32 -0
  486. package/dist/components/six-error2.js.map +1 -0
  487. package/dist/components/six-file-list-item.d.ts +2 -2
  488. package/dist/components/six-file-list-item.js +58 -58
  489. package/dist/components/six-file-list-item.js.map +1 -1
  490. package/dist/components/six-file-list.d.ts +2 -2
  491. package/dist/components/six-file-list.js +20 -20
  492. package/dist/components/six-file-list.js.map +1 -1
  493. package/dist/components/six-file-upload.d.ts +2 -2
  494. package/dist/components/six-file-upload.js +124 -124
  495. package/dist/components/six-file-upload.js.map +1 -1
  496. package/dist/components/six-footer.d.ts +2 -2
  497. package/dist/components/six-footer.js +20 -20
  498. package/dist/components/six-footer.js.map +1 -1
  499. package/dist/components/six-group-label.d.ts +2 -2
  500. package/dist/components/six-group-label.js +71 -61
  501. package/dist/components/six-group-label.js.map +1 -1
  502. package/dist/components/six-header.d.ts +2 -2
  503. package/dist/components/six-header.js +233 -187
  504. package/dist/components/six-header.js.map +1 -1
  505. package/dist/components/six-icon-button.d.ts +2 -2
  506. package/dist/components/six-icon-button2.js +55 -55
  507. package/dist/components/six-icon-button2.js.map +1 -1
  508. package/dist/components/six-icon.d.ts +2 -2
  509. package/dist/components/six-icon2.js +38 -38
  510. package/dist/components/six-icon2.js.map +1 -1
  511. package/dist/components/six-input.d.ts +2 -2
  512. package/dist/components/six-input2.js +257 -283
  513. package/dist/components/six-input2.js.map +1 -1
  514. package/dist/components/six-item-picker.d.ts +2 -2
  515. package/dist/components/six-item-picker2.js +456 -375
  516. package/dist/components/six-item-picker2.js.map +1 -1
  517. package/dist/components/six-language-switcher.d.ts +2 -2
  518. package/dist/components/six-language-switcher.js +64 -62
  519. package/dist/components/six-language-switcher.js.map +1 -1
  520. package/dist/components/six-layout-grid.d.ts +2 -2
  521. package/dist/components/six-layout-grid.js +38 -34
  522. package/dist/components/six-layout-grid.js.map +1 -1
  523. package/dist/components/six-main-container.d.ts +2 -2
  524. package/dist/components/six-main-container.js +24 -24
  525. package/dist/components/six-main-container.js.map +1 -1
  526. package/dist/components/six-menu-divider.d.ts +2 -2
  527. package/dist/components/six-menu-divider.js +20 -20
  528. package/dist/components/six-menu-divider.js.map +1 -1
  529. package/dist/components/six-menu-item.d.ts +2 -2
  530. package/dist/components/six-menu-item2.js +74 -72
  531. package/dist/components/six-menu-item2.js.map +1 -1
  532. package/dist/components/six-menu-label.d.ts +2 -2
  533. package/dist/components/six-menu-label.js +20 -20
  534. package/dist/components/six-menu-label.js.map +1 -1
  535. package/dist/components/six-menu.d.ts +2 -2
  536. package/dist/components/six-menu2.js +233 -226
  537. package/dist/components/six-menu2.js.map +1 -1
  538. package/dist/components/six-picto.d.ts +2 -2
  539. package/dist/components/six-picto2.js +29 -26
  540. package/dist/components/six-picto2.js.map +1 -1
  541. package/dist/components/six-progress-bar.d.ts +2 -2
  542. package/dist/components/six-progress-bar.js +30 -30
  543. package/dist/components/six-progress-bar.js.map +1 -1
  544. package/dist/components/six-progress-ring.d.ts +2 -2
  545. package/dist/components/six-progress-ring.js +47 -45
  546. package/dist/components/six-progress-ring.js.map +1 -1
  547. package/dist/components/six-radio.d.ts +2 -2
  548. package/dist/components/six-radio.js +128 -138
  549. package/dist/components/six-radio.js.map +1 -1
  550. package/dist/components/six-range.d.ts +2 -2
  551. package/dist/components/six-range.js +233 -218
  552. package/dist/components/six-range.js.map +1 -1
  553. package/dist/components/six-root.d.ts +2 -2
  554. package/dist/components/six-root.js +66 -64
  555. package/dist/components/six-root.js.map +1 -1
  556. package/dist/components/six-search-field.d.ts +2 -2
  557. package/dist/components/six-search-field.js +78 -65
  558. package/dist/components/six-search-field.js.map +1 -1
  559. package/dist/components/six-select.d.ts +2 -2
  560. package/dist/components/six-select.js +471 -486
  561. package/dist/components/six-select.js.map +1 -1
  562. package/dist/components/six-sidebar-item-group.d.ts +2 -2
  563. package/dist/components/six-sidebar-item-group.js +87 -71
  564. package/dist/components/six-sidebar-item-group.js.map +1 -1
  565. package/dist/components/six-sidebar-item.d.ts +2 -2
  566. package/dist/components/six-sidebar-item.js +35 -32
  567. package/dist/components/six-sidebar-item.js.map +1 -1
  568. package/dist/components/six-sidebar.d.ts +2 -2
  569. package/dist/components/six-sidebar.js +200 -177
  570. package/dist/components/six-sidebar.js.map +1 -1
  571. package/dist/components/six-spinner.d.ts +2 -2
  572. package/dist/components/six-spinner2.js +29 -29
  573. package/dist/components/six-spinner2.js.map +1 -1
  574. package/dist/components/six-stage-indicator.d.ts +2 -2
  575. package/dist/components/six-stage-indicator2.js +28 -28
  576. package/dist/components/six-stage-indicator2.js.map +1 -1
  577. package/dist/components/six-switch.d.ts +2 -2
  578. package/dist/components/six-switch.js +144 -122
  579. package/dist/components/six-switch.js.map +1 -1
  580. package/dist/components/six-tab-group.d.ts +2 -2
  581. package/dist/components/six-tab-group.js +256 -241
  582. package/dist/components/six-tab-group.js.map +1 -1
  583. package/dist/components/six-tab-panel.d.ts +2 -2
  584. package/dist/components/six-tab-panel.js +29 -29
  585. package/dist/components/six-tab-panel.js.map +1 -1
  586. package/dist/components/six-tab.d.ts +2 -2
  587. package/dist/components/six-tab.js +85 -67
  588. package/dist/components/six-tab.js.map +1 -1
  589. package/dist/components/six-tag.d.ts +2 -2
  590. package/dist/components/six-tag2.js +91 -66
  591. package/dist/components/six-tag2.js.map +1 -1
  592. package/dist/components/six-textarea.d.ts +2 -2
  593. package/dist/components/six-textarea.js +231 -246
  594. package/dist/components/six-textarea.js.map +1 -1
  595. package/dist/components/six-tile.d.ts +2 -2
  596. package/dist/components/six-tile.js +115 -118
  597. package/dist/components/six-tile.js.map +1 -1
  598. package/dist/components/six-timepicker.d.ts +2 -2
  599. package/dist/components/six-timepicker.js +1 -1
  600. package/dist/components/six-timepicker2.js +507 -514
  601. package/dist/components/six-timepicker2.js.map +1 -1
  602. package/dist/components/six-tooltip.d.ts +2 -2
  603. package/dist/components/six-tooltip2.js +169 -170
  604. package/dist/components/six-tooltip2.js.map +1 -1
  605. package/dist/components/slot.js +31 -30
  606. package/dist/components/slot.js.map +1 -1
  607. package/dist/components.d.ts +361 -88
  608. package/dist/components.json +4646 -953
  609. package/dist/esm/event-listeners-706d4309.js +59 -0
  610. package/dist/esm/event-listeners-706d4309.js.map +1 -0
  611. package/dist/esm/{execution-control-1a60d709.js → execution-control-2ebaf4ef.js} +15 -12
  612. package/dist/esm/execution-control-2ebaf4ef.js.map +1 -0
  613. package/dist/esm/focus-visible-d9dbfeef.js +45 -0
  614. package/dist/esm/focus-visible-d9dbfeef.js.map +1 -0
  615. package/dist/esm/form-4b145b7a.js +18 -0
  616. package/dist/esm/form-4b145b7a.js.map +1 -0
  617. package/dist/esm/form-control-6b30894f.js +34 -0
  618. package/dist/esm/form-control-6b30894f.js.map +1 -0
  619. package/dist/esm/{index-5c0f6628.js → index-17d8173e.js} +724 -180
  620. package/dist/esm/index-17d8173e.js.map +1 -0
  621. package/dist/esm/index.js +105 -0
  622. package/dist/esm/index.js.map +1 -1
  623. package/dist/esm/loader.js +4 -13
  624. package/dist/esm/loader.js.map +1 -1
  625. package/dist/esm/modal-96526245.js +49 -0
  626. package/dist/esm/modal-96526245.js.map +1 -0
  627. package/dist/esm/{popover-bd2c2fca.js → popover-25996e62.js} +109 -101
  628. package/dist/esm/popover-25996e62.js.map +1 -0
  629. package/dist/esm/popup-7209e9d5.js +98 -0
  630. package/dist/esm/popup-7209e9d5.js.map +1 -0
  631. package/dist/esm/scroll-3e16851e.js +64 -0
  632. package/dist/esm/scroll-3e16851e.js.map +1 -0
  633. package/dist/esm/set-attributes_2.entry.js +50 -48
  634. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  635. package/dist/esm/six-alert.entry.js +108 -113
  636. package/dist/esm/six-alert.entry.js.map +1 -1
  637. package/dist/esm/six-avatar.entry.js +20 -23
  638. package/dist/esm/six-avatar.entry.js.map +1 -1
  639. package/dist/esm/six-badge.entry.js +22 -22
  640. package/dist/esm/six-badge.entry.js.map +1 -1
  641. package/dist/esm/six-button.entry.js +94 -92
  642. package/dist/esm/six-button.entry.js.map +1 -1
  643. package/dist/esm/six-card.entry.js +7 -7
  644. package/dist/esm/six-card.entry.js.map +1 -1
  645. package/dist/esm/six-checkbox.entry.js +112 -144
  646. package/dist/esm/six-checkbox.entry.js.map +1 -1
  647. package/dist/esm/six-datepicker.entry.js +849 -980
  648. package/dist/esm/six-datepicker.entry.js.map +1 -1
  649. package/dist/esm/six-details.entry.js +127 -126
  650. package/dist/esm/six-details.entry.js.map +1 -1
  651. package/dist/esm/six-dialog.entry.js +127 -131
  652. package/dist/esm/six-dialog.entry.js.map +1 -1
  653. package/dist/esm/six-drawer.entry.js +144 -148
  654. package/dist/esm/six-drawer.entry.js.map +1 -1
  655. package/dist/esm/six-dropdown_2.entry.js +636 -617
  656. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  657. package/dist/esm/six-error-page.entry.js +82 -84
  658. package/dist/esm/six-error-page.entry.js.map +1 -1
  659. package/dist/esm/six-error.entry.js +17 -0
  660. package/dist/esm/six-error.entry.js.map +1 -0
  661. package/dist/esm/six-file-list-item.entry.js +33 -33
  662. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  663. package/dist/esm/six-file-list.entry.js +7 -7
  664. package/dist/esm/six-file-list.entry.js.map +1 -1
  665. package/dist/esm/six-file-upload.entry.js +99 -99
  666. package/dist/esm/six-file-upload.entry.js.map +1 -1
  667. package/dist/esm/six-footer.entry.js +7 -7
  668. package/dist/esm/six-footer.entry.js.map +1 -1
  669. package/dist/esm/six-group-label.entry.js +43 -42
  670. package/dist/esm/six-group-label.entry.js.map +1 -1
  671. package/dist/esm/six-header.entry.js +172 -135
  672. package/dist/esm/six-header.entry.js.map +1 -1
  673. package/dist/esm/six-icon-button.entry.js +32 -32
  674. package/dist/esm/six-icon-button.entry.js.map +1 -1
  675. package/dist/esm/six-icon.entry.js +22 -22
  676. package/dist/esm/six-icon.entry.js.map +1 -1
  677. package/dist/esm/six-input.entry.js +191 -221
  678. package/dist/esm/six-input.entry.js.map +1 -1
  679. package/dist/esm/six-item-picker.entry.js +413 -336
  680. package/dist/esm/six-item-picker.entry.js.map +1 -1
  681. package/dist/esm/six-language-switcher.entry.js +46 -46
  682. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  683. package/dist/esm/six-layout-grid.entry.js +21 -19
  684. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  685. package/dist/esm/six-main-container.entry.js +9 -9
  686. package/dist/esm/six-main-container.entry.js.map +1 -1
  687. package/dist/esm/six-menu-divider.entry.js +7 -7
  688. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  689. package/dist/esm/six-menu-item.entry.js +49 -47
  690. package/dist/esm/six-menu-item.entry.js.map +1 -1
  691. package/dist/esm/six-menu-label.entry.js +7 -7
  692. package/dist/esm/six-menu-label.entry.js.map +1 -1
  693. package/dist/esm/six-picto.entry.js +14 -11
  694. package/dist/esm/six-picto.entry.js.map +1 -1
  695. package/dist/esm/six-progress-bar.entry.js +14 -14
  696. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  697. package/dist/esm/six-progress-ring.entry.js +28 -28
  698. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  699. package/dist/esm/six-radio.entry.js +103 -112
  700. package/dist/esm/six-radio.entry.js.map +1 -1
  701. package/dist/esm/six-range.entry.js +185 -181
  702. package/dist/esm/six-range.entry.js.map +1 -1
  703. package/dist/esm/six-root.entry.js +30 -30
  704. package/dist/esm/six-root.entry.js.map +1 -1
  705. package/dist/esm/six-search-field.entry.js +43 -38
  706. package/dist/esm/six-search-field.entry.js.map +1 -1
  707. package/dist/esm/six-select.entry.js +366 -396
  708. package/dist/esm/six-select.entry.js.map +1 -1
  709. package/dist/esm/six-sidebar-item-group.entry.js +56 -41
  710. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  711. package/dist/esm/six-sidebar-item.entry.js +17 -15
  712. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  713. package/dist/esm/six-sidebar.entry.js +175 -154
  714. package/dist/esm/six-sidebar.entry.js.map +1 -1
  715. package/dist/esm/six-spinner.entry.js +14 -14
  716. package/dist/esm/six-spinner.entry.js.map +1 -1
  717. package/dist/esm/six-switch.entry.js +107 -95
  718. package/dist/esm/six-switch.entry.js.map +1 -1
  719. package/dist/esm/six-tab-group.entry.js +226 -213
  720. package/dist/esm/six-tab-group.entry.js.map +1 -1
  721. package/dist/esm/six-tab-panel.entry.js +13 -13
  722. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  723. package/dist/esm/six-tab.entry.js +55 -37
  724. package/dist/esm/six-tab.entry.js.map +1 -1
  725. package/dist/esm/six-tag.entry.js +55 -36
  726. package/dist/esm/six-tag.entry.js.map +1 -1
  727. package/dist/esm/six-textarea.entry.js +182 -205
  728. package/dist/esm/six-textarea.entry.js.map +1 -1
  729. package/dist/esm/six-tile.entry.js +74 -77
  730. package/dist/esm/six-tile.entry.js.map +1 -1
  731. package/dist/esm/six-timepicker.entry.js +343 -404
  732. package/dist/esm/six-timepicker.entry.js.map +1 -1
  733. package/dist/esm/six-tooltip.entry.js +145 -148
  734. package/dist/esm/six-tooltip.entry.js.map +1 -1
  735. package/dist/esm/slot-41bc439a.js +48 -0
  736. package/dist/esm/slot-41bc439a.js.map +1 -0
  737. package/dist/esm/types-07748c42.js +17 -0
  738. package/dist/esm/types-07748c42.js.map +1 -0
  739. package/dist/esm/ui-library.js +4 -7
  740. package/dist/esm/ui-library.js.map +1 -1
  741. package/dist/types/components/six-alert/six-alert.d.ts +40 -42
  742. package/dist/types/components/six-avatar/six-avatar.d.ts +11 -12
  743. package/dist/types/components/six-badge/six-badge.d.ts +7 -8
  744. package/dist/types/components/six-button/six-button.d.ts +48 -49
  745. package/dist/types/components/six-card/six-card.d.ts +1 -1
  746. package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -67
  747. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  748. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  749. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  750. package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
  751. package/dist/types/components/six-datepicker/six-datepicker.d.ts +189 -198
  752. package/dist/types/components/six-details/six-details.d.ts +42 -42
  753. package/dist/types/components/six-dialog/six-dialog.d.ts +50 -51
  754. package/dist/types/components/six-drawer/six-drawer.d.ts +58 -59
  755. package/dist/types/components/six-dropdown/six-dropdown.d.ts +112 -116
  756. package/dist/types/components/six-error/six-error.d.ts +9 -0
  757. package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
  758. package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
  759. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
  760. package/dist/types/components/six-file-upload/six-file-upload.d.ts +33 -33
  761. package/dist/types/components/six-footer/six-footer.d.ts +1 -1
  762. package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
  763. package/dist/types/components/six-header/six-header.d.ts +59 -66
  764. package/dist/types/components/six-icon/six-icon.d.ts +5 -5
  765. package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
  766. package/dist/types/components/six-input/six-input.d.ts +108 -138
  767. package/dist/types/components/six-item-picker/six-item-picker.d.ts +97 -93
  768. package/dist/types/components/six-item-picker/types.d.ts +7 -7
  769. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
  770. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
  771. package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
  772. package/dist/types/components/six-menu/six-menu.d.ts +63 -64
  773. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
  774. package/dist/types/components/six-menu-item/six-menu-item.d.ts +21 -21
  775. package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
  776. package/dist/types/components/six-picto/six-picto.d.ts +6 -6
  777. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
  778. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
  779. package/dist/types/components/six-radio/six-radio.d.ts +38 -49
  780. package/dist/types/components/six-range/six-range.d.ts +75 -83
  781. package/dist/types/components/six-root/six-root.d.ts +20 -20
  782. package/dist/types/components/six-search-field/six-search-field.d.ts +20 -21
  783. package/dist/types/components/six-select/six-select.d.ts +122 -136
  784. package/dist/types/components/six-select/util.d.ts +7 -0
  785. package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
  786. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
  787. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +26 -19
  788. package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
  789. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
  790. package/dist/types/components/six-switch/six-switch.d.ts +49 -45
  791. package/dist/types/components/six-tab/six-tab.d.ts +20 -20
  792. package/dist/types/components/six-tab-group/six-tab-group.d.ts +36 -40
  793. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
  794. package/dist/types/components/six-tag/six-tag.d.ts +20 -14
  795. package/dist/types/components/six-textarea/six-textarea.d.ts +89 -114
  796. package/dist/types/components/six-tile/six-tile.d.ts +31 -32
  797. package/dist/types/components/six-timepicker/six-timepicker.d.ts +156 -170
  798. package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -57
  799. package/dist/types/components.d.ts +694 -440
  800. package/dist/types/functional-components/form-control/form-control.d.ts +34 -31
  801. package/dist/types/index.d.ts +1 -0
  802. package/dist/types/stencil-public-runtime.d.ts +49 -5
  803. package/dist/types/testUtil/delay.d.ts +1 -1
  804. package/dist/types/types.d.ts +2 -0
  805. package/dist/types/utils/animation.d.ts +12 -0
  806. package/dist/types/utils/date-util.d.ts +65 -57
  807. package/dist/types/utils/error-messages.d.ts +43 -0
  808. package/dist/types/utils/event-listeners.d.ts +11 -10
  809. package/dist/types/utils/execution-control.d.ts +1 -3
  810. package/dist/types/utils/focus-visible.d.ts +2 -2
  811. package/dist/types/utils/form.d.ts +1 -0
  812. package/dist/types/utils/modal.d.ts +8 -8
  813. package/dist/types/utils/offset.d.ts +2 -2
  814. package/dist/types/utils/popover.d.ts +22 -22
  815. package/dist/types/utils/popup.d.ts +9 -0
  816. package/dist/types/utils/slot.d.ts +2 -7
  817. package/dist/types/utils/tabbable.d.ts +1 -1
  818. package/dist/types/utils/time.util.d.ts +18 -9
  819. package/dist/types/utils/type-check.d.ts +3 -4
  820. package/dist/types/utils/types.d.ts +1 -1
  821. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +7 -7
  822. package/dist/ui-library/index.esm.js +1 -1
  823. package/dist/ui-library/index.esm.js.map +1 -1
  824. package/dist/ui-library/p-06ba4450.js +2 -0
  825. package/dist/ui-library/p-06ba4450.js.map +1 -0
  826. package/dist/ui-library/{p-25a3bf57.js → p-0861899a.js} +1 -1
  827. package/dist/ui-library/p-0861899a.js.map +1 -0
  828. package/dist/ui-library/p-0a81b42c.entry.js +2 -0
  829. package/dist/ui-library/p-0a81b42c.entry.js.map +1 -0
  830. package/dist/ui-library/p-0beec94f.js +3 -0
  831. package/dist/ui-library/p-0beec94f.js.map +1 -0
  832. package/dist/ui-library/p-0e7332db.entry.js +2 -0
  833. package/dist/ui-library/p-0e7332db.entry.js.map +1 -0
  834. package/dist/ui-library/{p-097cced4.entry.js → p-178f5782.entry.js} +2 -2
  835. package/dist/ui-library/p-178f5782.entry.js.map +1 -0
  836. package/dist/ui-library/p-19a61686.entry.js +2 -0
  837. package/dist/ui-library/p-19a61686.entry.js.map +1 -0
  838. package/dist/ui-library/{p-73597d13.entry.js → p-1d0c5929.entry.js} +2 -2
  839. package/dist/ui-library/p-1d0c5929.entry.js.map +1 -0
  840. package/dist/ui-library/p-23c02c98.entry.js +2 -0
  841. package/dist/ui-library/p-23c02c98.entry.js.map +1 -0
  842. package/dist/ui-library/p-28221447.entry.js +2 -0
  843. package/dist/ui-library/p-28221447.entry.js.map +1 -0
  844. package/dist/ui-library/p-2eed9d8d.entry.js +2 -0
  845. package/dist/ui-library/p-2eed9d8d.entry.js.map +1 -0
  846. package/dist/ui-library/p-3187bc23.entry.js +2 -0
  847. package/dist/ui-library/p-3187bc23.entry.js.map +1 -0
  848. package/dist/ui-library/p-32e1a5ab.entry.js +2 -0
  849. package/dist/ui-library/p-32e1a5ab.entry.js.map +1 -0
  850. package/dist/ui-library/{p-baa03951.entry.js → p-3d54ecf2.entry.js} +2 -2
  851. package/dist/ui-library/p-3d54ecf2.entry.js.map +1 -0
  852. package/dist/ui-library/p-4229f7e8.entry.js +2 -0
  853. package/dist/ui-library/p-4229f7e8.entry.js.map +1 -0
  854. package/dist/ui-library/p-4468dd26.entry.js +2 -0
  855. package/dist/ui-library/p-4468dd26.entry.js.map +1 -0
  856. package/dist/ui-library/p-479d8087.entry.js +2 -0
  857. package/dist/ui-library/p-479d8087.entry.js.map +1 -0
  858. package/dist/ui-library/p-49aa8d1e.entry.js +2 -0
  859. package/dist/ui-library/p-49aa8d1e.entry.js.map +1 -0
  860. package/dist/ui-library/{p-af793d04.entry.js → p-58661675.entry.js} +2 -2
  861. package/dist/ui-library/p-58661675.entry.js.map +1 -0
  862. package/dist/ui-library/p-5d43ea07.entry.js +2 -0
  863. package/dist/ui-library/p-5d43ea07.entry.js.map +1 -0
  864. package/dist/ui-library/p-6907a7dc.js +2 -0
  865. package/dist/ui-library/p-6907a7dc.js.map +1 -0
  866. package/dist/ui-library/p-6aa2929a.entry.js +2 -0
  867. package/dist/ui-library/p-6aa2929a.entry.js.map +1 -0
  868. package/dist/ui-library/p-7432d409.entry.js +2 -0
  869. package/dist/ui-library/p-7432d409.entry.js.map +1 -0
  870. package/dist/ui-library/{p-19b50b5a.entry.js → p-74a714c0.entry.js} +2 -2
  871. package/dist/ui-library/p-74a714c0.entry.js.map +1 -0
  872. package/dist/ui-library/p-76825395.entry.js +2 -0
  873. package/dist/ui-library/p-76825395.entry.js.map +1 -0
  874. package/dist/ui-library/p-7f856f00.js +2 -0
  875. package/dist/ui-library/p-7f856f00.js.map +1 -0
  876. package/dist/ui-library/{p-820c23f0.entry.js → p-816f857d.entry.js} +2 -2
  877. package/dist/ui-library/p-816f857d.entry.js.map +1 -0
  878. package/dist/ui-library/{p-eb8f05a9.js → p-8227aaed.js} +2 -2
  879. package/dist/ui-library/p-8227aaed.js.map +1 -0
  880. package/dist/ui-library/p-842b492e.js +2 -0
  881. package/dist/ui-library/p-842b492e.js.map +1 -0
  882. package/dist/ui-library/p-882fbf6f.entry.js +2 -0
  883. package/dist/ui-library/p-882fbf6f.entry.js.map +1 -0
  884. package/dist/ui-library/{p-c349d1d4.entry.js → p-88fd4973.entry.js} +2 -2
  885. package/dist/ui-library/p-88fd4973.entry.js.map +1 -0
  886. package/dist/ui-library/p-8b750c9e.entry.js +2 -0
  887. package/dist/ui-library/p-8b750c9e.entry.js.map +1 -0
  888. package/dist/ui-library/p-8bfb4bfc.js +2 -0
  889. package/dist/ui-library/p-8bfb4bfc.js.map +1 -0
  890. package/dist/ui-library/p-911eb578.entry.js +2 -0
  891. package/dist/ui-library/p-911eb578.entry.js.map +1 -0
  892. package/dist/ui-library/p-93fcda4a.entry.js +2 -0
  893. package/dist/ui-library/p-93fcda4a.entry.js.map +1 -0
  894. package/dist/ui-library/p-981b3228.entry.js +2 -0
  895. package/dist/ui-library/p-981b3228.entry.js.map +1 -0
  896. package/dist/ui-library/{p-4f8394d7.js → p-998de05d.js} +2 -2
  897. package/dist/ui-library/p-998de05d.js.map +1 -0
  898. package/dist/ui-library/p-9b1ff147.entry.js +2 -0
  899. package/dist/ui-library/p-9b1ff147.entry.js.map +1 -0
  900. package/dist/ui-library/p-a0658b26.entry.js +2 -0
  901. package/dist/ui-library/p-a0658b26.entry.js.map +1 -0
  902. package/dist/ui-library/p-a1502802.js +2 -0
  903. package/dist/ui-library/p-a1502802.js.map +1 -0
  904. package/dist/ui-library/p-a4e4620c.entry.js +2 -0
  905. package/dist/ui-library/p-a4e4620c.entry.js.map +1 -0
  906. package/dist/ui-library/{p-6d75f216.entry.js → p-ada23fe3.entry.js} +2 -2
  907. package/dist/ui-library/p-ada23fe3.entry.js.map +1 -0
  908. package/dist/ui-library/{p-a1d4f6cf.entry.js → p-b5ac1219.entry.js} +2 -2
  909. package/dist/ui-library/p-b5ac1219.entry.js.map +1 -0
  910. package/dist/ui-library/p-ba247565.entry.js +2 -0
  911. package/dist/ui-library/p-ba247565.entry.js.map +1 -0
  912. package/dist/ui-library/p-bdb79948.entry.js +2 -0
  913. package/dist/ui-library/p-bdb79948.entry.js.map +1 -0
  914. package/dist/ui-library/p-bee65dd9.entry.js +2 -0
  915. package/dist/ui-library/p-bee65dd9.entry.js.map +1 -0
  916. package/dist/ui-library/p-c07b1240.entry.js +2 -0
  917. package/dist/ui-library/p-c07b1240.entry.js.map +1 -0
  918. package/dist/ui-library/p-c12a94ce.entry.js +2 -0
  919. package/dist/ui-library/p-c12a94ce.entry.js.map +1 -0
  920. package/dist/ui-library/p-c1675a45.entry.js +2 -0
  921. package/dist/ui-library/p-c1675a45.entry.js.map +1 -0
  922. package/dist/ui-library/p-c2df8c27.entry.js +2 -0
  923. package/dist/ui-library/p-c2df8c27.entry.js.map +1 -0
  924. package/dist/ui-library/p-c86aa5b3.entry.js +2 -0
  925. package/dist/ui-library/p-c86aa5b3.entry.js.map +1 -0
  926. package/dist/ui-library/p-cd35b3c6.entry.js +2 -0
  927. package/dist/ui-library/p-cd35b3c6.entry.js.map +1 -0
  928. package/dist/ui-library/{p-63703ba3.entry.js → p-ce373da5.entry.js} +2 -2
  929. package/dist/ui-library/p-ce373da5.entry.js.map +1 -0
  930. package/dist/ui-library/p-d2cf4280.entry.js +2 -0
  931. package/dist/ui-library/p-d2cf4280.entry.js.map +1 -0
  932. package/dist/ui-library/{p-19364560.entry.js → p-d310a6dd.entry.js} +2 -2
  933. package/dist/ui-library/p-d310a6dd.entry.js.map +1 -0
  934. package/dist/ui-library/{p-21859bca.entry.js → p-dfb6bff6.entry.js} +2 -2
  935. package/dist/ui-library/p-dfb6bff6.entry.js.map +1 -0
  936. package/dist/ui-library/{p-9328e5bc.entry.js → p-ee71e3a3.entry.js} +2 -2
  937. package/dist/ui-library/p-ee71e3a3.entry.js.map +1 -0
  938. package/dist/ui-library/{p-97323ad7.entry.js → p-ef317d69.entry.js} +2 -2
  939. package/dist/ui-library/p-ef317d69.entry.js.map +1 -0
  940. package/dist/ui-library/p-f136a6b2.js +2 -0
  941. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  942. package/dist/ui-library/p-f385f1c2.entry.js +2 -0
  943. package/dist/ui-library/p-f385f1c2.entry.js.map +1 -0
  944. package/dist/ui-library/p-f73a6bdc.entry.js +2 -0
  945. package/dist/ui-library/p-f73a6bdc.entry.js.map +1 -0
  946. package/dist/ui-library/p-faa04bb5.js +2 -0
  947. package/dist/ui-library/p-faa04bb5.js.map +1 -0
  948. package/dist/ui-library/p-fcd57e0a.entry.js +2 -0
  949. package/dist/ui-library/p-fcd57e0a.entry.js.map +1 -0
  950. package/dist/ui-library/ui-library.css +2 -2
  951. package/dist/ui-library/ui-library.esm.js +1 -1
  952. package/dist/ui-library/ui-library.esm.js.map +1 -1
  953. package/loader/index.d.ts +1 -1
  954. package/package.json +27 -26
  955. package/dist/cjs/event-listeners-74715e62.js +0 -45
  956. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  957. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  958. package/dist/cjs/focus-visible-0b352c74.js +0 -47
  959. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  960. package/dist/cjs/form-control-2c17c573.js +0 -34
  961. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  962. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  963. package/dist/cjs/modal-48d42228.js +0 -51
  964. package/dist/cjs/modal-48d42228.js.map +0 -1
  965. package/dist/cjs/popover-f743f62b.js.map +0 -1
  966. package/dist/cjs/scroll-76e6f5d7.js +0 -69
  967. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  968. package/dist/cjs/six-form.cjs.entry.js +0 -231
  969. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  970. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  971. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  972. package/dist/cjs/slot-ad537f24.js +0 -52
  973. package/dist/cjs/slot-ad537f24.js.map +0 -1
  974. package/dist/cjs/types-64878648.js +0 -17
  975. package/dist/cjs/types-64878648.js.map +0 -1
  976. package/dist/collection/components/six-form/six-form.css +0 -11
  977. package/dist/collection/components/six-form/six-form.js +0 -419
  978. package/dist/collection/components/six-form/six-form.js.map +0 -1
  979. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  980. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  981. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  982. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  983. package/dist/collection/utils/as-array.js +0 -2
  984. package/dist/collection/utils/as-array.js.map +0 -1
  985. package/dist/collection/utils/matchers.js +0 -3
  986. package/dist/collection/utils/matchers.js.map +0 -1
  987. package/dist/collection/utils/testing.js +0 -39
  988. package/dist/collection/utils/testing.js.map +0 -1
  989. package/dist/components/six-form.js +0 -252
  990. package/dist/components/six-form.js.map +0 -1
  991. package/dist/esm/event-listeners-570a24ea.js +0 -43
  992. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  993. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  994. package/dist/esm/focus-visible-97933ea9.js +0 -45
  995. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  996. package/dist/esm/form-control-3b440ea1.js +0 -32
  997. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  998. package/dist/esm/index-5c0f6628.js.map +0 -1
  999. package/dist/esm/modal-5ebdc320.js +0 -48
  1000. package/dist/esm/modal-5ebdc320.js.map +0 -1
  1001. package/dist/esm/polyfills/css-shim.js +0 -1
  1002. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  1003. package/dist/esm/scroll-180b53fd.js +0 -64
  1004. package/dist/esm/six-form.entry.js +0 -227
  1005. package/dist/esm/six-form.entry.js.map +0 -1
  1006. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  1007. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  1008. package/dist/esm/slot-6f3984c7.js +0 -47
  1009. package/dist/esm/slot-6f3984c7.js.map +0 -1
  1010. package/dist/esm/types-4b10b413.js +0 -17
  1011. package/dist/esm/types-4b10b413.js.map +0 -1
  1012. package/dist/types/components/six-form/six-form.d.ts +0 -69
  1013. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  1014. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  1015. package/dist/types/utils/as-array.d.ts +0 -1
  1016. package/dist/types/utils/matchers.d.ts +0 -2
  1017. package/dist/types/utils/popper.d.ts +0 -33
  1018. package/dist/types/utils/testing.d.ts +0 -2
  1019. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  1020. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  1021. package/dist/ui-library/p-0786fa7c.js +0 -2
  1022. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  1023. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  1024. package/dist/ui-library/p-0d79b0c6.entry.js +0 -2
  1025. package/dist/ui-library/p-0d79b0c6.entry.js.map +0 -1
  1026. package/dist/ui-library/p-14f20bbb.entry.js +0 -2
  1027. package/dist/ui-library/p-14f20bbb.entry.js.map +0 -1
  1028. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  1029. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  1030. package/dist/ui-library/p-18ea0c56.js +0 -2
  1031. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  1032. package/dist/ui-library/p-19364560.entry.js.map +0 -1
  1033. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  1034. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  1035. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  1036. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  1037. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  1038. package/dist/ui-library/p-308261c4.entry.js +0 -2
  1039. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  1040. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  1041. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  1042. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  1043. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  1044. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  1045. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  1046. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  1047. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  1048. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  1049. package/dist/ui-library/p-611e1978.entry.js +0 -2
  1050. package/dist/ui-library/p-611e1978.entry.js.map +0 -1
  1051. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  1052. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  1053. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  1054. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  1055. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  1056. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  1057. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  1058. package/dist/ui-library/p-79eee01b.js +0 -2
  1059. package/dist/ui-library/p-79eee01b.js.map +0 -1
  1060. package/dist/ui-library/p-7e0cc4ae.entry.js +0 -2
  1061. package/dist/ui-library/p-7e0cc4ae.entry.js.map +0 -1
  1062. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  1063. package/dist/ui-library/p-835c3ff7.entry.js +0 -2
  1064. package/dist/ui-library/p-835c3ff7.entry.js.map +0 -1
  1065. package/dist/ui-library/p-8a970a40.entry.js +0 -2
  1066. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  1067. package/dist/ui-library/p-90824648.entry.js +0 -2
  1068. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  1069. package/dist/ui-library/p-90dc6af4.entry.js +0 -2
  1070. package/dist/ui-library/p-90dc6af4.entry.js.map +0 -1
  1071. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  1072. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  1073. package/dist/ui-library/p-9a860acc.js +0 -2
  1074. package/dist/ui-library/p-9a860acc.js.map +0 -1
  1075. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  1076. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  1077. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  1078. package/dist/ui-library/p-ac4f4d45.js +0 -3
  1079. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  1080. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  1081. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  1082. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  1083. package/dist/ui-library/p-b1e66136.js +0 -2
  1084. package/dist/ui-library/p-b1e66136.js.map +0 -1
  1085. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  1086. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  1087. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  1088. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  1089. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  1090. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  1091. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  1092. package/dist/ui-library/p-c30f9e0b.entry.js +0 -2
  1093. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  1094. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  1095. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  1096. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  1097. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  1098. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  1099. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  1100. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  1101. package/dist/ui-library/p-d12c6092.js +0 -2
  1102. package/dist/ui-library/p-d12c6092.js.map +0 -1
  1103. package/dist/ui-library/p-d5633a29.entry.js +0 -2
  1104. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  1105. package/dist/ui-library/p-dd3c76f1.entry.js +0 -2
  1106. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  1107. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  1108. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  1109. package/dist/ui-library/p-e19a6c95.entry.js +0 -2
  1110. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  1111. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  1112. package/dist/ui-library/p-edc96efc.entry.js +0 -2
  1113. package/dist/ui-library/p-edc96efc.entry.js.map +0 -1
  1114. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  1115. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  1116. package/dist/ui-library/p-f4938771.entry.js +0 -2
  1117. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  1118. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  1119. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  1120. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  1121. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  1122. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  1123. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  1124. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  1125. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  1126. package/readme.md +0 -156
@@ -1 +1 @@
1
- {"file":"six-timepicker.entry.cjs.js","mappings":"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","names":["SixTimePeriod","TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP","TIME_FORMAT_CHAR","EventListeners","DEFAULT_DEBOUNCE_FAST","DEFAULT_DEBOUNCE_INSANELY_FAST","debounce","h","ItemPickerType","isNil","SixTimePropertyName","hasSlot"],"sources":["./src/components/six-timepicker/six-time-format.tsx","./src/utils/time.util.ts","./src/components/six-timepicker/six-timepicker.scss?tag=six-timepicker&encapsulation=shadow","./src/components/six-timepicker/six-timepicker.tsx"],"sourcesContent":["export enum SixTimeFormat {\n HHmmss = 'HH:mm:ss', // 24 hour format\n hhmmssaa = 'hh:mm:ss:aa',\n HHmmssms = 'HH:mm:ss:ms',\n hhmmssmsaa = 'hh:mm:ss:ms:aa',\n HHmm = 'HH:mm',\n hhmmaa = 'hh:mm:aa',\n HH = 'HH',\n hhaa = 'hh:aa',\n mm = 'mm',\n ss = 'ss',\n ms = 'ms',\n}\n","/*\n * Returns the current time in the format of your choice\n */\nimport {\n SixTime,\n SixTimePeriod,\n TIME_FORMAT_CHAR,\n TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP,\n} from '../components/six-timepicker/six-timepicker.types';\nimport { SixTimeFormat } from '../components/six-timepicker/six-time-format';\n\nexport const getCurrentTimeIn24Hours = (): SixTime => {\n const now = new Date();\n return {\n hours: now.getHours(),\n minutes: now.getMinutes(),\n seconds: now.getSeconds(),\n milliseconds: now.getMilliseconds(),\n has24Hours: true,\n };\n};\n\nconst HOURS_IN_12_HOUR_CLOCK_FORMAT = 12;\n\nexport const getHoursIn12HourFormat = (hours: number) =>\n hours > HOURS_IN_12_HOUR_CLOCK_FORMAT ? hours - HOURS_IN_12_HOUR_CLOCK_FORMAT : hours;\n\nexport const getCurrentTimeIn12Hours = (): SixTime => {\n const now = new Date();\n const hours = now.getHours();\n return {\n hours: getHoursIn12HourFormat(hours),\n minutes: now.getMinutes(),\n seconds: now.getSeconds(),\n milliseconds: now.getMilliseconds(),\n has24Hours: false,\n period: hours >= HOURS_IN_12_HOUR_CLOCK_FORMAT ? SixTimePeriod.PM : SixTimePeriod.AM,\n };\n};\n\nexport const getCurrentTime = (has24Hours: boolean = true): SixTime => {\n return has24Hours ? getCurrentTimeIn24Hours() : getCurrentTimeIn12Hours();\n};\n\nexport const TIME_FORMAT_SEPARATOR = ':';\nexport const isValidTimeString = (timeStr: string, format: SixTimeFormat) => {\n const timeStringParts = timeStr.split(TIME_FORMAT_SEPARATOR);\n const timeFormatParts = format.split(TIME_FORMAT_SEPARATOR);\n return timeStringParts.length === timeFormatParts.length;\n};\n\nexport const parseTimeString = (timeStr: string, format: SixTimeFormat): SixTime => {\n const timeStringParts = timeStr.split(TIME_FORMAT_SEPARATOR);\n const timeFormatParts = format.split(TIME_FORMAT_SEPARATOR);\n\n if (!isValidTimeString(timeStr, format)) {\n console.error(\n `Timestring did not match expected format.\\nExpected format: ${format}\\nReceived timestring: ${timeStr}`\n );\n }\n\n const sixTime: SixTime = {};\n\n timeStringParts.forEach((timeStringPart, i) => {\n const formatStringPart = timeFormatParts[i];\n const sixTimePropertyName = TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP[formatStringPart];\n\n if (sixTimePropertyName !== undefined) {\n if (formatStringPart === TIME_FORMAT_CHAR.PERIOD) {\n sixTime.period = timeStringPart.toUpperCase() === SixTimePeriod.PM ? SixTimePeriod.PM : SixTimePeriod.AM;\n } else {\n sixTime[sixTimePropertyName] = Number(timeStringPart);\n }\n }\n\n if (formatStringPart === TIME_FORMAT_CHAR.HOUR_24) {\n sixTime.has24Hours = true;\n } else if (formatStringPart === TIME_FORMAT_CHAR.HOUR_12) {\n sixTime.has24Hours = false;\n }\n });\n\n return sixTime;\n};\n\nexport const createTimeString = (time: SixTime, format: SixTimeFormat) => {\n return format\n .split(TIME_FORMAT_SEPARATOR)\n .map((timeFormatPart) => {\n const sixTimePropertyName = TIME_FORMAT_CHAR_TO_SIX_TIME_PROPERTY_MAP[timeFormatPart];\n const paddingLength = timeFormatPart === TIME_FORMAT_CHAR.MILLISECOND ? 3 : 2;\n return String(time[sixTimePropertyName]).padStart(paddingLength, '0');\n })\n .join(TIME_FORMAT_SEPARATOR);\n};\n","@import 'src/global/component';\n\n:host {\n display: block;\n font-family: var(--six-font-family);\n}\n\n.timepicker {\n &_clear {\n display: inline-flex;\n align-items: center;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--six-transition-fast) color;\n cursor: pointer;\n\n &:hover {\n color: var(--six-input-icon-color-hover);\n }\n\n &:focus {\n outline: none;\n }\n\n &--right {\n right: 0;\n position: absolute;\n }\n\n &--left {\n right: 35px;\n position: absolute;\n }\n }\n\n &__container {\n position: relative;\n }\n\n &__popup {\n display: flex;\n justify-content: center;\n min-width: min-content;\n min-height: 145px;\n background-color: white;\n padding: 0.5em 0.5em 1.5em;\n box-shadow: 0 2px 4px -1px rgb(0 0 0 / 20%), 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%);\n user-select: none;\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n right: 0;\n left: 0;\n\n &--is-up {\n bottom: 100%;\n }\n\n &--is-inline {\n position: initial;\n box-shadow: none;\n border: 1px solid var(--six-color-web-rock-400);\n }\n }\n\n &__separator {\n display: flex;\n align-items: center;\n }\n\n &__item {\n &--wide {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n }\n }\n}\n\n.input--empty .timepicker_clear {\n visibility: hidden;\n}\n\n.input--hide {\n display: none;\n}\n\n// Icon position\n.prefix {\n cursor: pointer;\n\n &--right {\n right: 0;\n display: inline-flex;\n position: absolute;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n margin-right: var(--six-input-spacing-medium);\n transition: var(--six-transition-fast) color;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerType } from '../six-item-picker/types';\nimport { SixTimeFormat } from './six-time-format';\nimport { SixTime, SixTimePropertyName, TIME_FORMAT_CHAR } from './six-timepicker.types';\nimport {\n createTimeString,\n getCurrentTime,\n isValidTimeString,\n parseTimeString,\n TIME_FORMAT_SEPARATOR,\n} from '../../utils/time.util';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { SixItemPickerChangePayload } from '../six-item-picker/six-item-picker';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { isNil } from '../../utils/type-check';\n\ninterface SixTimepickerBasePayload {\n value: SixTime;\n valueAsString: string;\n}\n\nexport interface SixTimepickerChange extends SixTimepickerBasePayload {\n changedProperty?: string;\n}\n\nexport interface SixTimepickerInput extends SixTimepickerBasePayload {}\n\nexport interface SixTimepickerBlur extends SixTimepickerBasePayload {}\n\ninterface SixTimeUnitPickerParams {\n min?: number;\n max?: number;\n items?: string[];\n type?: ItemPickerType;\n class?: string;\n paddingLength?: number;\n propertyName: string;\n}\n\nconst TAG = `[SIX-TIMEPICKER]`;\nconst DEBOUNCE_TIMEPICKER_LISTENER = 'debounced-timepicker';\nconst MIN_POPUP_HEIGHT = 145;\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n * @part input - The input field\n * @part container - The container of whole component\n * @part popup - The popup of the timepicker component\n *\n */\n@Component({\n tag: 'six-timepicker',\n styleUrl: 'six-timepicker.scss',\n shadow: true,\n})\nexport class SixTimepicker {\n private readonly eventListeners = new EventListeners();\n\n private popup: HTMLElement;\n\n private wrapper: HTMLElement;\n\n private inputElement: HTMLSixInputElement;\n\n @Element() host: HTMLSixTimepickerElement;\n\n /**\n * Define the time format. Valid formats are:\n *\n * HH:mm:ss\n * hh:mm:ss:aa\n * HH:mm:ss:ms\n * hh:mm:ss:ms:aa\n * HH:mm\n * hh:mm:aa\n * HH\n * hh:aa\n * mm\n * ss\n * ms\n *\n * where HH is the 24 hour format\n * and hh is the 12 hour format\n *\n * Please notice that when using the 12-hour-clock (hh)\n * you always need a period indicator (aa). So the time can be parsed as either am or pm\n * */\n @Prop() format: SixTimeFormat = SixTimeFormat.HHmmss;\n\n /**\n * Define the separator to be shown between the time unit pickers.\n * Please be aware that this property will modify the displayed separator only.\n * The separator for a timestring is always expected to be a colon (eg. '13:52:20')\n * */\n @Prop() separator = TIME_FORMAT_SEPARATOR;\n\n /**\n * The value of the timepicker provided as a string. The string mast match the provided format (or default format)\n */\n @Prop({ mutable: true }) value?: string | null;\n\n /** Indicates whether or not the timepicker dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether or not the timepicker should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a time via the timepicker but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement: 'top' | 'bottom';\n\n /** Timepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to make the input a required field. */\n @Prop({ reflect: true }) required: boolean;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string | null;\n\n /** Set to display the error text on blur and not when typing */\n @Prop() errorOnBlur = false;\n\n /** The input's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText = '';\n\n /** The input's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between timeunits (e.g. hours).\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next timeunit (e.g. next hour) when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * The defaultTime defines the default setting for the timepicker when you open the popup. Default time must match the provided format.\n */\n @Prop() defaultTime?: string | null;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-timepicker-change-debounced` event.\n * If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce\n * is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click\n * (and keep pressed) and once you release\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Emitted when the timepicker's value changes\n */\n @Event({ eventName: 'six-timepicker-change' }) sixChange: EventEmitter<SixTimepickerChange>;\n\n /**\n * Emitted when the timepicker's value changes, but debounced\n */\n @Event({ eventName: 'six-timepicker-change-debounced' })\n sixChangeDebounced: EventEmitter<SixTimepickerChange>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-timepicker-clear' }) sixClear: EventEmitter<EmptyPayload>;\n\n @State() isPopupContentUp = false;\n\n @State() isDropDownContentUp = false;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.calcIsPopupContentUp();\n this.moveOpenHoistedPopup();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.calcIsPopupContentUp();\n this.moveOpenHoistedPopup();\n }\n\n @Watch('debounce')\n protected debounceChanged() {\n this.eventListeners.removeByIdentifier(DEBOUNCE_TIMEPICKER_LISTENER);\n this.eventListeners.add(\n this.host,\n 'six-timepicker-change',\n debounce(this.handleSixTimepickerChangeDebounced, this.debounce),\n DEBOUNCE_TIMEPICKER_LISTENER\n );\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged(newValue: string) {\n if (this.value !== newValue) {\n this.value = newValue;\n }\n this.setupInternalTime();\n this.sixChange.emit({\n value: this.internalValue,\n valueAsString: createTimeString(this.internalValue, this.format),\n });\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n @Method()\n async reportValidity() {\n return this.inputElement.reportValidity();\n }\n\n /** Checks for validity. */\n @Method()\n async checkValidity() {\n return this.inputElement.checkValidity();\n }\n\n /** Sets a custom validation message. If `message` is not empty, the field will be considered invalid. */\n @Method()\n async setCustomValidity(message: string) {\n await this.inputElement.setCustomValidity(message);\n }\n\n /** Resets the formcontrol */\n @Method()\n async reset() {\n this.internalValue = this.defaultValue;\n this.inputElement.value = createTimeString(this.internalValue, this.format);\n await this.inputElement.reset();\n }\n\n /*\n * Internally the six-timepicker uses a standardized representation of time, so we don't have a mess,\n * when switching between formats\n */\n @State()\n private internalValue: SixTime;\n\n private defaultValue: SixTime = null;\n\n componentWillLoad() {\n this.setupInternalTime();\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n }\n\n componentDidLoad() {\n this.eventListeners.add(\n this.host,\n 'six-timepicker-change',\n debounce(this.handleSixTimepickerChangeDebounced, this.debounce),\n DEBOUNCE_TIMEPICKER_LISTENER\n );\n this.eventListeners.add(this.inputElement, 'six-input-input', debounce(this.handleInputChange, this.debounce));\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n\n private handleInputChange = (event: Event) => {\n event.stopPropagation();\n const inputValue = this.inputElement.value;\n\n if (!isValidTimeString(inputValue, this.format)) {\n this.sixChange.emit({\n value: {},\n valueAsString: '',\n });\n return;\n }\n\n this.internalValue = parseTimeString(inputValue, this.format);\n this.sixChange.emit({\n value: this.internalValue,\n valueAsString: createTimeString(this.internalValue, this.format),\n });\n };\n\n private calcIsPopupContentUp() {\n if (!this.inputElement || !this.wrapper) {\n return;\n }\n\n const inputBoundingRect = this.inputElement.getBoundingClientRect();\n const wrapperBoundingRect = this.wrapper.getBoundingClientRect();\n const minPopupHeight = Math.max(wrapperBoundingRect.height, MIN_POPUP_HEIGHT);\n\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n this.isPopupContentUp = moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + minPopupHeight;\n }\n\n /*\n * The position of the hoisted timepicker needs to be correctly calculated since the position changes to fixed.\n * Thus if the user scrolls or adjusts the screen size we need to recalculate the timepicker position.\n */\n private moveOpenHoistedPopup() {\n if (!this.hoist || !this.open) {\n return;\n }\n\n const popupBoundingClientRect = this.popup.getBoundingClientRect();\n const popupHeight = popupBoundingClientRect.height;\n const inputBoundingClientRect = this.inputElement.getBoundingClientRect();\n const inputTop = inputBoundingClientRect.top;\n const inputHeight = inputBoundingClientRect.height;\n\n this.calcIsPopupContentUp();\n\n if (this.isPopupContentUp) {\n this.popup.style.top = `${inputTop - popupHeight}px`;\n } else {\n this.popup.style.top = `${inputTop + inputHeight}px`;\n }\n }\n\n private handleSixTimepickerChangeDebounced = ({ detail }) => {\n this.sixChangeDebounced.emit(detail);\n };\n\n private handleChange = (event: CustomEvent<SixItemPickerChangePayload>, property: string) => {\n // stop propagation, since the timepicker should not expose the events of the underlying item-picker\n event.stopPropagation();\n\n // update the internal state\n this.internalValue[property] = event.detail;\n\n const timeString = createTimeString(this.internalValue, this.format);\n\n // fire timepicker's own event\n this.sixChange.emit({\n changedProperty: property,\n value: this.internalValue,\n valueAsString: timeString,\n });\n\n // update the input value\n this.value = timeString;\n };\n\n private getSixTimeUnitPicker(params: SixTimeUnitPickerParams) {\n return (\n <six-item-picker\n class={params.class}\n timeout={this.timeout}\n interval={this.interval}\n padded\n min={params.min}\n max={params.max}\n value={this.internalValue[params.propertyName]}\n items={params.items}\n type={params.type || ItemPickerType.NUMBER}\n padding-length={params.paddingLength}\n onSix-item-picker-change={(event) => this.handleChange(event, params.propertyName)}\n ></six-item-picker>\n );\n }\n\n private setupInternalTime() {\n if (this.is12HourClock() && !this.format.includes(TIME_FORMAT_CHAR.PERIOD)) {\n console.error(\n `${TAG} You provided a 12-hour-clock format but are missing the period (am or pm) in the time-format-string!`\n );\n }\n\n if (this.value === null || this.value === undefined) {\n this.internalValue = isNil(this.defaultTime)\n ? getCurrentTime(this.is24HourClock())\n : parseTimeString(this.defaultTime, this.format);\n } else {\n this.internalValue = parseTimeString(this.value, this.format);\n }\n\n this.defaultValue = this.internalValue;\n }\n\n private getHour24Picker() {\n if (!this.is24HourClock()) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 23, propertyName: SixTimePropertyName.HOURS });\n }\n\n private is24HourClock() {\n return this.format.includes(TIME_FORMAT_CHAR.HOUR_24);\n }\n\n private getHour12Picker() {\n if (!this.is12HourClock()) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 11, propertyName: SixTimePropertyName.HOURS });\n }\n\n private is12HourClock() {\n return this.format.includes(TIME_FORMAT_CHAR.HOUR_12);\n }\n\n private getAmPmPicker() {\n if (!this.is12HourClock()) {\n return;\n }\n\n const items = ['AM', 'PM'];\n return this.getSixTimeUnitPicker({\n items,\n type: ItemPickerType.CUSTOM,\n propertyName: SixTimePropertyName.PERIOD,\n });\n }\n\n private getMinutePicker() {\n if (!this.format.includes(TIME_FORMAT_CHAR.MINUTE)) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: SixTimePropertyName.MINUTES });\n }\n\n private getSecondsPicker() {\n if (!this.format.includes(TIME_FORMAT_CHAR.SECOND)) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: SixTimePropertyName.SECONDS });\n }\n\n private getMillisecondsPicker() {\n if (!this.format.includes(TIME_FORMAT_CHAR.MILLISECOND)) {\n return;\n }\n\n return this.getSixTimeUnitPicker({\n min: 0,\n max: 999,\n class: 'timepicker__item--wide',\n paddingLength: 3,\n propertyName: SixTimePropertyName.MILLISECONDS,\n });\n }\n\n private getSeparator() {\n return (\n <div class=\"timepicker__separator\">\n <span>{this.separator}</span>\n </div>\n );\n }\n\n private getContent() {\n const elementsInOrder = [\n this.getHour24Picker(),\n this.getHour12Picker(),\n this.getMinutePicker(),\n this.getSecondsPicker(),\n this.getMillisecondsPicker(),\n ];\n\n const visibleElements = elementsInOrder.filter((el) => el !== undefined);\n\n return visibleElements.map((el, idx) => {\n if (idx === visibleElements.length - 1) {\n return [el];\n }\n\n return [el, this.getSeparator()];\n });\n }\n\n private openPopup() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n }\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentMouseDown = (event: MouseEvent) => {\n // Close when clicking outside of the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.host)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.value = undefined;\n this.sixClear.emit();\n };\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n timepicker_clear: true,\n 'timepicker_clear--right': this.iconPosition === 'left',\n 'timepicker_clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>watch_later</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n private calcIsDropDownContentUp() {\n if (!this.inputElement || !this.wrapper) {\n return;\n }\n\n const inputBoundingRect = this.inputElement.getBoundingClientRect();\n const wrapperBoundingRect = this.wrapper.getBoundingClientRect();\n const minPopupHeight = Math.max(wrapperBoundingRect.height, MIN_POPUP_HEIGHT);\n\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n this.isDropDownContentUp = moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + minPopupHeight;\n }\n\n /*\n * If the popup is hoisted we popup is hoisted its position will change to fix to not be clipped of by a containing container.\n * To render the popup correctly we render it normally, and then assign this screenposition to the fixed popup\n */\n private adjustPopupForHoisting() {\n if (!this.hoist) {\n return;\n }\n\n // execute after dropdown has been rendered to make sure the popup reference is correctly set\n setTimeout(() => {\n if (!this.popup) {\n return;\n }\n\n // take a snapshot of normally rendered popup\n const popupBoundingClientRect = this.popup.getBoundingClientRect();\n\n // apply screen position to fixed popup\n this.popup.style.position = 'fixed';\n ['top', 'left', 'width', 'height'].forEach((property) => {\n this.popup.style[property] = `${popupBoundingClientRect[property]}px`;\n });\n\n const inputBoundingClientRect = this.inputElement.getBoundingClientRect();\n const inputTop = inputBoundingClientRect.top;\n const popupTop = popupBoundingClientRect.top;\n\n this.calcIsDropDownContentUp();\n // check screen position to check whether the popup should be moved above or below the trigger element\n if (this.isDropDownContentUp && inputTop < popupTop) {\n // move popup above input field if timepicker is at bottom of screen\n this.popup.style.top = `${popupTop - popupBoundingClientRect.height - inputBoundingClientRect.height}px`;\n }\n }, 0);\n }\n\n render() {\n this.adjustPopupForHoisting();\n\n return (\n <div part=\"container\" ref={(el) => (this.wrapper = el)} class=\"timepicker__container\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n part=\"input\"\n onClick={() => this.openPopup()}\n value={this.value}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n size={this.size}\n name={this.name}\n label={this.label}\n required={this.required}\n error-text={this.errorText}\n error-on-blur={this.errorOnBlur}\n class={{\n 'input--empty': !this.value,\n 'input--hide': this.inline,\n }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n ref={(el) => (this.popup = el)}\n part=\"popup\"\n class={{\n timepicker__popup: true,\n 'timepicker__popup--is-up': this.placement ? this.placement === 'top' : this.isPopupContentUp,\n 'timepicker__popup--is-inline': this.inline,\n }}\n >\n {...this.getContent()}\n {this.getAmPmPicker()}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-timepicker.entry.cjs.js","mappings":"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","names":["EventListeners","DEFAULT_DEBOUNCE_FAST","DEFAULT_DEBOUNCE_INSANELY_FAST","debounce","adjustPopupForHoisting","movePopup","h","ItemPickerType","hasSlot"],"sources":["src/utils/time.util.ts","src/components/six-timepicker/six-timepicker.scss?tag=six-timepicker&encapsulation=shadow","src/components/six-timepicker/six-timepicker.tsx"],"sourcesContent":["export type TimePeriod = 'AM' | 'PM';\n\nexport interface Time {\n hours?: number;\n minutes?: number;\n seconds?: number;\n milliseconds?: number;\n has24Hours?: boolean; // true => 24h, false => 12h\n period?: TimePeriod; // only needed for 12-hour clock\n}\n\nexport type TimeProperties = keyof Time;\n\nexport type TimeFormatChar =\n | 'HH' // 24h\n | 'hh' // 12h\n | 'mm' // minutes\n | 'ss' // seconds\n | 'ms' // milliseconds\n | 'aa'; // period (AM/PM)\n\n/*\n * Supported time formats\n */\nexport type TimeFormat =\n | 'HH:mm:ss'\n | 'hh:mm:ss:aa'\n | 'HH:mm:ss:ms'\n | 'hh:mm:ss:ms:aa'\n | 'HH:mm'\n | 'hh:mm:aa'\n | 'HH'\n | 'hh:aa'\n | 'mm'\n | 'ss'\n | 'ms';\n\nexport const getCurrentTimeIn24Hours = (): Time => {\n const now = new Date();\n return {\n hours: now.getHours(),\n minutes: now.getMinutes(),\n seconds: now.getSeconds(),\n milliseconds: now.getMilliseconds(),\n has24Hours: true,\n };\n};\n\nconst HOURS_IN_12_HOUR_CLOCK_FORMAT = 12;\n\nexport const getHoursIn12HourFormat = (hours: number) =>\n hours > HOURS_IN_12_HOUR_CLOCK_FORMAT ? hours - HOURS_IN_12_HOUR_CLOCK_FORMAT : hours;\n\nexport const getCurrentTimeIn12Hours = (): Time => {\n const now = new Date();\n const hours = now.getHours();\n return {\n hours: getHoursIn12HourFormat(hours),\n minutes: now.getMinutes(),\n seconds: now.getSeconds(),\n milliseconds: now.getMilliseconds(),\n has24Hours: false,\n period: hours >= HOURS_IN_12_HOUR_CLOCK_FORMAT ? 'PM' : 'AM',\n };\n};\n\nexport const getCurrentTime = (has24Hours = true): Time => {\n return has24Hours ? getCurrentTimeIn24Hours() : getCurrentTimeIn12Hours();\n};\n\nexport const isValidTimeString = (timeStr: string, format: TimeFormat) => {\n const timeStringParts = timeStr.split(':');\n const timeFormatParts = format.split(':');\n return timeStringParts.length === timeFormatParts.length;\n};\n\nexport const parseTimeString = (timeStr: string, format: TimeFormat): Time => {\n const timeParts = timeStr.split(':');\n const formatParts = format.split(':') as TimeFormatChar[];\n\n if (!isValidTimeString(timeStr, format)) {\n console.error(\n `Timestring did not match expected format.\\nExpected format: ${format}\\nReceived timestring: ${timeStr}`\n );\n }\n\n const time: Time = {};\n\n timeParts.forEach((timeStringPart, i) => {\n const formatStringPart: TimeFormatChar = formatParts[i];\n switch (formatStringPart) {\n case 'HH':\n time.hours = Number(timeStringPart);\n time.has24Hours = true;\n break;\n case 'hh':\n time.hours = Number(timeStringPart);\n time.has24Hours = false;\n break;\n case 'mm':\n time.minutes = Number(timeStringPart);\n break;\n case 'ss':\n time.seconds = Number(timeStringPart);\n break;\n case 'ms':\n time.milliseconds = Number(timeStringPart);\n break;\n case 'aa':\n time.period = timeStringPart.toUpperCase() === 'PM' ? 'PM' : 'AM';\n }\n });\n return time;\n};\n\nexport const createTimeString = (time: Time | undefined, format: TimeFormat): string => {\n if (time == null) {\n return '';\n }\n\n const formatParts = format.split(':') as TimeFormatChar[];\n\n return formatParts\n .map((timeFormatPart) => {\n switch (timeFormatPart) {\n case 'HH':\n case 'hh':\n return String(time.hours).padStart(2, '0');\n case 'mm':\n return String(time.minutes).padStart(2, '0');\n case 'ss':\n return String(time.seconds).padStart(2, '0');\n case 'ms':\n return String(time.milliseconds).padStart(3, '0');\n case 'aa':\n return String(time.period);\n }\n })\n .join(':');\n};\n","@import 'src/global/component';\n\n:host {\n display: block;\n font-family: var(--six-font-family);\n}\n\n.timepicker {\n &_clear {\n display: inline-flex;\n align-items: center;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n padding: 0;\n transition: var(--six-transition-fast) color;\n cursor: pointer;\n\n &:hover {\n color: var(--six-input-icon-color-hover);\n }\n\n &:focus {\n outline: none;\n }\n\n &--right {\n right: 0;\n position: absolute;\n }\n\n &--left {\n right: 35px;\n position: absolute;\n }\n }\n\n &__container {\n position: relative;\n }\n\n &__popup {\n display: flex;\n justify-content: center;\n min-width: min-content;\n min-height: 145px;\n background-color: white;\n padding: 0.5em 0.5em 1.5em;\n box-shadow: 0 2px 4px -1px rgb(0 0 0 / 20%), 0 4px 5px 0 rgb(0 0 0 / 14%), 0 1px 10px 0 rgb(0 0 0 / 12%);\n user-select: none;\n position: absolute;\n z-index: var(--six-z-index-dropdown);\n right: 0;\n left: 0;\n\n &--is-up {\n bottom: 100%;\n }\n\n &--is-inline {\n position: initial;\n box-shadow: none;\n border: 1px solid var(--six-color-web-rock-400);\n }\n }\n\n &__separator {\n display: flex;\n align-items: center;\n }\n\n &__item {\n &--wide {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n }\n }\n}\n\n.input--empty .timepicker_clear {\n visibility: hidden;\n}\n\n.input--hide {\n display: none;\n}\n\n// Icon position\n.prefix {\n cursor: pointer;\n\n &--right {\n right: 0;\n display: inline-flex;\n position: absolute;\n font-size: inherit;\n color: var(--six-input-icon-color);\n border: none;\n background: none;\n margin-right: var(--six-input-spacing-medium);\n transition: var(--six-transition-fast) color;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Listen, Method, Prop, State, Watch } from '@stencil/core';\nimport { ItemPickerType } from '../six-item-picker/types';\nimport {\n createTimeString,\n getCurrentTime,\n isValidTimeString,\n parseTimeString,\n Time,\n TimeFormat,\n TimeProperties,\n} from '../../utils/time.util';\nimport { debounce, DEFAULT_DEBOUNCE_FAST, DEFAULT_DEBOUNCE_INSANELY_FAST } from '../../utils/execution-control';\nimport { SixItemPickerChangePayload } from '../six-item-picker/six-item-picker';\nimport { EventListeners } from '../../utils/event-listeners';\nimport { hasSlot } from '../../utils/slot';\nimport { EmptyPayload } from '../../utils/types';\nimport { adjustPopupForHoisting, movePopup } from '../../utils/popup';\n\nexport interface SixTimepickerChange {\n value?: Time;\n valueAsString: string;\n changedProperty?: string;\n}\n\ninterface SixTimeUnitPickerParams {\n min?: number;\n max?: number;\n items?: string[];\n type?: ItemPickerType;\n class?: string;\n paddingLength?: number;\n propertyName: TimeProperties;\n}\n\nconst MIN_POPUP_HEIGHT = 145;\n\n/**\n * @since 2.0.0\n * @status experimental\n *\n * @slot error-text - Error text that is shown for validation errors. Alternatively, you can use the error-text prop.\n *\n * @part input - The input field\n * @part container - The container of whole component\n * @part popup - The popup of the timepicker component\n *\n */\n@Component({\n tag: 'six-timepicker',\n styleUrl: 'six-timepicker.scss',\n shadow: true,\n})\nexport class SixTimepicker {\n private eventListeners = new EventListeners();\n private popup?: HTMLElement;\n private wrapper?: HTMLElement;\n private inputElement?: HTMLSixInputElement;\n\n @Element() host!: HTMLSixTimepickerElement;\n\n /**\n * Define the time format. Valid formats are:\n *\n * HH:mm:ss\n * hh:mm:ss:aa\n * HH:mm:ss:ms\n * hh:mm:ss:ms:aa\n * HH:mm\n * hh:mm:aa\n * HH\n * hh:aa\n * mm\n * ss\n * ms\n *\n * where HH is the 24 hour format\n * and hh is the 12 hour format\n *\n * Please notice that when using the 12-hour-clock (hh)\n * you always need a period indicator (aa). So the time can be parsed as either am or pm\n * */\n @Prop() format: TimeFormat = 'HH:mm:ss';\n\n /**\n * Define the separator to be shown between the time unit pickers.\n * Please be aware that this property will modify the displayed separator only.\n * The separator for a timestring is always expected to be a colon (eg. '13:52:20')\n * */\n @Prop() separator = ':';\n\n /**\n * The value of the timepicker provided as a string. The string mast match the provided format (or default format)\n */\n @Prop({ mutable: true }) value = '';\n\n /** Indicates whether the timepicker dropdown is open on startup. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** Indicates whether the timepicker should be shown as an inline (always open) component */\n @Prop({ reflect: true }) inline = false;\n\n /**\n * If `true` the user can only select a time via the timepicker but not directly edit the input field.\n */\n @Prop() readonly = false;\n\n /**\n * If `true` the component is disabled.\n */\n @Prop() disabled = false;\n\n /**\n * The enforced placement of the dropdown panel.\n */\n @Prop() placement?: 'top' | 'bottom';\n\n /** Timepicker size. */\n @Prop() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Set to true to show an asterisk beneath the label. */\n @Prop() required = false;\n\n /**\n * The placeholder defines what text to be shown on the input element\n */\n @Prop() placeholder?: string;\n\n /** The input's error text. Alternatively, you can use the error-text slot. */\n @Prop() errorText: string | string[] = '';\n\n /** The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1 */\n @Prop() errorTextCount?: number;\n\n /** The input's label. Alternatively, you can use the label slot. */\n @Prop() label = '';\n\n /** If this property is set to true and an error message is provided by `errorText`, the error message is displayed. */\n @Prop({ reflect: true }) invalid = false;\n\n /** The input's name attribute. */\n @Prop({ reflect: true }) name = '';\n\n /** Set to true to add a clear button when the input is populated. */\n @Prop() clearable = false;\n\n /** Set the position of the icon */\n @Prop() iconPosition: 'left' | 'right' = 'left';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`.\n */\n @Prop() hoist = false;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger faster switching between timeunits (e.g. hours).\n */\n @Prop() timeout = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Set the amount of time, in milliseconds, to wait between switching to next timeunit (e.g. next hour) when mouse button is held pressed.\n */\n @Prop() interval = DEFAULT_DEBOUNCE_INSANELY_FAST;\n\n /**\n * The defaultTime defines the default setting for the timepicker when you open the popup. Default time must match the provided format.\n */\n @Prop() defaultTime?: string;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `six-timepicker-change-debounced` event.\n * If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce\n * is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click\n * (and keep pressed) and once you release\n */\n @Prop() debounce = DEFAULT_DEBOUNCE_FAST;\n\n /**\n * Emitted when the timepicker's value changes\n */\n @Event({ eventName: 'six-timepicker-change' }) sixChange!: EventEmitter<SixTimepickerChange>;\n\n /**\n * Emitted when the timepicker's value changes, but debounced\n */\n @Event({ eventName: 'six-timepicker-change-debounced' }) sixChangeDebounced!: EventEmitter<SixTimepickerChange>;\n\n /**\n * Emitted when the clear button is activated.\n */\n @Event({ eventName: 'six-timepicker-clear' }) sixClear!: EventEmitter<EmptyPayload>;\n\n @State() isPopupContentUp = false;\n\n @State() isDropDownContentUp = false;\n\n @Listen('resize', { target: 'window' })\n async resizeHandler() {\n this.calcIsPopupContentUp();\n this.moveOpenHoistedPopup();\n }\n\n @Listen('scroll', { target: 'window' })\n async scrollHandler() {\n this.calcIsPopupContentUp();\n this.moveOpenHoistedPopup();\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged() {\n this.updateValue();\n }\n\n /** Sets focus on the datepickers input. */\n @Method()\n async setFocus(options?: FocusOptions) {\n this.inputElement?.setFocus(options);\n }\n\n /*\n * Internally the six-timepicker uses a standardized representation of time, so we don't have a mess,\n * when switching between formats\n */\n @State() private popupValue: Time = {};\n\n connectedCallback() {\n this.eventListeners.forward('six-timepicker-change', 'change', this.host);\n }\n\n componentWillLoad() {\n this.updateValue();\n\n if (this.inline) {\n this.open = true;\n }\n\n if (this.open) {\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n }\n\n componentDidLoad() {\n if (this.inputElement == null) return;\n const inputElement = this.inputElement;\n\n // emit debounced change event\n this.eventListeners.add(\n this.host,\n 'six-timepicker-change',\n debounce((event: Event) => this.sixChangeDebounced.emit((event as CustomEvent).detail), this.debounce)\n );\n\n // update value and popup value based on input-element value\n this.eventListeners.add(\n inputElement,\n 'six-input-input',\n debounce((event: Event) => {\n event.stopPropagation();\n\n // emit empty event if time string is invalid\n if (!isValidTimeString(inputElement.value, this.format)) {\n this.value = inputElement.value;\n this.sixChange.emit({\n value: {},\n valueAsString: '',\n });\n return;\n }\n\n // update value and popup value, and emit the new value\n this.value = inputElement.value;\n this.popupValue = parseTimeString(inputElement.value, this.format);\n this.sixChange.emit({\n value: this.popupValue,\n valueAsString: createTimeString(this.popupValue, this.format),\n });\n }, this.debounce)\n );\n }\n\n componentDidRender() {\n adjustPopupForHoisting(\n this.hoist,\n this.popup,\n this.inputElement,\n this.wrapper,\n MIN_POPUP_HEIGHT,\n (isUp) => (this.isDropDownContentUp = isUp)\n );\n }\n\n disconnectedCallback() {\n this.eventListeners.removeAll();\n }\n private updateValue() {\n // normalize value\n if (typeof this.value !== 'string' || !isValidTimeString(this.value, this.format)) {\n this.value = '';\n }\n\n // update popup value\n if (this.value === '') {\n if (this.defaultTime == null) {\n this.popupValue = getCurrentTime(this.is24HourClock());\n } else {\n this.popupValue = parseTimeString(this.defaultTime, this.format);\n }\n } else {\n this.popupValue = parseTimeString(this.value, this.format);\n }\n }\n\n private calcIsPopupContentUp() {\n if (this.inputElement == null || this.wrapper == null) {\n return;\n }\n\n const inputBoundingRect = this.inputElement.getBoundingClientRect();\n const wrapperBoundingRect = this.wrapper.getBoundingClientRect();\n const minPopupHeight = Math.max(wrapperBoundingRect.height, MIN_POPUP_HEIGHT);\n\n const moreSpaceInTop = inputBoundingRect.y > window.innerHeight / 2;\n this.isPopupContentUp = moreSpaceInTop && window.innerHeight < inputBoundingRect.bottom + minPopupHeight;\n }\n\n private moveOpenHoistedPopup() {\n movePopup(this.hoist, this.open, this.popup, this.inputElement, this.wrapper, MIN_POPUP_HEIGHT);\n }\n\n private handlePickerChange = (event: CustomEvent<SixItemPickerChangePayload>, property: TimeProperties) => {\n // stop propagation, since the timepicker should not expose the events of the underlying item-picker\n event.stopPropagation();\n if (this.popupValue == null) {\n return;\n }\n\n // update the internal state\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n this.popupValue[property] = event.detail;\n\n const timeString = createTimeString(this.popupValue, this.format);\n\n // update the input value\n this.value = timeString;\n\n // emit change event\n this.sixChange.emit({\n changedProperty: property,\n value: this.popupValue,\n valueAsString: timeString,\n });\n };\n\n private getSixTimeUnitPicker(params: SixTimeUnitPickerParams) {\n return (\n <six-item-picker\n class={params.class}\n timeout={this.timeout}\n interval={this.interval}\n padded\n min={params.min}\n max={params.max}\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n value={this.popupValue[params.propertyName]}\n items={params.items}\n type={params.type || ItemPickerType.NUMBER}\n padding-length={params.paddingLength}\n onSix-item-picker-change={(event) => this.handlePickerChange(event, params.propertyName)}\n ></six-item-picker>\n );\n }\n\n private getHour24Picker() {\n if (!this.is24HourClock()) {\n return;\n }\n return this.getSixTimeUnitPicker({ min: 0, max: 23, propertyName: 'hours' });\n }\n\n private is24HourClock() {\n return this.format.includes('HH');\n }\n\n private getHour12Picker() {\n if (!this.is12HourClock()) {\n return;\n }\n return this.getSixTimeUnitPicker({ min: 0, max: 11, propertyName: 'hours' });\n }\n\n private is12HourClock() {\n return this.format.includes('hh');\n }\n\n private getAmPmPicker() {\n if (!this.is12HourClock()) {\n return;\n }\n const items = ['AM', 'PM'];\n return this.getSixTimeUnitPicker({\n items,\n type: ItemPickerType.CUSTOM,\n propertyName: 'period',\n });\n }\n\n private getMinutePicker() {\n if (!this.format.includes('mm')) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: 'minutes' });\n }\n\n private getSecondsPicker() {\n if (!this.format.includes('ss')) {\n return;\n }\n\n return this.getSixTimeUnitPicker({ min: 0, max: 59, propertyName: 'seconds' });\n }\n\n private getMillisecondsPicker() {\n if (!this.format.includes('ms')) {\n return;\n }\n\n return this.getSixTimeUnitPicker({\n min: 0,\n max: 999,\n class: 'timepicker__item--wide',\n paddingLength: 3,\n propertyName: 'milliseconds',\n });\n }\n\n private getSeparator() {\n return (\n <div class=\"timepicker__separator\">\n <span>{this.separator}</span>\n </div>\n );\n }\n\n private getContent() {\n const elementsInOrder = [\n this.getHour24Picker(),\n this.getHour12Picker(),\n this.getMinutePicker(),\n this.getSecondsPicker(),\n this.getMillisecondsPicker(),\n ];\n\n const visibleElements = elementsInOrder.filter((el) => el !== undefined);\n\n return visibleElements.map((el, idx) => {\n if (idx === visibleElements.length - 1) {\n return [el];\n }\n\n return [el, this.getSeparator()];\n });\n }\n\n private openPopup() {\n if (!this.open && !this.disabled) {\n this.open = true;\n this.eventListeners.add(document, 'mousedown', this.handleDocumentMouseDown);\n }\n }\n\n private closePopup() {\n if (this.inline) {\n return;\n }\n\n this.open = false;\n this.eventListeners.remove(document, 'mousedown', this.handleDocumentMouseDown);\n }\n\n private handleDocumentMouseDown = (event: Event) => {\n // Close when clicking outside the containing element\n const path = event.composedPath() as EventTarget[];\n if (!path.includes(this.host)) {\n this.closePopup();\n return;\n }\n };\n\n private handleClearClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.value = '';\n this.sixClear.emit();\n this.sixChange.emit({\n value: {},\n valueAsString: '',\n });\n };\n\n private renderClearable() {\n return (\n this.clearable && (\n <button\n slot=\"suffix\"\n class={{\n timepicker_clear: true,\n 'timepicker_clear--right': this.iconPosition === 'left',\n 'timepicker_clear--left': this.iconPosition === 'right',\n }}\n type=\"button\"\n onClick={this.handleClearClick}\n tabindex=\"-1\"\n >\n <six-icon size=\"small\">clear</six-icon>\n </button>\n )\n );\n }\n\n private renderCustomIcon() {\n const icon = hasSlot(this.host, 'custom-icon') ? (\n <slot name=\"custom-icon\"></slot>\n ) : (\n <six-icon size={this.size === 'large' ? 'medium' : this.size}>watch_later</six-icon>\n );\n\n return (\n <span\n slot=\"prefix\"\n part=\"icon\"\n class={{\n prefix: true,\n 'prefix--right': this.iconPosition === 'right',\n }}\n >\n {icon}\n </span>\n );\n }\n\n render() {\n return (\n <div part=\"container\" ref={(el) => (this.wrapper = el)} class=\"timepicker__container\">\n <six-input\n ref={(el) => (this.inputElement = el)}\n part=\"input\"\n onClick={() => this.openPopup()}\n value={this.value}\n placeholder={this.placeholder}\n readonly={this.readonly}\n disabled={this.disabled}\n errorTextCount={this.errorTextCount}\n errorText={this.errorText}\n invalid={this.invalid}\n size={this.size}\n name={this.name}\n label={this.label}\n required={this.required}\n class={{\n 'input--empty': this.value === '',\n 'input--hide': this.inline,\n }}\n >\n {this.renderCustomIcon()}\n {this.renderClearable()}\n {hasSlot(this.host, 'label') ? (\n <span slot=\"label\">\n <slot name=\"label\" />\n </span>\n ) : null}\n {hasSlot(this.host, 'error-text') ? (\n <span slot=\"error-text\">\n <slot name=\"error-text\" />\n </span>\n ) : null}\n </six-input>\n {this.open && (\n <div\n ref={(el) => (this.popup = el)}\n part=\"popup\"\n class={{\n timepicker__popup: true,\n 'timepicker__popup--is-up': this.placement == null ? this.placement === 'top' : this.isPopupContentUp,\n 'timepicker__popup--is-inline': this.inline,\n }}\n >\n {...this.getContent()}\n {this.getAmPmPicker()}\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
@@ -2,169 +2,166 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-2f6daa5b.js');
6
- const popover = require('./popover-f743f62b.js');
5
+ const index = require('./index-3baddcdc.js');
6
+ const popover = require('./popover-1e7c09f1.js');
7
7
 
8
- const sixTooltipCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--max-width:20rem;--hide-delay:0s;--hide-duration:0.125s;--hide-timing-function:ease;--show-delay:0.125s;--show-duration:0.125s;--show-timing-function:ease;display:contents}.tooltip-positioner{position:absolute;z-index:var(--six-z-index-tooltip);pointer-events:none}.tooltip{max-width:var(--max-width);border-radius:var(--six-border-radius-medium);background-color:var(--six-tooltip-background-color);font-family:var(--six-font-family);font-size:var(--six-tooltip-font-size);font-weight:var(--six-tooltip-font-weight);line-height:var(--six-tooltip-line-height);color:var(--six-tooltip-color);opacity:0;padding:var(--six-spacing-xxx-small) var(--six-spacing-x-small);transform:scale(0.8);transform-origin:bottom;transition-property:opacity, transform;transition-delay:var(--hide-delay);transition-duration:var(--hide-duration);transition-timing-function:var(--hide-timing-function)}.tooltip::after{content:\"\";position:absolute;width:0;height:0}.tooltip-positioner[data-popper-placement^=top] .tooltip{transform-origin:bottom}.tooltip-positioner[data-popper-placement^=bottom] .tooltip{transform-origin:top}.tooltip-positioner[data-popper-placement^=left] .tooltip{transform-origin:right}.tooltip-positioner[data-popper-placement^=right] .tooltip{transform-origin:left}.tooltip-positioner.popover-visible .tooltip{opacity:1;transform:none;transition-delay:var(--show-delay);transition-duration:var(--show-duration);transition-timing-function:var(--show-timing-function)}.tooltip-positioner[data-popper-placement^=bottom] .tooltip::after{bottom:100%;left:calc(50% - var(--six-tooltip-arrow-size));border-bottom:var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);border-left:var(--six-tooltip-arrow-size) solid transparent;border-right:var(--six-tooltip-arrow-size) solid transparent}.tooltip-positioner[data-popper-placement=bottom-start] .tooltip::after{left:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement=bottom-end] .tooltip::after{right:var(--six-tooltip-arrow-start-end-offset);left:auto}.tooltip-positioner[data-popper-placement^=top] .tooltip::after{top:100%;left:calc(50% - var(--six-tooltip-arrow-size));border-top:var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);border-left:var(--six-tooltip-arrow-size) solid transparent;border-right:var(--six-tooltip-arrow-size) solid transparent}.tooltip-positioner[data-popper-placement=top-start] .tooltip::after{left:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement=top-end] .tooltip::after{right:var(--six-tooltip-arrow-start-end-offset);left:auto}.tooltip-positioner[data-popper-placement^=left] .tooltip::after{top:calc(50% - var(--six-tooltip-arrow-size));left:100%;border-left:var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);border-top:var(--six-tooltip-arrow-size) solid transparent;border-bottom:var(--six-tooltip-arrow-size) solid transparent}.tooltip-positioner[data-popper-placement=left-start] .tooltip::after{top:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement=left-end] .tooltip::after{top:auto;bottom:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement^=right] .tooltip::after{top:calc(50% - var(--six-tooltip-arrow-size));right:100%;border-right:var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);border-top:var(--six-tooltip-arrow-size) solid transparent;border-bottom:var(--six-tooltip-arrow-size) solid transparent}.tooltip-positioner[data-popper-placement=right-start] .tooltip::after{top:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement=right-end] .tooltip::after{top:auto;bottom:var(--six-tooltip-arrow-start-end-offset)}";
8
+ const sixTooltipCss = ":host{position:relative;box-sizing:border-box}:host *,:host *:before,:host *:after{box-sizing:inherit}:host{--max-width:20rem;--hide-delay:0s;--hide-duration:0.125s;--hide-timing-function:ease;--show-delay:0.125s;--show-duration:0.125s;--show-timing-function:ease;display:contents}.tooltip-positioner{position:fixed;z-index:var(--six-z-index-tooltip);pointer-events:none}.tooltip{max-width:var(--max-width);border-radius:var(--six-border-radius-medium);background-color:var(--six-tooltip-background-color);font-family:var(--six-font-family);font-size:var(--six-tooltip-font-size);font-weight:var(--six-tooltip-font-weight);line-height:var(--six-tooltip-line-height);color:var(--six-tooltip-color);opacity:0;padding:var(--six-spacing-xxx-small) var(--six-spacing-x-small);transform:scale(0.8);transform-origin:bottom;transition-property:opacity, transform;transition-delay:var(--hide-delay);transition-duration:var(--hide-duration);transition-timing-function:var(--hide-timing-function)}.tooltip::after{content:\"\";position:absolute;width:0;height:0}.tooltip-positioner[data-popper-placement^=top] .tooltip{transform-origin:bottom}.tooltip-positioner[data-popper-placement^=bottom] .tooltip{transform-origin:top}.tooltip-positioner[data-popper-placement^=left] .tooltip{transform-origin:right}.tooltip-positioner[data-popper-placement^=right] .tooltip{transform-origin:left}.tooltip-positioner.popover-visible .tooltip{opacity:1;transform:none;transition-delay:var(--show-delay);transition-duration:var(--show-duration);transition-timing-function:var(--show-timing-function)}.tooltip-positioner[data-popper-placement^=bottom] .tooltip::after{bottom:100%;left:calc(50% - var(--six-tooltip-arrow-size));border-bottom:var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);border-left:var(--six-tooltip-arrow-size) solid transparent;border-right:var(--six-tooltip-arrow-size) solid transparent}.tooltip-positioner[data-popper-placement=bottom-start] .tooltip::after{left:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement=bottom-end] .tooltip::after{right:var(--six-tooltip-arrow-start-end-offset);left:auto}.tooltip-positioner[data-popper-placement^=top] .tooltip::after{top:100%;left:calc(50% - var(--six-tooltip-arrow-size));border-top:var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);border-left:var(--six-tooltip-arrow-size) solid transparent;border-right:var(--six-tooltip-arrow-size) solid transparent}.tooltip-positioner[data-popper-placement=top-start] .tooltip::after{left:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement=top-end] .tooltip::after{right:var(--six-tooltip-arrow-start-end-offset);left:auto}.tooltip-positioner[data-popper-placement^=left] .tooltip::after{top:calc(50% - var(--six-tooltip-arrow-size));left:100%;border-left:var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);border-top:var(--six-tooltip-arrow-size) solid transparent;border-bottom:var(--six-tooltip-arrow-size) solid transparent}.tooltip-positioner[data-popper-placement=left-start] .tooltip::after{top:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement=left-end] .tooltip::after{top:auto;bottom:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement^=right] .tooltip::after{top:calc(50% - var(--six-tooltip-arrow-size));right:100%;border-right:var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);border-top:var(--six-tooltip-arrow-size) solid transparent;border-bottom:var(--six-tooltip-arrow-size) solid transparent}.tooltip-positioner[data-popper-placement=right-start] .tooltip::after{top:var(--six-tooltip-arrow-start-end-offset)}.tooltip-positioner[data-popper-placement=right-end] .tooltip::after{top:auto;bottom:var(--six-tooltip-arrow-start-end-offset)}";
9
9
 
10
10
  let id = 0;
11
11
  const SixTooltip = class {
12
- constructor(hostRef) {
13
- index.registerInstance(this, hostRef);
14
- this.sixShow = index.createEvent(this, "six-tooltip-show", 7);
15
- this.sixAfterShow = index.createEvent(this, "six-tooltip-after-show", 7);
16
- this.sixHide = index.createEvent(this, "six-tooltip-hide", 7);
17
- this.sixAfterHide = index.createEvent(this, "six-tooltip-after-hide", 7);
18
- this.componentId = `tooltip-${++id}`;
19
- this.isVisible = false;
20
- this.content = '';
21
- this.placement = 'top';
22
- this.disabled = false;
23
- this.distance = 10;
24
- this.open = false;
25
- this.skidding = 0;
26
- this.trigger = 'hover focus';
27
- }
28
- handleOpenChange() {
29
- this.open ? this.show() : this.hide();
30
- }
31
- connectedCallback() {
32
- this.handleBlur = this.handleBlur.bind(this);
33
- this.handleClick = this.handleClick.bind(this);
34
- this.handleFocus = this.handleFocus.bind(this);
35
- this.handleKeyDown = this.handleKeyDown.bind(this);
36
- this.handleMouseOver = this.handleMouseOver.bind(this);
37
- this.handleMouseOut = this.handleMouseOut.bind(this);
38
- this.handleSlotChange = this.handleSlotChange.bind(this);
39
- }
40
- componentDidLoad() {
41
- this.target = this.getTarget();
42
- this.popover = new popover.Popover(this.target, this.tooltipPositioner);
43
- this.syncOptions();
44
- this.host.addEventListener('blur', this.handleBlur, true);
45
- this.host.addEventListener('click', this.handleClick, true);
46
- this.host.addEventListener('focus', this.handleFocus, true);
47
- // Show on init if open
48
- this.tooltipPositioner.hidden = !this.open;
49
- if (this.open) {
50
- this.show();
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.sixShow = index.createEvent(this, "six-tooltip-show", 7);
15
+ this.sixAfterShow = index.createEvent(this, "six-tooltip-after-show", 7);
16
+ this.sixHide = index.createEvent(this, "six-tooltip-hide", 7);
17
+ this.sixAfterHide = index.createEvent(this, "six-tooltip-after-hide", 7);
18
+ this.componentId = `tooltip-${++id}`;
19
+ this.isVisible = false;
20
+ this.handleBlur = () => {
21
+ if (this.hasTrigger('focus')) {
22
+ this.hide();
23
+ }
24
+ };
25
+ this.handleClick = () => {
26
+ if (this.hasTrigger('click')) {
27
+ this.open ? this.hide() : this.show();
28
+ }
29
+ };
30
+ this.handleFocus = () => {
31
+ if (this.hasTrigger('focus')) {
32
+ this.show();
33
+ }
34
+ };
35
+ this.handleKeyDown = (event) => {
36
+ // Pressing escape when the target element has focus should dismiss the tooltip
37
+ if (this.open && event.key === 'Escape') {
38
+ event.stopPropagation();
39
+ this.hide();
40
+ }
41
+ };
42
+ this.handleMouseOver = () => {
43
+ if (this.hasTrigger('hover')) {
44
+ this.show();
45
+ }
46
+ };
47
+ this.handleMouseOut = () => {
48
+ if (this.hasTrigger('hover')) {
49
+ this.hide();
50
+ }
51
+ };
52
+ this.handleSlotChange = () => {
53
+ const oldTarget = this.target;
54
+ const newTarget = this.getTarget();
55
+ if (newTarget !== oldTarget) {
56
+ if (oldTarget != null) {
57
+ oldTarget.removeAttribute('aria-describedby');
58
+ }
59
+ newTarget.setAttribute('aria-describedby', this.componentId);
60
+ }
61
+ };
62
+ this.content = '';
63
+ this.placement = 'top';
64
+ this.disabled = false;
65
+ this.distance = 10;
66
+ this.open = false;
67
+ this.skidding = 0;
68
+ this.trigger = 'hover focus';
51
69
  }
52
- }
53
- componentDidUpdate() {
54
- this.syncOptions();
55
- }
56
- disconnectedCallback() {
57
- if (this.popover) {
58
- this.popover.destroy();
70
+ handleOpenChange() {
71
+ this.open ? this.show() : this.hide();
59
72
  }
60
- this.host.removeEventListener('blur', this.handleBlur, true);
61
- this.host.removeEventListener('click', this.handleClick, true);
62
- this.host.removeEventListener('focus', this.handleFocus, true);
63
- }
64
- /** Shows the tooltip. */
65
- async show() {
66
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
67
- if (this.isVisible || this.disabled) {
68
- return;
73
+ componentDidLoad() {
74
+ if (this.tooltipPositioner == null)
75
+ return;
76
+ this.target = this.getTarget();
77
+ this.popover = new popover.Popover(this.target, this.tooltipPositioner, { strategy: 'fixed' });
78
+ this.syncOptions();
79
+ this.host.addEventListener('blur', this.handleBlur, true);
80
+ this.host.addEventListener('click', this.handleClick, true);
81
+ this.host.addEventListener('focus', this.handleFocus, true);
82
+ // Show on init if open
83
+ this.tooltipPositioner.hidden = !this.open;
84
+ if (this.open) {
85
+ this.show();
86
+ }
69
87
  }
70
- const sixShow = this.sixShow.emit();
71
- if (sixShow.defaultPrevented) {
72
- this.open = false;
73
- return;
88
+ componentDidUpdate() {
89
+ this.syncOptions();
74
90
  }
75
- this.isVisible = true;
76
- this.open = true;
77
- this.popover.show();
78
- }
79
- /** Shows the tooltip. */
80
- async hide() {
81
- // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
82
- if (!this.isVisible || this.disabled) {
83
- return;
91
+ disconnectedCallback() {
92
+ if (this.popover != null) {
93
+ this.popover.destroy();
94
+ }
95
+ this.host.removeEventListener('blur', this.handleBlur, true);
96
+ this.host.removeEventListener('click', this.handleClick, true);
97
+ this.host.removeEventListener('focus', this.handleFocus, true);
84
98
  }
85
- const sixHide = this.sixHide.emit();
86
- if (sixHide.defaultPrevented) {
87
- this.open = true;
88
- return;
99
+ /** Shows the tooltip. */
100
+ async show() {
101
+ var _a;
102
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
103
+ if (this.isVisible || this.disabled) {
104
+ return;
105
+ }
106
+ const sixShow = this.sixShow.emit();
107
+ if (sixShow.defaultPrevented) {
108
+ this.open = false;
109
+ return;
110
+ }
111
+ this.isVisible = true;
112
+ this.open = true;
113
+ (_a = this.popover) === null || _a === void 0 ? void 0 : _a.show();
89
114
  }
90
- this.isVisible = false;
91
- this.open = false;
92
- this.popover.hide();
93
- }
94
- getTarget() {
95
- // Get the first child that isn't a <style> or content slot
96
- const target = [...this.host.children].find((el) => el.tagName.toLowerCase() !== 'style' && el.getAttribute('slot') !== 'content');
97
- if (!target) {
98
- throw new Error('Invalid tooltip target: no child element was found.');
115
+ /** Shows the tooltip. */
116
+ async hide() {
117
+ var _a;
118
+ // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher
119
+ if (!this.isVisible || this.disabled) {
120
+ return;
121
+ }
122
+ const sixHide = this.sixHide.emit();
123
+ if (sixHide.defaultPrevented) {
124
+ this.open = true;
125
+ return;
126
+ }
127
+ this.isVisible = false;
128
+ this.open = false;
129
+ (_a = this.popover) === null || _a === void 0 ? void 0 : _a.hide();
99
130
  }
100
- return target;
101
- }
102
- handleBlur() {
103
- if (this.hasTrigger('focus')) {
104
- this.hide();
131
+ getTarget() {
132
+ // Get the first child that isn't a <style> or content slot
133
+ const target = [...this.host.children].find((el) => el.tagName.toLowerCase() !== 'style' && el.getAttribute('slot') !== 'content');
134
+ if (target == null) {
135
+ throw new Error('Invalid tooltip target: no child element was found.');
136
+ }
137
+ return target;
105
138
  }
106
- }
107
- handleClick() {
108
- if (this.hasTrigger('click')) {
109
- this.open ? this.hide() : this.show();
139
+ hasTrigger(triggerType) {
140
+ const triggers = this.trigger.split(' ');
141
+ return triggers.includes(triggerType);
110
142
  }
111
- }
112
- handleFocus() {
113
- if (this.hasTrigger('focus')) {
114
- this.show();
143
+ syncOptions() {
144
+ if (this.popover == null)
145
+ return;
146
+ this.popover.setOptions({
147
+ placement: this.placement,
148
+ distance: this.distance,
149
+ skidding: this.skidding,
150
+ transitionElement: this.tooltip,
151
+ onAfterHide: () => this.sixAfterHide.emit(),
152
+ onAfterShow: () => this.sixAfterShow.emit(),
153
+ });
115
154
  }
116
- }
117
- handleKeyDown(event) {
118
- // Pressing escape when the target element has focus should dismiss the tooltip
119
- if (this.open && event.key === 'Escape') {
120
- event.stopPropagation();
121
- this.hide();
155
+ render() {
156
+ return (index.h(index.Host, { onKeyDown: this.handleKeyDown, onMouseOver: this.handleMouseOver, onMouseOut: this.handleMouseOut }, index.h("slot", { onSlotchange: this.handleSlotChange }), index.h("div", { ref: (el) => (this.tooltipPositioner = el), class: "tooltip-positioner" }, index.h("div", { part: "base", ref: (el) => (this.tooltip = el), id: this.componentId, class: {
157
+ tooltip: true,
158
+ 'tooltip--open': this.open,
159
+ }, role: "tooltip", "aria-hidden": this.open ? 'false' : 'true' }, index.h("slot", { name: "content" }, this.content)))));
122
160
  }
123
- }
124
- handleMouseOver() {
125
- if (this.hasTrigger('hover')) {
126
- this.show();
127
- }
128
- }
129
- handleMouseOut() {
130
- if (this.hasTrigger('hover')) {
131
- this.hide();
132
- }
133
- }
134
- handleSlotChange() {
135
- const oldTarget = this.target;
136
- const newTarget = this.getTarget();
137
- if (newTarget !== oldTarget) {
138
- if (oldTarget) {
139
- oldTarget.removeAttribute('aria-describedby');
140
- }
141
- newTarget.setAttribute('aria-describedby', this.componentId);
142
- }
143
- }
144
- hasTrigger(triggerType) {
145
- const triggers = this.trigger.split(' ');
146
- return triggers.includes(triggerType);
147
- }
148
- syncOptions() {
149
- this.popover.setOptions({
150
- placement: this.placement,
151
- distance: this.distance,
152
- skidding: this.skidding,
153
- transitionElement: this.tooltip,
154
- onAfterHide: () => this.sixAfterHide.emit(),
155
- onAfterShow: () => this.sixAfterShow.emit(),
156
- });
157
- }
158
- render() {
159
- return (index.h(index.Host, { onKeyDown: this.handleKeyDown, onMouseOver: this.handleMouseOver, onMouseOut: this.handleMouseOut }, index.h("slot", { onSlotchange: this.handleSlotChange }), index.h("div", { ref: (el) => (this.tooltipPositioner = el), class: "tooltip-positioner" }, index.h("div", { part: "base", ref: (el) => (this.tooltip = el), id: this.componentId, class: {
160
- tooltip: true,
161
- 'tooltip--open': this.open,
162
- }, role: "tooltip", "aria-hidden": this.open ? 'false' : 'true' }, index.h("slot", { name: "content" }, this.content)))));
163
- }
164
- get host() { return index.getElement(this); }
165
- static get watchers() { return {
166
- "open": ["handleOpenChange"]
167
- }; }
161
+ get host() { return index.getElement(this); }
162
+ static get watchers() { return {
163
+ "open": ["handleOpenChange"]
164
+ }; }
168
165
  };
169
166
  SixTooltip.style = sixTooltipCss;
170
167
 
@@ -1 +1 @@
1
- {"file":"six-tooltip.entry.cjs.js","mappings":"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","names":["Popover","h","Host"],"sources":["./src/components/six-tooltip/six-tooltip.scss?tag=six-tooltip&encapsulation=shadow","./src/components/six-tooltip/six-tooltip.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --hide-delay: The amount of time to wait before hiding the tooltip.\n * @prop --hide-duration: The amount of time the hide transition takes to complete.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --max-width: The maximum width of the tooltip.\n * @prop --show-delay: The amount of time to wait before showing the tooltip.\n * @prop --show-duration: The amount of time the show transition takes to complete.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n */\n:host {\n --max-width: 20rem;\n --hide-delay: 0s;\n --hide-duration: 0.125s;\n --hide-timing-function: ease;\n --show-delay: 0.125s;\n --show-duration: 0.125s;\n --show-timing-function: ease;\n\n display: contents;\n}\n\n.tooltip-positioner {\n position: absolute;\n z-index: var(--six-z-index-tooltip);\n pointer-events: none;\n}\n\n.tooltip {\n max-width: var(--max-width);\n border-radius: var(--six-border-radius-medium);\n background-color: var(--six-tooltip-background-color);\n font-family: var(--six-font-family);\n font-size: var(--six-tooltip-font-size);\n font-weight: var(--six-tooltip-font-weight);\n line-height: var(--six-tooltip-line-height);\n color: var(--six-tooltip-color);\n opacity: 0;\n padding: var(--six-spacing-xxx-small) var(--six-spacing-x-small);\n transform: scale(0.8);\n transform-origin: bottom;\n transition-property: opacity, transform;\n transition-delay: var(--hide-delay);\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n\n &::after {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n }\n}\n\n.tooltip-positioner {\n &[data-popper-placement^='top'] .tooltip {\n transform-origin: bottom;\n }\n\n &[data-popper-placement^='bottom'] .tooltip {\n transform-origin: top;\n }\n\n &[data-popper-placement^='left'] .tooltip {\n transform-origin: right;\n }\n\n &[data-popper-placement^='right'] .tooltip {\n transform-origin: left;\n }\n\n &.popover-visible .tooltip {\n opacity: 1;\n transform: none;\n transition-delay: var(--show-delay);\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n }\n}\n\n// Arrow + bottom\n.tooltip-positioner[data-popper-placement^='bottom'] .tooltip::after {\n bottom: 100%;\n left: calc(50% - var(--six-tooltip-arrow-size));\n border-bottom: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='bottom-start'] .tooltip::after {\n left: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='bottom-end'] .tooltip::after {\n right: var(--six-tooltip-arrow-start-end-offset);\n left: auto;\n}\n\n// Arrow + top\n.tooltip-positioner[data-popper-placement^='top'] .tooltip::after {\n top: 100%;\n left: calc(50% - var(--six-tooltip-arrow-size));\n border-top: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='top-start'] .tooltip::after {\n left: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='top-end'] .tooltip::after {\n right: var(--six-tooltip-arrow-start-end-offset);\n left: auto;\n}\n\n// Arrow + left\n.tooltip-positioner[data-popper-placement^='left'] .tooltip::after {\n top: calc(50% - var(--six-tooltip-arrow-size));\n left: 100%;\n border-left: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-top: var(--six-tooltip-arrow-size) solid transparent;\n border-bottom: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='left-start'] .tooltip::after {\n top: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='left-end'] .tooltip::after {\n top: auto;\n bottom: var(--six-tooltip-arrow-start-end-offset);\n}\n\n// Arrow + right\n.tooltip-positioner[data-popper-placement^='right'] .tooltip::after {\n top: calc(50% - var(--six-tooltip-arrow-size));\n right: 100%;\n border-right: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-top: var(--six-tooltip-arrow-size) solid transparent;\n border-bottom: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='right-start'] .tooltip::after {\n top: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='right-end'] .tooltip::after {\n top: auto;\n bottom: var(--six-tooltip-arrow-start-end-offset);\n}\n","import { Component, Element, Event, EventEmitter, Host, Method, Prop, Watch, h } from '@stencil/core';\nimport Popover from '../../utils/popover';\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 tooltip's target element. Only the first element will be used as the target.\n * @slot content - The tooltip's content. Alternatively, you can use the content prop.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-tooltip',\n styleUrl: 'six-tooltip.scss',\n shadow: true,\n})\nexport class SixTooltip {\n componentId = `tooltip-${++id}`;\n isVisible = false;\n popover: Popover;\n tooltipPositioner: HTMLElement;\n target: HTMLElement;\n tooltip: any;\n\n @Element() host: HTMLSixTooltipElement;\n\n /** The tooltip's content. Alternatively, you can use the content slot. */\n @Prop() content = '';\n\n /**\n * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @Prop() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** Set to true to disable the tooltip so it won't show when triggered. */\n @Prop() disabled = false;\n\n /** The distance in pixels from which to offset the tooltip away from its target. */\n @Prop() distance = 10;\n\n /** Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The distance in pixels from which to offset the tooltip along its target. */\n @Prop() skidding = 0;\n\n /**\n * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\n * options can be passed by separating them with a space. When manual is used, the tooltip must be activated\n * programmatically.\n */\n @Prop() trigger = 'hover focus';\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the tooltip begins to show. Calling `event.preventDefault()` will prevent it from being shown. */\n @Event({ eventName: 'six-tooltip-show' }) sixShow: EventEmitter<EmptyPayload>;\n\n /** Emitted after the tooltip has shown and all transitions are complete. */\n @Event({ eventName: 'six-tooltip-after-show' }) sixAfterShow: EventEmitter<EmptyPayload>;\n\n /** Emitted when the tooltip begins to hide. Calling `event.preventDefault()` will prevent it from being hidden. */\n @Event({ eventName: 'six-tooltip-hide' }) sixHide: EventEmitter<EmptyPayload>;\n\n /** Emitted after the tooltip has hidden and all transitions are complete. */\n @Event({ eventName: 'six-tooltip-after-hide' }) sixAfterHide: EventEmitter<EmptyPayload>;\n\n connectedCallback() {\n this.handleBlur = this.handleBlur.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleMouseOver = this.handleMouseOver.bind(this);\n this.handleMouseOut = this.handleMouseOut.bind(this);\n this.handleSlotChange = this.handleSlotChange.bind(this);\n }\n\n componentDidLoad() {\n this.target = this.getTarget();\n this.popover = new Popover(this.target, this.tooltipPositioner);\n this.syncOptions();\n\n this.host.addEventListener('blur', this.handleBlur, true);\n this.host.addEventListener('click', this.handleClick, true);\n this.host.addEventListener('focus', this.handleFocus, true);\n\n // Show on init if open\n this.tooltipPositioner.hidden = !this.open;\n if (this.open) {\n this.show();\n }\n }\n\n componentDidUpdate() {\n this.syncOptions();\n }\n\n disconnectedCallback() {\n if (this.popover) {\n this.popover.destroy();\n }\n\n this.host.removeEventListener('blur', this.handleBlur, true);\n this.host.removeEventListener('click', this.handleClick, true);\n this.host.removeEventListener('focus', this.handleFocus, true);\n }\n\n /** Shows the tooltip. */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible || this.disabled) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.isVisible = true;\n this.open = true;\n this.popover.show();\n }\n\n /** Shows the tooltip. */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible || this.disabled) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.isVisible = false;\n this.open = false;\n this.popover.hide();\n }\n\n getTarget() {\n // Get the first child that isn't a <style> or content slot\n const target = [...this.host.children].find(\n (el) => el.tagName.toLowerCase() !== 'style' && el.getAttribute('slot') !== 'content'\n ) as HTMLElement;\n\n if (!target) {\n throw new Error('Invalid tooltip target: no child element was found.');\n }\n\n return target;\n }\n\n handleBlur() {\n if (this.hasTrigger('focus')) {\n this.hide();\n }\n }\n\n handleClick() {\n if (this.hasTrigger('click')) {\n this.open ? this.hide() : this.show();\n }\n }\n\n handleFocus() {\n if (this.hasTrigger('focus')) {\n this.show();\n }\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // Pressing escape when the target element has focus should dismiss the tooltip\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n }\n }\n\n handleMouseOver() {\n if (this.hasTrigger('hover')) {\n this.show();\n }\n }\n\n handleMouseOut() {\n if (this.hasTrigger('hover')) {\n this.hide();\n }\n }\n\n handleSlotChange() {\n const oldTarget = this.target;\n const newTarget = this.getTarget();\n\n if (newTarget !== oldTarget) {\n if (oldTarget) {\n oldTarget.removeAttribute('aria-describedby');\n }\n newTarget.setAttribute('aria-describedby', this.componentId);\n }\n }\n\n hasTrigger(triggerType: string) {\n const triggers = this.trigger.split(' ');\n return triggers.includes(triggerType);\n }\n\n syncOptions() {\n this.popover.setOptions({\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.tooltip,\n onAfterHide: () => this.sixAfterHide.emit(),\n onAfterShow: () => this.sixAfterShow.emit(),\n });\n }\n\n render() {\n return (\n <Host onKeyDown={this.handleKeyDown} onMouseOver={this.handleMouseOver} onMouseOut={this.handleMouseOut}>\n <slot onSlotchange={this.handleSlotChange} />\n <div ref={(el) => (this.tooltipPositioner = el)} class=\"tooltip-positioner\">\n <div\n part=\"base\"\n ref={(el) => (this.tooltip = el)}\n id={this.componentId}\n class={{\n tooltip: true,\n 'tooltip--open': this.open,\n }}\n role=\"tooltip\"\n aria-hidden={this.open ? 'false' : 'true'}\n >\n <slot name=\"content\">{this.content}</slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"six-tooltip.entry.cjs.js","mappings":"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","names":["Popover","h","Host"],"sources":["src/components/six-tooltip/six-tooltip.scss?tag=six-tooltip&encapsulation=shadow","src/components/six-tooltip/six-tooltip.tsx"],"sourcesContent":["@import 'src/global/component';\n\n/**\n * @prop --hide-delay: The amount of time to wait before hiding the tooltip.\n * @prop --hide-duration: The amount of time the hide transition takes to complete.\n * @prop --hide-timing-function: The timing function (easing) to use for the hide transition.\n * @prop --max-width: The maximum width of the tooltip.\n * @prop --show-delay: The amount of time to wait before showing the tooltip.\n * @prop --show-duration: The amount of time the show transition takes to complete.\n * @prop --show-timing-function: The timing function (easing) to use for the show transition.\n */\n:host {\n --max-width: 20rem;\n --hide-delay: 0s;\n --hide-duration: 0.125s;\n --hide-timing-function: ease;\n --show-delay: 0.125s;\n --show-duration: 0.125s;\n --show-timing-function: ease;\n\n display: contents;\n}\n\n.tooltip-positioner {\n position: fixed;\n z-index: var(--six-z-index-tooltip);\n pointer-events: none;\n}\n\n.tooltip {\n max-width: var(--max-width);\n border-radius: var(--six-border-radius-medium);\n background-color: var(--six-tooltip-background-color);\n font-family: var(--six-font-family);\n font-size: var(--six-tooltip-font-size);\n font-weight: var(--six-tooltip-font-weight);\n line-height: var(--six-tooltip-line-height);\n color: var(--six-tooltip-color);\n opacity: 0;\n padding: var(--six-spacing-xxx-small) var(--six-spacing-x-small);\n transform: scale(0.8);\n transform-origin: bottom;\n transition-property: opacity, transform;\n transition-delay: var(--hide-delay);\n transition-duration: var(--hide-duration);\n transition-timing-function: var(--hide-timing-function);\n\n &::after {\n content: '';\n position: absolute;\n width: 0;\n height: 0;\n }\n}\n\n.tooltip-positioner {\n &[data-popper-placement^='top'] .tooltip {\n transform-origin: bottom;\n }\n\n &[data-popper-placement^='bottom'] .tooltip {\n transform-origin: top;\n }\n\n &[data-popper-placement^='left'] .tooltip {\n transform-origin: right;\n }\n\n &[data-popper-placement^='right'] .tooltip {\n transform-origin: left;\n }\n\n &.popover-visible .tooltip {\n opacity: 1;\n transform: none;\n transition-delay: var(--show-delay);\n transition-duration: var(--show-duration);\n transition-timing-function: var(--show-timing-function);\n }\n}\n\n// Arrow + bottom\n.tooltip-positioner[data-popper-placement^='bottom'] .tooltip::after {\n bottom: 100%;\n left: calc(50% - var(--six-tooltip-arrow-size));\n border-bottom: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='bottom-start'] .tooltip::after {\n left: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='bottom-end'] .tooltip::after {\n right: var(--six-tooltip-arrow-start-end-offset);\n left: auto;\n}\n\n// Arrow + top\n.tooltip-positioner[data-popper-placement^='top'] .tooltip::after {\n top: 100%;\n left: calc(50% - var(--six-tooltip-arrow-size));\n border-top: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-left: var(--six-tooltip-arrow-size) solid transparent;\n border-right: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='top-start'] .tooltip::after {\n left: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='top-end'] .tooltip::after {\n right: var(--six-tooltip-arrow-start-end-offset);\n left: auto;\n}\n\n// Arrow + left\n.tooltip-positioner[data-popper-placement^='left'] .tooltip::after {\n top: calc(50% - var(--six-tooltip-arrow-size));\n left: 100%;\n border-left: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-top: var(--six-tooltip-arrow-size) solid transparent;\n border-bottom: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='left-start'] .tooltip::after {\n top: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='left-end'] .tooltip::after {\n top: auto;\n bottom: var(--six-tooltip-arrow-start-end-offset);\n}\n\n// Arrow + right\n.tooltip-positioner[data-popper-placement^='right'] .tooltip::after {\n top: calc(50% - var(--six-tooltip-arrow-size));\n right: 100%;\n border-right: var(--six-tooltip-arrow-size) solid var(--six-tooltip-background-color);\n border-top: var(--six-tooltip-arrow-size) solid transparent;\n border-bottom: var(--six-tooltip-arrow-size) solid transparent;\n}\n\n.tooltip-positioner[data-popper-placement='right-start'] .tooltip::after {\n top: var(--six-tooltip-arrow-start-end-offset);\n}\n\n.tooltip-positioner[data-popper-placement='right-end'] .tooltip::after {\n top: auto;\n bottom: var(--six-tooltip-arrow-start-end-offset);\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, Watch } from '@stencil/core';\nimport Popover from '../../utils/popover';\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 tooltip's target element. Only the first element will be used as the target.\n * @slot content - The tooltip's content. Alternatively, you can use the content prop.\n *\n * @part base - The component's base wrapper.\n */\n\n@Component({\n tag: 'six-tooltip',\n styleUrl: 'six-tooltip.scss',\n shadow: true,\n})\nexport class SixTooltip {\n private componentId = `tooltip-${++id}`;\n private isVisible = false;\n private popover?: Popover;\n private tooltipPositioner?: HTMLElement;\n private target?: HTMLElement;\n private tooltip?: HTMLElement;\n\n @Element() host!: HTMLSixTooltipElement;\n\n /** The tooltip's content. Alternatively, you can use the content slot. */\n @Prop() content = '';\n\n /**\n * The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\n * inside the viewport.\n */\n @Prop() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** Set to true to disable the tooltip, so it won't show when triggered. */\n @Prop() disabled = false;\n\n /** The distance in pixels from which to offset the tooltip away from its target. */\n @Prop() distance = 10;\n\n /** Indicates whether the tooltip is open. You can use this in lieu of the show/hide methods. */\n @Prop({ mutable: true, reflect: true }) open = false;\n\n /** The distance in pixels from which to offset the tooltip along its target. */\n @Prop() skidding = 0;\n\n /**\n * Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\n * options can be passed by separating them with a space. When manual is used, the tooltip must be activated\n * programmatically.\n */\n @Prop() trigger = 'hover focus';\n\n @Watch('open')\n handleOpenChange() {\n this.open ? this.show() : this.hide();\n }\n\n /** Emitted when the tooltip begins to show. Calling `event.preventDefault()` will prevent it from being shown. */\n @Event({ eventName: 'six-tooltip-show' }) sixShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the tooltip has shown and all transitions are complete. */\n @Event({ eventName: 'six-tooltip-after-show' }) sixAfterShow!: EventEmitter<EmptyPayload>;\n\n /** Emitted when the tooltip begins to hide. Calling `event.preventDefault()` will prevent it from being hidden. */\n @Event({ eventName: 'six-tooltip-hide' }) sixHide!: EventEmitter<EmptyPayload>;\n\n /** Emitted after the tooltip has hidden and all transitions are complete. */\n @Event({ eventName: 'six-tooltip-after-hide' }) sixAfterHide!: EventEmitter<EmptyPayload>;\n\n componentDidLoad() {\n if (this.tooltipPositioner == null) return;\n this.target = this.getTarget();\n this.popover = new Popover(this.target, this.tooltipPositioner, { strategy: 'fixed' });\n this.syncOptions();\n\n this.host.addEventListener('blur', this.handleBlur, true);\n this.host.addEventListener('click', this.handleClick, true);\n this.host.addEventListener('focus', this.handleFocus, true);\n\n // Show on init if open\n this.tooltipPositioner.hidden = !this.open;\n if (this.open) {\n this.show();\n }\n }\n\n componentDidUpdate() {\n this.syncOptions();\n }\n\n disconnectedCallback() {\n if (this.popover != null) {\n this.popover.destroy();\n }\n\n this.host.removeEventListener('blur', this.handleBlur, true);\n this.host.removeEventListener('click', this.handleClick, true);\n this.host.removeEventListener('focus', this.handleFocus, true);\n }\n\n /** Shows the tooltip. */\n @Method()\n async show() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (this.isVisible || this.disabled) {\n return;\n }\n\n const sixShow = this.sixShow.emit();\n if (sixShow.defaultPrevented) {\n this.open = false;\n return;\n }\n\n this.isVisible = true;\n this.open = true;\n this.popover?.show();\n }\n\n /** Shows the tooltip. */\n @Method()\n async hide() {\n // Prevent subsequent calls to the method, whether manually or triggered by the `open` watcher\n if (!this.isVisible || this.disabled) {\n return;\n }\n\n const sixHide = this.sixHide.emit();\n if (sixHide.defaultPrevented) {\n this.open = true;\n return;\n }\n\n this.isVisible = false;\n this.open = false;\n this.popover?.hide();\n }\n\n private getTarget() {\n // Get the first child that isn't a <style> or content slot\n const target = [...this.host.children].find(\n (el) => el.tagName.toLowerCase() !== 'style' && el.getAttribute('slot') !== 'content'\n ) as HTMLElement;\n\n if (target == null) {\n throw new Error('Invalid tooltip target: no child element was found.');\n }\n\n return target;\n }\n\n private handleBlur = () => {\n if (this.hasTrigger('focus')) {\n this.hide();\n }\n };\n\n private handleClick = () => {\n if (this.hasTrigger('click')) {\n this.open ? this.hide() : this.show();\n }\n };\n\n private handleFocus = () => {\n if (this.hasTrigger('focus')) {\n this.show();\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n // Pressing escape when the target element has focus should dismiss the tooltip\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n }\n };\n\n private handleMouseOver = () => {\n if (this.hasTrigger('hover')) {\n this.show();\n }\n };\n\n private handleMouseOut = () => {\n if (this.hasTrigger('hover')) {\n this.hide();\n }\n };\n\n private handleSlotChange = () => {\n const oldTarget = this.target;\n const newTarget = this.getTarget();\n\n if (newTarget !== oldTarget) {\n if (oldTarget != null) {\n oldTarget.removeAttribute('aria-describedby');\n }\n newTarget.setAttribute('aria-describedby', this.componentId);\n }\n };\n\n private hasTrigger(triggerType: string) {\n const triggers = this.trigger.split(' ');\n return triggers.includes(triggerType);\n }\n\n private syncOptions() {\n if (this.popover == null) return;\n\n this.popover.setOptions({\n placement: this.placement,\n distance: this.distance,\n skidding: this.skidding,\n transitionElement: this.tooltip,\n onAfterHide: () => this.sixAfterHide.emit(),\n onAfterShow: () => this.sixAfterShow.emit(),\n });\n }\n\n render() {\n return (\n <Host onKeyDown={this.handleKeyDown} onMouseOver={this.handleMouseOver} onMouseOut={this.handleMouseOut}>\n <slot onSlotchange={this.handleSlotChange} />\n <div ref={(el) => (this.tooltipPositioner = el)} class=\"tooltip-positioner\">\n <div\n part=\"base\"\n ref={(el) => (this.tooltip = el)}\n id={this.componentId}\n class={{\n tooltip: true,\n 'tooltip--open': this.open,\n }}\n role=\"tooltip\"\n aria-hidden={this.open ? 'false' : 'true'}\n >\n <slot name=\"content\">{this.content}</slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}