@six-group/ui-library 0.0.0-insider.a358260 → 0.0.0-insider.a7adc6d

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 (1195) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  4. package/dist/cjs/error-messages-6e8049a4.js +119 -0
  5. package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
  6. package/dist/cjs/event-listeners-9fb878f1.js +61 -0
  7. package/dist/cjs/event-listeners-9fb878f1.js.map +1 -0
  8. package/dist/cjs/{execution-control-46f388e0.js → execution-control-d728da70.js} +15 -12
  9. package/dist/cjs/execution-control-d728da70.js.map +1 -0
  10. package/dist/cjs/focus-visible-e2c9255a.js +47 -0
  11. package/dist/cjs/focus-visible-e2c9255a.js.map +1 -0
  12. package/dist/cjs/form-9ebaae7c.js +20 -0
  13. package/dist/cjs/form-9ebaae7c.js.map +1 -0
  14. package/dist/cjs/form-control-de259450.js +36 -0
  15. package/dist/cjs/form-control-de259450.js.map +1 -0
  16. package/dist/cjs/{index-2f6daa5b.js → index-1f707a55.js} +808 -213
  17. package/dist/cjs/index-1f707a55.js.map +1 -0
  18. package/dist/cjs/index.cjs.js +62 -0
  19. package/dist/cjs/index.cjs.js.map +1 -1
  20. package/dist/cjs/loader.cjs.js +6 -13
  21. package/dist/cjs/loader.cjs.js.map +1 -1
  22. package/dist/cjs/modal-bd7fc5bc.js +35 -0
  23. package/dist/cjs/modal-bd7fc5bc.js.map +1 -0
  24. package/dist/cjs/{popover-f743f62b.js → popover-1e7c09f1.js} +109 -101
  25. package/dist/cjs/popover-1e7c09f1.js.map +1 -0
  26. package/dist/cjs/popup-e854acda.js +103 -0
  27. package/dist/cjs/popup-e854acda.js.map +1 -0
  28. package/dist/cjs/scroll-68033901.js +68 -0
  29. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-68033901.js.map} +1 -1
  30. package/dist/cjs/six-alert.cjs.entry.js +143 -115
  31. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-avatar.cjs.entry.js +23 -25
  33. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-badge.cjs.entry.js +25 -24
  35. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-button.cjs.entry.js +97 -93
  37. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-card.cjs.entry.js +10 -9
  39. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-checkbox_2.cjs.entry.js +192 -0
  41. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  42. package/dist/cjs/six-datepicker.cjs.entry.js +879 -981
  43. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-details.cjs.entry.js +129 -127
  45. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-dialog.cjs.entry.js +114 -134
  47. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-drawer.cjs.entry.js +130 -151
  49. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-dropdown_2.cjs.entry.js +723 -621
  51. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-error-page.cjs.entry.js +84 -85
  53. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-error.cjs.entry.js +22 -0
  55. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  56. package/dist/cjs/six-file-list-item.cjs.entry.js +36 -35
  57. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-file-list.cjs.entry.js +9 -8
  59. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-file-upload.cjs.entry.js +124 -101
  61. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-footer.cjs.entry.js +10 -9
  63. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-group-label.cjs.entry.js +45 -43
  65. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-header.cjs.entry.js +181 -136
  67. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-icon-button.cjs.entry.js +34 -33
  69. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-icon.cjs.entry.js +24 -23
  71. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-input.cjs.entry.js +198 -242
  73. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-item-picker.cjs.entry.js +415 -337
  75. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-language-switcher.cjs.entry.js +53 -48
  77. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-layout-grid.cjs.entry.js +23 -20
  79. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-main-container.cjs.entry.js +11 -10
  81. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-divider.cjs.entry.js +10 -9
  83. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-menu-label.cjs.entry.js +10 -9
  85. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-picto.cjs.entry.js +16 -12
  87. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-bar.cjs.entry.js +17 -16
  89. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-progress-ring.cjs.entry.js +31 -30
  91. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-radio.cjs.entry.js +105 -118
  93. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-range.cjs.entry.js +200 -224
  95. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-root.cjs.entry.js +13 -31
  97. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-search-field.cjs.entry.js +46 -40
  99. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-select.cjs.entry.js +513 -445
  101. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +58 -42
  103. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar-item.cjs.entry.js +19 -16
  105. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-sidebar.cjs.entry.js +178 -156
  107. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-spinner.cjs.entry.js +17 -16
  109. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  110. package/dist/cjs/six-stage-indicator.cjs.entry.js +23 -0
  111. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  112. package/dist/cjs/six-switch.cjs.entry.js +109 -96
  113. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab-group.cjs.entry.js +251 -212
  115. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tab-panel.cjs.entry.js +16 -15
  117. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-tab.cjs.entry.js +57 -38
  119. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-tag.cjs.entry.js +57 -37
  121. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-textarea.cjs.entry.js +184 -229
  123. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-tile.cjs.entry.js +77 -79
  125. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  126. package/dist/cjs/six-timepicker.cjs.entry.js +346 -406
  127. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  128. package/dist/cjs/six-tooltip.cjs.entry.js +147 -149
  129. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  130. package/dist/cjs/slot-1b1232a1.js +51 -0
  131. package/dist/cjs/slot-1b1232a1.js.map +1 -0
  132. package/dist/cjs/types-d3da200b.js +19 -0
  133. package/dist/cjs/types-d3da200b.js.map +1 -0
  134. package/dist/cjs/ui-library.cjs.js +6 -7
  135. package/dist/cjs/ui-library.cjs.js.map +1 -1
  136. package/dist/collection/assets/TRADEMARKS.md +3 -3
  137. package/dist/collection/collection-manifest.json +54 -55
  138. package/dist/collection/components/six-alert/six-alert.css +5 -1
  139. package/dist/collection/components/six-alert/six-alert.js +383 -336
  140. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  141. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  142. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  143. package/dist/collection/components/six-avatar/six-avatar.css +2 -2
  144. package/dist/collection/components/six-avatar/six-avatar.js +112 -115
  145. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  146. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  147. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  148. package/dist/collection/components/six-badge/six-badge.css +1 -1
  149. package/dist/collection/components/six-badge/six-badge.js +91 -91
  150. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  151. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  152. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  153. package/dist/collection/components/six-button/six-button.css +23 -30
  154. package/dist/collection/components/six-button/six-button.js +451 -440
  155. package/dist/collection/components/six-button/six-button.js.map +1 -1
  156. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  157. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  158. package/dist/collection/components/six-card/six-card.css +4 -5
  159. package/dist/collection/components/six-card/six-card.js +16 -16
  160. package/dist/collection/components/six-card/six-card.js.map +1 -1
  161. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  162. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  163. package/dist/collection/components/six-checkbox/six-checkbox.css +12 -2
  164. package/dist/collection/components/six-checkbox/six-checkbox.js +422 -526
  165. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  166. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  167. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  168. package/dist/collection/components/six-datepicker/components/day-selection.js +10 -10
  169. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  170. package/dist/collection/components/six-datepicker/components/month-selection.js +11 -10
  171. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  172. package/dist/collection/components/six-datepicker/components/year-selection.js +11 -8
  173. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  174. package/dist/collection/components/six-datepicker/six-date-formats.js +21 -20
  175. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  176. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  177. package/dist/collection/components/six-datepicker/six-datepicker.js +1056 -1217
  178. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  179. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  180. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  181. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +14 -14
  182. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -1
  183. package/dist/collection/components/six-details/six-details.css +4 -6
  184. package/dist/collection/components/six-details/six-details.js +409 -402
  185. package/dist/collection/components/six-details/six-details.js.map +1 -1
  186. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  187. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  188. package/dist/collection/components/six-dialog/six-dialog.css +2 -2
  189. package/dist/collection/components/six-dialog/six-dialog.js +345 -359
  190. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  191. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  192. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  193. package/dist/collection/components/six-drawer/six-drawer.css +2 -2
  194. package/dist/collection/components/six-drawer/six-drawer.js +397 -412
  195. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  196. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  197. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  198. package/dist/collection/components/six-dropdown/six-dropdown.css +22 -6
  199. package/dist/collection/components/six-dropdown/six-dropdown.js +984 -868
  200. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  201. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +147 -0
  202. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  203. package/dist/collection/components/six-error/six-error.css +6 -0
  204. package/dist/collection/components/six-error/six-error.js +25 -0
  205. package/dist/collection/components/six-error/six-error.js.map +1 -0
  206. package/dist/collection/components/six-error-page/six-error-page.js +178 -180
  207. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  208. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  209. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  210. package/dist/collection/components/six-file-list/six-file-list.js +16 -16
  211. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  212. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  213. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  214. package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
  215. package/dist/collection/components/six-file-list-item/six-file-list-item.js +196 -194
  216. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  217. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  218. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  219. package/dist/collection/components/six-file-upload/six-file-upload.css +12 -4
  220. package/dist/collection/components/six-file-upload/six-file-upload.js +371 -291
  221. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  222. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +266 -0
  223. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  224. package/dist/collection/components/six-footer/six-footer.css +2 -2
  225. package/dist/collection/components/six-footer/six-footer.js +16 -16
  226. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  227. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  228. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  229. package/dist/collection/components/six-group-label/six-group-label.css +5 -2
  230. package/dist/collection/components/six-group-label/six-group-label.js +158 -156
  231. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  232. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  233. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  234. package/dist/collection/components/six-header/six-header.css +15 -2
  235. package/dist/collection/components/six-header/six-header.js +469 -380
  236. package/dist/collection/components/six-header/six-header.js.map +1 -1
  237. package/dist/collection/components/six-icon/six-icon.css +5 -2
  238. package/dist/collection/components/six-icon/six-icon.js +72 -72
  239. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  240. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  241. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  242. package/dist/collection/components/six-icon-button/six-icon-button.css +5 -5
  243. package/dist/collection/components/six-icon-button/six-icon-button.js +133 -133
  244. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  245. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  246. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  247. package/dist/collection/components/six-input/six-input.css +16 -3
  248. package/dist/collection/components/six-input/six-input.js +1007 -1106
  249. package/dist/collection/components/six-input/six-input.js.map +1 -1
  250. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  251. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  252. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  253. package/dist/collection/components/six-item-picker/six-item-picker.js +739 -658
  254. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  255. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  256. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  257. package/dist/collection/components/six-item-picker/types.js +9 -7
  258. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  259. package/dist/collection/components/six-language-switcher/six-language-switcher.css +7 -2
  260. package/dist/collection/components/six-language-switcher/six-language-switcher.js +129 -123
  261. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  262. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  263. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  264. package/dist/collection/components/six-layout-grid/six-layout-grid.js +56 -54
  265. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  266. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  267. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  268. package/dist/collection/components/six-main-container/six-main-container.js +42 -42
  269. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  270. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  271. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  272. package/dist/collection/components/six-menu/six-menu.css +8 -7
  273. package/dist/collection/components/six-menu/six-menu.js +400 -359
  274. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  275. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  276. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  277. package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
  278. package/dist/collection/components/six-menu-divider/six-menu-divider.js +16 -16
  279. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  280. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  281. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  282. package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
  283. package/dist/collection/components/six-menu-item/six-menu-item.js +211 -176
  284. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  285. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  286. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  287. package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
  288. package/dist/collection/components/six-menu-label/six-menu-label.js +16 -16
  289. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  290. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  291. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  292. package/dist/collection/components/six-picto/six-picto.js +47 -44
  293. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  294. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  295. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  296. package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
  297. package/dist/collection/components/six-progress-bar/six-progress-bar.js +65 -65
  298. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  299. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  300. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  301. package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
  302. package/dist/collection/components/six-progress-ring/six-progress-ring.js +100 -99
  303. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  304. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  305. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  306. package/dist/collection/components/six-radio/six-radio.css +1 -1
  307. package/dist/collection/components/six-radio/six-radio.js +323 -395
  308. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  309. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  310. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  311. package/dist/collection/components/six-range/six-range.css +6 -3
  312. package/dist/collection/components/six-range/six-range.js +575 -629
  313. package/dist/collection/components/six-range/six-range.js.map +1 -1
  314. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  315. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  316. package/dist/collection/components/six-root/six-root.js +87 -153
  317. package/dist/collection/components/six-root/six-root.js.map +1 -1
  318. package/dist/collection/components/six-root/test/six-root.spec.js +36 -0
  319. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  320. package/dist/collection/components/six-search-field/six-search-field.css +1 -1
  321. package/dist/collection/components/six-search-field/six-search-field.js +172 -166
  322. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  323. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  324. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  325. package/dist/collection/components/six-select/six-select.css +61 -73
  326. package/dist/collection/components/six-select/six-select.js +1098 -1032
  327. package/dist/collection/components/six-select/six-select.js.map +1 -1
  328. package/dist/collection/components/six-select/test/six-select.spec.js +102 -0
  329. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  330. package/dist/collection/components/six-select/test/util.spec.js +103 -0
  331. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  332. package/dist/collection/components/six-select/util.js +58 -34
  333. package/dist/collection/components/six-select/util.js.map +1 -1
  334. package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
  335. package/dist/collection/components/six-sidebar/six-sidebar.js +470 -435
  336. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  337. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  338. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  339. package/dist/collection/components/six-sidebar-item/six-sidebar-item.css +6 -1
  340. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +102 -83
  341. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  342. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  343. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  344. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +13 -1
  345. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +183 -151
  346. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  347. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  348. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  349. package/dist/collection/components/six-spinner/six-spinner.css +1 -1
  350. package/dist/collection/components/six-spinner/six-spinner.js +48 -47
  351. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  352. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  353. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  354. package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
  355. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -45
  356. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  357. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  358. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  359. package/dist/collection/components/six-switch/six-switch.css +81 -1
  360. package/dist/collection/components/six-switch/six-switch.js +389 -378
  361. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  362. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  363. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  364. package/dist/collection/components/six-tab/six-tab.css +55 -6
  365. package/dist/collection/components/six-tab/six-tab.js +207 -184
  366. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  367. package/dist/collection/components/six-tab-group/six-tab-group.css +1 -32
  368. package/dist/collection/components/six-tab-group/six-tab-group.js +340 -333
  369. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  370. package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
  371. package/dist/collection/components/six-tab-panel/six-tab-panel.js +64 -64
  372. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  373. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  374. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  375. package/dist/collection/components/six-tag/six-tag.css +7 -1
  376. package/dist/collection/components/six-tag/six-tag.js +162 -142
  377. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  378. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  379. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  380. package/dist/collection/components/six-textarea/six-textarea.css +5 -2
  381. package/dist/collection/components/six-textarea/six-textarea.js +793 -889
  382. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  383. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  384. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  385. package/dist/collection/components/six-tile/six-tile.css +2 -2
  386. package/dist/collection/components/six-tile/six-tile.js +300 -299
  387. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  388. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  389. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  390. package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
  391. package/dist/collection/components/six-timepicker/six-timepicker.js +829 -911
  392. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  393. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  394. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  395. package/dist/collection/components/six-tooltip/six-tooltip.css +2 -2
  396. package/dist/collection/components/six-tooltip/six-tooltip.js +405 -402
  397. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  398. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  399. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  400. package/dist/collection/functional-components/form-control/form-control.js +20 -19
  401. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  402. package/dist/collection/index.js +2 -1
  403. package/dist/collection/index.js.map +1 -1
  404. package/dist/collection/testUtil/delay.js +1 -1
  405. package/dist/collection/testUtil/delay.js.map +1 -1
  406. package/dist/collection/utils/alert.js +54 -0
  407. package/dist/collection/utils/alert.js.map +1 -0
  408. package/dist/collection/utils/animation.js +34 -0
  409. package/dist/collection/utils/animation.js.map +1 -0
  410. package/dist/collection/utils/date-util.js +536 -502
  411. package/dist/collection/utils/date-util.js.map +1 -1
  412. package/dist/collection/utils/date-util.spec.js +995 -0
  413. package/dist/collection/utils/date-util.spec.js.map +1 -0
  414. package/dist/collection/utils/error-messages.js +112 -0
  415. package/dist/collection/utils/error-messages.js.map +1 -0
  416. package/dist/collection/utils/event-listeners.js +53 -37
  417. package/dist/collection/utils/event-listeners.js.map +1 -1
  418. package/dist/collection/utils/execution-control.js +14 -13
  419. package/dist/collection/utils/execution-control.js.map +1 -1
  420. package/dist/collection/utils/focus-visible.js +28 -28
  421. package/dist/collection/utils/focus-visible.js.map +1 -1
  422. package/dist/collection/utils/form.js +15 -0
  423. package/dist/collection/utils/form.js.map +1 -0
  424. package/dist/collection/utils/modal.js +25 -24
  425. package/dist/collection/utils/modal.js.map +1 -1
  426. package/dist/collection/utils/offset.js +4 -4
  427. package/dist/collection/utils/offset.js.map +1 -1
  428. package/dist/collection/utils/popover.js +104 -90
  429. package/dist/collection/utils/popover.js.map +1 -1
  430. package/dist/collection/utils/popup.js +95 -0
  431. package/dist/collection/utils/popup.js.map +1 -0
  432. package/dist/collection/utils/scroll.js +28 -28
  433. package/dist/collection/utils/scroll.js.map +1 -1
  434. package/dist/collection/utils/scroll.spec.js +122 -0
  435. package/dist/collection/utils/scroll.spec.js.map +1 -0
  436. package/dist/collection/utils/slot.js +30 -46
  437. package/dist/collection/utils/slot.js.map +1 -1
  438. package/dist/collection/utils/tabbable.js +17 -17
  439. package/dist/collection/utils/tabbable.js.map +1 -1
  440. package/dist/collection/utils/time.util.js +73 -59
  441. package/dist/collection/utils/time.util.js.map +1 -1
  442. package/dist/collection/utils/time.util.spec.js +368 -0
  443. package/dist/collection/utils/time.util.spec.js.map +1 -0
  444. package/dist/collection/utils/type-check.js +0 -1
  445. package/dist/collection/utils/type-check.js.map +1 -1
  446. package/dist/components/event-listeners.js +53 -37
  447. package/dist/components/event-listeners.js.map +1 -1
  448. package/dist/components/execution-control.js +14 -11
  449. package/dist/components/execution-control.js.map +1 -1
  450. package/dist/components/focus-visible.js +28 -28
  451. package/dist/components/focus-visible.js.map +1 -1
  452. package/dist/components/form-control.js +26 -24
  453. package/dist/components/form-control.js.map +1 -1
  454. package/dist/components/form.js +18 -0
  455. package/dist/components/form.js.map +1 -0
  456. package/dist/components/index.d.ts +6 -0
  457. package/dist/components/index.js +118 -65
  458. package/dist/components/index.js.map +1 -1
  459. package/dist/components/modal.js +26 -41
  460. package/dist/components/modal.js.map +1 -1
  461. package/dist/components/popover.js +108 -100
  462. package/dist/components/popover.js.map +1 -1
  463. package/dist/components/scroll.js +32 -32
  464. package/dist/components/scroll.js.map +1 -1
  465. package/dist/components/six-alert.d.ts +2 -2
  466. package/dist/components/six-alert.js +177 -146
  467. package/dist/components/six-alert.js.map +1 -1
  468. package/dist/components/six-avatar.d.ts +2 -2
  469. package/dist/components/six-avatar.js +46 -48
  470. package/dist/components/six-avatar.js.map +1 -1
  471. package/dist/components/six-badge.d.ts +2 -2
  472. package/dist/components/six-badge.js +41 -40
  473. package/dist/components/six-badge.js.map +1 -1
  474. package/dist/components/six-button.d.ts +2 -2
  475. package/dist/components/six-button.js +1 -140
  476. package/dist/components/six-button.js.map +1 -1
  477. package/dist/components/six-button2.js +148 -0
  478. package/dist/components/six-button2.js.map +1 -0
  479. package/dist/components/six-card.d.ts +2 -2
  480. package/dist/components/six-card.js +22 -21
  481. package/dist/components/six-card.js.map +1 -1
  482. package/dist/components/six-checkbox.d.ts +2 -2
  483. package/dist/components/six-checkbox.js +1 -197
  484. package/dist/components/six-checkbox.js.map +1 -1
  485. package/dist/components/six-checkbox2.js +166 -0
  486. package/dist/components/six-checkbox2.js.map +1 -0
  487. package/dist/components/six-datepicker.d.ts +2 -2
  488. package/dist/components/six-datepicker.js +950 -1045
  489. package/dist/components/six-datepicker.js.map +1 -1
  490. package/dist/components/six-details.d.ts +2 -2
  491. package/dist/components/six-details2.js +159 -155
  492. package/dist/components/six-details2.js.map +1 -1
  493. package/dist/components/six-dialog.d.ts +2 -2
  494. package/dist/components/six-dialog.js +144 -162
  495. package/dist/components/six-dialog.js.map +1 -1
  496. package/dist/components/six-drawer.d.ts +2 -2
  497. package/dist/components/six-drawer.js +162 -181
  498. package/dist/components/six-drawer.js.map +1 -1
  499. package/dist/components/six-dropdown.d.ts +2 -2
  500. package/dist/components/six-dropdown2.js +550 -448
  501. package/dist/components/six-dropdown2.js.map +1 -1
  502. package/dist/components/six-error-page.d.ts +2 -2
  503. package/dist/components/six-error-page.js +107 -108
  504. package/dist/components/six-error-page.js.map +1 -1
  505. package/dist/components/{six-form.d.ts → six-error.d.ts} +4 -4
  506. package/dist/components/six-error.js +8 -0
  507. package/dist/components/six-error.js.map +1 -0
  508. package/dist/components/six-error2.js +33 -0
  509. package/dist/components/six-error2.js.map +1 -0
  510. package/dist/components/six-file-list-item.d.ts +2 -2
  511. package/dist/components/six-file-list-item.js +60 -59
  512. package/dist/components/six-file-list-item.js.map +1 -1
  513. package/dist/components/six-file-list.d.ts +2 -2
  514. package/dist/components/six-file-list.js +21 -20
  515. package/dist/components/six-file-list.js.map +1 -1
  516. package/dist/components/six-file-upload.d.ts +2 -2
  517. package/dist/components/six-file-upload.js +166 -127
  518. package/dist/components/six-file-upload.js.map +1 -1
  519. package/dist/components/six-footer.d.ts +2 -2
  520. package/dist/components/six-footer.js +22 -21
  521. package/dist/components/six-footer.js.map +1 -1
  522. package/dist/components/six-group-label.d.ts +2 -2
  523. package/dist/components/six-group-label.js +72 -61
  524. package/dist/components/six-group-label.js.map +1 -1
  525. package/dist/components/six-header.d.ts +2 -2
  526. package/dist/components/six-header.js +248 -187
  527. package/dist/components/six-header.js.map +1 -1
  528. package/dist/components/six-icon-button.d.ts +2 -2
  529. package/dist/components/six-icon-button2.js +56 -55
  530. package/dist/components/six-icon-button2.js.map +1 -1
  531. package/dist/components/six-icon.d.ts +2 -2
  532. package/dist/components/six-icon2.js +39 -38
  533. package/dist/components/six-icon2.js.map +1 -1
  534. package/dist/components/six-input.d.ts +2 -2
  535. package/dist/components/six-input2.js +265 -303
  536. package/dist/components/six-input2.js.map +1 -1
  537. package/dist/components/six-item-picker.d.ts +2 -2
  538. package/dist/components/six-item-picker2.js +459 -375
  539. package/dist/components/six-item-picker2.js.map +1 -1
  540. package/dist/components/six-language-switcher.d.ts +2 -2
  541. package/dist/components/six-language-switcher.js +70 -63
  542. package/dist/components/six-language-switcher.js.map +1 -1
  543. package/dist/components/six-layout-grid.d.ts +2 -2
  544. package/dist/components/six-layout-grid.js +39 -34
  545. package/dist/components/six-layout-grid.js.map +1 -1
  546. package/dist/components/six-main-container.d.ts +2 -2
  547. package/dist/components/six-main-container.js +25 -24
  548. package/dist/components/six-main-container.js.map +1 -1
  549. package/dist/components/six-menu-divider.d.ts +2 -2
  550. package/dist/components/six-menu-divider.js +22 -21
  551. package/dist/components/six-menu-divider.js.map +1 -1
  552. package/dist/components/six-menu-item.d.ts +2 -2
  553. package/dist/components/six-menu-item2.js +99 -73
  554. package/dist/components/six-menu-item2.js.map +1 -1
  555. package/dist/components/six-menu-label.d.ts +2 -2
  556. package/dist/components/six-menu-label.js +22 -21
  557. package/dist/components/six-menu-label.js.map +1 -1
  558. package/dist/components/six-menu.d.ts +2 -2
  559. package/dist/components/six-menu2.js +265 -232
  560. package/dist/components/six-menu2.js.map +1 -1
  561. package/dist/components/six-picto.d.ts +2 -2
  562. package/dist/components/six-picto2.js +30 -26
  563. package/dist/components/six-picto2.js.map +1 -1
  564. package/dist/components/six-progress-bar.d.ts +2 -2
  565. package/dist/components/six-progress-bar.js +32 -31
  566. package/dist/components/six-progress-bar.js.map +1 -1
  567. package/dist/components/six-progress-ring.d.ts +2 -2
  568. package/dist/components/six-progress-ring.js +49 -46
  569. package/dist/components/six-progress-ring.js.map +1 -1
  570. package/dist/components/six-radio.d.ts +2 -2
  571. package/dist/components/six-radio.js +129 -143
  572. package/dist/components/six-radio.js.map +1 -1
  573. package/dist/components/six-range.d.ts +2 -2
  574. package/dist/components/six-range.js +234 -247
  575. package/dist/components/six-range.js.map +1 -1
  576. package/dist/components/six-root.d.ts +2 -2
  577. package/dist/components/six-root.js +40 -66
  578. package/dist/components/six-root.js.map +1 -1
  579. package/dist/components/six-search-field.d.ts +2 -2
  580. package/dist/components/six-search-field.js +80 -66
  581. package/dist/components/six-search-field.js.map +1 -1
  582. package/dist/components/six-select.d.ts +2 -2
  583. package/dist/components/six-select.js +741 -539
  584. package/dist/components/six-select.js.map +1 -1
  585. package/dist/components/six-sidebar-item-group.d.ts +2 -2
  586. package/dist/components/six-sidebar-item-group.js +88 -71
  587. package/dist/components/six-sidebar-item-group.js.map +1 -1
  588. package/dist/components/six-sidebar-item.d.ts +2 -2
  589. package/dist/components/six-sidebar-item.js +36 -32
  590. package/dist/components/six-sidebar-item.js.map +1 -1
  591. package/dist/components/six-sidebar.d.ts +2 -2
  592. package/dist/components/six-sidebar.js +202 -178
  593. package/dist/components/six-sidebar.js.map +1 -1
  594. package/dist/components/six-spinner.d.ts +2 -2
  595. package/dist/components/six-spinner2.js +31 -30
  596. package/dist/components/six-spinner2.js.map +1 -1
  597. package/dist/components/six-stage-indicator.d.ts +2 -2
  598. package/dist/components/six-stage-indicator2.js +30 -29
  599. package/dist/components/six-stage-indicator2.js.map +1 -1
  600. package/dist/components/six-switch.d.ts +2 -2
  601. package/dist/components/six-switch.js +145 -122
  602. package/dist/components/six-switch.js.map +1 -1
  603. package/dist/components/six-tab-group.d.ts +2 -2
  604. package/dist/components/six-tab-group.js +281 -239
  605. package/dist/components/six-tab-group.js.map +1 -1
  606. package/dist/components/six-tab-panel.d.ts +2 -2
  607. package/dist/components/six-tab-panel.js +31 -30
  608. package/dist/components/six-tab-panel.js.map +1 -1
  609. package/dist/components/six-tab.d.ts +2 -2
  610. package/dist/components/six-tab.js +86 -67
  611. package/dist/components/six-tab.js.map +1 -1
  612. package/dist/components/six-tag.d.ts +2 -2
  613. package/dist/components/six-tag.js +99 -1
  614. package/dist/components/six-tag.js.map +1 -1
  615. package/dist/components/six-textarea.d.ts +2 -2
  616. package/dist/components/six-textarea.js +227 -264
  617. package/dist/components/six-textarea.js.map +1 -1
  618. package/dist/components/six-tile.d.ts +2 -2
  619. package/dist/components/six-tile.js +117 -119
  620. package/dist/components/six-tile.js.map +1 -1
  621. package/dist/components/six-timepicker.d.ts +2 -2
  622. package/dist/components/six-timepicker.js +1 -1
  623. package/dist/components/six-timepicker2.js +509 -515
  624. package/dist/components/six-timepicker2.js.map +1 -1
  625. package/dist/components/six-tooltip.d.ts +2 -2
  626. package/dist/components/six-tooltip2.js +170 -170
  627. package/dist/components/six-tooltip2.js.map +1 -1
  628. package/dist/components/slot.js +31 -31
  629. package/dist/components/slot.js.map +1 -1
  630. package/dist/components.d.ts +341 -88
  631. package/dist/components.json +5216 -1022
  632. package/dist/esm/app-globals-0f993ce5.js +5 -0
  633. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  634. package/dist/esm/error-messages-1eaaad23.js +115 -0
  635. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  636. package/dist/esm/event-listeners-706d4309.js +59 -0
  637. package/dist/esm/event-listeners-706d4309.js.map +1 -0
  638. package/dist/esm/{execution-control-1a60d709.js → execution-control-2ebaf4ef.js} +15 -12
  639. package/dist/esm/execution-control-2ebaf4ef.js.map +1 -0
  640. package/dist/esm/focus-visible-d9dbfeef.js +45 -0
  641. package/dist/esm/focus-visible-d9dbfeef.js.map +1 -0
  642. package/dist/esm/form-4b145b7a.js +18 -0
  643. package/dist/esm/form-4b145b7a.js.map +1 -0
  644. package/dist/esm/form-control-30c5bd8b.js +34 -0
  645. package/dist/esm/form-control-30c5bd8b.js.map +1 -0
  646. package/dist/esm/{index-5c0f6628.js → index-5390c1d6.js} +808 -213
  647. package/dist/esm/index-5390c1d6.js.map +1 -0
  648. package/dist/esm/index.js +56 -0
  649. package/dist/esm/index.js.map +1 -1
  650. package/dist/esm/loader.js +8 -15
  651. package/dist/esm/loader.js.map +1 -1
  652. package/dist/esm/modal-6c1288e3.js +33 -0
  653. package/dist/esm/modal-6c1288e3.js.map +1 -0
  654. package/dist/esm/{popover-bd2c2fca.js → popover-25996e62.js} +109 -101
  655. package/dist/esm/popover-25996e62.js.map +1 -0
  656. package/dist/esm/popup-7209e9d5.js +98 -0
  657. package/dist/esm/popup-7209e9d5.js.map +1 -0
  658. package/dist/esm/scroll-3e16851e.js +64 -0
  659. package/dist/esm/scroll-3e16851e.js.map +1 -0
  660. package/dist/esm/six-alert.entry.js +143 -115
  661. package/dist/esm/six-alert.entry.js.map +1 -1
  662. package/dist/esm/six-avatar.entry.js +23 -25
  663. package/dist/esm/six-avatar.entry.js.map +1 -1
  664. package/dist/esm/six-badge.entry.js +25 -24
  665. package/dist/esm/six-badge.entry.js.map +1 -1
  666. package/dist/esm/six-button.entry.js +97 -93
  667. package/dist/esm/six-button.entry.js.map +1 -1
  668. package/dist/esm/six-card.entry.js +10 -9
  669. package/dist/esm/six-card.entry.js.map +1 -1
  670. package/dist/esm/six-checkbox_2.entry.js +187 -0
  671. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  672. package/dist/esm/six-datepicker.entry.js +879 -981
  673. package/dist/esm/six-datepicker.entry.js.map +1 -1
  674. package/dist/esm/six-details.entry.js +129 -127
  675. package/dist/esm/six-details.entry.js.map +1 -1
  676. package/dist/esm/six-dialog.entry.js +114 -134
  677. package/dist/esm/six-dialog.entry.js.map +1 -1
  678. package/dist/esm/six-drawer.entry.js +130 -151
  679. package/dist/esm/six-drawer.entry.js.map +1 -1
  680. package/dist/esm/six-dropdown_2.entry.js +723 -621
  681. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  682. package/dist/esm/six-error-page.entry.js +84 -85
  683. package/dist/esm/six-error-page.entry.js.map +1 -1
  684. package/dist/esm/six-error.entry.js +18 -0
  685. package/dist/esm/six-error.entry.js.map +1 -0
  686. package/dist/esm/six-file-list-item.entry.js +36 -35
  687. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  688. package/dist/esm/six-file-list.entry.js +9 -8
  689. package/dist/esm/six-file-list.entry.js.map +1 -1
  690. package/dist/esm/six-file-upload.entry.js +124 -101
  691. package/dist/esm/six-file-upload.entry.js.map +1 -1
  692. package/dist/esm/six-footer.entry.js +10 -9
  693. package/dist/esm/six-footer.entry.js.map +1 -1
  694. package/dist/esm/six-group-label.entry.js +45 -43
  695. package/dist/esm/six-group-label.entry.js.map +1 -1
  696. package/dist/esm/six-header.entry.js +181 -136
  697. package/dist/esm/six-header.entry.js.map +1 -1
  698. package/dist/esm/six-icon-button.entry.js +34 -33
  699. package/dist/esm/six-icon-button.entry.js.map +1 -1
  700. package/dist/esm/six-icon.entry.js +24 -23
  701. package/dist/esm/six-icon.entry.js.map +1 -1
  702. package/dist/esm/six-input.entry.js +198 -242
  703. package/dist/esm/six-input.entry.js.map +1 -1
  704. package/dist/esm/six-item-picker.entry.js +415 -337
  705. package/dist/esm/six-item-picker.entry.js.map +1 -1
  706. package/dist/esm/six-language-switcher.entry.js +53 -48
  707. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  708. package/dist/esm/six-layout-grid.entry.js +23 -20
  709. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  710. package/dist/esm/six-main-container.entry.js +11 -10
  711. package/dist/esm/six-main-container.entry.js.map +1 -1
  712. package/dist/esm/six-menu-divider.entry.js +10 -9
  713. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  714. package/dist/esm/six-menu-label.entry.js +10 -9
  715. package/dist/esm/six-menu-label.entry.js.map +1 -1
  716. package/dist/esm/six-picto.entry.js +16 -12
  717. package/dist/esm/six-picto.entry.js.map +1 -1
  718. package/dist/esm/six-progress-bar.entry.js +17 -16
  719. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  720. package/dist/esm/six-progress-ring.entry.js +31 -30
  721. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  722. package/dist/esm/six-radio.entry.js +105 -118
  723. package/dist/esm/six-radio.entry.js.map +1 -1
  724. package/dist/esm/six-range.entry.js +200 -224
  725. package/dist/esm/six-range.entry.js.map +1 -1
  726. package/dist/esm/six-root.entry.js +13 -31
  727. package/dist/esm/six-root.entry.js.map +1 -1
  728. package/dist/esm/six-search-field.entry.js +46 -40
  729. package/dist/esm/six-search-field.entry.js.map +1 -1
  730. package/dist/esm/six-select.entry.js +513 -445
  731. package/dist/esm/six-select.entry.js.map +1 -1
  732. package/dist/esm/six-sidebar-item-group.entry.js +58 -42
  733. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  734. package/dist/esm/six-sidebar-item.entry.js +19 -16
  735. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  736. package/dist/esm/six-sidebar.entry.js +178 -156
  737. package/dist/esm/six-sidebar.entry.js.map +1 -1
  738. package/dist/esm/six-spinner.entry.js +17 -16
  739. package/dist/esm/six-spinner.entry.js.map +1 -1
  740. package/dist/esm/six-stage-indicator.entry.js +19 -0
  741. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  742. package/dist/esm/six-switch.entry.js +109 -96
  743. package/dist/esm/six-switch.entry.js.map +1 -1
  744. package/dist/esm/six-tab-group.entry.js +251 -212
  745. package/dist/esm/six-tab-group.entry.js.map +1 -1
  746. package/dist/esm/six-tab-panel.entry.js +16 -15
  747. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  748. package/dist/esm/six-tab.entry.js +57 -38
  749. package/dist/esm/six-tab.entry.js.map +1 -1
  750. package/dist/esm/six-tag.entry.js +57 -37
  751. package/dist/esm/six-tag.entry.js.map +1 -1
  752. package/dist/esm/six-textarea.entry.js +184 -229
  753. package/dist/esm/six-textarea.entry.js.map +1 -1
  754. package/dist/esm/six-tile.entry.js +77 -79
  755. package/dist/esm/six-tile.entry.js.map +1 -1
  756. package/dist/esm/six-timepicker.entry.js +346 -406
  757. package/dist/esm/six-timepicker.entry.js.map +1 -1
  758. package/dist/esm/six-tooltip.entry.js +147 -149
  759. package/dist/esm/six-tooltip.entry.js.map +1 -1
  760. package/dist/esm/slot-56531341.js +47 -0
  761. package/dist/esm/slot-56531341.js.map +1 -0
  762. package/dist/esm/types-a07bb999.js +19 -0
  763. package/dist/esm/types-a07bb999.js.map +1 -0
  764. package/dist/esm/ui-library.js +7 -8
  765. package/dist/esm/ui-library.js.map +1 -1
  766. package/dist/types/components/six-alert/six-alert.d.ts +47 -42
  767. package/dist/types/components/six-avatar/six-avatar.d.ts +11 -12
  768. package/dist/types/components/six-badge/six-badge.d.ts +7 -8
  769. package/dist/types/components/six-button/six-button.d.ts +48 -49
  770. package/dist/types/components/six-card/six-card.d.ts +1 -1
  771. package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -71
  772. package/dist/types/components/six-datepicker/components/day-selection.d.ts +9 -5
  773. package/dist/types/components/six-datepicker/components/month-selection.d.ts +8 -5
  774. package/dist/types/components/six-datepicker/components/year-selection.d.ts +7 -5
  775. package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
  776. package/dist/types/components/six-datepicker/six-datepicker.d.ts +189 -198
  777. package/dist/types/components/six-details/six-details.d.ts +42 -42
  778. package/dist/types/components/six-dialog/six-dialog.d.ts +51 -51
  779. package/dist/types/components/six-drawer/six-drawer.d.ts +58 -59
  780. package/dist/types/components/six-dropdown/six-dropdown.d.ts +131 -116
  781. package/dist/types/components/six-error/six-error.d.ts +9 -0
  782. package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
  783. package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
  784. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
  785. package/dist/types/components/six-file-upload/six-file-upload.d.ts +43 -33
  786. package/dist/types/components/six-footer/six-footer.d.ts +1 -1
  787. package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
  788. package/dist/types/components/six-header/six-header.d.ts +61 -66
  789. package/dist/types/components/six-icon/six-icon.d.ts +5 -5
  790. package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
  791. package/dist/types/components/six-input/six-input.d.ts +120 -129
  792. package/dist/types/components/six-item-picker/six-item-picker.d.ts +97 -93
  793. package/dist/types/components/six-item-picker/types.d.ts +7 -7
  794. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
  795. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
  796. package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
  797. package/dist/types/components/six-menu/six-menu.d.ts +67 -64
  798. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
  799. package/dist/types/components/six-menu-item/six-menu-item.d.ts +27 -21
  800. package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
  801. package/dist/types/components/six-picto/six-picto.d.ts +6 -6
  802. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
  803. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
  804. package/dist/types/components/six-radio/six-radio.d.ts +38 -48
  805. package/dist/types/components/six-range/six-range.d.ts +77 -87
  806. package/dist/types/components/six-root/six-root.d.ts +10 -23
  807. package/dist/types/components/six-search-field/six-search-field.d.ts +20 -21
  808. package/dist/types/components/six-select/six-select.d.ts +135 -131
  809. package/dist/types/components/six-select/util.d.ts +3 -1
  810. package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
  811. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
  812. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +26 -19
  813. package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
  814. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
  815. package/dist/types/components/six-switch/six-switch.d.ts +49 -45
  816. package/dist/types/components/six-tab/six-tab.d.ts +20 -20
  817. package/dist/types/components/six-tab-group/six-tab-group.d.ts +39 -40
  818. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
  819. package/dist/types/components/six-tag/six-tag.d.ts +20 -14
  820. package/dist/types/components/six-textarea/six-textarea.d.ts +89 -105
  821. package/dist/types/components/six-tile/six-tile.d.ts +31 -32
  822. package/dist/types/components/six-timepicker/six-timepicker.d.ts +156 -170
  823. package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -57
  824. package/dist/types/components.d.ts +774 -456
  825. package/dist/types/functional-components/form-control/form-control.d.ts +34 -31
  826. package/dist/types/index.d.ts +2 -0
  827. package/dist/types/stencil-public-runtime.d.ts +49 -5
  828. package/dist/types/testUtil/delay.d.ts +1 -1
  829. package/dist/types/types.d.ts +3 -0
  830. package/dist/types/utils/alert.d.ts +10 -0
  831. package/dist/types/utils/animation.d.ts +12 -0
  832. package/dist/types/utils/date-util.d.ts +73 -57
  833. package/dist/types/utils/error-messages.d.ts +44 -0
  834. package/dist/types/utils/event-listeners.d.ts +11 -10
  835. package/dist/types/utils/execution-control.d.ts +1 -3
  836. package/dist/types/utils/focus-visible.d.ts +2 -2
  837. package/dist/types/utils/form.d.ts +1 -0
  838. package/dist/types/utils/modal.d.ts +8 -8
  839. package/dist/types/utils/offset.d.ts +2 -2
  840. package/dist/types/utils/popover.d.ts +22 -22
  841. package/dist/types/utils/popup.d.ts +9 -0
  842. package/dist/types/utils/slot.d.ts +2 -8
  843. package/dist/types/utils/tabbable.d.ts +1 -1
  844. package/dist/types/utils/time.util.d.ts +18 -9
  845. package/dist/types/utils/type-check.d.ts +3 -4
  846. package/dist/types/utils/types.d.ts +1 -1
  847. package/dist/ui-library/assets/TRADEMARKS.md +3 -3
  848. package/dist/ui-library/index.esm.js +1 -1
  849. package/dist/ui-library/index.esm.js.map +1 -1
  850. package/dist/ui-library/p-030fa1fa.entry.js +2 -0
  851. package/dist/ui-library/p-030fa1fa.entry.js.map +1 -0
  852. package/dist/ui-library/p-037afc74.entry.js +2 -0
  853. package/dist/ui-library/p-037afc74.entry.js.map +1 -0
  854. package/dist/ui-library/p-047d02ad.entry.js +2 -0
  855. package/dist/ui-library/p-047d02ad.entry.js.map +1 -0
  856. package/dist/ui-library/p-049c8910.entry.js +2 -0
  857. package/dist/ui-library/p-049c8910.entry.js.map +1 -0
  858. package/dist/ui-library/p-05eb1bab.js +3 -0
  859. package/dist/ui-library/p-05eb1bab.js.map +1 -0
  860. package/dist/ui-library/p-06ba4450.js +2 -0
  861. package/dist/ui-library/p-06ba4450.js.map +1 -0
  862. package/dist/ui-library/p-06ba653e.entry.js +2 -0
  863. package/dist/ui-library/p-06ba653e.entry.js.map +1 -0
  864. package/dist/ui-library/p-07c8de65.entry.js +2 -0
  865. package/dist/ui-library/p-07c8de65.entry.js.map +1 -0
  866. package/dist/ui-library/p-0c129b61.entry.js +2 -0
  867. package/dist/ui-library/p-0c129b61.entry.js.map +1 -0
  868. package/dist/ui-library/p-0cebf1d2.js +2 -0
  869. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  870. package/dist/ui-library/p-11344bb8.entry.js +2 -0
  871. package/dist/ui-library/p-11344bb8.entry.js.map +1 -0
  872. package/dist/ui-library/p-14e5fccc.entry.js +2 -0
  873. package/dist/ui-library/p-14e5fccc.entry.js.map +1 -0
  874. package/dist/ui-library/p-189602e4.entry.js +2 -0
  875. package/dist/ui-library/p-189602e4.entry.js.map +1 -0
  876. package/dist/ui-library/p-18b9189f.entry.js +2 -0
  877. package/dist/ui-library/p-18b9189f.entry.js.map +1 -0
  878. package/dist/ui-library/p-2386627e.entry.js +2 -0
  879. package/dist/ui-library/p-2386627e.entry.js.map +1 -0
  880. package/dist/ui-library/p-32e421a3.entry.js +2 -0
  881. package/dist/ui-library/p-32e421a3.entry.js.map +1 -0
  882. package/dist/ui-library/p-347e568f.entry.js +2 -0
  883. package/dist/ui-library/p-347e568f.entry.js.map +1 -0
  884. package/dist/ui-library/p-36d5f98a.entry.js +2 -0
  885. package/dist/ui-library/p-36d5f98a.entry.js.map +1 -0
  886. package/dist/ui-library/p-37433242.entry.js +2 -0
  887. package/dist/ui-library/p-37433242.entry.js.map +1 -0
  888. package/dist/ui-library/p-3b5a76ea.entry.js +2 -0
  889. package/dist/ui-library/p-3b5a76ea.entry.js.map +1 -0
  890. package/dist/ui-library/p-416b0439.entry.js +2 -0
  891. package/dist/ui-library/p-416b0439.entry.js.map +1 -0
  892. package/dist/ui-library/p-419ed003.entry.js +2 -0
  893. package/dist/ui-library/p-419ed003.entry.js.map +1 -0
  894. package/dist/ui-library/p-4963f03c.entry.js +2 -0
  895. package/dist/ui-library/p-4963f03c.entry.js.map +1 -0
  896. package/dist/ui-library/p-4bc7bbdb.entry.js +2 -0
  897. package/dist/ui-library/p-4bc7bbdb.entry.js.map +1 -0
  898. package/dist/ui-library/p-4d89932f.entry.js +2 -0
  899. package/dist/ui-library/p-4d89932f.entry.js.map +1 -0
  900. package/dist/ui-library/p-605bdd81.js +2 -0
  901. package/dist/ui-library/p-605bdd81.js.map +1 -0
  902. package/dist/ui-library/p-63acceb6.entry.js +2 -0
  903. package/dist/ui-library/p-63acceb6.entry.js.map +1 -0
  904. package/dist/ui-library/p-63ee5e7e.entry.js +2 -0
  905. package/dist/ui-library/p-63ee5e7e.entry.js.map +1 -0
  906. package/dist/ui-library/p-651293e7.js +2 -0
  907. package/dist/ui-library/p-651293e7.js.map +1 -0
  908. package/dist/ui-library/p-6b40c40c.entry.js +2 -0
  909. package/dist/ui-library/p-6b40c40c.entry.js.map +1 -0
  910. package/dist/ui-library/p-6f9153be.entry.js +2 -0
  911. package/dist/ui-library/p-6f9153be.entry.js.map +1 -0
  912. package/dist/ui-library/p-7bdd1116.entry.js +2 -0
  913. package/dist/ui-library/p-7bdd1116.entry.js.map +1 -0
  914. package/dist/ui-library/p-7c18b8ca.entry.js +2 -0
  915. package/dist/ui-library/p-7c18b8ca.entry.js.map +1 -0
  916. package/dist/ui-library/p-7f856f00.js +2 -0
  917. package/dist/ui-library/p-7f856f00.js.map +1 -0
  918. package/dist/ui-library/{p-eb8f05a9.js → p-8227aaed.js} +2 -2
  919. package/dist/ui-library/p-8227aaed.js.map +1 -0
  920. package/dist/ui-library/p-842b492e.js +2 -0
  921. package/dist/ui-library/p-842b492e.js.map +1 -0
  922. package/dist/ui-library/{p-25a3bf57.js → p-862d474e.js} +1 -1
  923. package/dist/ui-library/p-862d474e.js.map +1 -0
  924. package/dist/ui-library/p-8bfb4bfc.js +2 -0
  925. package/dist/ui-library/p-8bfb4bfc.js.map +1 -0
  926. package/dist/ui-library/{p-19364560.entry.js → p-8f1d3461.entry.js} +2 -2
  927. package/dist/ui-library/p-8f1d3461.entry.js.map +1 -0
  928. package/dist/ui-library/p-96d441e9.entry.js +2 -0
  929. package/dist/ui-library/p-96d441e9.entry.js.map +1 -0
  930. package/dist/ui-library/p-99f6fe01.entry.js +2 -0
  931. package/dist/ui-library/p-99f6fe01.entry.js.map +1 -0
  932. package/dist/ui-library/p-9cb83369.entry.js +2 -0
  933. package/dist/ui-library/p-9cb83369.entry.js.map +1 -0
  934. package/dist/ui-library/p-a1502802.js +2 -0
  935. package/dist/ui-library/p-a1502802.js.map +1 -0
  936. package/dist/ui-library/p-a398e3eb.entry.js +2 -0
  937. package/dist/ui-library/p-a398e3eb.entry.js.map +1 -0
  938. package/dist/ui-library/p-a7e2f511.entry.js +2 -0
  939. package/dist/ui-library/p-a7e2f511.entry.js.map +1 -0
  940. package/dist/ui-library/p-a9e009af.entry.js +2 -0
  941. package/dist/ui-library/p-a9e009af.entry.js.map +1 -0
  942. package/dist/ui-library/p-b335ed9c.entry.js +2 -0
  943. package/dist/ui-library/p-b335ed9c.entry.js.map +1 -0
  944. package/dist/ui-library/p-b5acf54d.entry.js +2 -0
  945. package/dist/ui-library/p-b5acf54d.entry.js.map +1 -0
  946. package/dist/ui-library/p-b60c20aa.entry.js +2 -0
  947. package/dist/ui-library/p-b60c20aa.entry.js.map +1 -0
  948. package/dist/ui-library/p-b7c68f74.entry.js +2 -0
  949. package/dist/ui-library/p-b7c68f74.entry.js.map +1 -0
  950. package/dist/ui-library/p-c62893e5.entry.js +2 -0
  951. package/dist/ui-library/p-c62893e5.entry.js.map +1 -0
  952. package/dist/ui-library/p-c6464bfe.entry.js +2 -0
  953. package/dist/ui-library/p-c6464bfe.entry.js.map +1 -0
  954. package/dist/ui-library/p-cf109cbf.entry.js +2 -0
  955. package/dist/ui-library/p-cf109cbf.entry.js.map +1 -0
  956. package/dist/ui-library/p-d1a2f84b.entry.js +2 -0
  957. package/dist/ui-library/p-d1a2f84b.entry.js.map +1 -0
  958. package/dist/ui-library/p-d42f1ea9.entry.js +2 -0
  959. package/dist/ui-library/p-d42f1ea9.entry.js.map +1 -0
  960. package/dist/ui-library/p-d88b9c16.entry.js +2 -0
  961. package/dist/ui-library/p-d88b9c16.entry.js.map +1 -0
  962. package/dist/ui-library/p-d9586999.entry.js +2 -0
  963. package/dist/ui-library/p-d9586999.entry.js.map +1 -0
  964. package/dist/ui-library/p-e080d5b6.js +2 -0
  965. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  966. package/dist/ui-library/p-e1255160.js +2 -0
  967. package/dist/ui-library/p-e1255160.js.map +1 -0
  968. package/dist/ui-library/p-e14d78e9.entry.js +2 -0
  969. package/dist/ui-library/p-e14d78e9.entry.js.map +1 -0
  970. package/dist/ui-library/p-e9b8ad98.entry.js +2 -0
  971. package/dist/ui-library/p-e9b8ad98.entry.js.map +1 -0
  972. package/dist/ui-library/p-ebbe9bdc.entry.js +2 -0
  973. package/dist/ui-library/p-ebbe9bdc.entry.js.map +1 -0
  974. package/dist/ui-library/p-f136a6b2.js +2 -0
  975. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  976. package/dist/ui-library/p-fe89a7c4.entry.js +2 -0
  977. package/dist/ui-library/p-fe89a7c4.entry.js.map +1 -0
  978. package/dist/ui-library/ui-library.css +1 -10
  979. package/dist/ui-library/ui-library.esm.js +1 -1
  980. package/dist/ui-library/ui-library.esm.js.map +1 -1
  981. package/loader/index.d.ts +1 -1
  982. package/package.json +23 -24
  983. package/dist/cjs/event-listeners-74715e62.js +0 -45
  984. package/dist/cjs/event-listeners-74715e62.js.map +0 -1
  985. package/dist/cjs/execution-control-46f388e0.js.map +0 -1
  986. package/dist/cjs/focus-visible-0b352c74.js +0 -47
  987. package/dist/cjs/focus-visible-0b352c74.js.map +0 -1
  988. package/dist/cjs/form-control-2c17c573.js +0 -34
  989. package/dist/cjs/form-control-2c17c573.js.map +0 -1
  990. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  991. package/dist/cjs/modal-48d42228.js +0 -51
  992. package/dist/cjs/modal-48d42228.js.map +0 -1
  993. package/dist/cjs/popover-f743f62b.js.map +0 -1
  994. package/dist/cjs/scroll-76e6f5d7.js +0 -69
  995. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  996. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -71
  997. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  998. package/dist/cjs/six-checkbox.cjs.entry.js +0 -170
  999. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  1000. package/dist/cjs/six-form.cjs.entry.js +0 -231
  1001. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  1002. package/dist/cjs/six-menu-item.cjs.entry.js +0 -61
  1003. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  1004. package/dist/cjs/six-timepicker.types-c19ebff3.js +0 -56
  1005. package/dist/cjs/six-timepicker.types-c19ebff3.js.map +0 -1
  1006. package/dist/cjs/slot-ad537f24.js +0 -52
  1007. package/dist/cjs/slot-ad537f24.js.map +0 -1
  1008. package/dist/cjs/types-64878648.js +0 -17
  1009. package/dist/cjs/types-64878648.js.map +0 -1
  1010. package/dist/collection/components/six-form/six-form.css +0 -11
  1011. package/dist/collection/components/six-form/six-form.js +0 -419
  1012. package/dist/collection/components/six-form/six-form.js.map +0 -1
  1013. package/dist/collection/components/six-header/assets/six-logo.svg +0 -1
  1014. package/dist/collection/components/six-timepicker/six-time-format.js +0 -15
  1015. package/dist/collection/components/six-timepicker/six-time-format.js.map +0 -1
  1016. package/dist/collection/components/six-timepicker/six-timepicker.types.js +0 -41
  1017. package/dist/collection/components/six-timepicker/six-timepicker.types.js.map +0 -1
  1018. package/dist/collection/utils/as-array.js +0 -2
  1019. package/dist/collection/utils/as-array.js.map +0 -1
  1020. package/dist/collection/utils/matchers.js +0 -3
  1021. package/dist/collection/utils/matchers.js.map +0 -1
  1022. package/dist/collection/utils/support.js +0 -16
  1023. package/dist/collection/utils/support.js.map +0 -1
  1024. package/dist/collection/utils/testing.js +0 -39
  1025. package/dist/collection/utils/testing.js.map +0 -1
  1026. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -72
  1027. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  1028. package/dist/components/set-attributes.d.ts +0 -11
  1029. package/dist/components/set-attributes.js +0 -8
  1030. package/dist/components/set-attributes.js.map +0 -1
  1031. package/dist/components/set-attributes2.js +0 -69
  1032. package/dist/components/set-attributes2.js.map +0 -1
  1033. package/dist/components/six-form.js +0 -252
  1034. package/dist/components/six-form.js.map +0 -1
  1035. package/dist/components/six-tag2.js +0 -77
  1036. package/dist/components/six-tag2.js.map +0 -1
  1037. package/dist/esm/event-listeners-570a24ea.js +0 -43
  1038. package/dist/esm/event-listeners-570a24ea.js.map +0 -1
  1039. package/dist/esm/execution-control-1a60d709.js.map +0 -1
  1040. package/dist/esm/focus-visible-97933ea9.js +0 -45
  1041. package/dist/esm/focus-visible-97933ea9.js.map +0 -1
  1042. package/dist/esm/form-control-3b440ea1.js +0 -32
  1043. package/dist/esm/form-control-3b440ea1.js.map +0 -1
  1044. package/dist/esm/index-5c0f6628.js.map +0 -1
  1045. package/dist/esm/modal-5ebdc320.js +0 -48
  1046. package/dist/esm/modal-5ebdc320.js.map +0 -1
  1047. package/dist/esm/polyfills/css-shim.js +0 -1
  1048. package/dist/esm/popover-bd2c2fca.js.map +0 -1
  1049. package/dist/esm/scroll-180b53fd.js +0 -64
  1050. package/dist/esm/set-attributes_2.entry.js +0 -66
  1051. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  1052. package/dist/esm/six-checkbox.entry.js +0 -166
  1053. package/dist/esm/six-checkbox.entry.js.map +0 -1
  1054. package/dist/esm/six-form.entry.js +0 -227
  1055. package/dist/esm/six-form.entry.js.map +0 -1
  1056. package/dist/esm/six-menu-item.entry.js +0 -57
  1057. package/dist/esm/six-menu-item.entry.js.map +0 -1
  1058. package/dist/esm/six-timepicker.types-e161a447.js +0 -50
  1059. package/dist/esm/six-timepicker.types-e161a447.js.map +0 -1
  1060. package/dist/esm/slot-6f3984c7.js +0 -47
  1061. package/dist/esm/slot-6f3984c7.js.map +0 -1
  1062. package/dist/esm/types-4b10b413.js +0 -17
  1063. package/dist/esm/types-4b10b413.js.map +0 -1
  1064. package/dist/types/components/six-form/six-form.d.ts +0 -69
  1065. package/dist/types/components/six-timepicker/six-time-format.d.ts +0 -13
  1066. package/dist/types/components/six-timepicker/six-timepicker.types.d.ts +0 -36
  1067. package/dist/types/utils/as-array.d.ts +0 -1
  1068. package/dist/types/utils/matchers.d.ts +0 -2
  1069. package/dist/types/utils/popper.d.ts +0 -33
  1070. package/dist/types/utils/support.d.ts +0 -1
  1071. package/dist/types/utils/testing.d.ts +0 -2
  1072. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  1073. package/dist/ui-library/assets/six-logo.svg +0 -1
  1074. package/dist/ui-library/p-054e12cc.entry.js +0 -2
  1075. package/dist/ui-library/p-054e12cc.entry.js.map +0 -1
  1076. package/dist/ui-library/p-0786fa7c.js +0 -2
  1077. package/dist/ui-library/p-0786fa7c.js.map +0 -1
  1078. package/dist/ui-library/p-097cced4.entry.js +0 -2
  1079. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  1080. package/dist/ui-library/p-163f2bb0.entry.js +0 -2
  1081. package/dist/ui-library/p-163f2bb0.entry.js.map +0 -1
  1082. package/dist/ui-library/p-18e5f772.entry.js +0 -2
  1083. package/dist/ui-library/p-18e5f772.entry.js.map +0 -1
  1084. package/dist/ui-library/p-18ea0c56.js +0 -2
  1085. package/dist/ui-library/p-18ea0c56.js.map +0 -1
  1086. package/dist/ui-library/p-19364560.entry.js.map +0 -1
  1087. package/dist/ui-library/p-19b50b5a.entry.js +0 -2
  1088. package/dist/ui-library/p-19b50b5a.entry.js.map +0 -1
  1089. package/dist/ui-library/p-21859bca.entry.js +0 -2
  1090. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  1091. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  1092. package/dist/ui-library/p-2e48c8d2.entry.js +0 -2
  1093. package/dist/ui-library/p-2e48c8d2.entry.js.map +0 -1
  1094. package/dist/ui-library/p-308261c4.entry.js +0 -2
  1095. package/dist/ui-library/p-308261c4.entry.js.map +0 -1
  1096. package/dist/ui-library/p-33f7e22b.entry.js +0 -2
  1097. package/dist/ui-library/p-33f7e22b.entry.js.map +0 -1
  1098. package/dist/ui-library/p-394a2a12.entry.js +0 -2
  1099. package/dist/ui-library/p-394a2a12.entry.js.map +0 -1
  1100. package/dist/ui-library/p-3c635d0a.entry.js +0 -2
  1101. package/dist/ui-library/p-3c635d0a.entry.js.map +0 -1
  1102. package/dist/ui-library/p-4ae91795.entry.js +0 -2
  1103. package/dist/ui-library/p-4ae91795.entry.js.map +0 -1
  1104. package/dist/ui-library/p-4f8394d7.js +0 -2
  1105. package/dist/ui-library/p-4f8394d7.js.map +0 -1
  1106. package/dist/ui-library/p-53a13db5.entry.js +0 -2
  1107. package/dist/ui-library/p-53a13db5.entry.js.map +0 -1
  1108. package/dist/ui-library/p-559c87f0.entry.js +0 -2
  1109. package/dist/ui-library/p-559c87f0.entry.js.map +0 -1
  1110. package/dist/ui-library/p-5a25d6fb.entry.js +0 -2
  1111. package/dist/ui-library/p-5a25d6fb.entry.js.map +0 -1
  1112. package/dist/ui-library/p-611e1978.entry.js +0 -2
  1113. package/dist/ui-library/p-611e1978.entry.js.map +0 -1
  1114. package/dist/ui-library/p-63703ba3.entry.js +0 -2
  1115. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  1116. package/dist/ui-library/p-6403fd87.entry.js +0 -2
  1117. package/dist/ui-library/p-6403fd87.entry.js.map +0 -1
  1118. package/dist/ui-library/p-6433c0da.entry.js +0 -2
  1119. package/dist/ui-library/p-6433c0da.entry.js.map +0 -1
  1120. package/dist/ui-library/p-6d75f216.entry.js +0 -2
  1121. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  1122. package/dist/ui-library/p-73597d13.entry.js +0 -2
  1123. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  1124. package/dist/ui-library/p-79eee01b.js +0 -2
  1125. package/dist/ui-library/p-79eee01b.js.map +0 -1
  1126. package/dist/ui-library/p-820c23f0.entry.js +0 -2
  1127. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  1128. package/dist/ui-library/p-8a970a40.entry.js +0 -2
  1129. package/dist/ui-library/p-8a970a40.entry.js.map +0 -1
  1130. package/dist/ui-library/p-90824648.entry.js +0 -2
  1131. package/dist/ui-library/p-90824648.entry.js.map +0 -1
  1132. package/dist/ui-library/p-9328e5bc.entry.js +0 -2
  1133. package/dist/ui-library/p-9328e5bc.entry.js.map +0 -1
  1134. package/dist/ui-library/p-97323ad7.entry.js +0 -2
  1135. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  1136. package/dist/ui-library/p-97cc839c.entry.js +0 -2
  1137. package/dist/ui-library/p-97cc839c.entry.js.map +0 -1
  1138. package/dist/ui-library/p-9a860acc.js +0 -2
  1139. package/dist/ui-library/p-9a860acc.js.map +0 -1
  1140. package/dist/ui-library/p-9d1d222f.entry.js +0 -2
  1141. package/dist/ui-library/p-9d1d222f.entry.js.map +0 -1
  1142. package/dist/ui-library/p-a1d4f6cf.entry.js +0 -2
  1143. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  1144. package/dist/ui-library/p-ac4f4d45.js +0 -3
  1145. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  1146. package/dist/ui-library/p-af793d04.entry.js +0 -2
  1147. package/dist/ui-library/p-af793d04.entry.js.map +0 -1
  1148. package/dist/ui-library/p-b0e5658f.entry.js +0 -2
  1149. package/dist/ui-library/p-b0e5658f.entry.js.map +0 -1
  1150. package/dist/ui-library/p-b1e66136.js +0 -2
  1151. package/dist/ui-library/p-b1e66136.js.map +0 -1
  1152. package/dist/ui-library/p-b4dfb7cf.js +0 -2
  1153. package/dist/ui-library/p-b4dfb7cf.js.map +0 -1
  1154. package/dist/ui-library/p-b997e43c.entry.js +0 -2
  1155. package/dist/ui-library/p-b997e43c.entry.js.map +0 -1
  1156. package/dist/ui-library/p-baa03951.entry.js +0 -2
  1157. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  1158. package/dist/ui-library/p-c0cb6436.entry.js +0 -2
  1159. package/dist/ui-library/p-c0cb6436.entry.js.map +0 -1
  1160. package/dist/ui-library/p-c30f9e0b.entry.js +0 -2
  1161. package/dist/ui-library/p-c30f9e0b.entry.js.map +0 -1
  1162. package/dist/ui-library/p-c349d1d4.entry.js +0 -2
  1163. package/dist/ui-library/p-c349d1d4.entry.js.map +0 -1
  1164. package/dist/ui-library/p-c53a63f9.entry.js +0 -2
  1165. package/dist/ui-library/p-c53a63f9.entry.js.map +0 -1
  1166. package/dist/ui-library/p-c640c2d8.entry.js +0 -2
  1167. package/dist/ui-library/p-c640c2d8.entry.js.map +0 -1
  1168. package/dist/ui-library/p-c94d0b07.entry.js +0 -2
  1169. package/dist/ui-library/p-c94d0b07.entry.js.map +0 -1
  1170. package/dist/ui-library/p-d12c6092.js +0 -2
  1171. package/dist/ui-library/p-d12c6092.js.map +0 -1
  1172. package/dist/ui-library/p-d5633a29.entry.js +0 -2
  1173. package/dist/ui-library/p-d5633a29.entry.js.map +0 -1
  1174. package/dist/ui-library/p-dd3c76f1.entry.js +0 -2
  1175. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  1176. package/dist/ui-library/p-df655bc9.entry.js +0 -2
  1177. package/dist/ui-library/p-df655bc9.entry.js.map +0 -1
  1178. package/dist/ui-library/p-e19a6c95.entry.js +0 -2
  1179. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  1180. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  1181. package/dist/ui-library/p-f18ba86f.entry.js +0 -2
  1182. package/dist/ui-library/p-f18ba86f.entry.js.map +0 -1
  1183. package/dist/ui-library/p-f4938771.entry.js +0 -2
  1184. package/dist/ui-library/p-f4938771.entry.js.map +0 -1
  1185. package/dist/ui-library/p-f604e067.entry.js +0 -2
  1186. package/dist/ui-library/p-f604e067.entry.js.map +0 -1
  1187. package/dist/ui-library/p-f70e2403.entry.js +0 -2
  1188. package/dist/ui-library/p-f70e2403.entry.js.map +0 -1
  1189. package/dist/ui-library/p-f9d345e0.entry.js +0 -2
  1190. package/dist/ui-library/p-f9d345e0.entry.js.map +0 -1
  1191. package/dist/ui-library/p-fed07a1f.entry.js +0 -2
  1192. package/dist/ui-library/p-fed07a1f.entry.js.map +0 -1
  1193. package/dist/ui-library/p-ff0257bf.entry.js +0 -2
  1194. package/dist/ui-library/p-ff0257bf.entry.js.map +0 -1
  1195. package/readme.md +0 -156
