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

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 (1145) hide show
  1. package/README.md +9 -0
  2. package/dist/cjs/error-messages-6e8049a4.js +119 -0
  3. package/dist/cjs/error-messages-6e8049a4.js.map +1 -0
  4. package/dist/cjs/event-listeners-9fb878f1.js +61 -0
  5. package/dist/cjs/event-listeners-9fb878f1.js.map +1 -0
  6. package/dist/cjs/{execution-control-45c84c46.js → execution-control-d728da70.js} +15 -15
  7. package/dist/cjs/execution-control-d728da70.js.map +1 -0
  8. package/dist/cjs/focus-visible-e2c9255a.js +47 -0
  9. package/dist/cjs/focus-visible-e2c9255a.js.map +1 -0
  10. package/dist/cjs/form-9ebaae7c.js +20 -0
  11. package/dist/cjs/form-9ebaae7c.js.map +1 -0
  12. package/dist/cjs/form-control-72186fcc.js +36 -0
  13. package/dist/cjs/form-control-72186fcc.js.map +1 -0
  14. package/dist/cjs/{index-ccf35821.js → index-5dd19c4b.js} +766 -206
  15. package/dist/cjs/index-5dd19c4b.js.map +1 -0
  16. package/dist/cjs/index.cjs.js +62 -0
  17. package/dist/cjs/index.cjs.js.map +1 -1
  18. package/dist/cjs/loader.cjs.js +3 -12
  19. package/dist/cjs/loader.cjs.js.map +1 -1
  20. package/dist/cjs/modal-3ce015be.js +52 -0
  21. package/dist/cjs/modal-3ce015be.js.map +1 -0
  22. package/dist/cjs/{popover-b5e2d5ef.js → popover-1e7c09f1.js} +105 -111
  23. package/dist/cjs/popover-1e7c09f1.js.map +1 -0
  24. package/dist/cjs/popup-e854acda.js +103 -0
  25. package/dist/cjs/popup-e854acda.js.map +1 -0
  26. package/dist/cjs/scroll-68033901.js +68 -0
  27. package/dist/{esm/scroll-180b53fd.js.map → cjs/scroll-68033901.js.map} +1 -1
  28. package/dist/cjs/set-attributes_2.cjs.entry.js +51 -51
  29. package/dist/cjs/set-attributes_2.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-alert.cjs.entry.js +133 -110
  31. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-avatar.cjs.entry.js +21 -21
  33. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-badge.cjs.entry.js +23 -23
  35. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-button.cjs.entry.js +95 -89
  37. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-card.cjs.entry.js +8 -8
  39. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  40. package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
  41. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  42. package/dist/cjs/six-datepicker.cjs.entry.js +837 -870
  43. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-details.cjs.entry.js +127 -127
  45. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-dialog.cjs.entry.js +129 -129
  47. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-drawer.cjs.entry.js +147 -147
  49. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-dropdown_2.cjs.entry.js +707 -637
  51. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-error-page.cjs.entry.js +82 -82
  53. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  54. package/dist/cjs/six-error.cjs.entry.js +21 -0
  55. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  56. package/dist/cjs/six-file-list-item.cjs.entry.js +34 -34
  57. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-file-list.cjs.entry.js +7 -7
  59. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-file-upload.cjs.entry.js +99 -99
  61. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-footer.cjs.entry.js +8 -8
  63. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-group-label.cjs.entry.js +43 -43
  65. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-header.cjs.entry.js +171 -156
  67. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-icon-button.cjs.entry.js +32 -32
  69. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-icon.cjs.entry.js +22 -22
  71. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-input.cjs.entry.js +187 -241
  73. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-item-picker.cjs.entry.js +405 -309
  75. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-language-switcher.cjs.entry.js +46 -46
  77. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-layout-grid.cjs.entry.js +20 -20
  79. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-main-container.cjs.entry.js +9 -9
  81. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-divider.cjs.entry.js +8 -8
  83. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-menu-label.cjs.entry.js +8 -8
  85. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-picto.cjs.entry.js +14 -14
  87. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-bar.cjs.entry.js +15 -15
  89. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-progress-ring.cjs.entry.js +30 -30
  91. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-radio.cjs.entry.js +103 -117
  93. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-range.cjs.entry.js +178 -213
  95. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-root.cjs.entry.js +30 -30
  97. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-search-field.cjs.entry.js +44 -44
  99. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-select.cjs.entry.js +496 -401
  101. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +56 -45
  103. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar-item.cjs.entry.js +17 -15
  105. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-sidebar.cjs.entry.js +174 -174
  107. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-spinner.cjs.entry.js +15 -15
  109. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  110. package/dist/cjs/six-switch.cjs.entry.js +106 -100
  111. package/dist/cjs/six-switch.cjs.entry.js.map +1 -1
  112. package/dist/cjs/six-tab-group.cjs.entry.js +230 -235
  113. package/dist/cjs/six-tab-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/six-tab-panel.cjs.entry.js +14 -14
  115. package/dist/cjs/six-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/six-tab.cjs.entry.js +55 -39
  117. package/dist/cjs/six-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/six-tag.cjs.entry.js +55 -33
  119. package/dist/cjs/six-tag.cjs.entry.js.map +1 -1
  120. package/dist/cjs/six-textarea.cjs.entry.js +182 -228
  121. package/dist/cjs/six-textarea.cjs.entry.js.map +1 -1
  122. package/dist/cjs/six-tile.cjs.entry.js +77 -77
  123. package/dist/cjs/six-tile.cjs.entry.js.map +1 -1
  124. package/dist/cjs/six-timepicker.cjs.entry.js +348 -363
  125. package/dist/cjs/six-timepicker.cjs.entry.js.map +1 -1
  126. package/dist/cjs/six-tooltip.cjs.entry.js +148 -148
  127. package/dist/cjs/six-tooltip.cjs.entry.js.map +1 -1
  128. package/dist/cjs/slot-1b1232a1.js +51 -0
  129. package/dist/cjs/slot-1b1232a1.js.map +1 -0
  130. package/dist/cjs/types-d3da200b.js +19 -0
  131. package/dist/cjs/types-d3da200b.js.map +1 -0
  132. package/dist/cjs/ui-library.cjs.js +3 -6
  133. package/dist/cjs/ui-library.cjs.js.map +1 -1
  134. package/dist/collection/collection-manifest.json +55 -55
  135. package/dist/collection/components/six-alert/six-alert.css +5 -1
  136. package/dist/collection/components/six-alert/six-alert.js +374 -331
  137. package/dist/collection/components/six-alert/six-alert.js.map +1 -1
  138. package/dist/collection/components/six-alert/test/six-alert.spec.js +25 -0
  139. package/dist/collection/components/six-alert/test/six-alert.spec.js.map +1 -0
  140. package/dist/collection/components/six-avatar/six-avatar.css +2 -2
  141. package/dist/collection/components/six-avatar/six-avatar.js +112 -112
  142. package/dist/collection/components/six-avatar/six-avatar.js.map +1 -1
  143. package/dist/collection/components/six-avatar/test/six-avatar.spec.js +26 -0
  144. package/dist/collection/components/six-avatar/test/six-avatar.spec.js.map +1 -0
  145. package/dist/collection/components/six-badge/six-badge.css +1 -1
  146. package/dist/collection/components/six-badge/six-badge.js +91 -91
  147. package/dist/collection/components/six-badge/six-badge.js.map +1 -1
  148. package/dist/collection/components/six-badge/test/six-badge.spec.js +20 -0
  149. package/dist/collection/components/six-badge/test/six-badge.spec.js.map +1 -0
  150. package/dist/collection/components/six-button/six-button.css +7 -31
  151. package/dist/collection/components/six-button/six-button.js +450 -438
  152. package/dist/collection/components/six-button/six-button.js.map +1 -1
  153. package/dist/collection/components/six-button/test/six-button.spec.js +69 -0
  154. package/dist/collection/components/six-button/test/six-button.spec.js.map +1 -0
  155. package/dist/collection/components/six-card/six-card.css +4 -5
  156. package/dist/collection/components/six-card/six-card.js +16 -16
  157. package/dist/collection/components/six-card/six-card.js.map +1 -1
  158. package/dist/collection/components/six-card/test/six-card.spec.js +18 -0
  159. package/dist/collection/components/six-card/test/six-card.spec.js.map +1 -0
  160. package/dist/collection/components/six-checkbox/six-checkbox.css +10 -2
  161. package/dist/collection/components/six-checkbox/six-checkbox.js +422 -527
  162. package/dist/collection/components/six-checkbox/six-checkbox.js.map +1 -1
  163. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js +83 -0
  164. package/dist/collection/components/six-checkbox/test/six-checkbox.spec.js.map +1 -0
  165. package/dist/collection/components/six-datepicker/components/day-selection.js +9 -9
  166. package/dist/collection/components/six-datepicker/components/day-selection.js.map +1 -1
  167. package/dist/collection/components/six-datepicker/components/month-selection.js +10 -10
  168. package/dist/collection/components/six-datepicker/components/month-selection.js.map +1 -1
  169. package/dist/collection/components/six-datepicker/components/year-selection.js +10 -10
  170. package/dist/collection/components/six-datepicker/components/year-selection.js.map +1 -1
  171. package/dist/collection/components/six-datepicker/six-date-formats.js +21 -20
  172. package/dist/collection/components/six-datepicker/six-date-formats.js.map +1 -1
  173. package/dist/collection/components/six-datepicker/six-datepicker.css +1 -1
  174. package/dist/collection/components/six-datepicker/six-datepicker.js +1058 -1107
  175. package/dist/collection/components/six-datepicker/six-datepicker.js.map +1 -1
  176. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js +26 -0
  177. package/dist/collection/components/six-datepicker/test/six-datepicker.spec.js.map +1 -0
  178. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js +14 -14
  179. package/dist/collection/components/six-datepicker/test/six-datepicker.test-helpers.js.map +1 -1
  180. package/dist/collection/components/six-details/six-details.css +4 -6
  181. package/dist/collection/components/six-details/six-details.js +412 -406
  182. package/dist/collection/components/six-details/six-details.js.map +1 -1
  183. package/dist/collection/components/six-details/test/six-details.spec.js +36 -0
  184. package/dist/collection/components/six-details/test/six-details.spec.js.map +1 -0
  185. package/dist/collection/components/six-dialog/six-dialog.css +2 -2
  186. package/dist/collection/components/six-dialog/six-dialog.js +359 -351
  187. package/dist/collection/components/six-dialog/six-dialog.js.map +1 -1
  188. package/dist/collection/components/six-dialog/test/six-dialog.spec.js +34 -0
  189. package/dist/collection/components/six-dialog/test/six-dialog.spec.js.map +1 -0
  190. package/dist/collection/components/six-drawer/six-drawer.css +2 -2
  191. package/dist/collection/components/six-drawer/six-drawer.js +414 -406
  192. package/dist/collection/components/six-drawer/six-drawer.js.map +1 -1
  193. package/dist/collection/components/six-drawer/test/six-drawer.spec.js +34 -0
  194. package/dist/collection/components/six-drawer/test/six-drawer.spec.js.map +1 -0
  195. package/dist/collection/components/six-dropdown/six-dropdown.css +22 -6
  196. package/dist/collection/components/six-dropdown/six-dropdown.js +986 -884
  197. package/dist/collection/components/six-dropdown/six-dropdown.js.map +1 -1
  198. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js +147 -0
  199. package/dist/collection/components/six-dropdown/test/six-dropdown.spec.js.map +1 -0
  200. package/dist/collection/components/six-error/six-error.css +5 -0
  201. package/dist/collection/components/six-error/six-error.js +25 -0
  202. package/dist/collection/components/six-error/six-error.js.map +1 -0
  203. package/dist/collection/components/six-error-page/six-error-page.js +178 -178
  204. package/dist/collection/components/six-error-page/six-error-page.js.map +1 -1
  205. package/dist/collection/components/six-error-page/test/six-error-page.spec.js +240 -0
  206. package/dist/collection/components/six-error-page/test/six-error-page.spec.js.map +1 -0
  207. package/dist/collection/components/six-file-list/six-file-list.js +16 -16
  208. package/dist/collection/components/six-file-list/six-file-list.js.map +1 -1
  209. package/dist/collection/components/six-file-list/test/six-file-list.spec.js +67 -0
  210. package/dist/collection/components/six-file-list/test/six-file-list.spec.js.map +1 -0
  211. package/dist/collection/components/six-file-list-item/six-file-list-item.css +1 -1
  212. package/dist/collection/components/six-file-list-item/six-file-list-item.js +196 -194
  213. package/dist/collection/components/six-file-list-item/six-file-list-item.js.map +1 -1
  214. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js +169 -0
  215. package/dist/collection/components/six-file-list-item/test/six-file-list-item.spec.js.map +1 -0
  216. package/dist/collection/components/six-file-upload/six-file-upload.css +1 -4
  217. package/dist/collection/components/six-file-upload/six-file-upload.js +292 -290
  218. package/dist/collection/components/six-file-upload/six-file-upload.js.map +1 -1
  219. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js +103 -0
  220. package/dist/collection/components/six-file-upload/test/six-file-upload.spec.js.map +1 -0
  221. package/dist/collection/components/six-footer/six-footer.css +2 -2
  222. package/dist/collection/components/six-footer/six-footer.js +16 -16
  223. package/dist/collection/components/six-footer/six-footer.js.map +1 -1
  224. package/dist/collection/components/six-footer/test/six-footer.spec.js +21 -0
  225. package/dist/collection/components/six-footer/test/six-footer.spec.js.map +1 -0
  226. package/dist/collection/components/six-group-label/six-group-label.css +5 -2
  227. package/dist/collection/components/six-group-label/six-group-label.js +158 -158
  228. package/dist/collection/components/six-group-label/six-group-label.js.map +1 -1
  229. package/dist/collection/components/six-group-label/test/six-group-label.spec.js +45 -0
  230. package/dist/collection/components/six-group-label/test/six-group-label.spec.js.map +1 -0
  231. package/dist/collection/components/six-header/six-header.css +6 -2
  232. package/dist/collection/components/six-header/six-header.js +442 -400
  233. package/dist/collection/components/six-header/six-header.js.map +1 -1
  234. package/dist/collection/components/six-header/test/six-header.spec.js +177 -0
  235. package/dist/collection/components/six-header/test/six-header.spec.js.map +1 -0
  236. package/dist/collection/components/six-icon/six-icon.css +5 -2
  237. package/dist/collection/components/six-icon/six-icon.js +72 -72
  238. package/dist/collection/components/six-icon/six-icon.js.map +1 -1
  239. package/dist/collection/components/six-icon/test/six-icon.spec.js +20 -0
  240. package/dist/collection/components/six-icon/test/six-icon.spec.js.map +1 -0
  241. package/dist/collection/components/six-icon-button/six-icon-button.css +5 -5
  242. package/dist/collection/components/six-icon-button/six-icon-button.js +133 -133
  243. package/dist/collection/components/six-icon-button/six-icon-button.js.map +1 -1
  244. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js +23 -0
  245. package/dist/collection/components/six-icon-button/test/six-icon-button.spec.js.map +1 -0
  246. package/dist/collection/components/six-input/six-input.css +15 -3
  247. package/dist/collection/components/six-input/six-input.js +971 -1106
  248. package/dist/collection/components/six-input/six-input.js.map +1 -1
  249. package/dist/collection/components/six-input/test/six-input.spec.js +39 -0
  250. package/dist/collection/components/six-input/test/six-input.spec.js.map +1 -0
  251. package/dist/collection/components/six-item-picker/six-item-picker.css +8 -0
  252. package/dist/collection/components/six-item-picker/six-item-picker.js +731 -631
  253. package/dist/collection/components/six-item-picker/six-item-picker.js.map +1 -1
  254. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js +90 -0
  255. package/dist/collection/components/six-item-picker/test/six-item-picker.spec.js.map +1 -0
  256. package/dist/collection/components/six-item-picker/types.js +9 -7
  257. package/dist/collection/components/six-item-picker/types.js.map +1 -1
  258. package/dist/collection/components/six-language-switcher/six-language-switcher.js +125 -123
  259. package/dist/collection/components/six-language-switcher/six-language-switcher.js.map +1 -1
  260. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js +196 -0
  261. package/dist/collection/components/six-language-switcher/test/six-language-switcher.spec.js.map +1 -0
  262. package/dist/collection/components/six-layout-grid/six-layout-grid.js +55 -55
  263. package/dist/collection/components/six-layout-grid/six-layout-grid.js.map +1 -1
  264. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js +18 -0
  265. package/dist/collection/components/six-layout-grid/test/six-layout-grid.spec.js.map +1 -0
  266. package/dist/collection/components/six-main-container/six-main-container.js +42 -42
  267. package/dist/collection/components/six-main-container/six-main-container.js.map +1 -1
  268. package/dist/collection/components/six-main-container/test/six-main-container.spec.js +22 -0
  269. package/dist/collection/components/six-main-container/test/six-main-container.spec.js.map +1 -0
  270. package/dist/collection/components/six-menu/six-menu.css +8 -7
  271. package/dist/collection/components/six-menu/six-menu.js +392 -366
  272. package/dist/collection/components/six-menu/six-menu.js.map +1 -1
  273. package/dist/collection/components/six-menu/test/six-menu.spec.js +93 -0
  274. package/dist/collection/components/six-menu/test/six-menu.spec.js.map +1 -0
  275. package/dist/collection/components/six-menu-divider/six-menu-divider.css +3 -2
  276. package/dist/collection/components/six-menu-divider/six-menu-divider.js +16 -16
  277. package/dist/collection/components/six-menu-divider/six-menu-divider.js.map +1 -1
  278. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js +18 -0
  279. package/dist/collection/components/six-menu-divider/test/six-menu-divider.spec.js.map +1 -0
  280. package/dist/collection/components/six-menu-item/six-menu-item.css +13 -2
  281. package/dist/collection/components/six-menu-item/six-menu-item.js +211 -178
  282. package/dist/collection/components/six-menu-item/six-menu-item.js.map +1 -1
  283. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js +33 -0
  284. package/dist/collection/components/six-menu-item/test/six-menu-item.spec.js.map +1 -0
  285. package/dist/collection/components/six-menu-label/six-menu-label.css +1 -1
  286. package/dist/collection/components/six-menu-label/six-menu-label.js +16 -16
  287. package/dist/collection/components/six-menu-label/six-menu-label.js.map +1 -1
  288. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js +20 -0
  289. package/dist/collection/components/six-menu-label/test/six-menu-label.spec.js.map +1 -0
  290. package/dist/collection/components/six-picto/six-picto.js +47 -47
  291. package/dist/collection/components/six-picto/six-picto.js.map +1 -1
  292. package/dist/collection/components/six-picto/test/six-picto.spec.js +33 -0
  293. package/dist/collection/components/six-picto/test/six-picto.spec.js.map +1 -0
  294. package/dist/collection/components/six-progress-bar/six-progress-bar.css +1 -1
  295. package/dist/collection/components/six-progress-bar/six-progress-bar.js +65 -65
  296. package/dist/collection/components/six-progress-bar/six-progress-bar.js.map +1 -1
  297. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js +24 -0
  298. package/dist/collection/components/six-progress-bar/test/six-progress-bar.spec.js.map +1 -0
  299. package/dist/collection/components/six-progress-ring/six-progress-ring.css +1 -1
  300. package/dist/collection/components/six-progress-ring/six-progress-ring.js +101 -101
  301. package/dist/collection/components/six-progress-ring/six-progress-ring.js.map +1 -1
  302. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js +26 -0
  303. package/dist/collection/components/six-progress-ring/test/six-progress-ring.spec.js.map +1 -0
  304. package/dist/collection/components/six-radio/six-radio.css +1 -1
  305. package/dist/collection/components/six-radio/six-radio.js +323 -395
  306. package/dist/collection/components/six-radio/six-radio.js.map +1 -1
  307. package/dist/collection/components/six-radio/test/six-radio.spec.js +63 -0
  308. package/dist/collection/components/six-radio/test/six-radio.spec.js.map +1 -0
  309. package/dist/collection/components/six-range/six-range.css +5 -2
  310. package/dist/collection/components/six-range/six-range.js +565 -629
  311. package/dist/collection/components/six-range/six-range.js.map +1 -1
  312. package/dist/collection/components/six-range/test/six-range.spec.js +34 -0
  313. package/dist/collection/components/six-range/test/six-range.spec.js.map +1 -0
  314. package/dist/collection/components/six-root/six-root.js +153 -151
  315. package/dist/collection/components/six-root/six-root.js.map +1 -1
  316. package/dist/collection/components/six-root/test/six-root.spec.js +43 -0
  317. package/dist/collection/components/six-root/test/six-root.spec.js.map +1 -0
  318. package/dist/collection/components/six-search-field/six-search-field.css +1 -1
  319. package/dist/collection/components/six-search-field/six-search-field.js +172 -171
  320. package/dist/collection/components/six-search-field/six-search-field.js.map +1 -1
  321. package/dist/collection/components/six-search-field/test/six-search-field.spec.js +22 -0
  322. package/dist/collection/components/six-search-field/test/six-search-field.spec.js.map +1 -0
  323. package/dist/collection/components/six-select/six-select.css +61 -73
  324. package/dist/collection/components/six-select/six-select.js +1108 -1027
  325. package/dist/collection/components/six-select/six-select.js.map +1 -1
  326. package/dist/collection/components/six-select/test/six-select.spec.js +102 -0
  327. package/dist/collection/components/six-select/test/six-select.spec.js.map +1 -0
  328. package/dist/collection/components/six-select/test/util.spec.js +81 -0
  329. package/dist/collection/components/six-select/test/util.spec.js.map +1 -0
  330. package/dist/collection/components/six-select/util.js +34 -34
  331. package/dist/collection/components/six-select/util.js.map +1 -1
  332. package/dist/collection/components/six-sidebar/six-sidebar.css +2 -2
  333. package/dist/collection/components/six-sidebar/six-sidebar.js +468 -454
  334. package/dist/collection/components/six-sidebar/six-sidebar.js.map +1 -1
  335. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js +22 -0
  336. package/dist/collection/components/six-sidebar/test/six-sidebar.spec.js.map +1 -0
  337. package/dist/collection/components/six-sidebar-item/six-sidebar-item.css +6 -1
  338. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js +102 -83
  339. package/dist/collection/components/six-sidebar-item/six-sidebar-item.js.map +1 -1
  340. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js +50 -0
  341. package/dist/collection/components/six-sidebar-item/test/six-sidebar-item.spec.js.map +1 -0
  342. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.css +12 -1
  343. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js +182 -154
  344. package/dist/collection/components/six-sidebar-item-group/six-sidebar-item-group.js.map +1 -1
  345. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js +53 -0
  346. package/dist/collection/components/six-sidebar-item-group/test/six-sidebar-item-group.spec.js.map +1 -0
  347. package/dist/collection/components/six-spinner/six-spinner.css +1 -1
  348. package/dist/collection/components/six-spinner/six-spinner.js +48 -47
  349. package/dist/collection/components/six-spinner/six-spinner.js.map +1 -1
  350. package/dist/collection/components/six-spinner/test/six-spinner.spec.js +37 -0
  351. package/dist/collection/components/six-spinner/test/six-spinner.spec.js.map +1 -0
  352. package/dist/collection/components/six-stage-indicator/six-stage-indicator.css +1 -1
  353. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js +46 -45
  354. package/dist/collection/components/six-stage-indicator/six-stage-indicator.js.map +1 -1
  355. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js +117 -0
  356. package/dist/collection/components/six-stage-indicator/test/six-stage-indicator.spec.js.map +1 -0
  357. package/dist/collection/components/six-switch/six-switch.css +81 -1
  358. package/dist/collection/components/six-switch/six-switch.js +388 -385
  359. package/dist/collection/components/six-switch/six-switch.js.map +1 -1
  360. package/dist/collection/components/six-switch/test/six-switch.spec.js +73 -0
  361. package/dist/collection/components/six-switch/test/six-switch.spec.js.map +1 -0
  362. package/dist/collection/components/six-tab/six-tab.css +55 -6
  363. package/dist/collection/components/six-tab/six-tab.js +207 -186
  364. package/dist/collection/components/six-tab/six-tab.js.map +1 -1
  365. package/dist/collection/components/six-tab-group/six-tab-group.css +1 -32
  366. package/dist/collection/components/six-tab-group/six-tab-group.js +320 -357
  367. package/dist/collection/components/six-tab-group/six-tab-group.js.map +1 -1
  368. package/dist/collection/components/six-tab-panel/six-tab-panel.css +1 -1
  369. package/dist/collection/components/six-tab-panel/six-tab-panel.js +64 -64
  370. package/dist/collection/components/six-tab-panel/six-tab-panel.js.map +1 -1
  371. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js +20 -0
  372. package/dist/collection/components/six-tab-panel/test/six-tab-panel.spec.js.map +1 -0
  373. package/dist/collection/components/six-tag/six-tag.css +7 -1
  374. package/dist/collection/components/six-tag/six-tag.js +162 -139
  375. package/dist/collection/components/six-tag/six-tag.js.map +1 -1
  376. package/dist/collection/components/six-tag/test/six-tag.spec.js +54 -0
  377. package/dist/collection/components/six-tag/test/six-tag.spec.js.map +1 -0
  378. package/dist/collection/components/six-textarea/six-textarea.css +5 -2
  379. package/dist/collection/components/six-textarea/six-textarea.js +793 -889
  380. package/dist/collection/components/six-textarea/six-textarea.js.map +1 -1
  381. package/dist/collection/components/six-textarea/test/six-textarea.spec.js +119 -0
  382. package/dist/collection/components/six-textarea/test/six-textarea.spec.js.map +1 -0
  383. package/dist/collection/components/six-tile/six-tile.css +2 -2
  384. package/dist/collection/components/six-tile/six-tile.js +300 -296
  385. package/dist/collection/components/six-tile/six-tile.js.map +1 -1
  386. package/dist/collection/components/six-tile/test/six-tile.spec.js +69 -0
  387. package/dist/collection/components/six-tile/test/six-tile.spec.js.map +1 -0
  388. package/dist/collection/components/six-timepicker/six-timepicker.css +1 -1
  389. package/dist/collection/components/six-timepicker/six-timepicker.js +829 -863
  390. package/dist/collection/components/six-timepicker/six-timepicker.js.map +1 -1
  391. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js +496 -0
  392. package/dist/collection/components/six-timepicker/test/six-timepicker.spec.js.map +1 -0
  393. package/dist/collection/components/six-tooltip/six-tooltip.css +2 -2
  394. package/dist/collection/components/six-tooltip/six-tooltip.js +409 -403
  395. package/dist/collection/components/six-tooltip/six-tooltip.js.map +1 -1
  396. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js +28 -0
  397. package/dist/collection/components/six-tooltip/test/six-tooltip.spec.js.map +1 -0
  398. package/dist/collection/functional-components/form-control/form-control.js +20 -20
  399. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  400. package/dist/collection/index.js +2 -1
  401. package/dist/collection/index.js.map +1 -1
  402. package/dist/collection/testUtil/delay.js +1 -1
  403. package/dist/collection/testUtil/delay.js.map +1 -1
  404. package/dist/collection/utils/alert.js +54 -0
  405. package/dist/collection/utils/alert.js.map +1 -0
  406. package/dist/collection/utils/animation.js +34 -0
  407. package/dist/collection/utils/animation.js.map +1 -0
  408. package/dist/collection/utils/date-util.js +502 -501
  409. package/dist/collection/utils/date-util.js.map +1 -1
  410. package/dist/collection/utils/date-util.spec.js +995 -0
  411. package/dist/collection/utils/date-util.spec.js.map +1 -0
  412. package/dist/collection/utils/error-messages.js +112 -0
  413. package/dist/collection/utils/error-messages.js.map +1 -0
  414. package/dist/collection/utils/event-listeners.js +52 -36
  415. package/dist/collection/utils/event-listeners.js.map +1 -1
  416. package/dist/collection/utils/execution-control.js +14 -14
  417. package/dist/collection/utils/execution-control.js.map +1 -1
  418. package/dist/collection/utils/focus-visible.js +28 -28
  419. package/dist/collection/utils/focus-visible.js.map +1 -1
  420. package/dist/collection/utils/form.js +15 -0
  421. package/dist/collection/utils/form.js.map +1 -0
  422. package/dist/collection/utils/modal.js +25 -25
  423. package/dist/collection/utils/modal.js.map +1 -1
  424. package/dist/collection/utils/offset.js +4 -4
  425. package/dist/collection/utils/offset.js.map +1 -1
  426. package/dist/collection/utils/popover.js +100 -100
  427. package/dist/collection/utils/popover.js.map +1 -1
  428. package/dist/collection/utils/popup.js +71 -71
  429. package/dist/collection/utils/popup.js.map +1 -1
  430. package/dist/collection/utils/scroll.js +28 -28
  431. package/dist/collection/utils/scroll.js.map +1 -1
  432. package/dist/collection/utils/scroll.spec.js +122 -0
  433. package/dist/collection/utils/scroll.spec.js.map +1 -0
  434. package/dist/collection/utils/slot.js +28 -29
  435. package/dist/collection/utils/slot.js.map +1 -1
  436. package/dist/collection/utils/support.js +10 -10
  437. package/dist/collection/utils/support.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 +72 -72
  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/wrappers/set-attributes/set-attributes.js +66 -66
  445. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +1 -1
  446. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js +16 -0
  447. package/dist/collection/wrappers/set-attributes/test/set-attributes.spec.js.map +1 -0
  448. package/dist/components/event-listeners.js +52 -36
  449. package/dist/components/event-listeners.js.map +1 -1
  450. package/dist/components/execution-control.js +14 -14
  451. package/dist/components/execution-control.js.map +1 -1
  452. package/dist/components/focus-visible.js +28 -28
  453. package/dist/components/focus-visible.js.map +1 -1
  454. package/dist/components/form-control.js +26 -25
  455. package/dist/components/form-control.js.map +1 -1
  456. package/dist/components/form.js +18 -0
  457. package/dist/components/form.js.map +1 -0
  458. package/dist/components/index.d.ts +6 -0
  459. package/dist/components/index.js +119 -64
  460. package/dist/components/index.js.map +1 -1
  461. package/dist/components/modal.js +35 -35
  462. package/dist/components/modal.js.map +1 -1
  463. package/dist/components/popover.js +104 -110
  464. package/dist/components/popover.js.map +1 -1
  465. package/dist/components/scroll.js +32 -32
  466. package/dist/components/scroll.js.map +1 -1
  467. package/dist/components/set-attributes.d.ts +2 -2
  468. package/dist/components/set-attributes2.js +58 -56
  469. package/dist/components/set-attributes2.js.map +1 -1
  470. package/dist/components/six-alert.d.ts +2 -2
  471. package/dist/components/six-alert.js +168 -142
  472. package/dist/components/six-alert.js.map +1 -1
  473. package/dist/components/six-avatar.d.ts +2 -2
  474. package/dist/components/six-avatar.js +45 -45
  475. package/dist/components/six-avatar.js.map +1 -1
  476. package/dist/components/six-badge.d.ts +2 -2
  477. package/dist/components/six-badge.js +40 -40
  478. package/dist/components/six-badge.js.map +1 -1
  479. package/dist/components/six-button.d.ts +2 -2
  480. package/dist/components/six-button.js +1 -136
  481. package/dist/components/six-button.js.map +1 -1
  482. package/dist/components/six-button2.js +146 -0
  483. package/dist/components/six-button2.js.map +1 -0
  484. package/dist/components/six-card.d.ts +2 -2
  485. package/dist/components/six-card.js +21 -21
  486. package/dist/components/six-card.js.map +1 -1
  487. package/dist/components/six-checkbox.d.ts +2 -2
  488. package/dist/components/six-checkbox.js +1 -198
  489. package/dist/components/six-checkbox.js.map +1 -1
  490. package/dist/components/six-checkbox2.js +165 -0
  491. package/dist/components/six-checkbox2.js.map +1 -0
  492. package/dist/components/six-datepicker.d.ts +2 -2
  493. package/dist/components/six-datepicker.js +908 -934
  494. package/dist/components/six-datepicker.js.map +1 -1
  495. package/dist/components/six-details.d.ts +2 -2
  496. package/dist/components/six-details2.js +158 -156
  497. package/dist/components/six-details2.js.map +1 -1
  498. package/dist/components/six-dialog.d.ts +2 -2
  499. package/dist/components/six-dialog.js +159 -157
  500. package/dist/components/six-dialog.js.map +1 -1
  501. package/dist/components/six-drawer.d.ts +2 -2
  502. package/dist/components/six-drawer.js +179 -177
  503. package/dist/components/six-drawer.js.map +1 -1
  504. package/dist/components/six-dropdown.d.ts +2 -2
  505. package/dist/components/six-dropdown2.js +551 -464
  506. package/dist/components/six-dropdown2.js.map +1 -1
  507. package/dist/components/six-error-page.d.ts +2 -2
  508. package/dist/components/six-error-page.js +106 -106
  509. package/dist/components/six-error-page.js.map +1 -1
  510. package/dist/components/{six-form.d.ts → six-error.d.ts} +4 -4
  511. package/dist/components/six-error.js +8 -0
  512. package/dist/components/six-error.js.map +1 -0
  513. package/dist/components/six-error2.js +32 -0
  514. package/dist/components/six-error2.js.map +1 -0
  515. package/dist/components/six-file-list-item.d.ts +2 -2
  516. package/dist/components/six-file-list-item.js +59 -59
  517. package/dist/components/six-file-list-item.js.map +1 -1
  518. package/dist/components/six-file-list.d.ts +2 -2
  519. package/dist/components/six-file-list.js +20 -20
  520. package/dist/components/six-file-list.js.map +1 -1
  521. package/dist/components/six-file-upload.d.ts +2 -2
  522. package/dist/components/six-file-upload.js +124 -124
  523. package/dist/components/six-file-upload.js.map +1 -1
  524. package/dist/components/six-footer.d.ts +2 -2
  525. package/dist/components/six-footer.js +21 -21
  526. package/dist/components/six-footer.js.map +1 -1
  527. package/dist/components/six-group-label.d.ts +2 -2
  528. package/dist/components/six-group-label.js +71 -62
  529. package/dist/components/six-group-label.js.map +1 -1
  530. package/dist/components/six-header.d.ts +2 -2
  531. package/dist/components/six-header.js +237 -207
  532. package/dist/components/six-header.js.map +1 -1
  533. package/dist/components/six-icon-button.d.ts +2 -2
  534. package/dist/components/six-icon-button2.js +55 -55
  535. package/dist/components/six-icon-button2.js.map +1 -1
  536. package/dist/components/six-icon.d.ts +2 -2
  537. package/dist/components/six-icon2.js +38 -38
  538. package/dist/components/six-icon2.js.map +1 -1
  539. package/dist/components/six-input.d.ts +2 -2
  540. package/dist/components/six-input2.js +254 -303
  541. package/dist/components/six-input2.js.map +1 -1
  542. package/dist/components/six-item-picker.d.ts +2 -2
  543. package/dist/components/six-item-picker2.js +450 -348
  544. package/dist/components/six-item-picker2.js.map +1 -1
  545. package/dist/components/six-language-switcher.d.ts +2 -2
  546. package/dist/components/six-language-switcher.js +64 -62
  547. package/dist/components/six-language-switcher.js.map +1 -1
  548. package/dist/components/six-layout-grid.d.ts +2 -2
  549. package/dist/components/six-layout-grid.js +37 -35
  550. package/dist/components/six-layout-grid.js.map +1 -1
  551. package/dist/components/six-main-container.d.ts +2 -2
  552. package/dist/components/six-main-container.js +24 -24
  553. package/dist/components/six-main-container.js.map +1 -1
  554. package/dist/components/six-menu-divider.d.ts +2 -2
  555. package/dist/components/six-menu-divider.js +21 -21
  556. package/dist/components/six-menu-divider.js.map +1 -1
  557. package/dist/components/six-menu-item.d.ts +2 -2
  558. package/dist/components/six-menu-item2.js +98 -75
  559. package/dist/components/six-menu-item2.js.map +1 -1
  560. package/dist/components/six-menu-label.d.ts +2 -2
  561. package/dist/components/six-menu-label.js +21 -21
  562. package/dist/components/six-menu-label.js.map +1 -1
  563. package/dist/components/six-menu.d.ts +2 -2
  564. package/dist/components/six-menu2.js +236 -220
  565. package/dist/components/six-menu2.js.map +1 -1
  566. package/dist/components/six-picto.d.ts +2 -2
  567. package/dist/components/six-picto2.js +29 -29
  568. package/dist/components/six-picto2.js.map +1 -1
  569. package/dist/components/six-progress-bar.d.ts +2 -2
  570. package/dist/components/six-progress-bar.js +31 -31
  571. package/dist/components/six-progress-bar.js.map +1 -1
  572. package/dist/components/six-progress-ring.d.ts +2 -2
  573. package/dist/components/six-progress-ring.js +49 -47
  574. package/dist/components/six-progress-ring.js.map +1 -1
  575. package/dist/components/six-radio.d.ts +2 -2
  576. package/dist/components/six-radio.js +128 -143
  577. package/dist/components/six-radio.js.map +1 -1
  578. package/dist/components/six-range.d.ts +2 -2
  579. package/dist/components/six-range.js +223 -247
  580. package/dist/components/six-range.js.map +1 -1
  581. package/dist/components/six-root.d.ts +2 -2
  582. package/dist/components/six-root.js +66 -64
  583. package/dist/components/six-root.js.map +1 -1
  584. package/dist/components/six-search-field.d.ts +2 -2
  585. package/dist/components/six-search-field.js +79 -71
  586. package/dist/components/six-search-field.js.map +1 -1
  587. package/dist/components/six-select.d.ts +2 -2
  588. package/dist/components/six-select.js +713 -484
  589. package/dist/components/six-select.js.map +1 -1
  590. package/dist/components/six-sidebar-item-group.d.ts +2 -2
  591. package/dist/components/six-sidebar-item-group.js +87 -75
  592. package/dist/components/six-sidebar-item-group.js.map +1 -1
  593. package/dist/components/six-sidebar-item.d.ts +2 -2
  594. package/dist/components/six-sidebar-item.js +35 -32
  595. package/dist/components/six-sidebar-item.js.map +1 -1
  596. package/dist/components/six-sidebar.d.ts +2 -2
  597. package/dist/components/six-sidebar.js +199 -197
  598. package/dist/components/six-sidebar.js.map +1 -1
  599. package/dist/components/six-spinner.d.ts +2 -2
  600. package/dist/components/six-spinner2.js +30 -30
  601. package/dist/components/six-spinner2.js.map +1 -1
  602. package/dist/components/six-stage-indicator.d.ts +2 -2
  603. package/dist/components/six-stage-indicator2.js +29 -29
  604. package/dist/components/six-stage-indicator2.js.map +1 -1
  605. package/dist/components/six-switch.d.ts +2 -2
  606. package/dist/components/six-switch.js +143 -127
  607. package/dist/components/six-switch.js.map +1 -1
  608. package/dist/components/six-tab-group.d.ts +2 -2
  609. package/dist/components/six-tab-group.js +260 -263
  610. package/dist/components/six-tab-group.js.map +1 -1
  611. package/dist/components/six-tab-panel.d.ts +2 -2
  612. package/dist/components/six-tab-panel.js +30 -30
  613. package/dist/components/six-tab-panel.js.map +1 -1
  614. package/dist/components/six-tab.d.ts +2 -2
  615. package/dist/components/six-tab.js +85 -69
  616. package/dist/components/six-tab.js.map +1 -1
  617. package/dist/components/six-tag.d.ts +2 -2
  618. package/dist/components/six-tag.js +98 -1
  619. package/dist/components/six-tag.js.map +1 -1
  620. package/dist/components/six-textarea.d.ts +2 -2
  621. package/dist/components/six-textarea.js +226 -264
  622. package/dist/components/six-textarea.js.map +1 -1
  623. package/dist/components/six-tile.d.ts +2 -2
  624. package/dist/components/six-tile.js +117 -117
  625. package/dist/components/six-tile.js.map +1 -1
  626. package/dist/components/six-timepicker.d.ts +2 -2
  627. package/dist/components/six-timepicker2.js +491 -500
  628. package/dist/components/six-timepicker2.js.map +1 -1
  629. package/dist/components/six-tooltip.d.ts +2 -2
  630. package/dist/components/six-tooltip2.js +172 -170
  631. package/dist/components/six-tooltip2.js.map +1 -1
  632. package/dist/components/slot.js +29 -30
  633. package/dist/components/slot.js.map +1 -1
  634. package/dist/components.d.ts +341 -88
  635. package/dist/components.json +4787 -850
  636. package/dist/esm/error-messages-1eaaad23.js +115 -0
  637. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  638. package/dist/esm/event-listeners-706d4309.js +59 -0
  639. package/dist/esm/event-listeners-706d4309.js.map +1 -0
  640. package/dist/esm/{execution-control-72cc50f4.js → execution-control-2ebaf4ef.js} +15 -15
  641. package/dist/esm/execution-control-2ebaf4ef.js.map +1 -0
  642. package/dist/esm/focus-visible-d9dbfeef.js +45 -0
  643. package/dist/esm/focus-visible-d9dbfeef.js.map +1 -0
  644. package/dist/esm/form-4b145b7a.js +18 -0
  645. package/dist/esm/form-4b145b7a.js.map +1 -0
  646. package/dist/esm/form-control-77fcccd0.js +34 -0
  647. package/dist/esm/form-control-77fcccd0.js.map +1 -0
  648. package/dist/esm/{index-371fb9d4.js → index-6c10d50b.js} +767 -206
  649. package/dist/esm/index-6c10d50b.js.map +1 -0
  650. package/dist/esm/index.js +56 -0
  651. package/dist/esm/index.js.map +1 -1
  652. package/dist/esm/loader.js +4 -13
  653. package/dist/esm/loader.js.map +1 -1
  654. package/dist/esm/modal-96526245.js +49 -0
  655. package/dist/esm/modal-96526245.js.map +1 -0
  656. package/dist/esm/{popover-1aacbae8.js → popover-25996e62.js} +105 -111
  657. package/dist/esm/popover-25996e62.js.map +1 -0
  658. package/dist/esm/popup-7209e9d5.js +98 -0
  659. package/dist/esm/popup-7209e9d5.js.map +1 -0
  660. package/dist/esm/scroll-3e16851e.js +64 -0
  661. package/dist/esm/scroll-3e16851e.js.map +1 -0
  662. package/dist/esm/set-attributes_2.entry.js +51 -51
  663. package/dist/esm/set-attributes_2.entry.js.map +1 -1
  664. package/dist/esm/six-alert.entry.js +133 -110
  665. package/dist/esm/six-alert.entry.js.map +1 -1
  666. package/dist/esm/six-avatar.entry.js +21 -21
  667. package/dist/esm/six-avatar.entry.js.map +1 -1
  668. package/dist/esm/six-badge.entry.js +23 -23
  669. package/dist/esm/six-badge.entry.js.map +1 -1
  670. package/dist/esm/six-button.entry.js +95 -89
  671. package/dist/esm/six-button.entry.js.map +1 -1
  672. package/dist/esm/six-card.entry.js +8 -8
  673. package/dist/esm/six-card.entry.js.map +1 -1
  674. package/dist/esm/six-checkbox_2.entry.js +185 -0
  675. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  676. package/dist/esm/six-datepicker.entry.js +837 -870
  677. package/dist/esm/six-datepicker.entry.js.map +1 -1
  678. package/dist/esm/six-details.entry.js +127 -127
  679. package/dist/esm/six-details.entry.js.map +1 -1
  680. package/dist/esm/six-dialog.entry.js +129 -129
  681. package/dist/esm/six-dialog.entry.js.map +1 -1
  682. package/dist/esm/six-drawer.entry.js +147 -147
  683. package/dist/esm/six-drawer.entry.js.map +1 -1
  684. package/dist/esm/six-dropdown_2.entry.js +707 -637
  685. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  686. package/dist/esm/six-error-page.entry.js +82 -82
  687. package/dist/esm/six-error-page.entry.js.map +1 -1
  688. package/dist/esm/six-error.entry.js +17 -0
  689. package/dist/esm/six-error.entry.js.map +1 -0
  690. package/dist/esm/six-file-list-item.entry.js +34 -34
  691. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  692. package/dist/esm/six-file-list.entry.js +7 -7
  693. package/dist/esm/six-file-list.entry.js.map +1 -1
  694. package/dist/esm/six-file-upload.entry.js +99 -99
  695. package/dist/esm/six-file-upload.entry.js.map +1 -1
  696. package/dist/esm/six-footer.entry.js +8 -8
  697. package/dist/esm/six-footer.entry.js.map +1 -1
  698. package/dist/esm/six-group-label.entry.js +43 -43
  699. package/dist/esm/six-group-label.entry.js.map +1 -1
  700. package/dist/esm/six-header.entry.js +171 -156
  701. package/dist/esm/six-header.entry.js.map +1 -1
  702. package/dist/esm/six-icon-button.entry.js +32 -32
  703. package/dist/esm/six-icon-button.entry.js.map +1 -1
  704. package/dist/esm/six-icon.entry.js +22 -22
  705. package/dist/esm/six-icon.entry.js.map +1 -1
  706. package/dist/esm/six-input.entry.js +187 -241
  707. package/dist/esm/six-input.entry.js.map +1 -1
  708. package/dist/esm/six-item-picker.entry.js +405 -309
  709. package/dist/esm/six-item-picker.entry.js.map +1 -1
  710. package/dist/esm/six-language-switcher.entry.js +46 -46
  711. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  712. package/dist/esm/six-layout-grid.entry.js +20 -20
  713. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  714. package/dist/esm/six-main-container.entry.js +9 -9
  715. package/dist/esm/six-main-container.entry.js.map +1 -1
  716. package/dist/esm/six-menu-divider.entry.js +8 -8
  717. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  718. package/dist/esm/six-menu-label.entry.js +8 -8
  719. package/dist/esm/six-menu-label.entry.js.map +1 -1
  720. package/dist/esm/six-picto.entry.js +14 -14
  721. package/dist/esm/six-picto.entry.js.map +1 -1
  722. package/dist/esm/six-progress-bar.entry.js +15 -15
  723. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  724. package/dist/esm/six-progress-ring.entry.js +30 -30
  725. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  726. package/dist/esm/six-radio.entry.js +103 -117
  727. package/dist/esm/six-radio.entry.js.map +1 -1
  728. package/dist/esm/six-range.entry.js +178 -213
  729. package/dist/esm/six-range.entry.js.map +1 -1
  730. package/dist/esm/six-root.entry.js +30 -30
  731. package/dist/esm/six-root.entry.js.map +1 -1
  732. package/dist/esm/six-search-field.entry.js +44 -44
  733. package/dist/esm/six-search-field.entry.js.map +1 -1
  734. package/dist/esm/six-select.entry.js +496 -401
  735. package/dist/esm/six-select.entry.js.map +1 -1
  736. package/dist/esm/six-sidebar-item-group.entry.js +56 -45
  737. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  738. package/dist/esm/six-sidebar-item.entry.js +17 -15
  739. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  740. package/dist/esm/six-sidebar.entry.js +174 -174
  741. package/dist/esm/six-sidebar.entry.js.map +1 -1
  742. package/dist/esm/six-spinner.entry.js +15 -15
  743. package/dist/esm/six-spinner.entry.js.map +1 -1
  744. package/dist/esm/six-switch.entry.js +106 -100
  745. package/dist/esm/six-switch.entry.js.map +1 -1
  746. package/dist/esm/six-tab-group.entry.js +230 -235
  747. package/dist/esm/six-tab-group.entry.js.map +1 -1
  748. package/dist/esm/six-tab-panel.entry.js +14 -14
  749. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  750. package/dist/esm/six-tab.entry.js +55 -39
  751. package/dist/esm/six-tab.entry.js.map +1 -1
  752. package/dist/esm/six-tag.entry.js +55 -33
  753. package/dist/esm/six-tag.entry.js.map +1 -1
  754. package/dist/esm/six-textarea.entry.js +182 -228
  755. package/dist/esm/six-textarea.entry.js.map +1 -1
  756. package/dist/esm/six-tile.entry.js +77 -77
  757. package/dist/esm/six-tile.entry.js.map +1 -1
  758. package/dist/esm/six-timepicker.entry.js +348 -363
  759. package/dist/esm/six-timepicker.entry.js.map +1 -1
  760. package/dist/esm/six-tooltip.entry.js +148 -148
  761. package/dist/esm/six-tooltip.entry.js.map +1 -1
  762. package/dist/esm/slot-56531341.js +47 -0
  763. package/dist/esm/slot-56531341.js.map +1 -0
  764. package/dist/esm/types-a07bb999.js +19 -0
  765. package/dist/esm/types-a07bb999.js.map +1 -0
  766. package/dist/esm/ui-library.js +4 -7
  767. package/dist/esm/ui-library.js.map +1 -1
  768. package/dist/types/components/six-alert/six-alert.d.ts +43 -40
  769. package/dist/types/components/six-avatar/six-avatar.d.ts +11 -11
  770. package/dist/types/components/six-badge/six-badge.d.ts +7 -7
  771. package/dist/types/components/six-button/six-button.d.ts +48 -48
  772. package/dist/types/components/six-card/six-card.d.ts +1 -1
  773. package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -71
  774. package/dist/types/components/six-datepicker/components/day-selection.d.ts +3 -3
  775. package/dist/types/components/six-datepicker/components/month-selection.d.ts +3 -3
  776. package/dist/types/components/six-datepicker/components/year-selection.d.ts +3 -3
  777. package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
  778. package/dist/types/components/six-datepicker/six-datepicker.d.ts +188 -192
  779. package/dist/types/components/six-details/six-details.d.ts +42 -42
  780. package/dist/types/components/six-dialog/six-dialog.d.ts +50 -50
  781. package/dist/types/components/six-drawer/six-drawer.d.ts +58 -58
  782. package/dist/types/components/six-dropdown/six-dropdown.d.ts +131 -112
  783. package/dist/types/components/six-error/six-error.d.ts +9 -0
  784. package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
  785. package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
  786. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
  787. package/dist/types/components/six-file-upload/six-file-upload.d.ts +33 -33
  788. package/dist/types/components/six-footer/six-footer.d.ts +1 -1
  789. package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
  790. package/dist/types/components/six-header/six-header.d.ts +59 -55
  791. package/dist/types/components/six-icon/six-icon.d.ts +5 -5
  792. package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
  793. package/dist/types/components/six-input/six-input.d.ts +112 -129
  794. package/dist/types/components/six-item-picker/six-item-picker.d.ts +95 -88
  795. package/dist/types/components/six-item-picker/types.d.ts +7 -7
  796. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
  797. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
  798. package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
  799. package/dist/types/components/six-menu/six-menu.d.ts +67 -63
  800. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
  801. package/dist/types/components/six-menu-item/six-menu-item.d.ts +27 -21
  802. package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
  803. package/dist/types/components/six-picto/six-picto.d.ts +6 -6
  804. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
  805. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
  806. package/dist/types/components/six-radio/six-radio.d.ts +38 -48
  807. package/dist/types/components/six-range/six-range.d.ts +75 -87
  808. package/dist/types/components/six-root/six-root.d.ts +18 -18
  809. package/dist/types/components/six-search-field/six-search-field.d.ts +20 -20
  810. package/dist/types/components/six-select/six-select.d.ts +137 -134
  811. package/dist/types/components/six-select/util.d.ts +1 -1
  812. package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
  813. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
  814. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +25 -19
  815. package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
  816. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
  817. package/dist/types/components/six-switch/six-switch.d.ts +49 -44
  818. package/dist/types/components/six-tab/six-tab.d.ts +20 -20
  819. package/dist/types/components/six-tab-group/six-tab-group.d.ts +35 -38
  820. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
  821. package/dist/types/components/six-tag/six-tag.d.ts +20 -12
  822. package/dist/types/components/six-textarea/six-textarea.d.ts +89 -105
  823. package/dist/types/components/six-tile/six-tile.d.ts +31 -31
  824. package/dist/types/components/six-timepicker/six-timepicker.d.ts +154 -156
  825. package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -55
  826. package/dist/types/components.d.ts +634 -330
  827. package/dist/types/functional-components/form-control/form-control.d.ts +32 -30
  828. package/dist/types/index.d.ts +2 -0
  829. package/dist/types/stencil-public-runtime.d.ts +49 -5
  830. package/dist/types/types.d.ts +3 -0
  831. package/dist/types/utils/alert.d.ts +10 -0
  832. package/dist/types/utils/animation.d.ts +12 -0
  833. package/dist/types/utils/date-util.d.ts +51 -50
  834. package/dist/types/utils/error-messages.d.ts +44 -0
  835. package/dist/types/utils/event-listeners.d.ts +11 -10
  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 +21 -21
  841. package/dist/types/utils/slot.d.ts +0 -1
  842. package/dist/types/utils/time.util.d.ts +6 -6
  843. package/dist/types/utils/types.d.ts +1 -1
  844. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +7 -7
  845. package/dist/ui-library/index.esm.js +1 -1
  846. package/dist/ui-library/index.esm.js.map +1 -1
  847. package/dist/ui-library/p-01ae4500.entry.js +2 -0
  848. package/dist/ui-library/p-01ae4500.entry.js.map +1 -0
  849. package/dist/ui-library/p-021f6da9.entry.js +2 -0
  850. package/dist/ui-library/p-021f6da9.entry.js.map +1 -0
  851. package/dist/ui-library/p-0274c52c.entry.js +2 -0
  852. package/dist/ui-library/p-0274c52c.entry.js.map +1 -0
  853. package/dist/ui-library/{p-0cc08e91.js → p-06ba4450.js} +1 -1
  854. package/dist/ui-library/p-06ba4450.js.map +1 -0
  855. package/dist/ui-library/{p-cab99e54.entry.js → p-0cb135aa.entry.js} +2 -2
  856. package/dist/ui-library/p-0cb135aa.entry.js.map +1 -0
  857. package/dist/ui-library/p-0cebf1d2.js +2 -0
  858. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  859. package/dist/ui-library/p-1431a2a8.entry.js +2 -0
  860. package/dist/ui-library/p-1431a2a8.entry.js.map +1 -0
  861. package/dist/ui-library/p-1aa28025.entry.js +2 -0
  862. package/dist/ui-library/p-1aa28025.entry.js.map +1 -0
  863. package/dist/ui-library/p-1b135e1c.entry.js +2 -0
  864. package/dist/ui-library/p-1b135e1c.entry.js.map +1 -0
  865. package/dist/ui-library/{p-3e4b9341.entry.js → p-1be990f9.entry.js} +2 -2
  866. package/dist/ui-library/p-1be990f9.entry.js.map +1 -0
  867. package/dist/ui-library/p-2008636b.entry.js +2 -0
  868. package/dist/ui-library/p-2008636b.entry.js.map +1 -0
  869. package/dist/ui-library/p-2132da0a.entry.js +2 -0
  870. package/dist/ui-library/p-2132da0a.entry.js.map +1 -0
  871. package/dist/ui-library/p-2cd674e0.entry.js +2 -0
  872. package/dist/ui-library/p-2cd674e0.entry.js.map +1 -0
  873. package/dist/ui-library/p-2d86ba99.entry.js +2 -0
  874. package/dist/ui-library/p-2d86ba99.entry.js.map +1 -0
  875. package/dist/ui-library/p-31a4a74c.entry.js +2 -0
  876. package/dist/ui-library/p-31a4a74c.entry.js.map +1 -0
  877. package/dist/ui-library/p-391f10f1.entry.js +2 -0
  878. package/dist/ui-library/p-391f10f1.entry.js.map +1 -0
  879. package/dist/ui-library/p-3dd28dc0.entry.js +2 -0
  880. package/dist/ui-library/p-3dd28dc0.entry.js.map +1 -0
  881. package/dist/ui-library/p-46ee280d.entry.js +2 -0
  882. package/dist/ui-library/p-46ee280d.entry.js.map +1 -0
  883. package/dist/ui-library/p-4752a63c.entry.js +2 -0
  884. package/dist/ui-library/p-4752a63c.entry.js.map +1 -0
  885. package/dist/ui-library/p-4772a9d3.entry.js +2 -0
  886. package/dist/ui-library/p-4772a9d3.entry.js.map +1 -0
  887. package/dist/ui-library/p-4a3ba956.entry.js +2 -0
  888. package/dist/ui-library/p-4a3ba956.entry.js.map +1 -0
  889. package/dist/ui-library/p-4b154936.entry.js +2 -0
  890. package/dist/ui-library/p-4b154936.entry.js.map +1 -0
  891. package/dist/ui-library/p-5a5f6869.entry.js +2 -0
  892. package/dist/ui-library/p-5a5f6869.entry.js.map +1 -0
  893. package/dist/ui-library/{p-9f8b6144.entry.js → p-621c2742.entry.js} +2 -2
  894. package/dist/ui-library/p-621c2742.entry.js.map +1 -0
  895. package/dist/ui-library/p-65778e3d.entry.js +2 -0
  896. package/dist/ui-library/p-65778e3d.entry.js.map +1 -0
  897. package/dist/ui-library/p-66cd3b0c.entry.js +2 -0
  898. package/dist/ui-library/p-66cd3b0c.entry.js.map +1 -0
  899. package/dist/ui-library/p-67496e8c.js +2 -0
  900. package/dist/ui-library/p-67496e8c.js.map +1 -0
  901. package/dist/ui-library/p-78529c8c.entry.js +2 -0
  902. package/dist/ui-library/p-78529c8c.entry.js.map +1 -0
  903. package/dist/ui-library/p-7eb592a8.entry.js +2 -0
  904. package/dist/ui-library/p-7eb592a8.entry.js.map +1 -0
  905. package/dist/ui-library/{p-bf4a35ec.js → p-7f856f00.js} +1 -1
  906. package/dist/ui-library/p-7f856f00.js.map +1 -0
  907. package/dist/ui-library/{p-eb8f05a9.js → p-8227aaed.js} +2 -2
  908. package/dist/ui-library/p-8227aaed.js.map +1 -0
  909. package/dist/ui-library/{p-5084ca7c.entry.js → p-831517cd.entry.js} +2 -2
  910. package/dist/ui-library/p-831517cd.entry.js.map +1 -0
  911. package/dist/ui-library/p-842b492e.js +2 -0
  912. package/dist/ui-library/p-842b492e.js.map +1 -0
  913. package/dist/ui-library/{p-25a3bf57.js → p-862d474e.js} +1 -1
  914. package/dist/ui-library/p-862d474e.js.map +1 -0
  915. package/dist/ui-library/{p-9b9c3afc.entry.js → p-87e197ee.entry.js} +2 -2
  916. package/dist/ui-library/p-87e197ee.entry.js.map +1 -0
  917. package/dist/ui-library/p-88767c27.entry.js +2 -0
  918. package/dist/ui-library/p-88767c27.entry.js.map +1 -0
  919. package/dist/ui-library/p-8bfb4bfc.js +2 -0
  920. package/dist/ui-library/p-8bfb4bfc.js.map +1 -0
  921. package/dist/ui-library/{p-c07adc21.entry.js → p-8c38a7bd.entry.js} +2 -2
  922. package/dist/ui-library/p-8c38a7bd.entry.js.map +1 -0
  923. package/dist/ui-library/p-943ce0f2.entry.js +2 -0
  924. package/dist/ui-library/p-943ce0f2.entry.js.map +1 -0
  925. package/dist/ui-library/{p-b27f496f.entry.js → p-979eabb5.entry.js} +2 -2
  926. package/dist/ui-library/p-979eabb5.entry.js.map +1 -0
  927. package/dist/ui-library/p-98ce9502.entry.js +2 -0
  928. package/dist/ui-library/p-98ce9502.entry.js.map +1 -0
  929. package/dist/ui-library/{p-ba74863a.js → p-998de05d.js} +1 -1
  930. package/dist/ui-library/p-998de05d.js.map +1 -0
  931. package/dist/ui-library/p-a036cc6f.entry.js +2 -0
  932. package/dist/ui-library/p-a036cc6f.entry.js.map +1 -0
  933. package/dist/ui-library/{p-8cf72af6.js → p-a1502802.js} +1 -1
  934. package/dist/ui-library/p-a1502802.js.map +1 -0
  935. package/dist/ui-library/p-a29f6a0e.entry.js +2 -0
  936. package/dist/ui-library/p-a29f6a0e.entry.js.map +1 -0
  937. package/dist/ui-library/p-a3fd8c74.entry.js +2 -0
  938. package/dist/ui-library/p-a3fd8c74.entry.js.map +1 -0
  939. package/dist/ui-library/p-a919b557.entry.js +2 -0
  940. package/dist/ui-library/p-a919b557.entry.js.map +1 -0
  941. package/dist/ui-library/p-ace4ec84.entry.js +2 -0
  942. package/dist/ui-library/p-ace4ec84.entry.js.map +1 -0
  943. package/dist/ui-library/{p-5b3e6eb7.entry.js → p-adf5a4da.entry.js} +2 -2
  944. package/dist/ui-library/p-adf5a4da.entry.js.map +1 -0
  945. package/dist/ui-library/{p-c700e3eb.entry.js → p-b5f844f7.entry.js} +2 -2
  946. package/dist/ui-library/p-b5f844f7.entry.js.map +1 -0
  947. package/dist/ui-library/p-b8ea574b.entry.js +2 -0
  948. package/dist/ui-library/p-b8ea574b.entry.js.map +1 -0
  949. package/dist/ui-library/p-bff679fa.entry.js +2 -0
  950. package/dist/ui-library/p-bff679fa.entry.js.map +1 -0
  951. package/dist/ui-library/p-ca63a6fa.js +3 -0
  952. package/dist/ui-library/p-ca63a6fa.js.map +1 -0
  953. package/dist/ui-library/p-d221d86a.entry.js +2 -0
  954. package/dist/ui-library/p-d221d86a.entry.js.map +1 -0
  955. package/dist/ui-library/p-d702b6ec.entry.js +2 -0
  956. package/dist/ui-library/p-d702b6ec.entry.js.map +1 -0
  957. package/dist/ui-library/p-db9d2fde.entry.js +2 -0
  958. package/dist/ui-library/p-db9d2fde.entry.js.map +1 -0
  959. package/dist/ui-library/p-e080d5b6.js +2 -0
  960. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  961. package/dist/ui-library/p-e0dd0307.entry.js +2 -0
  962. package/dist/ui-library/p-e0dd0307.entry.js.map +1 -0
  963. package/dist/ui-library/p-e340a0ad.entry.js +2 -0
  964. package/dist/ui-library/p-e340a0ad.entry.js.map +1 -0
  965. package/dist/ui-library/p-f136a6b2.js +2 -0
  966. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  967. package/dist/ui-library/p-f640731b.entry.js +2 -0
  968. package/dist/ui-library/p-f640731b.entry.js.map +1 -0
  969. package/dist/ui-library/p-fce214eb.entry.js +2 -0
  970. package/dist/ui-library/p-fce214eb.entry.js.map +1 -0
  971. package/dist/ui-library/p-fe87f64b.entry.js +2 -0
  972. package/dist/ui-library/p-fe87f64b.entry.js.map +1 -0
  973. package/dist/ui-library/ui-library.css +1 -10
  974. package/dist/ui-library/ui-library.esm.js +1 -1
  975. package/dist/ui-library/ui-library.esm.js.map +1 -1
  976. package/loader/index.d.ts +1 -1
  977. package/package.json +20 -21
  978. package/dist/cjs/event-listeners-dd94dcfb.js +0 -45
  979. package/dist/cjs/event-listeners-dd94dcfb.js.map +0 -1
  980. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  981. package/dist/cjs/focus-visible-e0d93a95.js +0 -47
  982. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  983. package/dist/cjs/form-control-7494488a.js +0 -35
  984. package/dist/cjs/form-control-7494488a.js.map +0 -1
  985. package/dist/cjs/index-ccf35821.js.map +0 -1
  986. package/dist/cjs/modal-21350fb5.js +0 -52
  987. package/dist/cjs/modal-21350fb5.js.map +0 -1
  988. package/dist/cjs/popover-b5e2d5ef.js.map +0 -1
  989. package/dist/cjs/popup-44836aaf.js +0 -103
  990. package/dist/cjs/popup-44836aaf.js.map +0 -1
  991. package/dist/cjs/scroll-76e6f5d7.js +0 -69
  992. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  993. package/dist/cjs/six-checkbox.cjs.entry.js +0 -171
  994. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  995. package/dist/cjs/six-form.cjs.entry.js +0 -236
  996. package/dist/cjs/six-form.cjs.entry.js.map +0 -1
  997. package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
  998. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  999. package/dist/cjs/slot-bccbdb59.js +0 -53
  1000. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  1001. package/dist/cjs/types-64878648.js +0 -17
  1002. package/dist/cjs/types-64878648.js.map +0 -1
  1003. package/dist/collection/components/six-form/six-form.css +0 -11
  1004. package/dist/collection/components/six-form/six-form.js +0 -427
  1005. package/dist/collection/components/six-form/six-form.js.map +0 -1
  1006. package/dist/components/six-form.js +0 -257
  1007. package/dist/components/six-form.js.map +0 -1
  1008. package/dist/components/six-tag2.js +0 -74
  1009. package/dist/components/six-tag2.js.map +0 -1
  1010. package/dist/esm/event-listeners-6b434035.js +0 -43
  1011. package/dist/esm/event-listeners-6b434035.js.map +0 -1
  1012. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  1013. package/dist/esm/focus-visible-fa7129a0.js +0 -45
  1014. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  1015. package/dist/esm/form-control-44a50dd6.js +0 -33
  1016. package/dist/esm/form-control-44a50dd6.js.map +0 -1
  1017. package/dist/esm/index-371fb9d4.js.map +0 -1
  1018. package/dist/esm/modal-b1d96441.js +0 -49
  1019. package/dist/esm/modal-b1d96441.js.map +0 -1
  1020. package/dist/esm/polyfills/css-shim.js +0 -1
  1021. package/dist/esm/popover-1aacbae8.js.map +0 -1
  1022. package/dist/esm/popup-678b8592.js +0 -98
  1023. package/dist/esm/popup-678b8592.js.map +0 -1
  1024. package/dist/esm/scroll-180b53fd.js +0 -64
  1025. package/dist/esm/six-checkbox.entry.js +0 -167
  1026. package/dist/esm/six-checkbox.entry.js.map +0 -1
  1027. package/dist/esm/six-form.entry.js +0 -232
  1028. package/dist/esm/six-form.entry.js.map +0 -1
  1029. package/dist/esm/six-menu-item.entry.js +0 -59
  1030. package/dist/esm/six-menu-item.entry.js.map +0 -1
  1031. package/dist/esm/slot-2e64df19.js +0 -48
  1032. package/dist/esm/slot-2e64df19.js.map +0 -1
  1033. package/dist/esm/types-4b10b413.js +0 -17
  1034. package/dist/esm/types-4b10b413.js.map +0 -1
  1035. package/dist/types/components/six-form/six-form.d.ts +0 -60
  1036. package/dist/ui-library/p-02d5a6d8.js +0 -2
  1037. package/dist/ui-library/p-02d5a6d8.js.map +0 -1
  1038. package/dist/ui-library/p-053d6de8.entry.js +0 -2
  1039. package/dist/ui-library/p-053d6de8.entry.js.map +0 -1
  1040. package/dist/ui-library/p-0cc08e91.js.map +0 -1
  1041. package/dist/ui-library/p-0eee4c41.entry.js +0 -2
  1042. package/dist/ui-library/p-0eee4c41.entry.js.map +0 -1
  1043. package/dist/ui-library/p-0fe78f9b.js +0 -2
  1044. package/dist/ui-library/p-0fe78f9b.js.map +0 -1
  1045. package/dist/ui-library/p-187fbba0.js +0 -3
  1046. package/dist/ui-library/p-187fbba0.js.map +0 -1
  1047. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  1048. package/dist/ui-library/p-25b42655.entry.js +0 -2
  1049. package/dist/ui-library/p-25b42655.entry.js.map +0 -1
  1050. package/dist/ui-library/p-271ba152.entry.js +0 -2
  1051. package/dist/ui-library/p-271ba152.entry.js.map +0 -1
  1052. package/dist/ui-library/p-27c4ee88.entry.js +0 -2
  1053. package/dist/ui-library/p-27c4ee88.entry.js.map +0 -1
  1054. package/dist/ui-library/p-2a36b7d0.entry.js +0 -2
  1055. package/dist/ui-library/p-2a36b7d0.entry.js.map +0 -1
  1056. package/dist/ui-library/p-2a8ad91b.entry.js +0 -2
  1057. package/dist/ui-library/p-2a8ad91b.entry.js.map +0 -1
  1058. package/dist/ui-library/p-30e0cdce.entry.js +0 -2
  1059. package/dist/ui-library/p-30e0cdce.entry.js.map +0 -1
  1060. package/dist/ui-library/p-3a47c8ad.entry.js +0 -2
  1061. package/dist/ui-library/p-3a47c8ad.entry.js.map +0 -1
  1062. package/dist/ui-library/p-3a4815cb.entry.js +0 -2
  1063. package/dist/ui-library/p-3a4815cb.entry.js.map +0 -1
  1064. package/dist/ui-library/p-3b71cac4.entry.js +0 -2
  1065. package/dist/ui-library/p-3b71cac4.entry.js.map +0 -1
  1066. package/dist/ui-library/p-3d4a2e03.entry.js +0 -2
  1067. package/dist/ui-library/p-3d4a2e03.entry.js.map +0 -1
  1068. package/dist/ui-library/p-3e4b9341.entry.js.map +0 -1
  1069. package/dist/ui-library/p-41f0b6ff.entry.js +0 -2
  1070. package/dist/ui-library/p-41f0b6ff.entry.js.map +0 -1
  1071. package/dist/ui-library/p-435242a8.entry.js +0 -2
  1072. package/dist/ui-library/p-435242a8.entry.js.map +0 -1
  1073. package/dist/ui-library/p-5084ca7c.entry.js.map +0 -1
  1074. package/dist/ui-library/p-5b3e6eb7.entry.js.map +0 -1
  1075. package/dist/ui-library/p-5c1dd25a.entry.js +0 -2
  1076. package/dist/ui-library/p-5c1dd25a.entry.js.map +0 -1
  1077. package/dist/ui-library/p-5c60227f.entry.js +0 -2
  1078. package/dist/ui-library/p-5c60227f.entry.js.map +0 -1
  1079. package/dist/ui-library/p-5dc40a6a.entry.js +0 -2
  1080. package/dist/ui-library/p-5dc40a6a.entry.js.map +0 -1
  1081. package/dist/ui-library/p-649017db.entry.js +0 -2
  1082. package/dist/ui-library/p-649017db.entry.js.map +0 -1
  1083. package/dist/ui-library/p-713684c7.entry.js +0 -2
  1084. package/dist/ui-library/p-713684c7.entry.js.map +0 -1
  1085. package/dist/ui-library/p-73325eec.entry.js +0 -2
  1086. package/dist/ui-library/p-73325eec.entry.js.map +0 -1
  1087. package/dist/ui-library/p-7639c68e.entry.js +0 -2
  1088. package/dist/ui-library/p-7639c68e.entry.js.map +0 -1
  1089. package/dist/ui-library/p-764f56dd.entry.js +0 -2
  1090. package/dist/ui-library/p-764f56dd.entry.js.map +0 -1
  1091. package/dist/ui-library/p-886a35ee.entry.js +0 -2
  1092. package/dist/ui-library/p-886a35ee.entry.js.map +0 -1
  1093. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  1094. package/dist/ui-library/p-8d6f4311.entry.js +0 -2
  1095. package/dist/ui-library/p-8d6f4311.entry.js.map +0 -1
  1096. package/dist/ui-library/p-90c2dc30.entry.js +0 -2
  1097. package/dist/ui-library/p-90c2dc30.entry.js.map +0 -1
  1098. package/dist/ui-library/p-965fa6a6.entry.js +0 -2
  1099. package/dist/ui-library/p-965fa6a6.entry.js.map +0 -1
  1100. package/dist/ui-library/p-98234e3f.entry.js +0 -2
  1101. package/dist/ui-library/p-98234e3f.entry.js.map +0 -1
  1102. package/dist/ui-library/p-9b9c3afc.entry.js.map +0 -1
  1103. package/dist/ui-library/p-9c34eab7.entry.js +0 -2
  1104. package/dist/ui-library/p-9c34eab7.entry.js.map +0 -1
  1105. package/dist/ui-library/p-9e0c386f.entry.js +0 -2
  1106. package/dist/ui-library/p-9e0c386f.entry.js.map +0 -1
  1107. package/dist/ui-library/p-9f8b6144.entry.js.map +0 -1
  1108. package/dist/ui-library/p-a3cc0521.entry.js +0 -2
  1109. package/dist/ui-library/p-a3cc0521.entry.js.map +0 -1
  1110. package/dist/ui-library/p-a5143b8d.entry.js +0 -2
  1111. package/dist/ui-library/p-a5143b8d.entry.js.map +0 -1
  1112. package/dist/ui-library/p-aa6f71e1.entry.js +0 -2
  1113. package/dist/ui-library/p-aa6f71e1.entry.js.map +0 -1
  1114. package/dist/ui-library/p-abb98245.entry.js +0 -2
  1115. package/dist/ui-library/p-abb98245.entry.js.map +0 -1
  1116. package/dist/ui-library/p-b183e44f.js +0 -2
  1117. package/dist/ui-library/p-b183e44f.js.map +0 -1
  1118. package/dist/ui-library/p-b27f496f.entry.js.map +0 -1
  1119. package/dist/ui-library/p-ba74863a.js.map +0 -1
  1120. package/dist/ui-library/p-bf4a35ec.js.map +0 -1
  1121. package/dist/ui-library/p-c07adc21.entry.js.map +0 -1
  1122. package/dist/ui-library/p-c700e3eb.entry.js.map +0 -1
  1123. package/dist/ui-library/p-cab99e54.entry.js.map +0 -1
  1124. package/dist/ui-library/p-cf1133a0.entry.js +0 -2
  1125. package/dist/ui-library/p-cf1133a0.entry.js.map +0 -1
  1126. package/dist/ui-library/p-cf1d36c0.entry.js +0 -2
  1127. package/dist/ui-library/p-cf1d36c0.entry.js.map +0 -1
  1128. package/dist/ui-library/p-d87a6f4d.js +0 -2
  1129. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  1130. package/dist/ui-library/p-d8c97778.entry.js +0 -2
  1131. package/dist/ui-library/p-d8c97778.entry.js.map +0 -1
  1132. package/dist/ui-library/p-deb01174.entry.js +0 -2
  1133. package/dist/ui-library/p-deb01174.entry.js.map +0 -1
  1134. package/dist/ui-library/p-e5ba13d2.entry.js +0 -2
  1135. package/dist/ui-library/p-e5ba13d2.entry.js.map +0 -1
  1136. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  1137. package/dist/ui-library/p-f29ba9cb.entry.js +0 -2
  1138. package/dist/ui-library/p-f29ba9cb.entry.js.map +0 -1
  1139. package/dist/ui-library/p-f66eb76c.entry.js +0 -2
  1140. package/dist/ui-library/p-f66eb76c.entry.js.map +0 -1
  1141. package/dist/ui-library/p-f974a184.entry.js +0 -2
  1142. package/dist/ui-library/p-f974a184.entry.js.map +0 -1
  1143. package/dist/ui-library/p-fb8d0734.entry.js +0 -2
  1144. package/dist/ui-library/p-fb8d0734.entry.js.map +0 -1
  1145. 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, 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
@@ -551,6 +593,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
551
593
  * @returns the newly created node
552
594
  */
553
595
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
596
+ var _a;
554
597
  // tslint:disable-next-line: prefer-const
555
598
  const newVNode = newParentVNode.$children$[childIndex];
556
599
  let i = 0;
@@ -624,11 +667,15 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
624
667
  }
625
668
  }
626
669
  }
670
+ // This needs to always happen so we can hide nodes that are projected
671
+ // to another component but don't end up in a slot
672
+ elm['s-hn'] = hostTagName;
627
673
  {
628
- elm['s-hn'] = hostTagName;
629
674
  if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
630
675
  // remember the content reference comment
631
676
  elm['s-sr'] = true;
677
+ // Persist the name of the slot that this slot was going to be projected into.
678
+ elm['s-fs'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.slot;
632
679
  // remember the content reference comment
633
680
  elm['s-cr'] = contentRef;
634
681
  // remember the slot name, or empty string for default slot
@@ -636,30 +683,38 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
636
683
  // check if we've got an old vnode for this slot
637
684
  oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
638
685
  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);
686
+ {
687
+ // we've got an old slot vnode and the wrapper is being replaced
688
+ // so let's move the old slot content back to its original location
689
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
690
+ }
642
691
  }
643
692
  }