@@ -1,4 +1,5 @@
1
1
  const NAMESPACE = 'ui-library';
2
+ const BUILD = /* ui-library */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: true };
2
3
 
3
4
  /**
4
5
  * Virtual DOM patching algorithm based on Snabbdom by
@@ -31,6 +32,13 @@ const uniqueTime = (key, measureText) => {
31
32
  }
32
33
  };
33
34
  const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
35
+ /**
36
+ * Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
37
+ *
38
+ * Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
39
+ * support as of Stencil v4.
40
+ */
41
+ const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
34
42
  /**
35
43
  * Default style mode id
36
44
  */
@@ -110,13 +118,13 @@ const h = (nodeName, vnodeData, ...children) => {
110
118
  };
111
119
  walk(children);
112
120
  if (vnodeData) {
113
- // normalize class / classname attributes
114
121
  if (vnodeData.key) {
115
122
  key = vnodeData.key;
116
123
  }
117
124
  if (vnodeData.name) {
118
125
  slotName = vnodeData.name;
119
126
  }
127
+ // normalize class / className attributes
120
128
  {
121
129
  const classData = vnodeData.className || vnodeData.class;
122
130
  if (classData) {
@@ -324,9 +332,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
324
332
  }
325
333
  styles.set(scopeId, style);
326
334
  };
327
- const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
335
+ const addStyle = (styleContainerNode, cmpMeta, mode) => {
328
336
  var _a;
329
- let scopeId = getScopeId(cmpMeta);
337
+ const scopeId = getScopeId(cmpMeta);
330
338
  const style = styles.get(scopeId);
331
339
  // if an element is NOT connected then getRootNode() will return the wrong root node
332
340
  // so the fallback is to always use the document for the root node in those cases
@@ -341,11 +349,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
341
349
  }
342
350
  if (!appliedStyles.has(scopeId)) {
343
351
  {
344
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
345
- {
346
- styleElm = doc.createElement('style');
347
- styleElm.innerHTML = style;
348
- }
352
+ styleElm = doc.createElement('style');
353
+ styleElm.innerHTML = style;
349
354
  // Apply CSP nonce to the style tag if it exists
350
355
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
351
356
  if (nonce != null) {
@@ -353,6 +358,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
353
358
  }
354
359
  styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
355
360
  }
361
+ // Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
362
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
363
+ styleElm.innerHTML += SLOT_FB_CSS;
364
+ }
356
365
  if (appliedStyles) {
357
366
  appliedStyles.add(scopeId);
358
367
  }
@@ -370,7 +379,6 @@ const attachStyles = (hostRef) => {
370
379
  const flags = cmpMeta.$flags$;
371
380
  const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
372
381
  const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
373
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
374
382
  if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
375
383
  // only required when we're NOT using native shadow dom (slot)
376
384
  // or this browser doesn't support native shadow dom
@@ -396,6 +404,21 @@ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
396
404
  *
397
405
  * Modified for Stencil's compiler and vdom
398
406
  */
407
+ /**
408
+ * When running a VDom render set properties present on a VDom node onto the
409
+ * corresponding HTML element.
410
+ *
411
+ * Note that this function has special functionality for the `class`,
412
+ * `style`, `key`, and `ref` attributes, as well as event handlers (like
413
+ * `onClick`, etc). All others are just passed through as-is.
414
+ *
415
+ * @param elm the HTMLElement onto which attributes should be set
416
+ * @param memberName the name of the attribute to set
417
+ * @param oldValue the old value for the attribute
418
+ * @param newValue the new value for the attribute
419
+ * @param isSvg whether we're in an svg context or not
420
+ * @param flags bitflags for Vdom variables
421
+ */
399
422
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
400
423
  if (oldValue !== newValue) {
401
424
  let isProp = isMemberInElement(elm, memberName);
@@ -472,11 +495,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
472
495
  // except for the first character, we keep the event name case
473
496
  memberName = ln[2] + memberName.slice(3);
474
497
  }
475
- if (oldValue) {
476
- plt.rel(elm, memberName, oldValue, false);
477
- }
478
- if (newValue) {
479
- plt.ael(elm, memberName, newValue, false);
498
+ if (oldValue || newValue) {
499
+ // Need to account for "capture" events.
500
+ // If the event name ends with "Capture", we'll update the name to remove
501
+ // the "Capture" suffix and make sure the event listener is setup to handle the capture event.
502
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
503
+ // Make sure we only replace the last instance of "Capture"
504
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
505
+ if (oldValue) {
506
+ plt.rel(elm, memberName, oldValue, capture);
507
+ }
508
+ if (newValue) {
509
+ plt.ael(elm, memberName, newValue, capture);
510
+ }
480
511
  }
481
512
  }
482
513
  else {
@@ -498,7 +529,11 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
498
529
  elm[memberName] = newValue;
499
530
  }
500
531
  }
501
- catch (e) { }
532
+ catch (e) {
533
+ /**
534
+ * in case someone tries to set a read-only property, e.g. "namespaceURI", we just ignore it
535
+ */
536
+ }
502
537
  }