644
693
  }
645
694
  return elm;
646
695
  };
647
696
  const putBackInOriginalLocation = (parentElm, recursive) => {
697
+ var _a;
648
698
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
649
699
  const oldSlotChildNodes = parentElm.childNodes;
650
700
  for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
651
701
  const childNode = oldSlotChildNodes[i];
652
702
  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
703
  // and relocate it back to it's original location
657
704
  parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
658
705
  // remove the old original location comment entirely
659
706
  // later on the patch function will know what to do
660
- // and move this to the correct spot in need be
707
+ // and move this to the correct spot if need be
661
708
  childNode['s-ol'].remove();
662
709
  childNode['s-ol'] = undefined;
710
+ // Reset so we can correctly move the node around again.
711
+ childNode['s-sh'] = undefined;
712
+ // When putting an element node back in its original location,
713
+ // we need to reset the `slot` attribute back to the value it originally had
714
+ // so we can correctly relocate it again in the future
715
+ if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
716
+ childNode.setAttribute('slot', (_a = childNode['s-sn']) !== null && _a !== void 0 ? _a : '');
717
+ }
663
718
  checkSlotRelocate = true;
664
719
  }
665
720
  if (recursive) {
@@ -709,30 +764,31 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
709
764
  * @param vnodes a list of virtual DOM nodes to remove
710
765
  * @param startIdx the index at which to start removing nodes (inclusive)
711
766
  * @param endIdx the index at which to stop removing nodes (inclusive)
712
- * @param vnode a VNode
713
- * @param elm an element
714
767
  */
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);
768
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
769
+ for (let index = startIdx; index <= endIdx; ++index) {
770
+ const vnode = vnodes[index];
771
+ if (vnode) {
772
+ const elm = vnode.$elm$;
773
+ nullifyVNodeRefs(vnode);
774
+ if (elm) {
775
+ {
776
+ // we're removing this element
777
+ // so it's possible we need to show slot fallback content now
778
+ checkSlotFallbackVisibility = true;
779
+ if (elm['s-ol']) {
780
+ // remove the original location comment
781
+ elm['s-ol'].remove();
782
+ }
783
+ else {
784
+ // it's possible that child nodes of the node
785
+ // that's being removed are slot nodes
786
+ putBackInOriginalLocation(elm, true);
787
+ }
732
788
  }
789
+ // remove the vnode's element from the dom
790
+ elm.remove();
733
791
  }
734
- // remove the vnode's element from the dom
735
- elm.remove();
736
792
  }
737
793
  }