503
538
  if (newValue == null || newValue === false) {
504
539
  if (newValue !== false || elm.getAttribute(memberName) === '') {
@@ -517,7 +552,14 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
517
552
  }
518
553
  };
519
554
  const parseClassListRegex = /\s/;
555
+ /**
556
+ * Parsed a string of classnames into an array
557
+ * @param value className string, e.g. "foo bar baz"
558
+ * @returns list of classes, e.g. ["foo", "bar", "baz"]
559
+ */
520
560
  const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
561
+ const CAPTURE_EVENT_SUFFIX = 'Capture';
562
+ const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
521
563
  const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
522
564
  // if the element passed in is a shadow root, which is a document fragment
523
565
  // then we want to be adding attrs/props to the shadow root's "host" element
@@ -624,8 +666,10 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
624
666
  }
625
667
  }
626
668
  }
669
+ // This needs to always happen so we can hide nodes that are projected
670
+ // to another component but don't end up in a slot
671
+ elm['s-hn'] = hostTagName;
627
672
  {
628
- elm['s-hn'] = hostTagName;
629
673
  if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
630
674
  // remember the content reference comment
631
675
  elm['s-sr'] = true;
@@ -636,9 +680,11 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
636
680
  // check if we've got an old vnode for this slot
637
681
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
638
682
  if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
639
- // we've got an old slot vnode and the wrapper is being replaced
640
- // so let's move the old slot content back to it's original location
641
- putBackInOriginalLocation(oldParentVNode.$elm$, false);
683
+ {
684
+ // we've got an old slot vnode and the wrapper is being replaced
685
+ // so let's move the old slot content back to its original location
686
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
687
+ }
642
688
  }
643
689
  }
644
690
  }
@@ -650,16 +696,15 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
650
696
  for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
651
697
  const childNode = oldSlotChildNodes[i];
652
698
  if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
653
- // // this child node in the old element is from another component
654
- // // remove this node from the old slot's parent
655
- // childNode.remove();
656
699
  // and relocate it back to it's original location
657
700
  parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
658
701
  // remove the old original location comment entirely
659
702
  // later on the patch function will know what to do
660
- // and move this to the correct spot in need be
703
+ // and move this to the correct spot if need be
661
704
  childNode['s-ol'].remove();
662
705
  childNode['s-ol'] = undefined;
706
+ // Reset so we can correctly move the node around again.
707
+ childNode['s-sh'] = undefined;
663
708
  checkSlotRelocate = true;
664
709
  }
665
710
  if (recursive) {
@@ -709,30 +754,31 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
709
754
  * @param vnodes a list of virtual DOM nodes to remove
710
755
  * @param startIdx the index at which to start removing nodes (inclusive)
711
756
  * @param endIdx the index at which to stop removing nodes (inclusive)
712
- * @param vnode a VNode
713
- * @param elm an element
714
757
  */
715
- const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
716
- for (; startIdx <= endIdx; ++startIdx) {
717
- if ((vnode = vnodes[startIdx])) {
718
- elm = vnode.$elm$;
719
- callNodeRefs(vnode);
720
- {
721
- // we're removing this element
722
- // so it's possible we need to show slot fallback content now
723
- checkSlotFallbackVisibility = true;
724
- if (elm['s-ol']) {
725
- // remove the original location comment
726
- elm['s-ol'].remove();
727
- }
728
- else {
729
- // it's possible that child nodes of the node
730
- // that's being removed are slot nodes
731
- putBackInOriginalLocation(elm, true);
758
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
759
+ for (let index = startIdx; index <= endIdx; ++index) {
760
+ const vnode = vnodes[index];
761
+ if (vnode) {
762
+ const elm = vnode.$elm$;
763
+ nullifyVNodeRefs(vnode);
764
+ if (elm) {
765
+ {
766
+ // we're removing this element
767
+ // so it's possible we need to show slot fallback content now
768
+ checkSlotFallbackVisibility = true;
769
+ if (elm['s-ol']) {
770
+ // remove the original location comment
771
+ elm['s-ol'].remove();
772
+ }
773
+ else {
774
+ // it's possible that child nodes of the node
775
+ // that's being removed are slot nodes
776
+ putBackInOriginalLocation(elm, true);
777
+ }
732
778
  }
779
+ // remove the vnode's element from the dom
780
+ elm.remove();
733
781
  }
734
- // remove the vnode's element from the dom
735
- elm.remove();
736
782
  }
737
783
  }
738
784
  };
@@ -803,8 +849,9 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
803
849
  * @param oldCh the old children of the parent node
804
850
  * @param newVNode the new VNode which will replace the parent
805
851
  * @param newCh the new children of the parent node
852
+ * @param isInitialRender whether or not this is the first render of the vdom
806
853
  */
807
- const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
854
+ const updateChildren = (parentElm, oldCh, newVNode, newCh, isInitialRender = false) => {
808
855
  let oldStartIdx = 0;
809
856
  let newStartIdx = 0;
810
857
  let idxInOld = 0;
@@ -831,24 +878,24 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
831
878
  else if (newEndVnode == null) {
832
879
  newEndVnode = newCh[--newEndIdx];
833
880
  }
834
- else if (isSameVnode(oldStartVnode, newStartVnode)) {
881
+ else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
835
882
  // if the start nodes are the same then we should patch the new VNode
836
883
  // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
837
884
  // indices to reflect that. We don't need to move any DOM Nodes around
838
885
  // since things are matched up in order.
839
- patch(oldStartVnode, newStartVnode);
886
+ patch(oldStartVnode, newStartVnode, isInitialRender);
840
887
  oldStartVnode = oldCh[++oldStartIdx];
841
888
  newStartVnode = newCh[++newStartIdx];
842
889
  }
843
- else if (isSameVnode(oldEndVnode, newEndVnode)) {
890
+ else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
844
891
  // likewise, if the end nodes are the same we patch new onto old and
845
892
  // decrement our end indices, and also likewise in this case we don't
846
893
  // need to move any DOM Nodes.
847
- patch(oldEndVnode, newEndVnode);
894
+ patch(oldEndVnode, newEndVnode, isInitialRender);
848
895
  oldEndVnode = oldCh[--oldEndIdx];
849
896
  newEndVnode = newCh[--newEndIdx];
850
897
  }
851
- else if (isSameVnode(oldStartVnode, newEndVnode)) {
898
+ else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
852
899
  // case: "Vnode moved right"
853
900
  //
854
901
  // We've found that the last node in our window on the new children is
@@ -866,7 +913,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
866
913
  if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
867
914
  putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
868
915
  }
869
- patch(oldStartVnode, newEndVnode);
916
+ patch(oldStartVnode, newEndVnode, isInitialRender);
870
917
  // We need to move the element for `oldStartVnode` into a position which
871
918
  // will be appropriate for `newEndVnode`. For this we can use
872
919
  // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
@@ -888,7 +935,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
888
935
  oldStartVnode = oldCh[++oldStartIdx];
889
936
  newEndVnode = newCh[--newEndIdx];
890
937
  }
891
- else if (isSameVnode(oldEndVnode, newStartVnode)) {
938
+ else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
892
939
  // case: "Vnode moved left"
893
940
  //
894
941
  // We've found that the first node in our window on the new children is
@@ -907,7 +954,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
907
954
  if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
908
955
  putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
909
956
  }
910
- patch(oldEndVnode, newStartVnode);
957
+ patch(oldEndVnode, newStartVnode, isInitialRender);
911
958
  // We've already checked above if `oldStartVnode` and `newStartVnode` are
912
959
  // the same node, so since we're here we know that they are not. Thus we
913
960
  // can move the element for `oldEndVnode` _before_ the element for
@@ -944,7 +991,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
944
991
  node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
945
992
  }
946
993
  else {
947
- patch(elmToMove, newStartVnode);
994
+ patch(elmToMove, newStartVnode, isInitialRender);
948
995
  // invalidate the matching old node so that we won't try to update it
949
996
  // again later on
950
997
  oldCh[idxInOld] = undefined;
@@ -995,19 +1042,25 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
995
1042
  *
996
1043
  * @param leftVNode the first VNode to check
997
1044
  * @param rightVNode the second VNode to check
1045
+ * @param isInitialRender whether or not this is the first render of the vdom
998
1046
  * @returns whether they're equal or not
999
1047
  */
1000
- const isSameVnode = (leftVNode, rightVNode) => {
1048
+ const isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
1001
1049
  // compare if two vnode to see if they're "technically" the same
1002
1050
  // need to have the same element tag, and same key to be the same
1003
1051
  if (leftVNode.$tag$ === rightVNode.$tag$) {
1004
1052
  if (leftVNode.$tag$ === 'slot') {
1005
1053
  return leftVNode.$name$ === rightVNode.$name$;
1006
1054
  }
1007
- // this will be set if components in the build have `key` attrs set on them
1008
- {
1055
+ // this will be set if JSX tags in the build have `key` attrs set on them
1056
+ // we only want to check this if we're not on the first render since on
1057
+ // first render `leftVNode.$key$` will always be `null`, so we can be led
1058
+ // astray and, for instance, accidentally delete a DOM node that we want to
1059
+ // keep around.
1060
+ if (!isInitialRender) {
1009
1061
  return leftVNode.$key$ === rightVNode.$key$;
1010
1062
  }
1063
+ return true;
1011
1064
  }
1012
1065
  return false;
1013
1066
  };
@@ -1026,8 +1079,9 @@ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).paren
1026
1079
  *
1027
1080
  * @param oldVNode an old VNode whose DOM element and children we want to update
1028
1081
  * @param newVNode a new VNode representing an updated version of the old one
1082
+ * @param isInitialRender whether or not this is the first render of the vdom
1029
1083
  */
1030
- const patch = (oldVNode, newVNode) => {
1084
+ const patch = (oldVNode, newVNode, isInitialRender = false) => {
1031
1085
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
1032
1086
  const oldChildren = oldVNode.$children$;
1033
1087
  const newChildren = newVNode.$children$;
@@ -1041,8 +1095,7 @@ const patch = (oldVNode, newVNode) => {
1041
1095
  isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
1042
1096
  }
1043
1097
  {
1044
- if (tag === 'slot')
1045
- ;
1098
+ if (tag === 'slot' && !useNativeShadowDom) ;
1046
1099
  else {
1047
1100
  // either this is the first render of an element OR it's an update
1048
1101
  // AND we already know it's possible it could have changed
@@ -1053,7 +1106,7 @@ const patch = (oldVNode, newVNode) => {
1053
1106
  if (oldChildren !== null && newChildren !== null) {
1054
1107
  // looks like there's child vnodes for both the old and new vnodes
1055
1108
  // so we need to call `updateChildren` to reconcile them
1056
- updateChildren(elm, oldChildren, newVNode, newChildren);
1109
+ updateChildren(elm, oldChildren, newVNode, newChildren, isInitialRender);
1057
1110
  }
1058
1111
  else if (newChildren !== null) {
1059
1112
  // no old child vnodes, but there are new child vnodes to add
@@ -1082,42 +1135,53 @@ const patch = (oldVNode, newVNode) => {
1082
1135
  elm.data = text;
1083
1136
  }
1084
1137
  };
1138
+ /**
1139
+ * Adjust the `.hidden` property as-needed on any nodes in a DOM subtree which
1140
+ * are slot fallbacks nodes.
1141
+ *
1142
+ * A slot fallback node should be visible by default. Then, it should be
1143
+ * conditionally hidden if:
1144
+ *
1145
+ * - it has a sibling with a `slot` property set to its slot name or if
1146
+ * - it is a default fallback slot node, in which case we hide if it has any
1147
+ * content
1148
+ *
1149
+ * @param elm the element of interest
1150
+ */
1085
1151
  const updateFallbackSlotVisibility = (elm) => {
1086
- // tslint:disable-next-line: prefer-const
1087
1152
  const childNodes = elm.childNodes;
1088
- let childNode;
1089
- let i;
1090
- let ilen;
1091
- let j;
1092
- let slotNameAttr;
1093
- let nodeType;
1094
- for (i = 0, ilen = childNodes.length; i < ilen; i++) {
1095
- childNode = childNodes[i];
1153
+ for (const childNode of childNodes) {
1096
1154
  if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1097
1155
  if (childNode['s-sr']) {
1098
1156
  // this is a slot fallback node
1099
1157
  // get the slot name for this slot reference node
1100
- slotNameAttr = childNode['s-sn'];
1158
+ const slotName = childNode['s-sn'];
1101
1159
  // by default always show a fallback slot node
1102
1160
  // then hide it if there are other slots in the light dom
1103
1161
  childNode.hidden = false;
1104
- for (j = 0; j < ilen; j++) {
1105
- nodeType = childNodes[j].nodeType;
1106
- if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
1107
- // this sibling node is from a different component OR is a named fallback slot node
1108
- if (nodeType === 1 /* NODE_TYPE.ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
1109
- childNode.hidden = true;
1110
- break;
1162
+ // we need to check all of its sibling nodes in order to see if
1163
+ // `childNode` should be hidden
1164
+ for (const siblingNode of childNodes) {
1165
+ // Don't check the node against itself
1166
+ if (siblingNode !== childNode) {
1167
+ if (siblingNode['s-hn'] !== childNode['s-hn'] || slotName !== '') {
1168
+ // this sibling node is from a different component OR is a named
1169
+ // fallback slot node
1170
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
1171
+ (slotName === siblingNode.getAttribute('slot') || slotName === siblingNode['s-sn'])) {
1172
+ childNode.hidden = true;
1173
+ break;
1174
+ }
1111
1175
  }
1112
- }
1113
- else {
1114
- // this is a default fallback slot node
1115
- // any element or text node (with content)
1116
- // should hide the default fallback slot node
1117
- if (nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1118
- (nodeType === 3 /* NODE_TYPE.TextNode */ && childNodes[j].textContent.trim() !== '')) {
1119
- childNode.hidden = true;
1120
- break;
1176
+ else {
1177
+ // this is a default fallback slot node
1178
+ // any element or text node (with content)
1179
+ // should hide the default fallback slot node
1180
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1181
+ (siblingNode.nodeType === 3 /* NODE_TYPE.TextNode */ && siblingNode.textContent.trim() !== '')) {
1182
+ childNode.hidden = true;
1183
+ break;
1184
+ }
1121
1185
  }
1122
1186
  }
1123
1187
  }
@@ -1127,45 +1191,67 @@ const updateFallbackSlotVisibility = (elm) => {
1127
1191
  }
1128
1192
  }
1129
1193
  };
1194
+ /**
1195
+ * Component-global information about nodes which are either currently being
1196
+ * relocated or will be shortly.
1197
+ */
1130
1198
  const relocateNodes = [];
1131
- const relocateSlotContent = (elm) => {
1199
+ /**
1200
+ * Mark the contents of a slot for relocation via adding references to them to
1201
+ * the {@link relocateNodes} data structure. The actual work of relocating them
1202
+ * will then be handled in {@link renderVdom}.
1203
+ *
1204
+ * @param elm a render node whose child nodes need to be relocated
1205
+ */
1206
+ const markSlotContentForRelocation = (elm) => {
1132
1207
  // tslint:disable-next-line: prefer-const
1133
- let childNode;
1134
1208
  let node;
1135
1209
  let hostContentNodes;
1136
- let slotNameAttr;
1137
- let relocateNodeData;
1138
1210
  let j;
1139
- let i = 0;
1140
- const childNodes = elm.childNodes;
1141
- const ilen = childNodes.length;
1142
- for (; i < ilen; i++) {
1143
- childNode = childNodes[i];
1211
+ for (const childNode of elm.childNodes) {
1212
+ // we need to find child nodes which are slot references so we can then try
1213
+ // to match them up with nodes that need to be relocated
1144
1214
  if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
1145
- // first got the content reference comment node
1146
- // then we got it's parent, which is where all the host content is in now
1215
+ // first get the content reference comment node ('s-cr'), then we get
1216
+ // its parent, which is where all the host content is now
1147
1217
  hostContentNodes = node.parentNode.childNodes;
1148
- slotNameAttr = childNode['s-sn'];
1218
+ const slotName = childNode['s-sn'];
1219
+ // iterate through all the nodes under the location where the host was
1220
+ // originally rendered
1149
1221
  for (j = hostContentNodes.length - 1; j >= 0; j--) {
1150
1222
  node = hostContentNodes[j];
1151
- if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
1152
- // let's do some relocating to its new home
1153
- // but never relocate a content reference node
1154
- // that is suppose to always represent the original content location
1155
- if (isNodeLocatedInSlot(node, slotNameAttr)) {
1223
+ // check that the node is not a content reference node or a node
1224
+ // reference and then check that the host name does not match that of
1225
+ // childNode.
1226
+ // In addition, check that the slot either has not already been relocated, or
1227
+ // that its current location's host is not childNode's host. This is essentially
1228
+ // a check so that we don't try to relocate (and then hide) a node that is already
1229
+ // where it should be.
1230
+ if (!node['s-cn'] &&
1231
+ !node['s-nr'] &&
1232
+ node['s-hn'] !== childNode['s-hn'] &&
1233
+ (!BUILD.experimentalSlotFixes )) {
1234
+ // if `node` is located in the slot that `childNode` refers to (via the
1235
+ // `'s-sn'` property) then we need to relocate it from it's current spot
1236
+ // (under the host element parent) to the right slot location
1237
+ if (isNodeLocatedInSlot(node, slotName)) {
1156
1238
  // it's possible we've already decided to relocate this node
1157
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1239
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1158
1240
  // made some changes to slots
1159
1241
  // let's make sure we also double check
1160
1242
  // fallbacks are correctly hidden or shown
1161
1243
  checkSlotFallbackVisibility = true;
1162
- node['s-sn'] = node['s-sn'] || slotNameAttr;
1244
+ // ensure that the slot-name attr is correct
1245
+ node['s-sn'] = node['s-sn'] || slotName;
1163
1246
  if (relocateNodeData) {
1164
- // previously we never found a slot home for this node
1165
- // but turns out we did, so let's remember it now
1247
+ relocateNodeData.$nodeToRelocate$['s-sh'] = childNode['s-hn'];
1248
+ // we marked this node for relocation previously but didn't find
1249
+ // out the slot reference node to which it needs to be relocated
1250
+ // so write it down now!
1166
1251
  relocateNodeData.$slotRefNode$ = childNode;
1167
1252
  }
1168
1253
  else {
1254
+ node['s-sh'] = childNode['s-hn'];
1169
1255
  // add to our list of nodes to relocate
1170
1256
  relocateNodes.push({
1171
1257
  $slotRefNode$: childNode,
@@ -1184,8 +1270,10 @@ const relocateSlotContent = (elm) => {
1184
1270
  }
1185
1271
  }
1186
1272
  else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1187
- // so far this element does not have a slot home, not setting slotRefNode on purpose
1188
- // if we never find a home for this element then we'll need to hide it
1273
+ // the node is not found within the slot (`childNode`) that we're
1274
+ // currently looking at, so we stick it into `relocateNodes` to
1275
+ // handle later. If we never find a home for this element then
1276
+ // we'll need to hide it
1189
1277
  relocateNodes.push({
1190
1278
  $nodeToRelocate$: node,
1191
1279
  });
@@ -1193,30 +1281,48 @@ const relocateSlotContent = (elm) => {
1193
1281
  }
1194
1282
  }
1195
1283
  }
1284
+ // if we're dealing with any type of element (capable of itself being a
1285
+ // slot reference or containing one) then we recur
1196
1286
  if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1197
- relocateSlotContent(childNode);
1287
+ markSlotContentForRelocation(childNode);
1198
1288
  }
1199
1289
  }
1200
1290
  };
1201
- const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
1291
+ /**
1292
+ * Check whether a node is located in a given named slot.
1293
+ *
1294
+ * @param nodeToRelocate the node of interest
1295
+ * @param slotName the slot name to check
1296
+ * @returns whether the node is located in the slot or not
1297
+ */
1298
+ const isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
1202
1299
  if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1203
- if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
1300
+ if (nodeToRelocate.getAttribute('slot') === null && slotName === '') {
1301
+ // if the node doesn't have a slot attribute, and the slot we're checking
1302
+ // is not a named slot, then we assume the node should be within the slot
1204
1303
  return true;
1205
1304
  }
1206
- if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
1305
+ if (nodeToRelocate.getAttribute('slot') === slotName) {
1207
1306
  return true;
1208
1307
  }
1209
1308
  return false;
1210
1309
  }
1211
- if (nodeToRelocate['s-sn'] === slotNameAttr) {
1310
+ if (nodeToRelocate['s-sn'] === slotName) {
1212
1311
  return true;
1213
1312
  }
1214
- return slotNameAttr === '';
1313
+ return slotName === '';
1215
1314
  };
1216
- const callNodeRefs = (vNode) => {
1315
+ /**
1316
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
1317
+ * them with `null`. This signals that the DOM element corresponding to the VDom
1318
+ * node has been removed from the DOM.
1319
+ *
1320
+ * @param vNode a virtual DOM node
1321
+ */
1322
+ const nullifyVNodeRefs = (vNode) => {
1217
1323
  {
1218
1324
  vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1219
- vNode.$children$ && vNode.$children$.map(callNodeRefs);
1325
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1220
1326
  }
1221
1327
  };
1222
1328
  /**
@@ -1230,17 +1336,45 @@ const callNodeRefs = (vNode) => {
1230
1336
  * @param hostRef data needed to root and render the virtual DOM tree, such as
1231
1337
  * the DOM node into which it should be rendered.
1232
1338
  * @param renderFnResults the virtual DOM nodes to be rendered
1339
+ * @param isInitialLoad whether or not this is the first call after page load
1233
1340
  */
1234
- const renderVdom = (hostRef, renderFnResults) => {
1341
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1342
+ var _a, _b, _c, _d;
1235
1343
  const hostElm = hostRef.$hostElement$;
1236
1344
  const cmpMeta = hostRef.$cmpMeta$;
1237
1345
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1346
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1347
+ // we need to call `h` again to wrap the children of our component in a
1348
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1349
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1350
+ // contains attrs that need to be set on the host element.
1238
1351
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1239
1352
  hostTagName = hostElm.tagName;
1240
1353
  if (cmpMeta.$attrsToReflect$) {
1241
1354
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1242
1355
  cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
1243
1356
  }
1357
+ // On the first render and *only* on the first render we want to check for
1358
+ // any attributes set on the host element which are also set on the vdom
1359
+ // node. If we find them, we override the value on the VDom node attrs with
1360
+ // the value from the host element, which allows developers building apps
1361
+ // with Stencil components to override e.g. the `role` attribute on a
1362
+ // component even if it's already set on the `Host`.
1363
+ if (isInitialLoad && rootVnode.$attrs$) {
1364
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1365
+ // We have a special implementation in `setAccessor` for `style` and
1366
+ // `class` which reconciles values coming from the VDom with values
1367
+ // already present on the DOM element, so we don't want to override those
1368
+ // attributes on the VDom tree with values from the host element if they
1369
+ // are present.
1370
+ //
1371
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1372
+ // runtime and we don't want to override those either.
1373
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1374
+ rootVnode.$attrs$[key] = hostElm[key];
1375
+ }
1376
+ }
1377
+ }
1244
1378
  rootVnode.$tag$ = null;
1245
1379
  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
1246
1380
  hostRef.$vnode$ = rootVnode;
@@ -1248,56 +1382,61 @@ const renderVdom = (hostRef, renderFnResults) => {
1248
1382
  {
1249
1383
  scopeId = hostElm['s-sc'];
1250
1384
  }
1385
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1251
1386
  {
1252
1387
  contentRef = hostElm['s-cr'];
1253
- useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1254
1388
  // always reset
1255
1389
  checkSlotFallbackVisibility = false;
1256
1390
  }
1257
1391
  // synchronous patch
1258
- patch(oldVNode, rootVnode);
1392
+ patch(oldVNode, rootVnode, isInitialLoad);
1259
1393
  {
1260
1394
  // while we're moving nodes around existing nodes, temporarily disable
1261
1395
  // the disconnectCallback from working
1262
1396
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1263
1397
  if (checkSlotRelocate) {
1264
- relocateSlotContent(rootVnode.$elm$);
1265
- let relocateData;
1266
- let nodeToRelocate;
1267
- let orgLocationNode;
1268
- let parentNodeRef;
1269
- let insertBeforeNode;
1270
- let refNode;
1271
- let i = 0;
1272
- for (; i < relocateNodes.length; i++) {
1273
- relocateData = relocateNodes[i];
1274
- nodeToRelocate = relocateData.$nodeToRelocate$;
1398
+ markSlotContentForRelocation(rootVnode.$elm$);
1399
+ for (const relocateData of relocateNodes) {
1400
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1275
1401
  if (!nodeToRelocate['s-ol']) {
1276
1402
  // add a reference node marking this node's original location
1277
1403
  // keep a reference to this node for later lookups
1278
- orgLocationNode =
1279
- doc.createTextNode('');
1404
+ const orgLocationNode = doc.createTextNode('');
1280
1405
  orgLocationNode['s-nr'] = nodeToRelocate;
1281
1406
  nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1282
1407
  }
1283
1408
  }
1284
- for (i = 0; i < relocateNodes.length; i++) {
1285
- relocateData = relocateNodes[i];
1286
- nodeToRelocate = relocateData.$nodeToRelocate$;
1287
- if (relocateData.$slotRefNode$) {
1288
- // by default we're just going to insert it directly
1289
- // after the slot reference node
1290
- parentNodeRef = relocateData.$slotRefNode$.parentNode;
1291
- insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
1292
- orgLocationNode = nodeToRelocate['s-ol'];
1293
- while ((orgLocationNode = orgLocationNode.previousSibling)) {
1294
- refNode = orgLocationNode['s-nr'];
1295
- if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1296
- refNode = refNode.nextSibling;
1297
- if (!refNode || !refNode['s-nr']) {
1298
- insertBeforeNode = refNode;
1299
- break;
1409
+ for (const relocateData of relocateNodes) {
1410
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1411
+ const slotRefNode = relocateData.$slotRefNode$;
1412
+ if (slotRefNode) {
1413
+ const parentNodeRef = slotRefNode.parentNode;
1414
+ // When determining where to insert content, the most simple case would be
1415
+ // to relocate the node immediately following the slot reference node. We do this
1416
+ // by getting a reference to the node immediately following the slot reference node
1417
+ // since we will use `insertBefore` to manipulate the DOM.
1418
+ //
1419
+ // If there is no node immediately following the slot reference node, then we will just
1420
+ // end up appending the node as the last child of the parent.
1421
+ let insertBeforeNode = slotRefNode.nextSibling;
1422
+ // If the node we're currently planning on inserting the new node before is an element,
1423
+ // we need to do some additional checks to make sure we're inserting the node in the correct order.
1424
+ // The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
1425
+ // to make sure they get inserted into their new how in the same order they were declared in their original location.
1426
+ //
1427
+ // TODO(STENCIL-914): Remove `experimentalSlotFixes` check
1428
+ {
1429
+ let orgLocationNode = (_a = nodeToRelocate['s-ol']) === null || _a === void 0 ? void 0 : _a.previousSibling;
1430
+ while (orgLocationNode) {
1431
+ let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1432
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1433
+ refNode = refNode.nextSibling;
1434
+ if (!refNode || !refNode['s-nr']) {
1435
+ insertBeforeNode = refNode;
1436
+ break;
1437
+ }
1300
1438
  }
1439
+ orgLocationNode = orgLocationNode.previousSibling;
1301
1440
  }
1302
1441
  }
1303
1442
  if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
@@ -1307,17 +1446,32 @@ const renderVdom = (hostRef, renderFnResults) => {
1307
1446
  // has a different next sibling or parent relocated
1308
1447
  if (nodeToRelocate !== insertBeforeNode) {
1309
1448
  if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1310
- // probably a component in the index.html that doesn't have it's hostname set
1449
+ // probably a component in the index.html that doesn't have its hostname set
1311
1450
  nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1312
1451
  }
1313
- // add it back to the dom but in its new home
1452
+ // Add it back to the dom but in its new home
1453
+ // If we get to this point and `insertBeforeNode` is `null`, that means
1454
+ // we're just going to append the node as the last child of the parent. Passing
1455
+ // `null` as the second arg here will trigger that behavior.
1314
1456
  parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1457
+ // Reset the `hidden` value back to what it was defined as originally
1458
+ // This solves a problem where a `slot` is dynamically rendered and `hidden` may have
1459
+ // been set on content originally, but now it has a slot to go to so it should have
1460
+ // the value it was defined as having in the DOM, not what we overrode it to.
1461
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1462
+ nodeToRelocate.hidden = (_c = nodeToRelocate['s-ih']) !== null && _c !== void 0 ? _c : false;
1463
+ }
1315
1464
  }
1316
1465
  }
1317
1466
  }
1318
1467
  else {
1319
1468
  // this node doesn't have a slot home to go to, so let's hide it
1320
1469
  if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1470
+ // Store the initial value of `hidden` so we can reset it later when
1471
+ // moving nodes around.
1472
+ if (isInitialLoad) {
1473
+ nodeToRelocate['s-ih'] = (_d = nodeToRelocate.hidden) !== null && _d !== void 0 ? _d : false;
1474
+ }
1321
1475
  nodeToRelocate.hidden = true;
1322
1476
  }
1323
1477
  }
@@ -1332,6 +1486,8 @@ const renderVdom = (hostRef, renderFnResults) => {
1332
1486
  // always reset
1333
1487
  relocateNodes.length = 0;
1334
1488
  }
1489
+ // Clear the content ref so we don't create a memory leak
1490
+ contentRef = undefined;
1335
1491
  };
1336
1492
  const attachToAncestor = (hostRef, ancestorComponent) => {
1337
1493
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
@@ -1353,27 +1509,93 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
1353
1509
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
1354
1510
  return writeTask(dispatch) ;
1355
1511
  };
1512
+ /**
1513
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
1514
+ * component lifecycle methods like `componentWillLoad` as well as
1515
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
1516
+ *
1517
+ * @param hostRef a reference to a host DOM node
1518
+ * @param isInitialLoad whether we're on the initial load or not
1519
+ * @returns an empty Promise which is used to enqueue a series of operations for
1520
+ * the component
1521
+ */
1356
1522
  const dispatchHooks = (hostRef, isInitialLoad) => {
1357
1523
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
1358
1524
  const instance = hostRef.$lazyInstance$ ;
1359
- let promise;
1525
+ // We're going to use this variable together with `enqueue` to implement a
1526
+ // little promise-based queue. We start out with it `undefined`. When we add
1527
+ // the first function to the queue we'll set this variable to be that
1528
+ // function's return value. When we attempt to add subsequent values to the
1529
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
1530
+ // the new function off of that `Promise` using `.then()`. This will give our
1531
+ // queue two nice properties:
1532
+ //
1533
+ // 1. If all functions added to the queue are synchronous they'll be called
1534
+ // synchronously right away.
1535
+ // 2. If all functions added to the queue are asynchronous they'll all be
1536
+ // called in order after `dispatchHooks` exits.
1537
+ let maybePromise;
1360
1538
  if (isInitialLoad) {
1361
1539
  {
1362
1540
  hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
1363
1541
  if (hostRef.$queuedListeners$) {
1364
1542
  hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1365
- hostRef.$queuedListeners$ = null;
1543
+ hostRef.$queuedListeners$ = undefined;
1366
1544
  }
1367
1545
  }
1368
1546
  {
1369
- promise = safeCall(instance, 'componentWillLoad');
1547
+ // If `componentWillLoad` returns a `Promise` then we want to wait on
1548
+ // whatever's going on in that `Promise` before we launch into
1549
+ // rendering the component, doing other lifecycle stuff, etc. So
1550
+ // in that case we assign the returned promise to the variable we
1551
+ // declared above to hold a possible 'queueing' Promise
1552
+ maybePromise = safeCall(instance, 'componentWillLoad');
1370
1553
  }
1371
1554
  }
1372
1555
  endSchedule();
1373
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
1556
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1374
1557
  };
1558
+ /**
1559
+ * This function uses a Promise to implement a simple first-in, first-out queue
1560
+ * of functions to be called.
1561
+ *
1562
+ * The queue is ordered on the basis of the first argument. If it's
1563
+ * `undefined`, then nothing is on the queue yet, so the provided function can
1564
+ * be called synchronously (although note that this function may return a
1565
+ * `Promise`). The idea is that then the return value of that enqueueing
1566
+ * operation is kept around, so that if it was a `Promise` then subsequent
1567
+ * functions can be enqueued by calling this function again with that `Promise`
1568
+ * as the first argument.
1569
+ *
1570
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
1571
+ * @param fn a function to enqueue
1572
+ * @returns either a `Promise` or the return value of the provided function
1573
+ */
1574
+ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
1575
+ /**
1576
+ * Check that a value is a `Promise`. To check, we first see if the value is an
1577
+ * instance of the `Promise` global. In a few circumstances, in particular if
1578
+ * the global has been overwritten, this is could be misleading, so we also do
1579
+ * a little 'duck typing' check to see if the `.then` property of the value is
1580
+ * defined and a function.
1581
+ *
1582
+ * @param maybePromise it might be a promise!
1583
+ * @returns whether it is or not
1584
+ */
1585
+ const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1586
+ (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1587
+ /**
1588
+ * Update a component given reference to its host elements and so on.
1589
+ *
1590
+ * @param hostRef an object containing references to the element's host node,
1591
+ * VDom nodes, and other metadata
1592
+ * @param instance a reference to the underlying host element where it will be
1593
+ * rendered
1594
+ * @param isInitialLoad whether or not this function is being called as part of
1595
+ * the first render cycle
1596
+ */
1375
1597
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
1376
- // updateComponent
1598
+ var _a;
1377
1599
  const elm = hostRef.$hostElement$;
1378
1600
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
1379
1601
  const rc = elm['s-rc'];
@@ -1383,7 +1605,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1383
1605
  }
1384
1606
  const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
1385
1607
  {
1386
- callRender(hostRef, instance);
1608
+ callRender(hostRef, instance, elm, isInitialLoad);
1387
1609
  }
1388
1610
  if (rc) {
1389
1611
  // ok, so turns out there are some child host elements
@@ -1395,7 +1617,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1395
1617
  endRender();
1396
1618
  endUpdate();
1397
1619
  {
1398
- const childrenPromises = elm['s-p'];
1620
+ const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
1399
1621
  const postUpdate = () => postUpdateComponent(hostRef);
1400
1622
  if (childrenPromises.length === 0) {
1401
1623
  postUpdate();
@@ -1407,8 +1629,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1407
1629
  }
1408
1630
  }
1409
1631
  };
1410
- const callRender = (hostRef, instance, elm) => {
1632
+ /**
1633
+ * Handle making the call to the VDom renderer with the proper context given
1634
+ * various build variables
1635
+ *
1636
+ * @param hostRef an object containing references to the element's host node,
1637
+ * VDom nodes, and other metadata
1638
+ * @param instance a reference to the underlying host element where it will be
1639
+ * rendered
1640
+ * @param elm the Host element for the component
1641
+ * @param isInitialLoad whether or not this function is being called as part of
1642
+ * @returns an empty promise
1643
+ */
1644
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
1411
1645
  try {
1646
+ /**
1647
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1648
+ * method, so we can call the method immediately. If not, check before calling it.
1649
+ */
1412
1650
  instance = instance.render() ;
1413
1651
  {
1414
1652
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
@@ -1422,7 +1660,7 @@ const callRender = (hostRef, instance, elm) => {
1422
1660
  // or we need to update the css class/attrs on the host element
1423
1661
  // DOM WRITE!
1424
1662
  {
1425
- renderVdom(hostRef, instance);
1663
+ renderVdom(hostRef, instance, isInitialLoad);
1426
1664
  }
1427
1665
  }
1428
1666
  }
@@ -1491,6 +1729,16 @@ const appDidLoad = (who) => {
1491
1729
  }
1492
1730
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1493
1731
  };
1732
+ /**
1733
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1734
+ * e.g. custom element node. If a build figures out that e.g. no component
1735
+ * has a `componentDidLoad` method, the instance method gets removed from the
1736
+ * output bundle and this function returns `undefined`.
1737
+ * @param instance any object that may or may not contain methods
1738
+ * @param method method name
1739
+ * @param arg single arbitrary argument
1740
+ * @returns result of method call if it exists, otherwise `undefined`
1741
+ */
1494
1742
  const safeCall = (instance, method, arg) => {
1495
1743
  if (instance && instance[method]) {
1496
1744
  try {
@@ -1502,9 +1750,6 @@ const safeCall = (instance, method, arg) => {
1502
1750
  }
1503
1751
  return undefined;
1504
1752
  };
1505
- const then = (promise, thenFn) => {
1506
- return promise && promise.then ? promise.then(thenFn) : thenFn();
1507
- };
1508
1753
  const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1509
1754
  ;
1510
1755
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -1561,13 +1806,14 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1561
1806
  * @returns a reference to the same constructor passed in (but now mutated)
1562
1807
  */
1563
1808
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1809
+ var _a;
1810
+ const prototype = Cstr.prototype;
1564
1811
  if (cmpMeta.$members$) {
1565
1812
  if (Cstr.watchers) {
1566
1813
  cmpMeta.$watchers$ = Cstr.watchers;
1567
1814
  }
1568
1815
  // It's better to have a const than two Object.entries()
1569
1816
  const members = Object.entries(cmpMeta.$members$);
1570
- const prototype = Cstr.prototype;
1571
1817
  members.map(([memberName, [memberFlags]]) => {
1572
1818
  if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
1573
1819
  ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
@@ -1590,16 +1836,18 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1590
1836
  // proxyComponent - method
1591
1837
  Object.defineProperty(prototype, memberName, {
1592
1838
  value(...args) {
1839
+ var _a;
1593
1840
  const ref = getHostRef(this);
1594
- return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
1841
+ return (_a = ref === null || ref === void 0 ? void 0 : ref.$onInstancePromise$) === null || _a === void 0 ? void 0 : _a.then(() => { var _a; return (_a = ref.$lazyInstance$) === null || _a === void 0 ? void 0 : _a[memberName](...args); });
1595
1842
  },
1596
1843
  });
1597
1844
  }
1598
1845
  });
1599
1846
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1600
1847
  const attrNameToPropName = new Map();
1601
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1848
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
1602
1849
  plt.jmp(() => {
1850
+ var _a;
1603
1851
  const propName = attrNameToPropName.get(attrName);
1604
1852
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
1605
1853
  // in the case where an attribute was set inline.
@@ -1621,12 +1869,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1621
1869
  // customElements.define('my-component', MyComponent);
1622
1870
  // </script>
1623
1871
  // ```
1624
- // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
1872
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1625
1873
  // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1626
1874
  // to the value that was set inline i.e. "some-value" from above example. When
1627
- // the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
1875
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1628
1876
  //
1629
- // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
1877
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1630
1878
  // by connectedCallback as this attributeChangedCallback will not fire.
1631
1879
  //
1632
1880
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
@@ -1646,31 +1894,73 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1646
1894
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1647
1895
  return;
1648
1896
  }
1897
+ else if (propName == null) {
1898
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
1899
+ // on a vanilla web component
1900
+ const hostRef = getHostRef(this);
1901
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
1902
+ // We only want to trigger the callback(s) if:
1903
+ // 1. The instance is ready
1904
+ // 2. The watchers are ready
1905
+ // 3. The value has changed
1906
+ if (flags &&
1907
+ !(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
1908
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
1909
+ newValue !== oldValue) {
1910
+ const instance = hostRef.$lazyInstance$ ;
1911
+ const entry = (_a = cmpMeta.$watchers$) === null || _a === void 0 ? void 0 : _a[attrName];
1912
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
1913
+ if (instance[callbackName] != null) {
1914
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
1915
+ }
1916
+ });
1917
+ }
1918
+ return;
1919
+ }
1649
1920
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1650
1921
  });
1651
1922
  };
1652
- // create an array of attributes to observe
1653
- // and also create a map of html attribute name to js property name
1654
- Cstr.observedAttributes = members
1655
- .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
1656
- .map(([propName, m]) => {
1657
- const attrName = m[1] || propName;
1658
- attrNameToPropName.set(attrName, propName);
1659
- if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1660
- cmpMeta.$attrsToReflect$.push([propName, attrName]);
1661
- }
1662
- return attrName;
1663
- });
1923
+ // Create an array of attributes to observe
1924
+ // This list in comprised of all strings used within a `@Watch()` decorator
1925
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
1926
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
1927
+ // an invalid attribute.
1928
+ Cstr.observedAttributes = Array.from(new Set([
1929
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
1930
+ ...members
1931
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
1932
+ .map(([propName, m]) => {
1933
+ var _a;
1934
+ const attrName = m[1] || propName;
1935
+ attrNameToPropName.set(attrName, propName);
1936
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1937
+ (_a = cmpMeta.$attrsToReflect$) === null || _a === void 0 ? void 0 : _a.push([propName, attrName]);
1938
+ }
1939
+ return attrName;
1940
+ }),
1941
+ ]));
1664
1942
  }
1665
1943
  }
1666
1944
  return Cstr;
1667
1945
  };
1668
- const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1946
+ /**
1947
+ * Initialize a Stencil component given a reference to its host element, its
1948
+ * runtime bookkeeping data structure, runtime metadata about the component,
1949
+ * and (optionally) an HMR version ID.
1950
+ *
1951
+ * @param elm a host element
1952
+ * @param hostRef the element's runtime bookkeeping object
1953
+ * @param cmpMeta runtime metadata for the Stencil component
1954
+ * @param hmrVersionId an (optional) HMR version ID
1955
+ */
1956
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1957
+ let Cstr;
1669
1958
  // initializeComponent
1670
1959
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1671
- {
1672
- // we haven't initialized this element yet
1673
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1960
+ // Let the runtime know that the component has been initialized
1961
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1962
+ const bundleId = cmpMeta.$lazyBundleId$;
1963
+ if (bundleId) {
1674
1964
  // lazy loaded components
1675
1965
  // request the component's implementation to be
1676
1966
  // wired up with the host element
@@ -1717,6 +2007,14 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1717
2007
  endNewInstance();
1718
2008
  fireConnectedCallback(hostRef.$lazyInstance$);
1719
2009
  }
2010
+ else {
2011
+ // sync constructor component
2012
+ Cstr = elm.constructor;
2013
+ // wait for the CustomElementRegistry to mark the component as ready before setting `isWatchReady`. Otherwise,
2014
+ // watchers may fire prematurely if `customElements.get()`/`customElements.whenDefined()` resolves _before_
2015
+ // Stencil has completed instantiating the component.
2016
+ customElements.whenDefined(cmpMeta.$tagName$).then(() => (hostRef.$flags$ |= 128 /* HOST_FLAGS.isWatchReady */));
2017
+ }
1720
2018
  if (Cstr.style) {
1721
2019
  // this component has styles but we haven't registered them yet
1722
2020
  let style = Cstr.style;
@@ -1762,7 +2060,7 @@ const connectedCallback = (elm) => {
1762
2060
  // if the slot polyfill is required we'll need to put some nodes
1763
2061
  // in here to act as original content anchors as we move nodes around
1764
2062
  // host element has been connected to the DOM
1765
- if ((// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
2063
+ if ((// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
1766
2064
  cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
1767
2065
  setContentReference(elm);
1768
2066
  }
@@ -1803,7 +2101,12 @@ const connectedCallback = (elm) => {
1803
2101
  // since they would have been removed when disconnected
1804
2102
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1805
2103
  // fire off connectedCallback() on component instance
1806
- fireConnectedCallback(hostRef.$lazyInstance$);
2104
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
2105
+ fireConnectedCallback(hostRef.$lazyInstance$);
2106
+ }
2107
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
2108
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
2109
+ }
1807
2110
  }
1808
2111
  endConnected();
1809
2112
  }
@@ -1819,18 +2122,25 @@ const setContentReference = (elm) => {
1819
2122
  contentRefElm['s-cn'] = true;
1820
2123
  elm.insertBefore(contentRefElm, elm.firstChild);
1821
2124
  };
1822
- const disconnectedCallback = (elm) => {
2125
+ const disconnectInstance = (instance) => {
2126
+ {
2127
+ safeCall(instance, 'disconnectedCallback');
2128
+ }
2129
+ };
2130
+ const disconnectedCallback = async (elm) => {
1823
2131
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1824
2132
  const hostRef = getHostRef(elm);
1825
- const instance = hostRef.$lazyInstance$ ;
1826
2133
  {
1827
2134
  if (hostRef.$rmListeners$) {
1828
2135
  hostRef.$rmListeners$.map((rmListener) => rmListener());
1829
2136
  hostRef.$rmListeners$ = undefined;
1830
2137
  }
1831
2138
  }
1832
- {
1833
- safeCall(instance, 'disconnectedCallback');
2139
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
2140
+ disconnectInstance(hostRef.$lazyInstance$);
2141
+ }
2142
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
2143
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
1834
2144
  }
1835
2145
  }
1836
2146
  };
@@ -1842,20 +2152,27 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1842
2152
  const customElements = win.customElements;
1843
2153
  const head = doc.head;
1844
2154
  const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
1845
- const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
2155
+ const dataStyles = /*@__PURE__*/ doc.createElement('style');
1846
2156
  const deferredConnectedCallbacks = [];
1847
2157
  let appLoadFallback;
1848
2158
  let isBootstrapping = true;
1849
2159
  Object.assign(plt, options);
1850
2160
  plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
2161
+ let hasSlotRelocation = false;
1851
2162
  lazyBundles.map((lazyBundle) => {
1852
2163
  lazyBundle[1].map((compactMeta) => {
2164
+ var _a;
1853
2165
  const cmpMeta = {
1854
2166
  $flags$: compactMeta[0],
1855
2167
  $tagName$: compactMeta[1],
1856
2168
  $members$: compactMeta[2],
1857
2169
  $listeners$: compactMeta[3],
1858
2170
  };
2171
+ // Check if we are using slots outside the shadow DOM in this component.
2172
+ // We'll use this information later to add styles for `slot-fb` elements
2173
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
2174
+ hasSlotRelocation = true;
2175
+ }
1859
2176
  {
1860
2177
  cmpMeta.$members$ = compactMeta[2];
1861
2178
  }
@@ -1866,7 +2183,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1866
2183
  cmpMeta.$attrsToReflect$ = [];
1867
2184
  }
1868
2185
  {
1869
- cmpMeta.$watchers$ = {};
2186
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
1870
2187
  }
1871
2188
  const tagName = cmpMeta.$tagName$;
1872
2189
  const HostElement = class extends HTMLElement {
@@ -1915,15 +2232,29 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1915
2232
  }
1916
2233
  });
1917
2234
  });
1918
- {
1919
- visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
1920
- visibilityStyle.setAttribute('data-styles', '');
1921
- // Apply CSP nonce to the style tag if it exists
1922
- const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
1923
- if (nonce != null) {
1924
- visibilityStyle.setAttribute('nonce', nonce);
2235
+ // Only bother generating CSS if we have components
2236
+ // TODO(STENCIL-1118): Add test cases for CSS content based on conditionals
2237
+ if (cmpTags.length > 0) {
2238
+ // Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
2239
+ if (hasSlotRelocation) {
2240
+ dataStyles.textContent += SLOT_FB_CSS;
2241
+ }
2242
+ // Add hydration styles
2243
+ {
2244
+ dataStyles.textContent += cmpTags + HYDRATED_CSS;
2245
+ }
2246
+ // If we have styles, add them to the DOM
2247
+ if (dataStyles.innerHTML.length) {
2248
+ dataStyles.setAttribute('data-styles', '');
2249
+ // Apply CSP nonce to the style tag if it exists
2250
+ const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
2251
+ if (nonce != null) {
2252
+ dataStyles.setAttribute('nonce', nonce);
2253
+ }
2254
+ // Insert the styles into the document head
2255
+ // NOTE: this _needs_ to happen last so we can ensure the nonce (and other attributes) are applied
2256
+ head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
1925
2257
  }
1926
- head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
1927
2258
  }
1928
2259
  // Process deferred connectedCallbacks now all components have been registered
1929
2260
  isBootstrapping = false;
@@ -1971,7 +2302,12 @@ const getHostListenerTarget = (elm, flags) => {
1971
2302
  return elm;
1972
2303
  };
1973
2304
  // prettier-ignore
1974
- const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
2305
+ const hostListenerOpts = (flags) => supportsListenerOptions
2306
+ ? ({
2307
+ passive: (flags & 1 /* LISTENER_FLAGS.Passive */) !== 0,
2308
+ capture: (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0,
2309
+ })
2310
+ : (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
1975
2311
  /**
1976
2312
  * Assigns the given value to the nonce property on the runtime platform object.
1977
2313
  * During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
@@ -1979,13 +2315,51 @@ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !==
1979
2315
  * @returns void
1980
2316
  */
1981
2317
  const setNonce = (nonce) => (plt.$nonce$ = nonce);
1982
- const hostRefs = /*@__PURE__*/ new WeakMap();
2318
+ /**
2319
+ * A WeakMap mapping runtime component references to their corresponding host reference
2320
+ * instances.
2321
+ *
2322
+ * **Note**: If we're in an HMR context we need to store a reference to this
2323
+ * value on `window` in order to maintain the mapping of {@link d.RuntimeRef}
2324
+ * to {@link d.HostRef} across HMR updates.
2325
+ *
2326
+ * This is necessary because when HMR updates for a component are processed by
2327
+ * the browser-side dev server client the JS bundle for that component is
2328
+ * re-fetched. Since the module containing {@link hostRefs} is included in
2329
+ * that bundle, if we do not store a reference to it the new iteration of the
2330
+ * component will not have access to the previous hostRef map, leading to a
2331
+ * bug where the new version of the component cannot properly initialize.
2332
+ */
2333
+ const hostRefs = new WeakMap();
2334
+ /**
2335
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
2336
+ *
2337
+ * @param ref the runtime ref of interest
2338
+ * @returns the Host reference (if found) or undefined
2339
+ */
1983
2340
  const getHostRef = (ref) => hostRefs.get(ref);
2341
+ /**
2342
+ * Register a lazy instance with the {@link hostRefs} object so it's
2343
+ * corresponding {@link d.HostRef} can be retrieved later.
2344
+ *
2345
+ * @param lazyInstance the lazy instance of interest
2346
+ * @param hostRef that instances `HostRef` object
2347
+ * @returns a reference to the host ref WeakMap
2348
+ */
1984
2349
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
1985
- const registerHost = (elm, cmpMeta) => {
2350
+ /**
2351
+ * Register a host element for a Stencil component, setting up various metadata
2352
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
2353
+ * metadata.
2354
+ *
2355
+ * @param hostElement the host element to register
2356
+ * @param cmpMeta runtime metadata for that component
2357
+ * @returns a reference to the host ref WeakMap
2358
+ */
2359
+ const registerHost = (hostElement, cmpMeta) => {
1986
2360
  const hostRef = {
1987
2361
  $flags$: 0,
1988
- $hostElement$: elm,
2362
+ $hostElement$: hostElement,
1989
2363
  $cmpMeta$: cmpMeta,
1990
2364
  $instanceValues$: new Map(),
1991
2365
  };
@@ -1994,11 +2368,11 @@ const registerHost = (elm, cmpMeta) => {
1994
2368
  }
1995
2369
  {
1996
2370
  hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
1997
- elm['s-p'] = [];
1998
- elm['s-rc'] = [];
2371
+ hostElement['s-p'] = [];
2372
+ hostElement['s-rc'] = [];
1999
2373
  }
2000
- addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2001
- return hostRefs.set(elm, hostRef);
2374
+ addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
2375
+ return hostRefs.set(hostElement, hostRef);
2002
2376
  };
2003
2377
  const isMemberInElement = (elm, memberName) => memberName in elm;
2004
2378
  const consoleError = (e, el) => (0, console.error)(e, el);
@@ -2011,7 +2385,216 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2011
2385
  if (module) {
2012
2386
  return module[exportName];
2013
2387
  }
2014
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
2388
+
2389
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
2390
+ const processMod = importedModule => {
2391
+ cmpModules.set(bundleId, importedModule);
2392
+ return importedModule[exportName];
2393
+ }
2394
+ switch(bundleId) {
2395
+
2396
+ case 'six-alert':
2397
+ return import(
2398
+ /* webpackMode: "lazy" */
2399
+ './six-alert.entry.js').then(processMod, consoleError);
2400
+ case 'six-avatar':
2401
+ return import(
2402
+ /* webpackMode: "lazy" */
2403
+ './six-avatar.entry.js').then(processMod, consoleError);
2404
+ case 'six-badge':
2405
+ return import(
2406
+ /* webpackMode: "lazy" */
2407
+ './six-badge.entry.js').then(processMod, consoleError);
2408
+ case 'six-card':
2409
+ return import(
2410
+ /* webpackMode: "lazy" */
2411
+ './six-card.entry.js').then(processMod, consoleError);
2412
+ case 'six-datepicker':
2413
+ return import(
2414
+ /* webpackMode: "lazy" */
2415
+ './six-datepicker.entry.js').then(processMod, consoleError);
2416
+ case 'six-dialog':
2417
+ return import(
2418
+ /* webpackMode: "lazy" */
2419
+ './six-dialog.entry.js').then(processMod, consoleError);
2420
+ case 'six-drawer':
2421
+ return import(
2422
+ /* webpackMode: "lazy" */
2423
+ './six-drawer.entry.js').then(processMod, consoleError);
2424
+ case 'six-error-page':
2425
+ return import(
2426
+ /* webpackMode: "lazy" */
2427
+ './six-error-page.entry.js').then(processMod, consoleError);
2428
+ case 'six-file-list':
2429
+ return import(
2430
+ /* webpackMode: "lazy" */
2431
+ './six-file-list.entry.js').then(processMod, consoleError);
2432
+ case 'six-file-list-item':
2433
+ return import(
2434
+ /* webpackMode: "lazy" */
2435
+ './six-file-list-item.entry.js').then(processMod, consoleError);
2436
+ case 'six-file-upload':
2437
+ return import(
2438
+ /* webpackMode: "lazy" */
2439
+ './six-file-upload.entry.js').then(processMod, consoleError);
2440
+ case 'six-footer':
2441
+ return import(
2442
+ /* webpackMode: "lazy" */
2443
+ './six-footer.entry.js').then(processMod, consoleError);
2444
+ case 'six-group-label':
2445
+ return import(
2446
+ /* webpackMode: "lazy" */
2447
+ './six-group-label.entry.js').then(processMod, consoleError);
2448
+ case 'six-header':
2449
+ return import(
2450
+ /* webpackMode: "lazy" */
2451
+ './six-header.entry.js').then(processMod, consoleError);
2452
+ case 'six-language-switcher':
2453
+ return import(
2454
+ /* webpackMode: "lazy" */
2455
+ './six-language-switcher.entry.js').then(processMod, consoleError);
2456
+ case 'six-layout-grid':
2457
+ return import(
2458
+ /* webpackMode: "lazy" */
2459
+ './six-layout-grid.entry.js').then(processMod, consoleError);
2460
+ case 'six-main-container':
2461
+ return import(
2462
+ /* webpackMode: "lazy" */
2463
+ './six-main-container.entry.js').then(processMod, consoleError);
2464
+ case 'six-menu-divider':
2465
+ return import(
2466
+ /* webpackMode: "lazy" */
2467
+ './six-menu-divider.entry.js').then(processMod, consoleError);
2468
+ case 'six-menu-label':
2469
+ return import(
2470
+ /* webpackMode: "lazy" */
2471
+ './six-menu-label.entry.js').then(processMod, consoleError);
2472
+ case 'six-progress-bar':
2473
+ return import(
2474
+ /* webpackMode: "lazy" */
2475
+ './six-progress-bar.entry.js').then(processMod, consoleError);
2476
+ case 'six-progress-ring':
2477
+ return import(
2478
+ /* webpackMode: "lazy" */
2479
+ './six-progress-ring.entry.js').then(processMod, consoleError);
2480
+ case 'six-radio':
2481
+ return import(
2482
+ /* webpackMode: "lazy" */
2483
+ './six-radio.entry.js').then(processMod, consoleError);
2484
+ case 'six-range':
2485
+ return import(
2486
+ /* webpackMode: "lazy" */
2487
+ './six-range.entry.js').then(processMod, consoleError);
2488
+ case 'six-root':
2489
+ return import(
2490
+ /* webpackMode: "lazy" */
2491
+ './six-root.entry.js').then(processMod, consoleError);
2492
+ case 'six-search-field':
2493
+ return import(
2494
+ /* webpackMode: "lazy" */
2495
+ './six-search-field.entry.js').then(processMod, consoleError);
2496
+ case 'six-select':
2497
+ return import(
2498
+ /* webpackMode: "lazy" */
2499
+ './six-select.entry.js').then(processMod, consoleError);
2500
+ case 'six-sidebar':
2501
+ return import(
2502
+ /* webpackMode: "lazy" */
2503
+ './six-sidebar.entry.js').then(processMod, consoleError);
2504
+ case 'six-sidebar-item':
2505
+ return import(
2506
+ /* webpackMode: "lazy" */
2507
+ './six-sidebar-item.entry.js').then(processMod, consoleError);
2508
+ case 'six-sidebar-item-group':
2509
+ return import(
2510
+ /* webpackMode: "lazy" */
2511
+ './six-sidebar-item-group.entry.js').then(processMod, consoleError);
2512
+ case 'six-switch':
2513
+ return import(
2514
+ /* webpackMode: "lazy" */
2515
+ './six-switch.entry.js').then(processMod, consoleError);
2516
+ case 'six-tab':
2517
+ return import(
2518
+ /* webpackMode: "lazy" */
2519
+ './six-tab.entry.js').then(processMod, consoleError);
2520
+ case 'six-tab-group':
2521
+ return import(
2522
+ /* webpackMode: "lazy" */
2523
+ './six-tab-group.entry.js').then(processMod, consoleError);
2524
+ case 'six-tab-panel':
2525
+ return import(
2526
+ /* webpackMode: "lazy" */
2527
+ './six-tab-panel.entry.js').then(processMod, consoleError);
2528
+ case 'six-tag':
2529
+ return import(
2530
+ /* webpackMode: "lazy" */
2531
+ './six-tag.entry.js').then(processMod, consoleError);
2532
+ case 'six-textarea':
2533
+ return import(
2534
+ /* webpackMode: "lazy" */
2535
+ './six-textarea.entry.js').then(processMod, consoleError);
2536
+ case 'six-tile':
2537
+ return import(
2538
+ /* webpackMode: "lazy" */
2539
+ './six-tile.entry.js').then(processMod, consoleError);
2540
+ case 'six-button':
2541
+ return import(
2542
+ /* webpackMode: "lazy" */
2543
+ './six-button.entry.js').then(processMod, consoleError);
2544
+ case 'six-details':
2545
+ return import(
2546
+ /* webpackMode: "lazy" */
2547
+ './six-details.entry.js').then(processMod, consoleError);
2548
+ case 'six-picto':
2549
+ return import(
2550
+ /* webpackMode: "lazy" */
2551
+ './six-picto.entry.js').then(processMod, consoleError);
2552
+ case 'six-stage-indicator':
2553
+ return import(
2554
+ /* webpackMode: "lazy" */
2555
+ './six-stage-indicator.entry.js').then(processMod, consoleError);
2556
+ case 'six-timepicker':
2557
+ return import(
2558
+ /* webpackMode: "lazy" */
2559
+ './six-timepicker.entry.js').then(processMod, consoleError);
2560
+ case 'six-dropdown_2':
2561
+ return import(
2562
+ /* webpackMode: "lazy" */
2563
+ './six-dropdown_2.entry.js').then(processMod, consoleError);
2564
+ case 'six-item-picker':
2565
+ return import(
2566
+ /* webpackMode: "lazy" */
2567
+ './six-item-picker.entry.js').then(processMod, consoleError);
2568
+ case 'six-tooltip':
2569
+ return import(
2570
+ /* webpackMode: "lazy" */
2571
+ './six-tooltip.entry.js').then(processMod, consoleError);
2572
+ case 'six-spinner':
2573
+ return import(
2574
+ /* webpackMode: "lazy" */
2575
+ './six-spinner.entry.js').then(processMod, consoleError);
2576
+ case 'six-checkbox_2':
2577
+ return import(
2578
+ /* webpackMode: "lazy" */
2579
+ './six-checkbox_2.entry.js').then(processMod, consoleError);
2580
+ case 'six-input':
2581
+ return import(
2582
+ /* webpackMode: "lazy" */
2583
+ './six-input.entry.js').then(processMod, consoleError);
2584
+ case 'six-icon-button':
2585
+ return import(
2586
+ /* webpackMode: "lazy" */
2587
+ './six-icon-button.entry.js').then(processMod, consoleError);
2588
+ case 'six-error':
2589
+ return import(
2590
+ /* webpackMode: "lazy" */
2591
+ './six-error.entry.js').then(processMod, consoleError);
2592
+ case 'six-icon':
2593
+ return import(
2594
+ /* webpackMode: "lazy" */
2595
+ './six-icon.entry.js').then(processMod, consoleError);
2596
+ }
2597
+ }
2015
2598
  return import(
2016
2599
  /* @vite-ignore */
2017
2600
  /* webpackInclude: /\.entry\.js$/ */
@@ -2036,6 +2619,18 @@ const plt = {
2036
2619
  rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
2037
2620
  ce: (eventName, opts) => new CustomEvent(eventName, opts),
2038
2621
  };
2622
+ const supportsListenerOptions = /*@__PURE__*/ (() => {
2623
+ let supportsListenerOptions = false;
2624
+ try {
2625
+ doc.addEventListener('e', null, Object.defineProperty({}, 'passive', {
2626
+ get() {
2627
+ supportsListenerOptions = true;
2628
+ },
2629
+ }));
2630
+ }
2631
+ catch (e) { }
2632
+ return supportsListenerOptions;
2633
+ })();
2039
2634
  const promiseResolve = (v) => Promise.resolve(v);
2040
2635
  const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
2041
2636
  try {
@@ -2086,9 +2681,9 @@ const flush = () => {
2086
2681
  }
2087
2682
  }
2088
2683
  };
2089
- const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
2684
+ const nextTick = (cb) => promiseResolve().then(cb);
2090
2685
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
2091
2686
 
2092
2687
  export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
2093
2688
 
2094
- //# sourceMappingURL=index-5c0f6628.js.map
2689
+ //# sourceMappingURL=index-5390c1d6.js.map