738
794
  };
@@ -803,8 +859,9 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
803
859
  * @param oldCh the old children of the parent node
804
860
  * @param newVNode the new VNode which will replace the parent
805
861
  * @param newCh the new children of the parent node
862
+ * @param isInitialRender whether or not this is the first render of the vdom
806
863
  */
807
- const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
864
+ const updateChildren = (parentElm, oldCh, newVNode, newCh, isInitialRender = false) => {
808
865
  let oldStartIdx = 0;
809
866
  let newStartIdx = 0;
810
867
  let idxInOld = 0;
@@ -831,24 +888,24 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
831
888
  else if (newEndVnode == null) {
832
889
  newEndVnode = newCh[--newEndIdx];
833
890
  }
834
- else if (isSameVnode(oldStartVnode, newStartVnode)) {
891
+ else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
835
892
  // if the start nodes are the same then we should patch the new VNode
836
893
  // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
837
894
  // indices to reflect that. We don't need to move any DOM Nodes around
838
895
  // since things are matched up in order.
839
- patch(oldStartVnode, newStartVnode);
896
+ patch(oldStartVnode, newStartVnode, isInitialRender);
840
897
  oldStartVnode = oldCh[++oldStartIdx];
841
898
  newStartVnode = newCh[++newStartIdx];
842
899
  }
843
- else if (isSameVnode(oldEndVnode, newEndVnode)) {
900
+ else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
844
901
  // likewise, if the end nodes are the same we patch new onto old and
845
902
  // decrement our end indices, and also likewise in this case we don't
846
903
  // need to move any DOM Nodes.
847
- patch(oldEndVnode, newEndVnode);
904
+ patch(oldEndVnode, newEndVnode, isInitialRender);
848
905
  oldEndVnode = oldCh[--oldEndIdx];
849
906
  newEndVnode = newCh[--newEndIdx];
850
907
  }
851
- else if (isSameVnode(oldStartVnode, newEndVnode)) {
908
+ else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
852
909
  // case: "Vnode moved right"
853
910
  //
854
911
  // We've found that the last node in our window on the new children is
@@ -866,7 +923,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
866
923
  if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
867
924
  putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
868
925
  }
869
- patch(oldStartVnode, newEndVnode);
926
+ patch(oldStartVnode, newEndVnode, isInitialRender);
870
927
  // We need to move the element for `oldStartVnode` into a position which
871
928
  // will be appropriate for `newEndVnode`. For this we can use
872
929
  // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
@@ -888,7 +945,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
888
945
  oldStartVnode = oldCh[++oldStartIdx];
889
946
  newEndVnode = newCh[--newEndIdx];
890
947
  }
891
- else if (isSameVnode(oldEndVnode, newStartVnode)) {
948
+ else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
892
949
  // case: "Vnode moved left"
893
950
  //
894
951
  // We've found that the first node in our window on the new children is
@@ -907,7 +964,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
907
964
  if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
908
965
  putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
909
966
  }
910
- patch(oldEndVnode, newStartVnode);
967
+ patch(oldEndVnode, newStartVnode, isInitialRender);
911
968
  // We've already checked above if `oldStartVnode` and `newStartVnode` are
912
969
  // the same node, so since we're here we know that they are not. Thus we
913
970
  // can move the element for `oldEndVnode` _before_ the element for
@@ -944,7 +1001,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
944
1001
  node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
945
1002
  }
946
1003
  else {
947
- patch(elmToMove, newStartVnode);
1004
+ patch(elmToMove, newStartVnode, isInitialRender);
948
1005
  // invalidate the matching old node so that we won't try to update it
949
1006
  // again later on
950
1007
  oldCh[idxInOld] = undefined;
@@ -995,19 +1052,25 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
995
1052
  *
996
1053
  * @param leftVNode the first VNode to check
997
1054
  * @param rightVNode the second VNode to check
1055
+ * @param isInitialRender whether or not this is the first render of the vdom
998
1056
  * @returns whether they're equal or not
999
1057
  */
1000
- const isSameVnode = (leftVNode, rightVNode) => {
1058
+ const isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
1001
1059
  // compare if two vnode to see if they're "technically" the same
1002
1060
  // need to have the same element tag, and same key to be the same
1003
1061
  if (leftVNode.$tag$ === rightVNode.$tag$) {
1004
1062
  if (leftVNode.$tag$ === 'slot') {
1005
1063
  return leftVNode.$name$ === rightVNode.$name$;
1006
1064
  }
1007
- // this will be set if components in the build have `key` attrs set on them
1008
- {
1065
+ // this will be set if JSX tags in the build have `key` attrs set on them
1066
+ // we only want to check this if we're not on the first render since on
1067
+ // first render `leftVNode.$key$` will always be `null`, so we can be led
1068
+ // astray and, for instance, accidentally delete a DOM node that we want to
1069
+ // keep around.
1070
+ if (!isInitialRender) {
1009
1071
  return leftVNode.$key$ === rightVNode.$key$;
1010
1072
  }
1073
+ return true;
1011
1074
  }
1012
1075
  return false;
1013
1076
  };
@@ -1026,8 +1089,9 @@ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).paren
1026
1089
  *
1027
1090
  * @param oldVNode an old VNode whose DOM element and children we want to update
1028
1091
  * @param newVNode a new VNode representing an updated version of the old one
1092
+ * @param isInitialRender whether or not this is the first render of the vdom
1029
1093
  */
1030
- const patch = (oldVNode, newVNode) => {
1094
+ const patch = (oldVNode, newVNode, isInitialRender = false) => {
1031
1095
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
1032
1096
  const oldChildren = oldVNode.$children$;
1033
1097
  const newChildren = newVNode.$children$;
@@ -1053,7 +1117,7 @@ const patch = (oldVNode, newVNode) => {
1053
1117
  if (oldChildren !== null && newChildren !== null) {
1054
1118
  // looks like there's child vnodes for both the old and new vnodes
1055
1119
  // so we need to call `updateChildren` to reconcile them
1056
- updateChildren(elm, oldChildren, newVNode, newChildren);
1120
+ updateChildren(elm, oldChildren, newVNode, newChildren, isInitialRender);
1057
1121
  }
1058
1122
  else if (newChildren !== null) {
1059
1123
  // no old child vnodes, but there are new child vnodes to add
@@ -1082,42 +1146,53 @@ const patch = (oldVNode, newVNode) => {
1082
1146
  elm.data = text;
1083
1147
  }
1084
1148
  };
1149
+ /**
1150
+ * Adjust the `.hidden` property as-needed on any nodes in a DOM subtree which
1151
+ * are slot fallbacks nodes.
1152
+ *
1153
+ * A slot fallback node should be visible by default. Then, it should be
1154
+ * conditionally hidden if:
1155
+ *
1156
+ * - it has a sibling with a `slot` property set to its slot name or if
1157
+ * - it is a default fallback slot node, in which case we hide if it has any
1158
+ * content
1159
+ *
1160
+ * @param elm the element of interest
1161
+ */
1085
1162
  const updateFallbackSlotVisibility = (elm) => {
1086
- // tslint:disable-next-line: prefer-const
1087
1163
  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];
1164
+ for (const childNode of childNodes) {
1096
1165
  if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1097
1166
  if (childNode['s-sr']) {
1098
1167
  // this is a slot fallback node
1099
1168
  // get the slot name for this slot reference node
1100
- slotNameAttr = childNode['s-sn'];
1169
+ const slotName = childNode['s-sn'];
1101
1170
  // by default always show a fallback slot node
1102
1171
  // then hide it if there are other slots in the light dom
1103
1172
  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;
1173
+ // we need to check all of its sibling nodes in order to see if
1174
+ // `childNode` should be hidden
1175
+ for (const siblingNode of childNodes) {
1176
+ // Don't check the node against itself
1177
+ if (siblingNode !== childNode) {
1178
+ if (siblingNode['s-hn'] !== childNode['s-hn'] || slotName !== '') {
1179
+ // this sibling node is from a different component OR is a named
1180
+ // fallback slot node
1181
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
1182
+ (slotName === siblingNode.getAttribute('slot') || slotName === siblingNode['s-sn'])) {
1183
+ childNode.hidden = true;
1184
+ break;
1185
+ }
1111
1186
  }
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;
1187
+ else {
1188
+ // this is a default fallback slot node
1189
+ // any element or text node (with content)
1190
+ // should hide the default fallback slot node
1191
+ if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ ||
1192
+ (siblingNode.nodeType === 3 /* NODE_TYPE.TextNode */ && siblingNode.textContent.trim() !== '')) {
1193
+ childNode.hidden = true;
1194
+ break;
1195
+ }
1121
1196
  }
1122
1197
  }
1123
1198
  }
@@ -1127,45 +1202,67 @@ const updateFallbackSlotVisibility = (elm) => {
1127
1202
  }
1128
1203
  }
1129
1204
  };
1205
+ /**
1206
+ * Component-global information about nodes which are either currently being
1207
+ * relocated or will be shortly.
1208
+ */
1130
1209
  const relocateNodes = [];
1131
- const relocateSlotContent = (elm) => {
1210
+ /**
1211
+ * Mark the contents of a slot for relocation via adding references to them to
1212
+ * the {@link relocateNodes} data structure. The actual work of relocating them
1213
+ * will then be handled in {@link renderVdom}.
1214
+ *
1215
+ * @param elm a render node whose child nodes need to be relocated
1216
+ */
1217
+ const markSlotContentForRelocation = (elm) => {
1132
1218
  // tslint:disable-next-line: prefer-const
1133
- let childNode;
1134
1219
  let node;
1135
1220
  let hostContentNodes;
1136
- let slotNameAttr;
1137
- let relocateNodeData;
1138
1221
  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];
1222
+ for (const childNode of elm.childNodes) {
1223
+ // we need to find child nodes which are slot references so we can then try
1224
+ // to match them up with nodes that need to be relocated
1144
1225
  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
1226
+ // first get the content reference comment node ('s-cr'), then we get
1227
+ // its parent, which is where all the host content is now
1147
1228
  hostContentNodes = node.parentNode.childNodes;
1148
- slotNameAttr = childNode['s-sn'];
1229
+ const slotName = childNode['s-sn'];
1230
+ // iterate through all the nodes under the location where the host was
1231
+ // originally rendered
1149
1232
  for (j = hostContentNodes.length - 1; j >= 0; j--) {
1150
1233
  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)) {
1234
+ // check that the node is not a content reference node or a node
1235
+ // reference and then check that the host name does not match that of
1236
+ // childNode.
1237
+ // In addition, check that the slot either has not already been relocated, or
1238
+ // that its current location's host is not childNode's host. This is essentially
1239
+ // a check so that we don't try to relocate (and then hide) a node that is already
1240
+ // where it should be.
1241
+ if (!node['s-cn'] &&
1242
+ !node['s-nr'] &&
1243
+ node['s-hn'] !== childNode['s-hn'] &&
1244
+ (!BUILD.experimentalSlotFixes )) {
1245
+ // if `node` is located in the slot that `childNode` refers to (via the
1246
+ // `'s-sn'` property) then we need to relocate it from it's current spot
1247
+ // (under the host element parent) to the right slot location
1248
+ if (isNodeLocatedInSlot(node, slotName)) {
1156
1249
  // it's possible we've already decided to relocate this node
1157
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1250
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1158
1251
  // made some changes to slots
1159
1252
  // let's make sure we also double check
1160
1253
  // fallbacks are correctly hidden or shown
1161
1254
  checkSlotFallbackVisibility = true;
1162
- node['s-sn'] = node['s-sn'] || slotNameAttr;
1255
+ // ensure that the slot-name attr is correct
1256
+ node['s-sn'] = node['s-sn'] || slotName;
1163
1257
  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
1258
+ relocateNodeData.$nodeToRelocate$['s-sh'] = childNode['s-hn'];
1259
+ // we marked this node for relocation previously but didn't find
1260
+ // out the slot reference node to which it needs to be relocated
1261
+ // so write it down now!
1166
1262
  relocateNodeData.$slotRefNode$ = childNode;
1167
1263
  }
1168
1264
  else {
1265
+ node['s-sh'] = childNode['s-hn'];
1169
1266
  // add to our list of nodes to relocate
1170
1267
  relocateNodes.push({
1171
1268
  $slotRefNode$: childNode,
@@ -1184,8 +1281,10 @@ const relocateSlotContent = (elm) => {
1184
1281
  }
1185
1282
  }
1186
1283
  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
1284
+ // the node is not found within the slot (`childNode`) that we're
1285
+ // currently looking at, so we stick it into `relocateNodes` to
1286
+ // handle later. If we never find a home for this element then
1287
+ // we'll need to hide it
1189
1288
  relocateNodes.push({
1190
1289
  $nodeToRelocate$: node,
1191
1290
  });
@@ -1193,30 +1292,48 @@ const relocateSlotContent = (elm) => {
1193
1292
  }
1194
1293
  }
1195
1294
  }
1295
+ // if we're dealing with any type of element (capable of itself being a
1296
+ // slot reference or containing one) then we recur
1196
1297
  if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1197
- relocateSlotContent(childNode);
1298
+ markSlotContentForRelocation(childNode);
1198
1299
  }
1199
1300
  }
1200
1301
  };
1201
- const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
1302
+ /**
1303
+ * Check whether a node is located in a given named slot.
1304
+ *
1305
+ * @param nodeToRelocate the node of interest
1306
+ * @param slotName the slot name to check
1307
+ * @returns whether the node is located in the slot or not
1308
+ */
1309
+ const isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
1202
1310
  if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1203
- if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
1311
+ if (nodeToRelocate.getAttribute('slot') === null && slotName === '') {
1312
+ // if the node doesn't have a slot attribute, and the slot we're checking
1313
+ // is not a named slot, then we assume the node should be within the slot
1204
1314
  return true;
1205
1315
  }
1206
- if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
1316
+ if (nodeToRelocate.getAttribute('slot') === slotName) {
1207
1317
  return true;
1208
1318
  }
1209
1319
  return false;
1210
1320
  }
1211
- if (nodeToRelocate['s-sn'] === slotNameAttr) {
1321
+ if (nodeToRelocate['s-sn'] === slotName) {
1212
1322
  return true;
1213
1323
  }
1214
- return slotNameAttr === '';
1324
+ return slotName === '';
1215
1325
  };
1216
- const callNodeRefs = (vNode) => {
1326
+ /**
1327
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
1328
+ * them with `null`. This signals that the DOM element corresponding to the VDom
1329
+ * node has been removed from the DOM.
1330
+ *
1331
+ * @param vNode a virtual DOM node
1332
+ */
1333
+ const nullifyVNodeRefs = (vNode) => {
1217
1334
  {
1218
1335
  vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1219
- vNode.$children$ && vNode.$children$.map(callNodeRefs);
1336
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1220
1337
  }
1221
1338
  };
1222
1339
  /**
@@ -1230,17 +1347,45 @@ const callNodeRefs = (vNode) => {
1230
1347
  * @param hostRef data needed to root and render the virtual DOM tree, such as
1231
1348
  * the DOM node into which it should be rendered.
1232
1349
  * @param renderFnResults the virtual DOM nodes to be rendered
1350
+ * @param isInitialLoad whether or not this is the first call after page load
1233
1351
  */
1234
- const renderVdom = (hostRef, renderFnResults) => {
1352
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1353
+ var _a, _b, _c, _d;
1235
1354
  const hostElm = hostRef.$hostElement$;
1236
1355
  const cmpMeta = hostRef.$cmpMeta$;
1237
1356
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1357
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1358
+ // we need to call `h` again to wrap the children of our component in a
1359
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1360
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1361
+ // contains attrs that need to be set on the host element.
1238
1362
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1239
1363
  hostTagName = hostElm.tagName;
1240
1364
  if (cmpMeta.$attrsToReflect$) {
1241
1365
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1242
1366
  cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
1243
1367
  }
1368
+ // On the first render and *only* on the first render we want to check for
1369
+ // any attributes set on the host element which are also set on the vdom
1370
+ // node. If we find them, we override the value on the VDom node attrs with
1371
+ // the value from the host element, which allows developers building apps
1372
+ // with Stencil components to override e.g. the `role` attribute on a
1373
+ // component even if it's already set on the `Host`.
1374
+ if (isInitialLoad && rootVnode.$attrs$) {
1375
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1376
+ // We have a special implementation in `setAccessor` for `style` and
1377
+ // `class` which reconciles values coming from the VDom with values
1378
+ // already present on the DOM element, so we don't want to override those
1379
+ // attributes on the VDom tree with values from the host element if they
1380
+ // are present.
1381
+ //
1382
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1383
+ // runtime and we don't want to override those either.
1384
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1385
+ rootVnode.$attrs$[key] = hostElm[key];
1386
+ }
1387
+ }
1388
+ }
1244
1389
  rootVnode.$tag$ = null;
1245
1390
  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
1246
1391
  hostRef.$vnode$ = rootVnode;
@@ -1255,49 +1400,54 @@ const renderVdom = (hostRef, renderFnResults) => {
1255
1400
  checkSlotFallbackVisibility = false;
1256
1401
  }
1257
1402
  // synchronous patch
1258
- patch(oldVNode, rootVnode);
1403
+ patch(oldVNode, rootVnode, isInitialLoad);
1259
1404
  {
1260
1405
  // while we're moving nodes around existing nodes, temporarily disable
1261
1406
  // the disconnectCallback from working
1262
1407
  plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1263
1408
  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$;
1409
+ markSlotContentForRelocation(rootVnode.$elm$);
1410
+ for (const relocateData of relocateNodes) {
1411
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1275
1412
  if (!nodeToRelocate['s-ol']) {
1276
1413
  // add a reference node marking this node's original location
1277
1414
  // keep a reference to this node for later lookups
1278
- orgLocationNode =
1279
- doc.createTextNode('');
1415
+ const orgLocationNode = doc.createTextNode('');
1280
1416
  orgLocationNode['s-nr'] = nodeToRelocate;
1281
1417
  nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1282
1418
  }
1283
1419
  }
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;
1420
+ for (const relocateData of relocateNodes) {
1421
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1422
+ const slotRefNode = relocateData.$slotRefNode$;
1423
+ if (slotRefNode) {
1424
+ const parentNodeRef = slotRefNode.parentNode;
1425
+ // When determining where to insert content, the most simple case would be
1426
+ // to relocate the node immediately following the slot reference node. We do this
1427
+ // by getting a reference to the node immediately following the slot reference node
1428
+ // since we will use `insertBefore` to manipulate the DOM.
1429
+ //
1430
+ // If there is no node immediately following the slot reference node, then we will just
1431
+ // end up appending the node as the last child of the parent.
1432
+ let insertBeforeNode = slotRefNode.nextSibling;
1433
+ // If the node we're currently planning on inserting the new node before is an element,
1434
+ // we need to do some additional checks to make sure we're inserting the node in the correct order.
1435
+ // The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
1436
+ // to make sure they get inserted into their new how in the same order they were declared in their original location.
1437
+ //
1438
+ // TODO(STENCIL-914): Remove `experimentalSlotFixes` check
1439
+ {
1440
+ let orgLocationNode = (_a = nodeToRelocate['s-ol']) === null || _a === void 0 ? void 0 : _a.previousSibling;
1441
+ while (orgLocationNode) {
1442
+ let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
1443
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
1444
+ refNode = refNode.nextSibling;
1445
+ if (!refNode || !refNode['s-nr']) {
1446
+ insertBeforeNode = refNode;
1447
+ break;
1448
+ }
1300
1449
  }
1450
+ orgLocationNode = orgLocationNode.previousSibling;
1301
1451
  }
1302
1452
  }
1303
1453
  if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
@@ -1307,17 +1457,32 @@ const renderVdom = (hostRef, renderFnResults) => {
1307
1457
  // has a different next sibling or parent relocated
1308
1458
  if (nodeToRelocate !== insertBeforeNode) {
1309
1459
  if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1310
- // probably a component in the index.html that doesn't have it's hostname set
1460
+ // probably a component in the index.html that doesn't have its hostname set
1311
1461
  nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1312
1462
  }
1313
- // add it back to the dom but in its new home
1463
+ // Add it back to the dom but in its new home
1464
+ // If we get to this point and `insertBeforeNode` is `null`, that means
1465
+ // we're just going to append the node as the last child of the parent. Passing
1466
+ // `null` as the second arg here will trigger that behavior.
1314
1467
  parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1468
+ // Reset the `hidden` value back to what it was defined as originally
1469
+ // This solves a problem where a `slot` is dynamically rendered and `hidden` may have
1470
+ // been set on content originally, but now it has a slot to go to so it should have
1471
+ // the value it was defined as having in the DOM, not what we overrode it to.
1472
+ if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1473
+ nodeToRelocate.hidden = (_c = nodeToRelocate['s-ih']) !== null && _c !== void 0 ? _c : false;
1474
+ }
1315
1475
  }
1316
1476
  }
1317
1477
  }
1318
1478
  else {
1319
1479
  // this node doesn't have a slot home to go to, so let's hide it
1320
1480
  if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1481
+ // Store the initial value of `hidden` so we can reset it later when
1482
+ // moving nodes around.
1483
+ if (isInitialLoad) {
1484
+ nodeToRelocate['s-ih'] = (_d = nodeToRelocate.hidden) !== null && _d !== void 0 ? _d : false;
1485
+ }
1321
1486
  nodeToRelocate.hidden = true;
1322
1487
  }
1323
1488
  }
@@ -1353,27 +1518,93 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
1353
1518
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
1354
1519
  return writeTask(dispatch) ;
1355
1520
  };
1521
+ /**
1522
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
1523
+ * component lifecycle methods like `componentWillLoad` as well as
1524
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
1525
+ *
1526
+ * @param hostRef a reference to a host DOM node
1527
+ * @param isInitialLoad whether we're on the initial load or not
1528
+ * @returns an empty Promise which is used to enqueue a series of operations for
1529
+ * the component
1530
+ */
1356
1531
  const dispatchHooks = (hostRef, isInitialLoad) => {
1357
1532
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
1358
1533
  const instance = hostRef.$lazyInstance$ ;
1359
- let promise;
1534
+ // We're going to use this variable together with `enqueue` to implement a
1535
+ // little promise-based queue. We start out with it `undefined`. When we add
1536
+ // the first function to the queue we'll set this variable to be that
1537
+ // function's return value. When we attempt to add subsequent values to the
1538
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
1539
+ // the new function off of that `Promise` using `.then()`. This will give our
1540
+ // queue two nice properties:
1541
+ //
1542
+ // 1. If all functions added to the queue are synchronous they'll be called
1543
+ // synchronously right away.
1544
+ // 2. If all functions added to the queue are asynchronous they'll all be
1545
+ // called in order after `dispatchHooks` exits.
1546
+ let maybePromise;
1360
1547
  if (isInitialLoad) {
1361
1548
  {
1362
1549
  hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
1363
1550
  if (hostRef.$queuedListeners$) {
1364
1551
  hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1365
- hostRef.$queuedListeners$ = null;
1552
+ hostRef.$queuedListeners$ = undefined;
1366
1553
  }
1367
1554
  }
1368
1555
  {
1369
- promise = safeCall(instance, 'componentWillLoad');
1556
+ // If `componentWillLoad` returns a `Promise` then we want to wait on
1557
+ // whatever's going on in that `Promise` before we launch into
1558
+ // rendering the component, doing other lifecycle stuff, etc. So
1559
+ // in that case we assign the returned promise to the variable we
1560
+ // declared above to hold a possible 'queueing' Promise
1561
+ maybePromise = safeCall(instance, 'componentWillLoad');
1370
1562
  }
1371
1563
  }
1372
1564
  endSchedule();
1373
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
1565
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1374
1566
  };
1567
+ /**
1568
+ * This function uses a Promise to implement a simple first-in, first-out queue
1569
+ * of functions to be called.
1570
+ *
1571
+ * The queue is ordered on the basis of the first argument. If it's
1572
+ * `undefined`, then nothing is on the queue yet, so the provided function can
1573
+ * be called synchronously (although note that this function may return a
1574
+ * `Promise`). The idea is that then the return value of that enqueueing
1575
+ * operation is kept around, so that if it was a `Promise` then subsequent
1576
+ * functions can be enqueued by calling this function again with that `Promise`
1577
+ * as the first argument.
1578
+ *
1579
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
1580
+ * @param fn a function to enqueue
1581
+ * @returns either a `Promise` or the return value of the provided function
1582
+ */
1583
+ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
1584
+ /**
1585
+ * Check that a value is a `Promise`. To check, we first see if the value is an
1586
+ * instance of the `Promise` global. In a few circumstances, in particular if
1587
+ * the global has been overwritten, this is could be misleading, so we also do
1588
+ * a little 'duck typing' check to see if the `.then` property of the value is
1589
+ * defined and a function.
1590
+ *
1591
+ * @param maybePromise it might be a promise!
1592
+ * @returns whether it is or not
1593
+ */
1594
+ const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1595
+ (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1596
+ /**
1597
+ * Update a component given reference to its host elements and so on.
1598
+ *
1599
+ * @param hostRef an object containing references to the element's host node,
1600
+ * VDom nodes, and other metadata
1601
+ * @param instance a reference to the underlying host element where it will be
1602
+ * rendered
1603
+ * @param isInitialLoad whether or not this function is being called as part of
1604
+ * the first render cycle
1605
+ */
1375
1606
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
1376
- // updateComponent
1607
+ var _a;
1377
1608
  const elm = hostRef.$hostElement$;
1378
1609
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
1379
1610
  const rc = elm['s-rc'];
@@ -1383,7 +1614,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1383
1614
  }
1384
1615
  const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
1385
1616
  {
1386
- callRender(hostRef, instance);
1617
+ callRender(hostRef, instance, elm, isInitialLoad);
1387
1618
  }
1388
1619
  if (rc) {
1389
1620
  // ok, so turns out there are some child host elements
@@ -1395,7 +1626,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1395
1626
  endRender();
1396
1627
  endUpdate();
1397
1628
  {
1398
- const childrenPromises = elm['s-p'];
1629
+ const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
1399
1630
  const postUpdate = () => postUpdateComponent(hostRef);
1400
1631
  if (childrenPromises.length === 0) {
1401
1632
  postUpdate();
@@ -1407,8 +1638,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1407
1638
  }
1408
1639
  }
1409
1640
  };
1410
- const callRender = (hostRef, instance, elm) => {
1641
+ /**
1642
+ * Handle making the call to the VDom renderer with the proper context given
1643
+ * various build variables
1644
+ *
1645
+ * @param hostRef an object containing references to the element's host node,
1646
+ * VDom nodes, and other metadata
1647
+ * @param instance a reference to the underlying host element where it will be
1648
+ * rendered
1649
+ * @param elm the Host element for the component
1650
+ * @param isInitialLoad whether or not this function is being called as part of
1651
+ * @returns an empty promise
1652
+ */
1653
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
1411
1654
  try {
1655
+ /**
1656
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1657
+ * method, so we can call the method immediately. If not, check before calling it.
1658
+ */
1412
1659
  instance = instance.render() ;
1413
1660
  {
1414
1661
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
@@ -1422,7 +1669,7 @@ const callRender = (hostRef, instance, elm) => {
1422
1669
  // or we need to update the css class/attrs on the host element
1423
1670
  // DOM WRITE!
1424
1671
  {
1425
- renderVdom(hostRef, instance);
1672
+ renderVdom(hostRef, instance, isInitialLoad);
1426
1673
  }
1427
1674
  }
1428
1675
  }
@@ -1491,6 +1738,16 @@ const appDidLoad = (who) => {
1491
1738
  }
1492
1739
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1493
1740
  };
1741
+ /**
1742
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1743
+ * e.g. custom element node. If a build figures out that e.g. no component
1744
+ * has a `componentDidLoad` method, the instance method gets removed from the
1745
+ * output bundle and this function returns `undefined`.
1746
+ * @param instance any object that may or may not contain methods
1747
+ * @param method method name
1748
+ * @param arg single arbitrary argument
1749
+ * @returns result of method call if it exists, otherwise `undefined`
1750
+ */
1494
1751
  const safeCall = (instance, method, arg) => {
1495
1752
  if (instance && instance[method]) {
1496
1753
  try {
@@ -1502,9 +1759,6 @@ const safeCall = (instance, method, arg) => {
1502
1759
  }
1503
1760
  return undefined;
1504
1761
  };
1505
- const then = (promise, thenFn) => {
1506
- return promise && promise.then ? promise.then(thenFn) : thenFn();
1507
- };
1508
1762
  const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1509
1763
  ;
1510
1764
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -1561,13 +1815,14 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1561
1815
  * @returns a reference to the same constructor passed in (but now mutated)
1562
1816
  */
1563
1817
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1818
+ var _a;
1819
+ const prototype = Cstr.prototype;
1564
1820
  if (cmpMeta.$members$) {
1565
1821
  if (Cstr.watchers) {
1566
1822
  cmpMeta.$watchers$ = Cstr.watchers;
1567
1823
  }
1568
1824
  // It's better to have a const than two Object.entries()
1569
1825
  const members = Object.entries(cmpMeta.$members$);
1570
- const prototype = Cstr.prototype;
1571
1826
  members.map(([memberName, [memberFlags]]) => {
1572
1827
  if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
1573
1828
  ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
@@ -1590,16 +1845,18 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1590
1845
  // proxyComponent - method
1591
1846
  Object.defineProperty(prototype, memberName, {
1592
1847
  value(...args) {
1848
+ var _a;
1593
1849
  const ref = getHostRef(this);
1594
- return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
1850
+ 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
1851
  },
1596
1852
  });
1597
1853
  }
1598
1854
  });
1599
1855
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1600
1856
  const attrNameToPropName = new Map();
1601
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1857
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
1602
1858
  plt.jmp(() => {
1859
+ var _a;
1603
1860
  const propName = attrNameToPropName.get(attrName);
1604
1861
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
1605
1862
  // in the case where an attribute was set inline.
@@ -1621,12 +1878,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1621
1878
  // customElements.define('my-component', MyComponent);
1622
1879
  // </script>
1623
1880
  // ```
1624
- // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
1881
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1625
1882
  // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1626
1883
  // 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"
1884
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1628
1885
  //
1629
- // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
1886
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1630
1887
  // by connectedCallback as this attributeChangedCallback will not fire.
1631
1888
  //
1632
1889
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
@@ -1646,31 +1903,72 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1646
1903
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1647
1904
  return;
1648
1905
  }
1906
+ else if (propName == null) {
1907
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
1908
+ // on a vanilla web component
1909
+ const hostRef = getHostRef(this);
1910
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
1911
+ // We only want to trigger the callback(s) if:
1912
+ // 1. The instance is ready
1913
+ // 2. The watchers are ready
1914
+ // 3. The value has changed
1915
+ if (flags &&
1916
+ !(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
1917
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
1918
+ newValue !== oldValue) {
1919
+ const instance = hostRef.$lazyInstance$ ;
1920
+ const entry = (_a = cmpMeta.$watchers$) === null || _a === void 0 ? void 0 : _a[attrName];
1921
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
1922
+ if (instance[callbackName] != null) {
1923
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
1924
+ }
1925
+ });
1926
+ }
1927
+ return;
1928
+ }
1649
1929
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1650
1930
  });
1651
1931
  };
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
- });
1932
+ // Create an array of attributes to observe
1933
+ // This list in comprised of all strings used within a `@Watch()` decorator
1934
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
1935
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
1936
+ // an invalid attribute.
1937
+ Cstr.observedAttributes = Array.from(new Set([
1938
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
1939
+ ...members
1940
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
1941
+ .map(([propName, m]) => {
1942
+ var _a;
1943
+ const attrName = m[1] || propName;
1944
+ attrNameToPropName.set(attrName, propName);
1945
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1946
+ (_a = cmpMeta.$attrsToReflect$) === null || _a === void 0 ? void 0 : _a.push([propName, attrName]);
1947
+ }
1948
+ return attrName;
1949
+ }),
1950
+ ]));
1664
1951
  }
1665
1952
  }
1666
1953
  return Cstr;
1667
1954
  };
1668
- const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1955
+ /**
1956
+ * Initialize a Stencil component given a reference to its host element, its
1957
+ * runtime bookkeeping data structure, runtime metadata about the component,
1958
+ * and (optionally) an HMR version ID.
1959
+ *
1960
+ * @param elm a host element
1961
+ * @param hostRef the element's runtime bookkeeping object
1962
+ * @param cmpMeta runtime metadata for the Stencil component
1963
+ * @param hmrVersionId an (optional) HMR version ID
1964
+ */
1965
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1966
+ let Cstr;
1669
1967
  // initializeComponent
1670
1968
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1969
+ // Let the runtime know that the component has been initialized
1970
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1671
1971
  {
1672
- // we haven't initialized this element yet
1673
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1674
1972
  // lazy loaded components
1675
1973
  // request the component's implementation to be
1676
1974
  // wired up with the host element
@@ -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,25 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1915
2232
  }
1916
2233
  });
1917
2234
  });
2235
+ // Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
2236
+ if (hasSlotRelocation) {
2237
+ dataStyles.innerHTML += SLOT_FB_CSS;
2238
+ }
2239
+ // Add hydration styles
1918
2240
  {
1919
- visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
1920
- visibilityStyle.setAttribute('data-styles', '');
2241
+ dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
2242
+ }
2243
+ // If we have styles, add them to the DOM
2244
+ if (dataStyles.innerHTML.length) {
2245
+ dataStyles.setAttribute('data-styles', '');
1921
2246
  // Apply CSP nonce to the style tag if it exists
1922
2247
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
1923
2248
  if (nonce != null) {
1924
- visibilityStyle.setAttribute('nonce', nonce);
2249
+ dataStyles.setAttribute('nonce', nonce);
1925
2250
  }
1926
- head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
2251
+ // Insert the styles into the document head
2252
+ // NOTE: this _needs_ to happen last so we can ensure the nonce (and other attributes) are applied
2253
+ head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
1927
2254
  }
1928
2255
  // Process deferred connectedCallbacks now all components have been registered
1929
2256
  isBootstrapping = false;
@@ -1979,13 +2306,40 @@ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !==
1979
2306
  * @returns void
1980
2307
  */
1981
2308
  const setNonce = (nonce) => (plt.$nonce$ = nonce);
2309
+ /**
2310
+ * A WeakMap mapping runtime component references to their corresponding host reference
2311
+ * instances.
2312
+ */
1982
2313
  const hostRefs = /*@__PURE__*/ new WeakMap();
2314
+ /**
2315
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
2316
+ *
2317
+ * @param ref the runtime ref of interest
2318
+ * @returns the Host reference (if found) or undefined
2319
+ */
1983
2320
  const getHostRef = (ref) => hostRefs.get(ref);
2321
+ /**
2322
+ * Register a lazy instance with the {@link hostRefs} object so it's
2323
+ * corresponding {@link d.HostRef} can be retrieved later.
2324
+ *
2325
+ * @param lazyInstance the lazy instance of interest
2326
+ * @param hostRef that instances `HostRef` object
2327
+ * @returns a reference to the host ref WeakMap
2328
+ */
1984
2329
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
1985
- const registerHost = (elm, cmpMeta) => {
2330
+ /**
2331
+ * Register a host element for a Stencil component, setting up various metadata
2332
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
2333
+ * metadata.
2334
+ *
2335
+ * @param hostElement the host element to register
2336
+ * @param cmpMeta runtime metadata for that component
2337
+ * @returns a reference to the host ref WeakMap
2338
+ */
2339
+ const registerHost = (hostElement, cmpMeta) => {
1986
2340
  const hostRef = {
1987
2341
  $flags$: 0,
1988
- $hostElement$: elm,
2342
+ $hostElement$: hostElement,
1989
2343
  $cmpMeta$: cmpMeta,
1990
2344
  $instanceValues$: new Map(),
1991
2345
  };
@@ -1994,11 +2348,11 @@ const registerHost = (elm, cmpMeta) => {
1994
2348
  }
1995
2349
  {
1996
2350
  hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
1997
- elm['s-p'] = [];
1998
- elm['s-rc'] = [];
2351
+ hostElement['s-p'] = [];
2352
+ hostElement['s-rc'] = [];
1999
2353
  }
2000
- addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2001
- return hostRefs.set(elm, hostRef);
2354
+ addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
2355
+ return hostRefs.set(hostElement, hostRef);
2002
2356
  };
2003
2357
  const isMemberInElement = (elm, memberName) => memberName in elm;
2004
2358
  const consoleError = (e, el) => (0, console.error)(e, el);
@@ -2011,7 +2365,216 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2011
2365
  if (module) {
2012
2366
  return module[exportName];
2013
2367
  }
2014
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
2368
+
2369
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
2370
+ const processMod = importedModule => {
2371
+ cmpModules.set(bundleId, importedModule);
2372
+ return importedModule[exportName];
2373
+ }
2374
+ switch(bundleId) {
2375
+
2376
+ case 'six-alert':
2377
+ return import(
2378
+ /* webpackMode: "lazy" */
2379
+ './six-alert.entry.js').then(processMod, consoleError);
2380
+ case 'six-avatar':
2381
+ return import(
2382
+ /* webpackMode: "lazy" */
2383
+ './six-avatar.entry.js').then(processMod, consoleError);
2384
+ case 'six-badge':
2385
+ return import(
2386
+ /* webpackMode: "lazy" */
2387
+ './six-badge.entry.js').then(processMod, consoleError);
2388
+ case 'six-card':
2389
+ return import(
2390
+ /* webpackMode: "lazy" */
2391
+ './six-card.entry.js').then(processMod, consoleError);
2392
+ case 'six-datepicker':
2393
+ return import(
2394
+ /* webpackMode: "lazy" */
2395
+ './six-datepicker.entry.js').then(processMod, consoleError);
2396
+ case 'six-dialog':
2397
+ return import(
2398
+ /* webpackMode: "lazy" */
2399
+ './six-dialog.entry.js').then(processMod, consoleError);
2400
+ case 'six-drawer':
2401
+ return import(
2402
+ /* webpackMode: "lazy" */
2403
+ './six-drawer.entry.js').then(processMod, consoleError);
2404
+ case 'six-error-page':
2405
+ return import(
2406
+ /* webpackMode: "lazy" */
2407
+ './six-error-page.entry.js').then(processMod, consoleError);
2408
+ case 'six-file-list':
2409
+ return import(
2410
+ /* webpackMode: "lazy" */
2411
+ './six-file-list.entry.js').then(processMod, consoleError);
2412
+ case 'six-file-list-item':
2413
+ return import(
2414
+ /* webpackMode: "lazy" */
2415
+ './six-file-list-item.entry.js').then(processMod, consoleError);
2416
+ case 'six-file-upload':
2417
+ return import(
2418
+ /* webpackMode: "lazy" */
2419
+ './six-file-upload.entry.js').then(processMod, consoleError);
2420
+ case 'six-footer':
2421
+ return import(
2422
+ /* webpackMode: "lazy" */
2423
+ './six-footer.entry.js').then(processMod, consoleError);
2424
+ case 'six-group-label':
2425
+ return import(
2426
+ /* webpackMode: "lazy" */
2427
+ './six-group-label.entry.js').then(processMod, consoleError);
2428
+ case 'six-header':
2429
+ return import(
2430
+ /* webpackMode: "lazy" */
2431
+ './six-header.entry.js').then(processMod, consoleError);
2432
+ case 'six-language-switcher':
2433
+ return import(
2434
+ /* webpackMode: "lazy" */
2435
+ './six-language-switcher.entry.js').then(processMod, consoleError);
2436
+ case 'six-layout-grid':
2437
+ return import(
2438
+ /* webpackMode: "lazy" */
2439
+ './six-layout-grid.entry.js').then(processMod, consoleError);
2440
+ case 'six-main-container':
2441
+ return import(
2442
+ /* webpackMode: "lazy" */
2443
+ './six-main-container.entry.js').then(processMod, consoleError);
2444
+ case 'six-menu-divider':
2445
+ return import(
2446
+ /* webpackMode: "lazy" */
2447
+ './six-menu-divider.entry.js').then(processMod, consoleError);
2448
+ case 'six-menu-label':
2449
+ return import(
2450
+ /* webpackMode: "lazy" */
2451
+ './six-menu-label.entry.js').then(processMod, consoleError);
2452
+ case 'six-progress-bar':
2453
+ return import(
2454
+ /* webpackMode: "lazy" */
2455
+ './six-progress-bar.entry.js').then(processMod, consoleError);
2456
+ case 'six-progress-ring':
2457
+ return import(
2458
+ /* webpackMode: "lazy" */
2459
+ './six-progress-ring.entry.js').then(processMod, consoleError);
2460
+ case 'six-radio':
2461
+ return import(
2462
+ /* webpackMode: "lazy" */
2463
+ './six-radio.entry.js').then(processMod, consoleError);
2464
+ case 'six-range':
2465
+ return import(
2466
+ /* webpackMode: "lazy" */
2467
+ './six-range.entry.js').then(processMod, consoleError);
2468
+ case 'six-root':
2469
+ return import(
2470
+ /* webpackMode: "lazy" */
2471
+ './six-root.entry.js').then(processMod, consoleError);
2472
+ case 'six-search-field':
2473
+ return import(
2474
+ /* webpackMode: "lazy" */
2475
+ './six-search-field.entry.js').then(processMod, consoleError);
2476
+ case 'six-select':
2477
+ return import(
2478
+ /* webpackMode: "lazy" */
2479
+ './six-select.entry.js').then(processMod, consoleError);
2480
+ case 'six-sidebar':
2481
+ return import(
2482
+ /* webpackMode: "lazy" */
2483
+ './six-sidebar.entry.js').then(processMod, consoleError);
2484
+ case 'six-sidebar-item':
2485
+ return import(
2486
+ /* webpackMode: "lazy" */
2487
+ './six-sidebar-item.entry.js').then(processMod, consoleError);
2488
+ case 'six-sidebar-item-group':
2489
+ return import(
2490
+ /* webpackMode: "lazy" */
2491
+ './six-sidebar-item-group.entry.js').then(processMod, consoleError);
2492
+ case 'six-switch':
2493
+ return import(
2494
+ /* webpackMode: "lazy" */
2495
+ './six-switch.entry.js').then(processMod, consoleError);
2496
+ case 'six-tab':
2497
+ return import(
2498
+ /* webpackMode: "lazy" */
2499
+ './six-tab.entry.js').then(processMod, consoleError);
2500
+ case 'six-tab-group':
2501
+ return import(
2502
+ /* webpackMode: "lazy" */
2503
+ './six-tab-group.entry.js').then(processMod, consoleError);
2504
+ case 'six-tab-panel':
2505
+ return import(
2506
+ /* webpackMode: "lazy" */
2507
+ './six-tab-panel.entry.js').then(processMod, consoleError);
2508
+ case 'six-tag':
2509
+ return import(
2510
+ /* webpackMode: "lazy" */
2511
+ './six-tag.entry.js').then(processMod, consoleError);
2512
+ case 'six-textarea':
2513
+ return import(
2514
+ /* webpackMode: "lazy" */
2515
+ './six-textarea.entry.js').then(processMod, consoleError);
2516
+ case 'six-tile':
2517
+ return import(
2518
+ /* webpackMode: "lazy" */
2519
+ './six-tile.entry.js').then(processMod, consoleError);
2520
+ case 'set-attributes_2':
2521
+ return import(
2522
+ /* webpackMode: "lazy" */
2523
+ './set-attributes_2.entry.js').then(processMod, consoleError);
2524
+ case 'six-button':
2525
+ return import(
2526
+ /* webpackMode: "lazy" */
2527
+ './six-button.entry.js').then(processMod, consoleError);
2528
+ case 'six-details':
2529
+ return import(
2530
+ /* webpackMode: "lazy" */
2531
+ './six-details.entry.js').then(processMod, consoleError);
2532
+ case 'six-picto':
2533
+ return import(
2534
+ /* webpackMode: "lazy" */
2535
+ './six-picto.entry.js').then(processMod, consoleError);
2536
+ case 'six-timepicker':
2537
+ return import(
2538
+ /* webpackMode: "lazy" */
2539
+ './six-timepicker.entry.js').then(processMod, consoleError);
2540
+ case 'six-dropdown_2':
2541
+ return import(
2542
+ /* webpackMode: "lazy" */
2543
+ './six-dropdown_2.entry.js').then(processMod, consoleError);
2544
+ case 'six-item-picker':
2545
+ return import(
2546
+ /* webpackMode: "lazy" */
2547
+ './six-item-picker.entry.js').then(processMod, consoleError);
2548
+ case 'six-spinner':
2549
+ return import(
2550
+ /* webpackMode: "lazy" */
2551
+ './six-spinner.entry.js').then(processMod, consoleError);
2552
+ case 'six-tooltip':
2553
+ return import(
2554
+ /* webpackMode: "lazy" */
2555
+ './six-tooltip.entry.js').then(processMod, consoleError);
2556
+ case 'six-checkbox_2':
2557
+ return import(
2558
+ /* webpackMode: "lazy" */
2559
+ './six-checkbox_2.entry.js').then(processMod, consoleError);
2560
+ case 'six-input':
2561
+ return import(
2562
+ /* webpackMode: "lazy" */
2563
+ './six-input.entry.js').then(processMod, consoleError);
2564
+ case 'six-icon-button':
2565
+ return import(
2566
+ /* webpackMode: "lazy" */
2567
+ './six-icon-button.entry.js').then(processMod, consoleError);
2568
+ case 'six-error':
2569
+ return import(
2570
+ /* webpackMode: "lazy" */
2571
+ './six-error.entry.js').then(processMod, consoleError);
2572
+ case 'six-icon':
2573
+ return import(
2574
+ /* webpackMode: "lazy" */
2575
+ './six-icon.entry.js').then(processMod, consoleError);
2576
+ }
2577
+ }
2015
2578
  return import(
2016
2579
  /* @vite-ignore */
2017
2580
  /* webpackInclude: /\.entry\.js$/ */
@@ -2027,8 +2590,6 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2027
2590
  const styles = /*@__PURE__*/ new Map();
2028
2591
  const win = typeof window !== 'undefined' ? window : {};
2029
2592
  const doc = win.document || { head: {} };
2030
- const H = (win.HTMLElement || class {
2031
- });
2032
2593
  const plt = {
2033
2594
  $flags$: 0,
2034
2595
  $resourcesUrl$: '',
@@ -2088,9 +2649,9 @@ const flush = () => {
2088
2649
  }
2089
2650
  }
2090
2651
  };
2091
- const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
2652
+ const nextTick = (cb) => promiseResolve().then(cb);
2092
2653
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
2093
2654
 
2094
- export { Host as H, H as a, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
2655
+ export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
2095
2656
 
2096
- //# sourceMappingURL=index-371fb9d4.js.map
2657
+ //# sourceMappingURL=index-6c10d50b.js.map