@six-group/ui-library 0.0.0-insider.cd0cd0d → 0.0.0-insider.d005298

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 (1139) 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/{esm/form-0b9c11cd.js.map → cjs/form-9ebaae7c.js.map} +1 -1
  12. package/dist/cjs/form-control-8d64e974.js +36 -0
  13. package/dist/cjs/form-control-8d64e974.js.map +1 -0
  14. package/dist/cjs/{index-2f6daa5b.js → index-d7748d51.js} +587 -480
  15. package/dist/cjs/index-d7748d51.js.map +1 -0
  16. package/dist/cjs/index.cjs.js +55 -87
  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-8885d50f.js → popover-1e7c09f1.js} +99 -99
  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/six-alert.cjs.entry.js +142 -110
  29. package/dist/cjs/six-alert.cjs.entry.js.map +1 -1
  30. package/dist/cjs/six-avatar.cjs.entry.js +21 -21
  31. package/dist/cjs/six-avatar.cjs.entry.js.map +1 -1
  32. package/dist/cjs/six-badge.cjs.entry.js +23 -23
  33. package/dist/cjs/six-badge.cjs.entry.js.map +1 -1
  34. package/dist/cjs/six-button.cjs.entry.js +95 -95
  35. package/dist/cjs/six-button.cjs.entry.js.map +1 -1
  36. package/dist/cjs/six-card.cjs.entry.js +8 -8
  37. package/dist/cjs/six-card.cjs.entry.js.map +1 -1
  38. package/dist/cjs/six-checkbox_2.cjs.entry.js +190 -0
  39. package/dist/cjs/six-checkbox_2.cjs.entry.js.map +1 -0
  40. package/dist/cjs/six-datepicker.cjs.entry.js +861 -838
  41. package/dist/cjs/six-datepicker.cjs.entry.js.map +1 -1
  42. package/dist/cjs/six-details.cjs.entry.js +127 -127
  43. package/dist/cjs/six-details.cjs.entry.js.map +1 -1
  44. package/dist/cjs/six-dialog.cjs.entry.js +131 -129
  45. package/dist/cjs/six-dialog.cjs.entry.js.map +1 -1
  46. package/dist/cjs/six-drawer.cjs.entry.js +147 -147
  47. package/dist/cjs/six-drawer.cjs.entry.js.map +1 -1
  48. package/dist/cjs/six-dropdown_2.cjs.entry.js +709 -637
  49. package/dist/cjs/six-dropdown_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/six-error-page.cjs.entry.js +82 -82
  51. package/dist/cjs/six-error-page.cjs.entry.js.map +1 -1
  52. package/dist/cjs/six-error.cjs.entry.js +21 -0
  53. package/dist/cjs/six-error.cjs.entry.js.map +1 -0
  54. package/dist/cjs/six-file-list-item.cjs.entry.js +34 -34
  55. package/dist/cjs/six-file-list-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/six-file-list.cjs.entry.js +7 -7
  57. package/dist/cjs/six-file-list.cjs.entry.js.map +1 -1
  58. package/dist/cjs/six-file-upload.cjs.entry.js +99 -99
  59. package/dist/cjs/six-file-upload.cjs.entry.js.map +1 -1
  60. package/dist/cjs/six-footer.cjs.entry.js +8 -8
  61. package/dist/cjs/six-footer.cjs.entry.js.map +1 -1
  62. package/dist/cjs/six-group-label.cjs.entry.js +43 -43
  63. package/dist/cjs/six-group-label.cjs.entry.js.map +1 -1
  64. package/dist/cjs/six-header.cjs.entry.js +171 -156
  65. package/dist/cjs/six-header.cjs.entry.js.map +1 -1
  66. package/dist/cjs/six-icon-button.cjs.entry.js +32 -32
  67. package/dist/cjs/six-icon-button.cjs.entry.js.map +1 -1
  68. package/dist/cjs/six-icon.cjs.entry.js +22 -22
  69. package/dist/cjs/six-icon.cjs.entry.js.map +1 -1
  70. package/dist/cjs/six-input.cjs.entry.js +192 -187
  71. package/dist/cjs/six-input.cjs.entry.js.map +1 -1
  72. package/dist/cjs/six-item-picker.cjs.entry.js +405 -309
  73. package/dist/cjs/six-item-picker.cjs.entry.js.map +1 -1
  74. package/dist/cjs/six-language-switcher.cjs.entry.js +46 -46
  75. package/dist/cjs/six-language-switcher.cjs.entry.js.map +1 -1
  76. package/dist/cjs/six-layout-grid.cjs.entry.js +20 -20
  77. package/dist/cjs/six-layout-grid.cjs.entry.js.map +1 -1
  78. package/dist/cjs/six-main-container.cjs.entry.js +9 -9
  79. package/dist/cjs/six-main-container.cjs.entry.js.map +1 -1
  80. package/dist/cjs/six-menu-divider.cjs.entry.js +8 -8
  81. package/dist/cjs/six-menu-divider.cjs.entry.js.map +1 -1
  82. package/dist/cjs/six-menu-label.cjs.entry.js +8 -8
  83. package/dist/cjs/six-menu-label.cjs.entry.js.map +1 -1
  84. package/dist/cjs/six-picto.cjs.entry.js +14 -14
  85. package/dist/cjs/six-picto.cjs.entry.js.map +1 -1
  86. package/dist/cjs/six-progress-bar.cjs.entry.js +15 -15
  87. package/dist/cjs/six-progress-bar.cjs.entry.js.map +1 -1
  88. package/dist/cjs/six-progress-ring.cjs.entry.js +30 -30
  89. package/dist/cjs/six-progress-ring.cjs.entry.js.map +1 -1
  90. package/dist/cjs/six-radio.cjs.entry.js +104 -112
  91. package/dist/cjs/six-radio.cjs.entry.js.map +1 -1
  92. package/dist/cjs/six-range.cjs.entry.js +180 -177
  93. package/dist/cjs/six-range.cjs.entry.js.map +1 -1
  94. package/dist/cjs/six-root.cjs.entry.js +11 -30
  95. package/dist/cjs/six-root.cjs.entry.js.map +1 -1
  96. package/dist/cjs/six-search-field.cjs.entry.js +44 -44
  97. package/dist/cjs/six-search-field.cjs.entry.js.map +1 -1
  98. package/dist/cjs/six-select.cjs.entry.js +496 -361
  99. package/dist/cjs/six-select.cjs.entry.js.map +1 -1
  100. package/dist/cjs/six-sidebar-item-group.cjs.entry.js +56 -45
  101. package/dist/cjs/six-sidebar-item-group.cjs.entry.js.map +1 -1
  102. package/dist/cjs/six-sidebar-item.cjs.entry.js +17 -15
  103. package/dist/cjs/six-sidebar-item.cjs.entry.js.map +1 -1
  104. package/dist/cjs/six-sidebar.cjs.entry.js +174 -174
  105. package/dist/cjs/six-sidebar.cjs.entry.js.map +1 -1
  106. package/dist/cjs/six-spinner.cjs.entry.js +15 -15
  107. package/dist/cjs/six-spinner.cjs.entry.js.map +1 -1
  108. package/dist/cjs/six-stage-indicator.cjs.entry.js +22 -0
  109. package/dist/cjs/six-stage-indicator.cjs.entry.js.map +1 -0
  110. package/dist/cjs/six-switch.cjs.entry.js +107 -87
  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 +181 -178
  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 -353
  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 +54 -54
  135. package/dist/collection/components/six-alert/six-alert.css +5 -1
  136. package/dist/collection/components/six-alert/six-alert.js +383 -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 -444
  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 +424 -420
  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 +1062 -1035
  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 +361 -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 +988 -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 +975 -913
  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 -340
  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 +568 -540
  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 +85 -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 +36 -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 +1123 -920
  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 +5 -2
  358. package/dist/collection/components/six-switch/six-switch.js +389 -341
  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 +796 -757
  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 +832 -813
  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 -18
  399. package/dist/collection/functional-components/form-control/form-control.js.map +1 -1
  400. package/dist/collection/index.js +1 -0
  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 +526 -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 +102 -81
  413. package/dist/collection/utils/error-messages.js.map +1 -1
  414. package/dist/collection/utils/event-listeners.js +51 -51
  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 +12 -12
  421. package/dist/collection/utils/form.js.map +1 -1
  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/components/event-listeners.js +51 -51
  445. package/dist/components/event-listeners.js.map +1 -1
  446. package/dist/components/execution-control.js +14 -14
  447. package/dist/components/execution-control.js.map +1 -1
  448. package/dist/components/focus-visible.js +28 -28
  449. package/dist/components/focus-visible.js.map +1 -1
  450. package/dist/components/form-control.js +26 -23
  451. package/dist/components/form-control.js.map +1 -1
  452. package/dist/components/form.js +12 -12
  453. package/dist/components/form.js.map +1 -1
  454. package/dist/components/index.d.ts +6 -0
  455. package/dist/components/index.js +113 -149
  456. package/dist/components/index.js.map +1 -1
  457. package/dist/components/modal.js +35 -35
  458. package/dist/components/modal.js.map +1 -1
  459. package/dist/components/popover.js +98 -98
  460. package/dist/components/popover.js.map +1 -1
  461. package/dist/components/scroll.js +32 -32
  462. package/dist/components/scroll.js.map +1 -1
  463. package/dist/components/six-alert.d.ts +2 -2
  464. package/dist/components/six-alert.js +177 -142
  465. package/dist/components/six-alert.js.map +1 -1
  466. package/dist/components/six-avatar.d.ts +2 -2
  467. package/dist/components/six-avatar.js +45 -45
  468. package/dist/components/six-avatar.js.map +1 -1
  469. package/dist/components/six-badge.d.ts +2 -2
  470. package/dist/components/six-badge.js +40 -40
  471. package/dist/components/six-badge.js.map +1 -1
  472. package/dist/components/six-button.d.ts +2 -2
  473. package/dist/components/six-button.js +1 -142
  474. package/dist/components/six-button.js.map +1 -1
  475. package/dist/components/six-button2.js +146 -0
  476. package/dist/components/six-button2.js.map +1 -0
  477. package/dist/components/six-card.d.ts +2 -2
  478. package/dist/components/six-card.js +21 -21
  479. package/dist/components/six-card.js.map +1 -1
  480. package/dist/components/six-checkbox.d.ts +2 -2
  481. package/dist/components/six-checkbox.js +1 -154
  482. package/dist/components/six-checkbox.js.map +1 -1
  483. package/dist/components/six-checkbox2.js +165 -0
  484. package/dist/components/six-checkbox2.js.map +1 -0
  485. package/dist/components/six-datepicker.d.ts +2 -2
  486. package/dist/components/six-datepicker.js +932 -899
  487. package/dist/components/six-datepicker.js.map +1 -1
  488. package/dist/components/six-details.d.ts +2 -2
  489. package/dist/components/six-details2.js +158 -156
  490. package/dist/components/six-details2.js.map +1 -1
  491. package/dist/components/six-dialog.d.ts +2 -2
  492. package/dist/components/six-dialog.js +161 -157
  493. package/dist/components/six-dialog.js.map +1 -1
  494. package/dist/components/six-drawer.d.ts +2 -2
  495. package/dist/components/six-drawer.js +179 -177
  496. package/dist/components/six-drawer.js.map +1 -1
  497. package/dist/components/six-dropdown.d.ts +2 -2
  498. package/dist/components/six-dropdown2.js +553 -464
  499. package/dist/components/six-dropdown2.js.map +1 -1
  500. package/dist/components/six-error-page.d.ts +2 -2
  501. package/dist/components/six-error-page.js +106 -106
  502. package/dist/components/six-error-page.js.map +1 -1
  503. package/dist/components/{set-attributes.d.ts → six-error.d.ts} +4 -4
  504. package/dist/components/six-error.js +8 -0
  505. package/dist/components/six-error.js.map +1 -0
  506. package/dist/components/six-error2.js +32 -0
  507. package/dist/components/six-error2.js.map +1 -0
  508. package/dist/components/six-file-list-item.d.ts +2 -2
  509. package/dist/components/six-file-list-item.js +59 -59
  510. package/dist/components/six-file-list-item.js.map +1 -1
  511. package/dist/components/six-file-list.d.ts +2 -2
  512. package/dist/components/six-file-list.js +20 -20
  513. package/dist/components/six-file-list.js.map +1 -1
  514. package/dist/components/six-file-upload.d.ts +2 -2
  515. package/dist/components/six-file-upload.js +124 -124
  516. package/dist/components/six-file-upload.js.map +1 -1
  517. package/dist/components/six-footer.d.ts +2 -2
  518. package/dist/components/six-footer.js +21 -21
  519. package/dist/components/six-footer.js.map +1 -1
  520. package/dist/components/six-group-label.d.ts +2 -2
  521. package/dist/components/six-group-label.js +71 -62
  522. package/dist/components/six-group-label.js.map +1 -1
  523. package/dist/components/six-header.d.ts +2 -2
  524. package/dist/components/six-header.js +237 -207
  525. package/dist/components/six-header.js.map +1 -1
  526. package/dist/components/six-icon-button.d.ts +2 -2
  527. package/dist/components/six-icon-button2.js +55 -55
  528. package/dist/components/six-icon-button2.js.map +1 -1
  529. package/dist/components/six-icon.d.ts +2 -2
  530. package/dist/components/six-icon2.js +38 -38
  531. package/dist/components/six-icon2.js.map +1 -1
  532. package/dist/components/six-input.d.ts +2 -2
  533. package/dist/components/six-input2.js +258 -239
  534. package/dist/components/six-input2.js.map +1 -1
  535. package/dist/components/six-item-picker.d.ts +2 -2
  536. package/dist/components/six-item-picker2.js +450 -348
  537. package/dist/components/six-item-picker2.js.map +1 -1
  538. package/dist/components/six-language-switcher.d.ts +2 -2
  539. package/dist/components/six-language-switcher.js +64 -62
  540. package/dist/components/six-language-switcher.js.map +1 -1
  541. package/dist/components/six-layout-grid.d.ts +2 -2
  542. package/dist/components/six-layout-grid.js +37 -35
  543. package/dist/components/six-layout-grid.js.map +1 -1
  544. package/dist/components/six-main-container.d.ts +2 -2
  545. package/dist/components/six-main-container.js +24 -24
  546. package/dist/components/six-main-container.js.map +1 -1
  547. package/dist/components/six-menu-divider.d.ts +2 -2
  548. package/dist/components/six-menu-divider.js +21 -21
  549. package/dist/components/six-menu-divider.js.map +1 -1
  550. package/dist/components/six-menu-item.d.ts +2 -2
  551. package/dist/components/six-menu-item2.js +98 -75
  552. package/dist/components/six-menu-item2.js.map +1 -1
  553. package/dist/components/six-menu-label.d.ts +2 -2
  554. package/dist/components/six-menu-label.js +21 -21
  555. package/dist/components/six-menu-label.js.map +1 -1
  556. package/dist/components/six-menu.d.ts +2 -2
  557. package/dist/components/six-menu2.js +236 -220
  558. package/dist/components/six-menu2.js.map +1 -1
  559. package/dist/components/six-picto.d.ts +2 -2
  560. package/dist/components/six-picto2.js +29 -29
  561. package/dist/components/six-picto2.js.map +1 -1
  562. package/dist/components/six-progress-bar.d.ts +2 -2
  563. package/dist/components/six-progress-bar.js +31 -31
  564. package/dist/components/six-progress-bar.js.map +1 -1
  565. package/dist/components/six-progress-ring.d.ts +2 -2
  566. package/dist/components/six-progress-ring.js +49 -47
  567. package/dist/components/six-progress-ring.js.map +1 -1
  568. package/dist/components/six-radio.d.ts +2 -2
  569. package/dist/components/six-radio.js +128 -134
  570. package/dist/components/six-radio.js.map +1 -1
  571. package/dist/components/six-range.d.ts +2 -2
  572. package/dist/components/six-range.js +233 -215
  573. package/dist/components/six-range.js.map +1 -1
  574. package/dist/components/six-root.d.ts +2 -2
  575. package/dist/components/six-root.js +39 -66
  576. package/dist/components/six-root.js.map +1 -1
  577. package/dist/components/six-search-field.d.ts +2 -2
  578. package/dist/components/six-search-field.js +79 -71
  579. package/dist/components/six-search-field.js.map +1 -1
  580. package/dist/components/six-select.d.ts +2 -2
  581. package/dist/components/six-select.js +713 -438
  582. package/dist/components/six-select.js.map +1 -1
  583. package/dist/components/six-sidebar-item-group.d.ts +2 -2
  584. package/dist/components/six-sidebar-item-group.js +87 -75
  585. package/dist/components/six-sidebar-item-group.js.map +1 -1
  586. package/dist/components/six-sidebar-item.d.ts +2 -2
  587. package/dist/components/six-sidebar-item.js +35 -32
  588. package/dist/components/six-sidebar-item.js.map +1 -1
  589. package/dist/components/six-sidebar.d.ts +2 -2
  590. package/dist/components/six-sidebar.js +199 -197
  591. package/dist/components/six-sidebar.js.map +1 -1
  592. package/dist/components/six-spinner.d.ts +2 -2
  593. package/dist/components/six-spinner2.js +30 -30
  594. package/dist/components/six-spinner2.js.map +1 -1
  595. package/dist/components/six-stage-indicator.d.ts +2 -2
  596. package/dist/components/six-stage-indicator2.js +29 -29
  597. package/dist/components/six-stage-indicator2.js.map +1 -1
  598. package/dist/components/six-switch.d.ts +2 -2
  599. package/dist/components/six-switch.js +142 -110
  600. package/dist/components/six-switch.js.map +1 -1
  601. package/dist/components/six-tab-group.d.ts +2 -2
  602. package/dist/components/six-tab-group.js +260 -263
  603. package/dist/components/six-tab-group.js.map +1 -1
  604. package/dist/components/six-tab-panel.d.ts +2 -2
  605. package/dist/components/six-tab-panel.js +30 -30
  606. package/dist/components/six-tab-panel.js.map +1 -1
  607. package/dist/components/six-tab.d.ts +2 -2
  608. package/dist/components/six-tab.js +85 -69
  609. package/dist/components/six-tab.js.map +1 -1
  610. package/dist/components/six-tag.d.ts +2 -2
  611. package/dist/components/six-tag.js +98 -1
  612. package/dist/components/six-tag.js.map +1 -1
  613. package/dist/components/six-textarea.d.ts +2 -2
  614. package/dist/components/six-textarea.js +235 -218
  615. package/dist/components/six-textarea.js.map +1 -1
  616. package/dist/components/six-tile.d.ts +2 -2
  617. package/dist/components/six-tile.js +117 -117
  618. package/dist/components/six-tile.js.map +1 -1
  619. package/dist/components/six-timepicker.d.ts +2 -2
  620. package/dist/components/six-timepicker2.js +491 -487
  621. package/dist/components/six-timepicker2.js.map +1 -1
  622. package/dist/components/six-tooltip.d.ts +2 -2
  623. package/dist/components/six-tooltip2.js +172 -170
  624. package/dist/components/six-tooltip2.js.map +1 -1
  625. package/dist/components/slot.js +29 -30
  626. package/dist/components/slot.js.map +1 -1
  627. package/dist/components.d.ts +341 -88
  628. package/dist/components.json +4665 -242
  629. package/dist/esm/error-messages-1eaaad23.js +115 -0
  630. package/dist/esm/error-messages-1eaaad23.js.map +1 -0
  631. package/dist/esm/event-listeners-706d4309.js +59 -0
  632. package/dist/esm/event-listeners-706d4309.js.map +1 -0
  633. package/dist/esm/{execution-control-72cc50f4.js → execution-control-2ebaf4ef.js} +15 -15
  634. package/dist/esm/execution-control-2ebaf4ef.js.map +1 -0
  635. package/dist/esm/focus-visible-d9dbfeef.js +45 -0
  636. package/dist/esm/focus-visible-d9dbfeef.js.map +1 -0
  637. package/dist/esm/form-4b145b7a.js +18 -0
  638. package/dist/esm/form-4b145b7a.js.map +1 -0
  639. package/dist/esm/form-control-d403a9cf.js +34 -0
  640. package/dist/esm/form-control-d403a9cf.js.map +1 -0
  641. package/dist/esm/{index-5c0f6628.js → index-79d4ef67.js} +587 -480
  642. package/dist/esm/index-79d4ef67.js.map +1 -0
  643. package/dist/esm/index.js +52 -87
  644. package/dist/esm/index.js.map +1 -1
  645. package/dist/esm/loader.js +4 -13
  646. package/dist/esm/loader.js.map +1 -1
  647. package/dist/esm/modal-96526245.js +49 -0
  648. package/dist/esm/modal-96526245.js.map +1 -0
  649. package/dist/esm/{popover-2e72e7d8.js → popover-25996e62.js} +99 -99
  650. package/dist/esm/popover-25996e62.js.map +1 -0
  651. package/dist/esm/popup-7209e9d5.js +98 -0
  652. package/dist/esm/popup-7209e9d5.js.map +1 -0
  653. package/dist/esm/scroll-3e16851e.js +64 -0
  654. package/dist/esm/scroll-3e16851e.js.map +1 -0
  655. package/dist/esm/six-alert.entry.js +142 -110
  656. package/dist/esm/six-alert.entry.js.map +1 -1
  657. package/dist/esm/six-avatar.entry.js +21 -21
  658. package/dist/esm/six-avatar.entry.js.map +1 -1
  659. package/dist/esm/six-badge.entry.js +23 -23
  660. package/dist/esm/six-badge.entry.js.map +1 -1
  661. package/dist/esm/six-button.entry.js +95 -95
  662. package/dist/esm/six-button.entry.js.map +1 -1
  663. package/dist/esm/six-card.entry.js +8 -8
  664. package/dist/esm/six-card.entry.js.map +1 -1
  665. package/dist/esm/six-checkbox_2.entry.js +185 -0
  666. package/dist/esm/six-checkbox_2.entry.js.map +1 -0
  667. package/dist/esm/six-datepicker.entry.js +861 -838
  668. package/dist/esm/six-datepicker.entry.js.map +1 -1
  669. package/dist/esm/six-details.entry.js +127 -127
  670. package/dist/esm/six-details.entry.js.map +1 -1
  671. package/dist/esm/six-dialog.entry.js +131 -129
  672. package/dist/esm/six-dialog.entry.js.map +1 -1
  673. package/dist/esm/six-drawer.entry.js +147 -147
  674. package/dist/esm/six-drawer.entry.js.map +1 -1
  675. package/dist/esm/six-dropdown_2.entry.js +709 -637
  676. package/dist/esm/six-dropdown_2.entry.js.map +1 -1
  677. package/dist/esm/six-error-page.entry.js +82 -82
  678. package/dist/esm/six-error-page.entry.js.map +1 -1
  679. package/dist/esm/six-error.entry.js +17 -0
  680. package/dist/esm/six-error.entry.js.map +1 -0
  681. package/dist/esm/six-file-list-item.entry.js +34 -34
  682. package/dist/esm/six-file-list-item.entry.js.map +1 -1
  683. package/dist/esm/six-file-list.entry.js +7 -7
  684. package/dist/esm/six-file-list.entry.js.map +1 -1
  685. package/dist/esm/six-file-upload.entry.js +99 -99
  686. package/dist/esm/six-file-upload.entry.js.map +1 -1
  687. package/dist/esm/six-footer.entry.js +8 -8
  688. package/dist/esm/six-footer.entry.js.map +1 -1
  689. package/dist/esm/six-group-label.entry.js +43 -43
  690. package/dist/esm/six-group-label.entry.js.map +1 -1
  691. package/dist/esm/six-header.entry.js +171 -156
  692. package/dist/esm/six-header.entry.js.map +1 -1
  693. package/dist/esm/six-icon-button.entry.js +32 -32
  694. package/dist/esm/six-icon-button.entry.js.map +1 -1
  695. package/dist/esm/six-icon.entry.js +22 -22
  696. package/dist/esm/six-icon.entry.js.map +1 -1
  697. package/dist/esm/six-input.entry.js +192 -187
  698. package/dist/esm/six-input.entry.js.map +1 -1
  699. package/dist/esm/six-item-picker.entry.js +405 -309
  700. package/dist/esm/six-item-picker.entry.js.map +1 -1
  701. package/dist/esm/six-language-switcher.entry.js +46 -46
  702. package/dist/esm/six-language-switcher.entry.js.map +1 -1
  703. package/dist/esm/six-layout-grid.entry.js +20 -20
  704. package/dist/esm/six-layout-grid.entry.js.map +1 -1
  705. package/dist/esm/six-main-container.entry.js +9 -9
  706. package/dist/esm/six-main-container.entry.js.map +1 -1
  707. package/dist/esm/six-menu-divider.entry.js +8 -8
  708. package/dist/esm/six-menu-divider.entry.js.map +1 -1
  709. package/dist/esm/six-menu-label.entry.js +8 -8
  710. package/dist/esm/six-menu-label.entry.js.map +1 -1
  711. package/dist/esm/six-picto.entry.js +14 -14
  712. package/dist/esm/six-picto.entry.js.map +1 -1
  713. package/dist/esm/six-progress-bar.entry.js +15 -15
  714. package/dist/esm/six-progress-bar.entry.js.map +1 -1
  715. package/dist/esm/six-progress-ring.entry.js +30 -30
  716. package/dist/esm/six-progress-ring.entry.js.map +1 -1
  717. package/dist/esm/six-radio.entry.js +104 -112
  718. package/dist/esm/six-radio.entry.js.map +1 -1
  719. package/dist/esm/six-range.entry.js +180 -177
  720. package/dist/esm/six-range.entry.js.map +1 -1
  721. package/dist/esm/six-root.entry.js +11 -30
  722. package/dist/esm/six-root.entry.js.map +1 -1
  723. package/dist/esm/six-search-field.entry.js +44 -44
  724. package/dist/esm/six-search-field.entry.js.map +1 -1
  725. package/dist/esm/six-select.entry.js +496 -361
  726. package/dist/esm/six-select.entry.js.map +1 -1
  727. package/dist/esm/six-sidebar-item-group.entry.js +56 -45
  728. package/dist/esm/six-sidebar-item-group.entry.js.map +1 -1
  729. package/dist/esm/six-sidebar-item.entry.js +17 -15
  730. package/dist/esm/six-sidebar-item.entry.js.map +1 -1
  731. package/dist/esm/six-sidebar.entry.js +174 -174
  732. package/dist/esm/six-sidebar.entry.js.map +1 -1
  733. package/dist/esm/six-spinner.entry.js +15 -15
  734. package/dist/esm/six-spinner.entry.js.map +1 -1
  735. package/dist/esm/six-stage-indicator.entry.js +18 -0
  736. package/dist/esm/six-stage-indicator.entry.js.map +1 -0
  737. package/dist/esm/six-switch.entry.js +107 -87
  738. package/dist/esm/six-switch.entry.js.map +1 -1
  739. package/dist/esm/six-tab-group.entry.js +230 -235
  740. package/dist/esm/six-tab-group.entry.js.map +1 -1
  741. package/dist/esm/six-tab-panel.entry.js +14 -14
  742. package/dist/esm/six-tab-panel.entry.js.map +1 -1
  743. package/dist/esm/six-tab.entry.js +55 -39
  744. package/dist/esm/six-tab.entry.js.map +1 -1
  745. package/dist/esm/six-tag.entry.js +55 -33
  746. package/dist/esm/six-tag.entry.js.map +1 -1
  747. package/dist/esm/six-textarea.entry.js +181 -178
  748. package/dist/esm/six-textarea.entry.js.map +1 -1
  749. package/dist/esm/six-tile.entry.js +77 -77
  750. package/dist/esm/six-tile.entry.js.map +1 -1
  751. package/dist/esm/six-timepicker.entry.js +348 -353
  752. package/dist/esm/six-timepicker.entry.js.map +1 -1
  753. package/dist/esm/six-tooltip.entry.js +148 -148
  754. package/dist/esm/six-tooltip.entry.js.map +1 -1
  755. package/dist/esm/slot-56531341.js +47 -0
  756. package/dist/esm/slot-56531341.js.map +1 -0
  757. package/dist/esm/types-a07bb999.js +19 -0
  758. package/dist/esm/types-a07bb999.js.map +1 -0
  759. package/dist/esm/ui-library.js +4 -7
  760. package/dist/esm/ui-library.js.map +1 -1
  761. package/dist/types/components/six-alert/six-alert.d.ts +47 -40
  762. package/dist/types/components/six-avatar/six-avatar.d.ts +11 -11
  763. package/dist/types/components/six-badge/six-badge.d.ts +7 -7
  764. package/dist/types/components/six-button/six-button.d.ts +48 -48
  765. package/dist/types/components/six-card/six-card.d.ts +1 -1
  766. package/dist/types/components/six-checkbox/six-checkbox.d.ts +58 -59
  767. package/dist/types/components/six-datepicker/components/day-selection.d.ts +3 -3
  768. package/dist/types/components/six-datepicker/components/month-selection.d.ts +3 -3
  769. package/dist/types/components/six-datepicker/components/year-selection.d.ts +3 -3
  770. package/dist/types/components/six-datepicker/six-date-formats.d.ts +20 -20
  771. package/dist/types/components/six-datepicker/six-datepicker.d.ts +188 -186
  772. package/dist/types/components/six-details/six-details.d.ts +42 -42
  773. package/dist/types/components/six-dialog/six-dialog.d.ts +51 -50
  774. package/dist/types/components/six-drawer/six-drawer.d.ts +58 -58
  775. package/dist/types/components/six-dropdown/six-dropdown.d.ts +131 -112
  776. package/dist/types/components/six-error/six-error.d.ts +9 -0
  777. package/dist/types/components/six-error-page/six-error-page.d.ts +25 -25
  778. package/dist/types/components/six-file-list/six-file-list.d.ts +1 -1
  779. package/dist/types/components/six-file-list-item/six-file-list-item.d.ts +23 -23
  780. package/dist/types/components/six-file-upload/six-file-upload.d.ts +33 -33
  781. package/dist/types/components/six-footer/six-footer.d.ts +1 -1
  782. package/dist/types/components/six-group-label/six-group-label.d.ts +22 -22
  783. package/dist/types/components/six-header/six-header.d.ts +59 -55
  784. package/dist/types/components/six-icon/six-icon.d.ts +5 -5
  785. package/dist/types/components/six-icon-button/six-icon-button.d.ts +18 -18
  786. package/dist/types/components/six-input/six-input.d.ts +112 -103
  787. package/dist/types/components/six-item-picker/six-item-picker.d.ts +95 -88
  788. package/dist/types/components/six-item-picker/types.d.ts +7 -7
  789. package/dist/types/components/six-language-switcher/six-language-switcher.d.ts +15 -15
  790. package/dist/types/components/six-layout-grid/six-layout-grid.d.ts +6 -6
  791. package/dist/types/components/six-main-container/six-main-container.d.ts +4 -4
  792. package/dist/types/components/six-menu/six-menu.d.ts +67 -63
  793. package/dist/types/components/six-menu-divider/six-menu-divider.d.ts +1 -1
  794. package/dist/types/components/six-menu-item/six-menu-item.d.ts +27 -21
  795. package/dist/types/components/six-menu-label/six-menu-label.d.ts +1 -1
  796. package/dist/types/components/six-picto/six-picto.d.ts +6 -6
  797. package/dist/types/components/six-progress-bar/six-progress-bar.d.ts +5 -5
  798. package/dist/types/components/six-progress-ring/six-progress-ring.d.ts +11 -11
  799. package/dist/types/components/six-radio/six-radio.d.ts +38 -43
  800. package/dist/types/components/six-range/six-range.d.ts +75 -72
  801. package/dist/types/components/six-root/six-root.d.ts +8 -21
  802. package/dist/types/components/six-search-field/six-search-field.d.ts +20 -20
  803. package/dist/types/components/six-select/six-select.d.ts +137 -119
  804. package/dist/types/components/six-select/util.d.ts +1 -1
  805. package/dist/types/components/six-sidebar/six-sidebar.d.ts +45 -45
  806. package/dist/types/components/six-sidebar-item/six-sidebar-item.d.ts +12 -7
  807. package/dist/types/components/six-sidebar-item-group/six-sidebar-item-group.d.ts +25 -19
  808. package/dist/types/components/six-spinner/six-spinner.d.ts +6 -5
  809. package/dist/types/components/six-stage-indicator/six-stage-indicator.d.ts +3 -3
  810. package/dist/types/components/six-switch/six-switch.d.ts +49 -42
  811. package/dist/types/components/six-tab/six-tab.d.ts +20 -20
  812. package/dist/types/components/six-tab-group/six-tab-group.d.ts +35 -38
  813. package/dist/types/components/six-tab-panel/six-tab-panel.d.ts +7 -7
  814. package/dist/types/components/six-tag/six-tag.d.ts +20 -12
  815. package/dist/types/components/six-textarea/six-textarea.d.ts +89 -86
  816. package/dist/types/components/six-tile/six-tile.d.ts +31 -31
  817. package/dist/types/components/six-timepicker/six-timepicker.d.ts +154 -151
  818. package/dist/types/components/six-tooltip/six-tooltip.d.ts +55 -55
  819. package/dist/types/components.d.ts +565 -72
  820. package/dist/types/functional-components/form-control/form-control.d.ts +32 -28
  821. package/dist/types/index.d.ts +1 -0
  822. package/dist/types/stencil-public-runtime.d.ts +49 -5
  823. package/dist/types/types.d.ts +1 -0
  824. package/dist/types/utils/alert.d.ts +10 -0
  825. package/dist/types/utils/animation.d.ts +12 -0
  826. package/dist/types/utils/date-util.d.ts +58 -50
  827. package/dist/types/utils/error-messages.d.ts +27 -25
  828. package/dist/types/utils/event-listeners.d.ts +11 -11
  829. package/dist/types/utils/focus-visible.d.ts +2 -2
  830. package/dist/types/utils/modal.d.ts +8 -8
  831. package/dist/types/utils/offset.d.ts +2 -2
  832. package/dist/types/utils/popover.d.ts +21 -21
  833. package/dist/types/utils/slot.d.ts +0 -1
  834. package/dist/types/utils/time.util.d.ts +6 -6
  835. package/dist/types/utils/types.d.ts +1 -1
  836. package/dist/ui-library/index.esm.js +1 -1
  837. package/dist/ui-library/index.esm.js.map +1 -1
  838. package/dist/ui-library/{p-9337cdd6.entry.js → p-0440335d.entry.js} +2 -2
  839. package/dist/ui-library/p-0440335d.entry.js.map +1 -0
  840. package/dist/ui-library/p-04cc397c.entry.js +2 -0
  841. package/dist/ui-library/p-04cc397c.entry.js.map +1 -0
  842. package/dist/ui-library/{p-0cc08e91.js → p-06ba4450.js} +1 -1
  843. package/dist/ui-library/p-06ba4450.js.map +1 -0
  844. package/dist/ui-library/p-0cebf1d2.js +2 -0
  845. package/dist/ui-library/p-0cebf1d2.js.map +1 -0
  846. package/dist/ui-library/p-0edd3091.entry.js +2 -0
  847. package/dist/ui-library/p-0edd3091.entry.js.map +1 -0
  848. package/dist/ui-library/p-150b7664.entry.js +2 -0
  849. package/dist/ui-library/p-150b7664.entry.js.map +1 -0
  850. package/dist/ui-library/p-1f5840b5.entry.js +2 -0
  851. package/dist/ui-library/p-1f5840b5.entry.js.map +1 -0
  852. package/dist/ui-library/p-28cc013e.entry.js +2 -0
  853. package/dist/ui-library/p-28cc013e.entry.js.map +1 -0
  854. package/dist/ui-library/p-3424bbc0.entry.js +2 -0
  855. package/dist/ui-library/p-3424bbc0.entry.js.map +1 -0
  856. package/dist/ui-library/p-348c68a8.entry.js +2 -0
  857. package/dist/ui-library/p-348c68a8.entry.js.map +1 -0
  858. package/dist/ui-library/p-3723ca06.entry.js +2 -0
  859. package/dist/ui-library/p-3723ca06.entry.js.map +1 -0
  860. package/dist/ui-library/p-37aeac5e.entry.js +2 -0
  861. package/dist/ui-library/p-37aeac5e.entry.js.map +1 -0
  862. package/dist/ui-library/p-3d7fb086.entry.js +2 -0
  863. package/dist/ui-library/p-3d7fb086.entry.js.map +1 -0
  864. package/dist/ui-library/{p-28be55f0.entry.js → p-457f7373.entry.js} +2 -2
  865. package/dist/ui-library/p-457f7373.entry.js.map +1 -0
  866. package/dist/ui-library/p-4a667f31.entry.js +2 -0
  867. package/dist/ui-library/p-4a667f31.entry.js.map +1 -0
  868. package/dist/ui-library/p-50dae789.entry.js +2 -0
  869. package/dist/ui-library/p-50dae789.entry.js.map +1 -0
  870. package/dist/ui-library/{p-dcd7c547.entry.js → p-546e33d9.entry.js} +2 -2
  871. package/dist/ui-library/p-546e33d9.entry.js.map +1 -0
  872. package/dist/ui-library/{p-73597d13.entry.js → p-5db3a705.entry.js} +2 -2
  873. package/dist/ui-library/p-5db3a705.entry.js.map +1 -0
  874. package/dist/ui-library/p-61e66671.js +2 -0
  875. package/dist/ui-library/p-61e66671.js.map +1 -0
  876. package/dist/ui-library/p-6296779b.entry.js +2 -0
  877. package/dist/ui-library/p-6296779b.entry.js.map +1 -0
  878. package/dist/ui-library/p-64b4755d.entry.js +2 -0
  879. package/dist/ui-library/p-64b4755d.entry.js.map +1 -0
  880. package/dist/ui-library/p-6c1b046e.entry.js +2 -0
  881. package/dist/ui-library/p-6c1b046e.entry.js.map +1 -0
  882. package/dist/ui-library/p-7115316e.entry.js +2 -0
  883. package/dist/ui-library/p-7115316e.entry.js.map +1 -0
  884. package/dist/ui-library/p-73dd493f.entry.js +2 -0
  885. package/dist/ui-library/p-73dd493f.entry.js.map +1 -0
  886. package/dist/ui-library/{p-0b2c6348.js → p-7f856f00.js} +1 -1
  887. package/dist/ui-library/p-7f856f00.js.map +1 -0
  888. package/dist/ui-library/{p-eb8f05a9.js → p-8227aaed.js} +2 -2
  889. package/dist/ui-library/p-8227aaed.js.map +1 -0
  890. package/dist/ui-library/{p-4d408fb4.js → p-842b492e.js} +1 -1
  891. package/dist/ui-library/p-842b492e.js.map +1 -0
  892. package/dist/ui-library/{p-25a3bf57.js → p-862d474e.js} +1 -1
  893. package/dist/ui-library/p-862d474e.js.map +1 -0
  894. package/dist/ui-library/p-870b988d.entry.js +2 -0
  895. package/dist/ui-library/p-870b988d.entry.js.map +1 -0
  896. package/dist/ui-library/{p-e8feb81f.entry.js → p-884c5cf9.entry.js} +2 -2
  897. package/dist/ui-library/p-884c5cf9.entry.js.map +1 -0
  898. package/dist/ui-library/p-8888a367.entry.js +2 -0
  899. package/dist/ui-library/p-8888a367.entry.js.map +1 -0
  900. package/dist/ui-library/{p-60621dc6.js → p-8bfb4bfc.js} +1 -1
  901. package/dist/ui-library/p-8bfb4bfc.js.map +1 -0
  902. package/dist/ui-library/p-8ced18d8.entry.js +2 -0
  903. package/dist/ui-library/p-8ced18d8.entry.js.map +1 -0
  904. package/dist/ui-library/{p-820c23f0.entry.js → p-935c78a7.entry.js} +2 -2
  905. package/dist/ui-library/p-935c78a7.entry.js.map +1 -0
  906. package/dist/ui-library/p-961bd001.entry.js +2 -0
  907. package/dist/ui-library/p-961bd001.entry.js.map +1 -0
  908. package/dist/ui-library/{p-ba74863a.js → p-998de05d.js} +1 -1
  909. package/dist/ui-library/p-998de05d.js.map +1 -0
  910. package/dist/ui-library/p-9b08068d.entry.js +2 -0
  911. package/dist/ui-library/p-9b08068d.entry.js.map +1 -0
  912. package/dist/ui-library/p-9c79341d.entry.js +2 -0
  913. package/dist/ui-library/p-9c79341d.entry.js.map +1 -0
  914. package/dist/ui-library/{p-8cf72af6.js → p-a1502802.js} +1 -1
  915. package/dist/ui-library/p-a1502802.js.map +1 -0
  916. package/dist/ui-library/{p-afcbe9da.entry.js → p-a9c159f2.entry.js} +2 -2
  917. package/dist/ui-library/p-a9c159f2.entry.js.map +1 -0
  918. package/dist/ui-library/p-ac57ba5c.entry.js +2 -0
  919. package/dist/ui-library/p-ac57ba5c.entry.js.map +1 -0
  920. package/dist/ui-library/p-af15381b.js +3 -0
  921. package/dist/ui-library/p-af15381b.js.map +1 -0
  922. package/dist/ui-library/p-b1a5f3cd.entry.js +2 -0
  923. package/dist/ui-library/p-b1a5f3cd.entry.js.map +1 -0
  924. package/dist/ui-library/p-b385a241.entry.js +2 -0
  925. package/dist/ui-library/p-b385a241.entry.js.map +1 -0
  926. package/dist/ui-library/p-b74c5d6b.entry.js +2 -0
  927. package/dist/ui-library/p-b74c5d6b.entry.js.map +1 -0
  928. package/dist/ui-library/p-bf2fb53f.entry.js +2 -0
  929. package/dist/ui-library/p-bf2fb53f.entry.js.map +1 -0
  930. package/dist/ui-library/p-c2c7370b.entry.js +2 -0
  931. package/dist/ui-library/p-c2c7370b.entry.js.map +1 -0
  932. package/dist/ui-library/p-caea1eb6.entry.js +2 -0
  933. package/dist/ui-library/p-caea1eb6.entry.js.map +1 -0
  934. package/dist/ui-library/p-d3f5b9a8.entry.js +2 -0
  935. package/dist/ui-library/p-d3f5b9a8.entry.js.map +1 -0
  936. package/dist/ui-library/p-d42b18eb.entry.js +2 -0
  937. package/dist/ui-library/p-d42b18eb.entry.js.map +1 -0
  938. package/dist/ui-library/p-d95e292e.entry.js +2 -0
  939. package/dist/ui-library/p-d95e292e.entry.js.map +1 -0
  940. package/dist/ui-library/p-da7f3dbd.entry.js +2 -0
  941. package/dist/ui-library/p-da7f3dbd.entry.js.map +1 -0
  942. package/dist/ui-library/p-dfb89b6a.entry.js +2 -0
  943. package/dist/ui-library/p-dfb89b6a.entry.js.map +1 -0
  944. package/dist/ui-library/p-e080d5b6.js +2 -0
  945. package/dist/ui-library/p-e080d5b6.js.map +1 -0
  946. package/dist/ui-library/p-e6032375.entry.js +2 -0
  947. package/dist/ui-library/p-e6032375.entry.js.map +1 -0
  948. package/dist/ui-library/p-e60d2324.entry.js +2 -0
  949. package/dist/ui-library/p-e60d2324.entry.js.map +1 -0
  950. package/dist/ui-library/p-e8298c6e.entry.js +2 -0
  951. package/dist/ui-library/p-e8298c6e.entry.js.map +1 -0
  952. package/dist/ui-library/p-ed279165.entry.js +2 -0
  953. package/dist/ui-library/p-ed279165.entry.js.map +1 -0
  954. package/dist/ui-library/p-ed61b75c.entry.js +2 -0
  955. package/dist/ui-library/p-ed61b75c.entry.js.map +1 -0
  956. package/dist/ui-library/p-f136a6b2.js +2 -0
  957. package/dist/ui-library/p-f136a6b2.js.map +1 -0
  958. package/dist/ui-library/p-f1ab3384.entry.js +2 -0
  959. package/dist/ui-library/p-f1ab3384.entry.js.map +1 -0
  960. package/dist/ui-library/p-f4ef481c.entry.js +2 -0
  961. package/dist/ui-library/p-f4ef481c.entry.js.map +1 -0
  962. package/dist/ui-library/{p-d6798d35.entry.js → p-f8cbb8da.entry.js} +2 -2
  963. package/dist/ui-library/p-f8cbb8da.entry.js.map +1 -0
  964. package/dist/ui-library/ui-library.css +1 -10
  965. package/dist/ui-library/ui-library.esm.js +1 -1
  966. package/dist/ui-library/ui-library.esm.js.map +1 -1
  967. package/loader/index.d.ts +1 -1
  968. package/package.json +19 -20
  969. package/dist/cjs/event-listeners-b835dfae.js +0 -61
  970. package/dist/cjs/event-listeners-b835dfae.js.map +0 -1
  971. package/dist/cjs/execution-control-45c84c46.js.map +0 -1
  972. package/dist/cjs/focus-visible-e0d93a95.js +0 -47
  973. package/dist/cjs/focus-visible-e0d93a95.js.map +0 -1
  974. package/dist/cjs/form-8cbd4e0e.js +0 -20
  975. package/dist/cjs/form-8cbd4e0e.js.map +0 -1
  976. package/dist/cjs/form-control-8df00a52.js +0 -33
  977. package/dist/cjs/form-control-8df00a52.js.map +0 -1
  978. package/dist/cjs/index-2f6daa5b.js.map +0 -1
  979. package/dist/cjs/modal-21350fb5.js +0 -52
  980. package/dist/cjs/modal-21350fb5.js.map +0 -1
  981. package/dist/cjs/popover-8885d50f.js.map +0 -1
  982. package/dist/cjs/popup-44836aaf.js +0 -103
  983. package/dist/cjs/popup-44836aaf.js.map +0 -1
  984. package/dist/cjs/scroll-76e6f5d7.js +0 -69
  985. package/dist/cjs/scroll-76e6f5d7.js.map +0 -1
  986. package/dist/cjs/set-attributes_2.cjs.entry.js +0 -73
  987. package/dist/cjs/set-attributes_2.cjs.entry.js.map +0 -1
  988. package/dist/cjs/six-checkbox.cjs.entry.js +0 -132
  989. package/dist/cjs/six-checkbox.cjs.entry.js.map +0 -1
  990. package/dist/cjs/six-menu-item.cjs.entry.js +0 -63
  991. package/dist/cjs/six-menu-item.cjs.entry.js.map +0 -1
  992. package/dist/cjs/slot-bccbdb59.js +0 -53
  993. package/dist/cjs/slot-bccbdb59.js.map +0 -1
  994. package/dist/cjs/types-64878648.js +0 -17
  995. package/dist/cjs/types-64878648.js.map +0 -1
  996. package/dist/collection/wrappers/set-attributes/set-attributes.js +0 -74
  997. package/dist/collection/wrappers/set-attributes/set-attributes.js.map +0 -1
  998. package/dist/components/set-attributes.js +0 -8
  999. package/dist/components/set-attributes.js.map +0 -1
  1000. package/dist/components/set-attributes2.js +0 -71
  1001. package/dist/components/set-attributes2.js.map +0 -1
  1002. package/dist/components/six-tag2.js +0 -74
  1003. package/dist/components/six-tag2.js.map +0 -1
  1004. package/dist/esm/event-listeners-535f3ad1.js +0 -59
  1005. package/dist/esm/event-listeners-535f3ad1.js.map +0 -1
  1006. package/dist/esm/execution-control-72cc50f4.js.map +0 -1
  1007. package/dist/esm/focus-visible-fa7129a0.js +0 -45
  1008. package/dist/esm/focus-visible-fa7129a0.js.map +0 -1
  1009. package/dist/esm/form-0b9c11cd.js +0 -18
  1010. package/dist/esm/form-control-785c5f79.js +0 -31
  1011. package/dist/esm/form-control-785c5f79.js.map +0 -1
  1012. package/dist/esm/index-5c0f6628.js.map +0 -1
  1013. package/dist/esm/modal-b1d96441.js +0 -49
  1014. package/dist/esm/modal-b1d96441.js.map +0 -1
  1015. package/dist/esm/polyfills/css-shim.js +0 -1
  1016. package/dist/esm/popover-2e72e7d8.js.map +0 -1
  1017. package/dist/esm/popup-678b8592.js +0 -98
  1018. package/dist/esm/popup-678b8592.js.map +0 -1
  1019. package/dist/esm/scroll-180b53fd.js +0 -64
  1020. package/dist/esm/set-attributes_2.entry.js +0 -68
  1021. package/dist/esm/set-attributes_2.entry.js.map +0 -1
  1022. package/dist/esm/six-checkbox.entry.js +0 -128
  1023. package/dist/esm/six-checkbox.entry.js.map +0 -1
  1024. package/dist/esm/six-menu-item.entry.js +0 -59
  1025. package/dist/esm/six-menu-item.entry.js.map +0 -1
  1026. package/dist/esm/slot-2e64df19.js +0 -48
  1027. package/dist/esm/slot-2e64df19.js.map +0 -1
  1028. package/dist/esm/types-4b10b413.js +0 -17
  1029. package/dist/esm/types-4b10b413.js.map +0 -1
  1030. package/dist/types/wrappers/set-attributes/set-attributes.d.ts +0 -9
  1031. package/dist/ui-library/p-0108fe92.entry.js +0 -2
  1032. package/dist/ui-library/p-0108fe92.entry.js.map +0 -1
  1033. package/dist/ui-library/p-03a145f5.entry.js +0 -2
  1034. package/dist/ui-library/p-03a145f5.entry.js.map +0 -1
  1035. package/dist/ui-library/p-087fdd96.entry.js +0 -2
  1036. package/dist/ui-library/p-087fdd96.entry.js.map +0 -1
  1037. package/dist/ui-library/p-09779e47.entry.js +0 -2
  1038. package/dist/ui-library/p-09779e47.entry.js.map +0 -1
  1039. package/dist/ui-library/p-097cced4.entry.js +0 -2
  1040. package/dist/ui-library/p-097cced4.entry.js.map +0 -1
  1041. package/dist/ui-library/p-0b2c6348.js.map +0 -1
  1042. package/dist/ui-library/p-0cc08e91.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-18e9f8b8.entry.js +0 -2
  1046. package/dist/ui-library/p-18e9f8b8.entry.js.map +0 -1
  1047. package/dist/ui-library/p-21859bca.entry.js +0 -2
  1048. package/dist/ui-library/p-21859bca.entry.js.map +0 -1
  1049. package/dist/ui-library/p-25a3bf57.js.map +0 -1
  1050. package/dist/ui-library/p-2761f908.js +0 -2
  1051. package/dist/ui-library/p-2761f908.js.map +0 -1
  1052. package/dist/ui-library/p-28be55f0.entry.js.map +0 -1
  1053. package/dist/ui-library/p-3929b0af.entry.js +0 -2
  1054. package/dist/ui-library/p-3929b0af.entry.js.map +0 -1
  1055. package/dist/ui-library/p-445ba5b8.entry.js +0 -2
  1056. package/dist/ui-library/p-445ba5b8.entry.js.map +0 -1
  1057. package/dist/ui-library/p-4d408fb4.js.map +0 -1
  1058. package/dist/ui-library/p-502ff3d3.entry.js +0 -2
  1059. package/dist/ui-library/p-502ff3d3.entry.js.map +0 -1
  1060. package/dist/ui-library/p-5a34c93e.entry.js +0 -2
  1061. package/dist/ui-library/p-5a34c93e.entry.js.map +0 -1
  1062. package/dist/ui-library/p-60621dc6.js.map +0 -1
  1063. package/dist/ui-library/p-63703ba3.entry.js +0 -2
  1064. package/dist/ui-library/p-63703ba3.entry.js.map +0 -1
  1065. package/dist/ui-library/p-66180e89.entry.js +0 -2
  1066. package/dist/ui-library/p-66180e89.entry.js.map +0 -1
  1067. package/dist/ui-library/p-686b12ec.entry.js +0 -2
  1068. package/dist/ui-library/p-686b12ec.entry.js.map +0 -1
  1069. package/dist/ui-library/p-6d75f216.entry.js +0 -2
  1070. package/dist/ui-library/p-6d75f216.entry.js.map +0 -1
  1071. package/dist/ui-library/p-71035abf.entry.js +0 -2
  1072. package/dist/ui-library/p-71035abf.entry.js.map +0 -1
  1073. package/dist/ui-library/p-724e154d.entry.js +0 -2
  1074. package/dist/ui-library/p-724e154d.entry.js.map +0 -1
  1075. package/dist/ui-library/p-72ca96e1.entry.js +0 -2
  1076. package/dist/ui-library/p-72ca96e1.entry.js.map +0 -1
  1077. package/dist/ui-library/p-73597d13.entry.js.map +0 -1
  1078. package/dist/ui-library/p-778cf804.entry.js +0 -2
  1079. package/dist/ui-library/p-778cf804.entry.js.map +0 -1
  1080. package/dist/ui-library/p-820c23f0.entry.js.map +0 -1
  1081. package/dist/ui-library/p-87032e26.entry.js +0 -2
  1082. package/dist/ui-library/p-87032e26.entry.js.map +0 -1
  1083. package/dist/ui-library/p-8cf72af6.js.map +0 -1
  1084. package/dist/ui-library/p-8e0b6b7e.entry.js +0 -2
  1085. package/dist/ui-library/p-8e0b6b7e.entry.js.map +0 -1
  1086. package/dist/ui-library/p-912092c0.entry.js +0 -2
  1087. package/dist/ui-library/p-912092c0.entry.js.map +0 -1
  1088. package/dist/ui-library/p-92ca6a84.entry.js +0 -2
  1089. package/dist/ui-library/p-92ca6a84.entry.js.map +0 -1
  1090. package/dist/ui-library/p-9337cdd6.entry.js.map +0 -1
  1091. package/dist/ui-library/p-9461417e.entry.js +0 -2
  1092. package/dist/ui-library/p-9461417e.entry.js.map +0 -1
  1093. package/dist/ui-library/p-97323ad7.entry.js +0 -2
  1094. package/dist/ui-library/p-97323ad7.entry.js.map +0 -1
  1095. package/dist/ui-library/p-a1d4f6cf.entry.js +0 -2
  1096. package/dist/ui-library/p-a1d4f6cf.entry.js.map +0 -1
  1097. package/dist/ui-library/p-a49ae60a.entry.js +0 -2
  1098. package/dist/ui-library/p-a49ae60a.entry.js.map +0 -1
  1099. package/dist/ui-library/p-a844cb72.entry.js +0 -2
  1100. package/dist/ui-library/p-a844cb72.entry.js.map +0 -1
  1101. package/dist/ui-library/p-ac4f4d45.js +0 -3
  1102. package/dist/ui-library/p-ac4f4d45.js.map +0 -1
  1103. package/dist/ui-library/p-afcbe9da.entry.js.map +0 -1
  1104. package/dist/ui-library/p-b3bff992.entry.js +0 -2
  1105. package/dist/ui-library/p-b3bff992.entry.js.map +0 -1
  1106. package/dist/ui-library/p-b4547fb5.entry.js +0 -2
  1107. package/dist/ui-library/p-b4547fb5.entry.js.map +0 -1
  1108. package/dist/ui-library/p-ba74863a.js.map +0 -1
  1109. package/dist/ui-library/p-baa03951.entry.js +0 -2
  1110. package/dist/ui-library/p-baa03951.entry.js.map +0 -1
  1111. package/dist/ui-library/p-bd8f8eef.entry.js +0 -2
  1112. package/dist/ui-library/p-bd8f8eef.entry.js.map +0 -1
  1113. package/dist/ui-library/p-c57f16af.entry.js +0 -2
  1114. package/dist/ui-library/p-c57f16af.entry.js.map +0 -1
  1115. package/dist/ui-library/p-c5cdba08.entry.js +0 -2
  1116. package/dist/ui-library/p-c5cdba08.entry.js.map +0 -1
  1117. package/dist/ui-library/p-c87810b0.entry.js +0 -2
  1118. package/dist/ui-library/p-c87810b0.entry.js.map +0 -1
  1119. package/dist/ui-library/p-cdcde4cd.entry.js +0 -2
  1120. package/dist/ui-library/p-cdcde4cd.entry.js.map +0 -1
  1121. package/dist/ui-library/p-d6798d35.entry.js.map +0 -1
  1122. package/dist/ui-library/p-d87a6f4d.js +0 -2
  1123. package/dist/ui-library/p-d87a6f4d.js.map +0 -1
  1124. package/dist/ui-library/p-dc3f5996.entry.js +0 -2
  1125. package/dist/ui-library/p-dc3f5996.entry.js.map +0 -1
  1126. package/dist/ui-library/p-dcd7c547.entry.js.map +0 -1
  1127. package/dist/ui-library/p-dd3c76f1.entry.js +0 -2
  1128. package/dist/ui-library/p-dd3c76f1.entry.js.map +0 -1
  1129. package/dist/ui-library/p-e07b3f0c.entry.js +0 -2
  1130. package/dist/ui-library/p-e07b3f0c.entry.js.map +0 -1
  1131. package/dist/ui-library/p-e19a6c95.entry.js +0 -2
  1132. package/dist/ui-library/p-e19a6c95.entry.js.map +0 -1
  1133. package/dist/ui-library/p-e8feb81f.entry.js.map +0 -1
  1134. package/dist/ui-library/p-eb8f05a9.js.map +0 -1
  1135. package/dist/ui-library/p-ef3936e5.entry.js +0 -2
  1136. package/dist/ui-library/p-ef3936e5.entry.js.map +0 -1
  1137. package/dist/ui-library/p-f0dd77e1.entry.js +0 -2
  1138. package/dist/ui-library/p-f0dd77e1.entry.js.map +0 -1
  1139. package/readme.md +0 -156
@@ -9,11 +9,7 @@ const NAMESPACE = 'ui-library';
9
9
  * Modified for Stencil's renderer and slot projection
10
10
  */
11
11
  let scopeId;
12
- let contentRef;
13
12
  let hostTagName;
14
- let useNativeShadowDom = false;
15
- let checkSlotFallbackVisibility = false;
16
- let checkSlotRelocate = false;
17
13
  let isSvgMode = false;
18
14
  let queuePending = false;
19
15
  const createTime = (fnName, tagName = '') => {
@@ -31,6 +27,13 @@ const uniqueTime = (key, measureText) => {
31
27
  }
32
28
  };
33
29
  const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
30
+ /**
31
+ * Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
32
+ *
33
+ * Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
34
+ * support as of Stencil v4.
35
+ */
36
+ const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
34
37
  /**
35
38
  * Default style mode id
36
39
  */
@@ -82,7 +85,6 @@ function queryNonceMetaTagContent(doc) {
82
85
  const h = (nodeName, vnodeData, ...children) => {
83
86
  let child = null;
84
87
  let key = null;
85
- let slotName = null;
86
88
  let simple = false;
87
89
  let lastSimple = false;
88
90
  const vNodeChildren = [];
@@ -110,13 +112,10 @@ const h = (nodeName, vnodeData, ...children) => {
110
112
  };
111
113
  walk(children);
112
114
  if (vnodeData) {
113
- // normalize class / classname attributes
114
115
  if (vnodeData.key) {
115
116
  key = vnodeData.key;
116
117
  }
117
- if (vnodeData.name) {
118
- slotName = vnodeData.name;
119
- }
118
+ // normalize class / className attributes
120
119
  {
121
120
  const classData = vnodeData.className || vnodeData.class;
122
121
  if (classData) {
@@ -141,9 +140,6 @@ const h = (nodeName, vnodeData, ...children) => {
141
140
  {
142
141
  vnode.$key$ = key;
143
142
  }
144
- {
145
- vnode.$name$ = slotName;
146
- }
147
143
  return vnode;
148
144
  };
149
145
  /**
@@ -168,9 +164,6 @@ const newVNode = (tag, text) => {
168
164
  {
169
165
  vnode.$key$ = null;
170
166
  }
171
- {
172
- vnode.$name$ = null;
173
- }
174
167
  return vnode;
175
168
  };
176
169
  const Host = {};
@@ -324,9 +317,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
324
317
  }
325
318
  styles.set(scopeId, style);
326
319
  };
327
- const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
320
+ const addStyle = (styleContainerNode, cmpMeta, mode) => {
328
321
  var _a;
329
- let scopeId = getScopeId(cmpMeta);
322
+ const scopeId = getScopeId(cmpMeta);
330
323
  const style = styles.get(scopeId);
331
324
  // if an element is NOT connected then getRootNode() will return the wrong root node
332
325
  // so the fallback is to always use the document for the root node in those cases
@@ -341,11 +334,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
341
334
  }
342
335
  if (!appliedStyles.has(scopeId)) {
343
336
  {
344
- // TODO(STENCIL-659): Remove code implementing the CSS variable shim
345
- {
346
- styleElm = doc.createElement('style');
347
- styleElm.innerHTML = style;
348
- }
337
+ styleElm = doc.createElement('style');
338
+ styleElm.innerHTML = style;
349
339
  // Apply CSP nonce to the style tag if it exists
350
340
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
351
341
  if (nonce != null) {
@@ -353,6 +343,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
353
343
  }
354
344
  styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
355
345
  }
346
+ // Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
347
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
348
+ styleElm.innerHTML += SLOT_FB_CSS;
349
+ }
356
350
  if (appliedStyles) {
357
351
  appliedStyles.add(scopeId);
358
352
  }
@@ -370,7 +364,6 @@ const attachStyles = (hostRef) => {
370
364
  const flags = cmpMeta.$flags$;
371
365
  const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
372
366
  const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
373
- // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
374
367
  if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
375
368
  // only required when we're NOT using native shadow dom (slot)
376
369
  // or this browser doesn't support native shadow dom
@@ -396,6 +389,21 @@ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
396
389
  *
397
390
  * Modified for Stencil's compiler and vdom
398
391
  */
392
+ /**
393
+ * When running a VDom render set properties present on a VDom node onto the
394
+ * corresponding HTML element.
395
+ *
396
+ * Note that this function has special functionality for the `class`,
397
+ * `style`, `key`, and `ref` attributes, as well as event handlers (like
398
+ * `onClick`, etc). All others are just passed through as-is.
399
+ *
400
+ * @param elm the HTMLElement onto which attributes should be set
401
+ * @param memberName the name of the attribute to set
402
+ * @param oldValue the old value for the attribute
403
+ * @param newValue the new value for the attribute
404
+ * @param isSvg whether we're in an svg context or not
405
+ * @param flags bitflags for Vdom variables
406
+ */
399
407
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
400
408
  if (oldValue !== newValue) {
401
409
  let isProp = isMemberInElement(elm, memberName);
@@ -472,11 +480,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
472
480
  // except for the first character, we keep the event name case
473
481
  memberName = ln[2] + memberName.slice(3);
474
482
  }
475
- if (oldValue) {
476
- plt.rel(elm, memberName, oldValue, false);
477
- }
478
- if (newValue) {
479
- plt.ael(elm, memberName, newValue, false);
483
+ if (oldValue || newValue) {
484
+ // Need to account for "capture" events.
485
+ // If the event name ends with "Capture", we'll update the name to remove
486
+ // the "Capture" suffix and make sure the event listener is setup to handle the capture event.
487
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
488
+ // Make sure we only replace the last instance of "Capture"
489
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
490
+ if (oldValue) {
491
+ plt.rel(elm, memberName, oldValue, capture);
492
+ }
493
+ if (newValue) {
494
+ plt.ael(elm, memberName, newValue, capture);
495
+ }
480
496
  }
481
497
  }
482
498
  else {
@@ -498,7 +514,11 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
498
514
  elm[memberName] = newValue;
499
515
  }
500
516
  }
501
- catch (e) { }
517
+ catch (e) {
518
+ /**
519
+ * in case someone tries to set a read-only property, e.g. "namespaceURI", we just ignore it
520
+ */
521
+ }
502
522
  }
503
523
  if (newValue == null || newValue === false) {
504
524
  if (newValue !== false || elm.getAttribute(memberName) === '') {
@@ -517,7 +537,14 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
517
537
  }
518
538
  };
519
539
  const parseClassListRegex = /\s/;
540
+ /**
541
+ * Parsed a string of classnames into an array
542
+ * @param value className string, e.g. "foo bar baz"
543
+ * @returns list of classes, e.g. ["foo", "bar", "baz"]
544
+ */
520
545
  const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
546
+ const CAPTURE_EVENT_SUFFIX = 'Capture';
547
+ const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
521
548
  const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
522
549
  // if the element passed in is a shadow root, which is a document fragment
523
550
  // then we want to be adding attrs/props to the shadow root's "host" element
@@ -556,39 +583,16 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
556
583
  let i = 0;
557
584
  let elm;
558
585
  let childNode;
559
- let oldVNode;
560
- if (!useNativeShadowDom) {
561
- // remember for later we need to check to relocate nodes
562
- checkSlotRelocate = true;
563
- if (newVNode.$tag$ === 'slot') {
564
- if (scopeId) {
565
- // scoped css needs to add its scoped id to the parent element
566
- parentElm.classList.add(scopeId + '-s');
567
- }
568
- newVNode.$flags$ |= newVNode.$children$
569
- ? // slot element has fallback content
570
- 2 /* VNODE_FLAGS.isSlotFallback */
571
- : // slot element does not have fallback content
572
- 1 /* VNODE_FLAGS.isSlotReference */;
573
- }
574
- }
575
586
  if (newVNode.$text$ !== null) {
576
587
  // create text node
577
588
  elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
578
589
  }
579
- else if (newVNode.$flags$ & 1 /* VNODE_FLAGS.isSlotReference */) {
580
- // create a slot reference node
581
- elm = newVNode.$elm$ =
582
- doc.createTextNode('');
583
- }
584
590
  else {
585
591
  if (!isSvgMode) {
586
592
  isSvgMode = newVNode.$tag$ === 'svg';
587
593
  }
588
594
  // create element
589
- elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$flags$ & 2 /* VNODE_FLAGS.isSlotFallback */
590
- ? 'slot-fb'
591
- : newVNode.$tag$)
595
+ elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$)
592
596
  );
593
597
  if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
594
598
  isSvgMode = false;
@@ -605,7 +609,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
605
609
  if (newVNode.$children$) {
606
610
  for (i = 0; i < newVNode.$children$.length; ++i) {
607
611
  // create the node
608
- childNode = createElm(oldParentVNode, newVNode, i, elm);
612
+ childNode = createElm(oldParentVNode, newVNode, i);
609
613
  // return node could have been null
610
614
  if (childNode) {
611
615
  // append our new node
@@ -624,50 +628,11 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
624
628
  }
625
629
  }
626
630
  }
627
- {
628
- elm['s-hn'] = hostTagName;
629
- if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
630
- // remember the content reference comment
631
- elm['s-sr'] = true;
632
- // remember the content reference comment
633
- elm['s-cr'] = contentRef;
634
- // remember the slot name, or empty string for default slot
635
- elm['s-sn'] = newVNode.$name$ || '';
636
- // check if we've got an old vnode for this slot
637
- oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
638
- 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);
642
- }
643
- }
644
- }
631
+ // This needs to always happen so we can hide nodes that are projected
632
+ // to another component but don't end up in a slot
633
+ elm['s-hn'] = hostTagName;
645
634
  return elm;
646
635
  };
647
- const putBackInOriginalLocation = (parentElm, recursive) => {
648
- plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
649
- const oldSlotChildNodes = parentElm.childNodes;
650
- for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
651
- const childNode = oldSlotChildNodes[i];
652
- 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
- // and relocate it back to it's original location
657
- parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
658
- // remove the old original location comment entirely
659
- // later on the patch function will know what to do
660
- // and move this to the correct spot in need be
661
- childNode['s-ol'].remove();
662
- childNode['s-ol'] = undefined;
663
- checkSlotRelocate = true;
664
- }
665
- if (recursive) {
666
- putBackInOriginalLocation(childNode, recursive);
667
- }
668
- }
669
- plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
670
- };
671
636
  /**
672
637
  * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
673
638
  * add them to the DOM in the appropriate place.
@@ -684,17 +649,17 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
684
649
  * creating DOM nodes (inclusive)
685
650
  */
686
651
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
687
- let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
652
+ let containerElm = (parentElm);
688
653
  let childNode;
689
654
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
690
655
  containerElm = containerElm.shadowRoot;
691
656
  }
692
657
  for (; startIdx <= endIdx; ++startIdx) {
693
658
  if (vnodes[startIdx]) {
694
- childNode = createElm(null, parentVNode, startIdx, parentElm);
659
+ childNode = createElm(null, parentVNode, startIdx);
695
660
  if (childNode) {
696
661
  vnodes[startIdx].$elm$ = childNode;
697
- containerElm.insertBefore(childNode, referenceNode(before) );
662
+ containerElm.insertBefore(childNode, before);
698
663
  }
699
664
  }
700
665
  }
@@ -709,30 +674,17 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
709
674
  * @param vnodes a list of virtual DOM nodes to remove
710
675
  * @param startIdx the index at which to start removing nodes (inclusive)
711
676
  * @param endIdx the index at which to stop removing nodes (inclusive)
712
- * @param vnode a VNode
713
- * @param elm an element
714
677
  */
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);
732
- }
678
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
679
+ for (let index = startIdx; index <= endIdx; ++index) {
680
+ const vnode = vnodes[index];
681
+ if (vnode) {
682
+ const elm = vnode.$elm$;
683
+ nullifyVNodeRefs(vnode);
684
+ if (elm) {
685
+ // remove the vnode's element from the dom
686
+ elm.remove();
733
687
  }
734
- // remove the vnode's element from the dom
735
- elm.remove();
736
688
  }
737
689
  }
738
690
  };
@@ -803,8 +755,9 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
803
755
  * @param oldCh the old children of the parent node
804
756
  * @param newVNode the new VNode which will replace the parent
805
757
  * @param newCh the new children of the parent node
758
+ * @param isInitialRender whether or not this is the first render of the vdom
806
759
  */
807
- const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
760
+ const updateChildren = (parentElm, oldCh, newVNode, newCh, isInitialRender = false) => {
808
761
  let oldStartIdx = 0;
809
762
  let newStartIdx = 0;
810
763
  let idxInOld = 0;
@@ -831,42 +784,25 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
831
784
  else if (newEndVnode == null) {
832
785
  newEndVnode = newCh[--newEndIdx];
833
786
  }
834
- else if (isSameVnode(oldStartVnode, newStartVnode)) {
787
+ else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
835
788
  // if the start nodes are the same then we should patch the new VNode
836
789
  // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
837
790
  // indices to reflect that. We don't need to move any DOM Nodes around
838
791
  // since things are matched up in order.
839
- patch(oldStartVnode, newStartVnode);
792
+ patch(oldStartVnode, newStartVnode, isInitialRender);
840
793
  oldStartVnode = oldCh[++oldStartIdx];
841
794
  newStartVnode = newCh[++newStartIdx];
842
795
  }
843
- else if (isSameVnode(oldEndVnode, newEndVnode)) {
796
+ else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
844
797
  // likewise, if the end nodes are the same we patch new onto old and
845
798
  // decrement our end indices, and also likewise in this case we don't
846
799
  // need to move any DOM Nodes.
847
- patch(oldEndVnode, newEndVnode);
800
+ patch(oldEndVnode, newEndVnode, isInitialRender);
848
801
  oldEndVnode = oldCh[--oldEndIdx];
849
802
  newEndVnode = newCh[--newEndIdx];
850
803
  }
851
- else if (isSameVnode(oldStartVnode, newEndVnode)) {
852
- // case: "Vnode moved right"
853
- //
854
- // We've found that the last node in our window on the new children is
855
- // the same VNode as the _first_ node in our window on the old children
856
- // we're dealing with now. Visually, this is the layout of these two
857
- // nodes:
858
- //
859
- // newCh: [..., newStartVnode , ... , newEndVnode , ...]
860
- // ^^^^^^^^^^^
861
- // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
862
- // ^^^^^^^^^^^^^
863
- //
864
- // In this situation we need to patch `newEndVnode` onto `oldStartVnode`
865
- // and move the DOM element for `oldStartVnode`.
866
- if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
867
- putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
868
- }
869
- patch(oldStartVnode, newEndVnode);
804
+ else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
805
+ patch(oldStartVnode, newEndVnode, isInitialRender);
870
806
  // We need to move the element for `oldStartVnode` into a position which
871
807
  // will be appropriate for `newEndVnode`. For this we can use
872
808
  // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
@@ -888,26 +824,8 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
888
824
  oldStartVnode = oldCh[++oldStartIdx];
889
825
  newEndVnode = newCh[--newEndIdx];
890
826
  }
891
- else if (isSameVnode(oldEndVnode, newStartVnode)) {
892
- // case: "Vnode moved left"
893
- //
894
- // We've found that the first node in our window on the new children is
895
- // the same VNode as the _last_ node in our window on the old children.
896
- // Visually, this is the layout of these two nodes:
897
- //
898
- // newCh: [..., newStartVnode , ... , newEndVnode , ...]
899
- // ^^^^^^^^^^^^^
900
- // oldCh: [..., oldStartVnode , ... , oldEndVnode , ...]
901
- // ^^^^^^^^^^^
902
- //
903
- // In this situation we need to patch `newStartVnode` onto `oldEndVnode`
904
- // (which will handle updating any changed attributes, reconciling their
905
- // children etc) but we also need to move the DOM node to which
906
- // `oldEndVnode` corresponds.
907
- if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
908
- putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
909
- }
910
- patch(oldEndVnode, newStartVnode);
827
+ else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
828
+ patch(oldEndVnode, newStartVnode, isInitialRender);
911
829
  // We've already checked above if `oldStartVnode` and `newStartVnode` are
912
830
  // the same node, so since we're here we know that they are not. Thus we
913
831
  // can move the element for `oldEndVnode` _before_ the element for
@@ -941,10 +859,10 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
941
859
  elmToMove = oldCh[idxInOld];
942
860
  if (elmToMove.$tag$ !== newStartVnode.$tag$) {
943
861
  // the tag doesn't match so we'll need a new DOM element
944
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm);
862
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld);
945
863
  }
946
864
  else {
947
- patch(elmToMove, newStartVnode);
865
+ patch(elmToMove, newStartVnode, isInitialRender);
948
866
  // invalidate the matching old node so that we won't try to update it
949
867
  // again later on
950
868
  oldCh[idxInOld] = undefined;
@@ -957,13 +875,13 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
957
875
  // the key of the first new child OR the build is not using `key`
958
876
  // attributes at all. In either case we need to create a new element
959
877
  // for the new node.
960
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
878
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
961
879
  newStartVnode = newCh[++newStartIdx];
962
880
  }
963
881
  if (node) {
964
882
  // if we created a new node then handle inserting it to the DOM
965
883
  {
966
- parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
884
+ oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
967
885
  }
968
886
  }
969
887
  }
@@ -995,30 +913,25 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
995
913
  *
996
914
  * @param leftVNode the first VNode to check
997
915
  * @param rightVNode the second VNode to check
916
+ * @param isInitialRender whether or not this is the first render of the vdom
998
917
  * @returns whether they're equal or not
999
918
  */
1000
- const isSameVnode = (leftVNode, rightVNode) => {
919
+ const isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
1001
920
  // compare if two vnode to see if they're "technically" the same
1002
921
  // need to have the same element tag, and same key to be the same
1003
922
  if (leftVNode.$tag$ === rightVNode.$tag$) {
1004
- if (leftVNode.$tag$ === 'slot') {
1005
- return leftVNode.$name$ === rightVNode.$name$;
1006
- }
1007
- // this will be set if components in the build have `key` attrs set on them
1008
- {
923
+ // this will be set if JSX tags in the build have `key` attrs set on them
924
+ // we only want to check this if we're not on the first render since on
925
+ // first render `leftVNode.$key$` will always be `null`, so we can be led
926
+ // astray and, for instance, accidentally delete a DOM node that we want to
927
+ // keep around.
928
+ if (!isInitialRender) {
1009
929
  return leftVNode.$key$ === rightVNode.$key$;
1010
930
  }
931
+ return true;
1011
932
  }
1012
933
  return false;
1013
934
  };
1014
- const referenceNode = (node) => {
1015
- // this node was relocated to a new location in the dom
1016
- // because of some other component's slot
1017
- // but we still have an html comment in place of where
1018
- // it's original location was according to it's original vdom
1019
- return (node && node['s-ol']) || node;
1020
- };
1021
- const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
1022
935
  /**
1023
936
  * Handle reconciling an outdated VNode with a new one which corresponds to
1024
937
  * it. This function handles flushing updates to the DOM and reconciling the
@@ -1026,14 +939,14 @@ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).paren
1026
939
  *
1027
940
  * @param oldVNode an old VNode whose DOM element and children we want to update
1028
941
  * @param newVNode a new VNode representing an updated version of the old one
942
+ * @param isInitialRender whether or not this is the first render of the vdom
1029
943
  */
1030
- const patch = (oldVNode, newVNode) => {
944
+ const patch = (oldVNode, newVNode, isInitialRender = false) => {
1031
945
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
1032
946
  const oldChildren = oldVNode.$children$;
1033
947
  const newChildren = newVNode.$children$;
1034
948
  const tag = newVNode.$tag$;
1035
949
  const text = newVNode.$text$;
1036
- let defaultHolder;
1037
950
  if (text === null) {
1038
951
  {
1039
952
  // test if we're rendering an svg element, or still rendering nodes inside of one
@@ -1053,7 +966,7 @@ const patch = (oldVNode, newVNode) => {
1053
966
  if (oldChildren !== null && newChildren !== null) {
1054
967
  // looks like there's child vnodes for both the old and new vnodes
1055
968
  // so we need to call `updateChildren` to reconcile them
1056
- updateChildren(elm, oldChildren, newVNode, newChildren);
969
+ updateChildren(elm, oldChildren, newVNode, newChildren, isInitialRender);
1057
970
  }
1058
971
  else if (newChildren !== null) {
1059
972
  // no old child vnodes, but there are new child vnodes to add
@@ -1072,151 +985,23 @@ const patch = (oldVNode, newVNode) => {
1072
985
  isSvgMode = false;
1073
986
  }
1074
987
  }
1075
- else if ((defaultHolder = elm['s-cr'])) {
1076
- // this element has slotted content
1077
- defaultHolder.parentNode.textContent = text;
1078
- }
1079
988
  else if (oldVNode.$text$ !== text) {
1080
989
  // update the text content for the text only vnode
1081
990
  // and also only if the text is different than before
1082
991
  elm.data = text;
1083
992
  }
1084
993
  };
1085
- const updateFallbackSlotVisibility = (elm) => {
1086
- // tslint:disable-next-line: prefer-const
1087
- 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];
1096
- if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1097
- if (childNode['s-sr']) {
1098
- // this is a slot fallback node
1099
- // get the slot name for this slot reference node
1100
- slotNameAttr = childNode['s-sn'];
1101
- // by default always show a fallback slot node
1102
- // then hide it if there are other slots in the light dom
1103
- 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;
1111
- }
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;
1121
- }
1122
- }
1123
- }
1124
- }
1125
- // keep drilling down
1126
- updateFallbackSlotVisibility(childNode);
1127
- }
1128
- }
1129
- };
1130
- const relocateNodes = [];
1131
- const relocateSlotContent = (elm) => {
1132
- // tslint:disable-next-line: prefer-const
1133
- let childNode;
1134
- let node;
1135
- let hostContentNodes;
1136
- let slotNameAttr;
1137
- let relocateNodeData;
1138
- 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];
1144
- 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
1147
- hostContentNodes = node.parentNode.childNodes;
1148
- slotNameAttr = childNode['s-sn'];
1149
- for (j = hostContentNodes.length - 1; j >= 0; j--) {
1150
- 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)) {
1156
- // it's possible we've already decided to relocate this node
1157
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1158
- // made some changes to slots
1159
- // let's make sure we also double check
1160
- // fallbacks are correctly hidden or shown
1161
- checkSlotFallbackVisibility = true;
1162
- node['s-sn'] = node['s-sn'] || slotNameAttr;
1163
- 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
1166
- relocateNodeData.$slotRefNode$ = childNode;
1167
- }
1168
- else {
1169
- // add to our list of nodes to relocate
1170
- relocateNodes.push({
1171
- $slotRefNode$: childNode,
1172
- $nodeToRelocate$: node,
1173
- });
1174
- }
1175
- if (node['s-sr']) {
1176
- relocateNodes.map((relocateNode) => {
1177
- if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
1178
- relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1179
- if (relocateNodeData && !relocateNode.$slotRefNode$) {
1180
- relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1181
- }
1182
- }
1183
- });
1184
- }
1185
- }
1186
- 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
1189
- relocateNodes.push({
1190
- $nodeToRelocate$: node,
1191
- });
1192
- }
1193
- }
1194
- }
1195
- }
1196
- if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1197
- relocateSlotContent(childNode);
1198
- }
1199
- }
1200
- };
1201
- const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
1202
- if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1203
- if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
1204
- return true;
1205
- }
1206
- if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
1207
- return true;
1208
- }
1209
- return false;
1210
- }
1211
- if (nodeToRelocate['s-sn'] === slotNameAttr) {
1212
- return true;
1213
- }
1214
- return slotNameAttr === '';
1215
- };
1216
- const callNodeRefs = (vNode) => {
994
+ /**
995
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
996
+ * them with `null`. This signals that the DOM element corresponding to the VDom
997
+ * node has been removed from the DOM.
998
+ *
999
+ * @param vNode a virtual DOM node
1000
+ */
1001
+ const nullifyVNodeRefs = (vNode) => {
1217
1002
  {
1218
1003
  vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
1219
- vNode.$children$ && vNode.$children$.map(callNodeRefs);
1004
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
1220
1005
  }
1221
1006
  };
1222
1007
  /**
@@ -1230,17 +1015,44 @@ const callNodeRefs = (vNode) => {
1230
1015
  * @param hostRef data needed to root and render the virtual DOM tree, such as
1231
1016
  * the DOM node into which it should be rendered.
1232
1017
  * @param renderFnResults the virtual DOM nodes to be rendered
1018
+ * @param isInitialLoad whether or not this is the first call after page load
1233
1019
  */
1234
- const renderVdom = (hostRef, renderFnResults) => {
1020
+ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1235
1021
  const hostElm = hostRef.$hostElement$;
1236
1022
  const cmpMeta = hostRef.$cmpMeta$;
1237
1023
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1024
+ // if `renderFnResults` is a Host node then we can use it directly. If not,
1025
+ // we need to call `h` again to wrap the children of our component in a
1026
+ // 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
1027
+ // implicitly that the top-level vdom node is 1) an only child and 2)
1028
+ // contains attrs that need to be set on the host element.
1238
1029
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
1239
1030
  hostTagName = hostElm.tagName;
1240
1031
  if (cmpMeta.$attrsToReflect$) {
1241
1032
  rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1242
1033
  cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
1243
1034
  }
1035
+ // On the first render and *only* on the first render we want to check for
1036
+ // any attributes set on the host element which are also set on the vdom
1037
+ // node. If we find them, we override the value on the VDom node attrs with
1038
+ // the value from the host element, which allows developers building apps
1039
+ // with Stencil components to override e.g. the `role` attribute on a
1040
+ // component even if it's already set on the `Host`.
1041
+ if (isInitialLoad && rootVnode.$attrs$) {
1042
+ for (const key of Object.keys(rootVnode.$attrs$)) {
1043
+ // We have a special implementation in `setAccessor` for `style` and
1044
+ // `class` which reconciles values coming from the VDom with values
1045
+ // already present on the DOM element, so we don't want to override those
1046
+ // attributes on the VDom tree with values from the host element if they
1047
+ // are present.
1048
+ //
1049
+ // Likewise, `ref` and `key` are special internal values for the Stencil
1050
+ // runtime and we don't want to override those either.
1051
+ if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
1052
+ rootVnode.$attrs$[key] = hostElm[key];
1053
+ }
1054
+ }
1055
+ }
1244
1056
  rootVnode.$tag$ = null;
1245
1057
  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
1246
1058
  hostRef.$vnode$ = rootVnode;
@@ -1248,90 +1060,8 @@ const renderVdom = (hostRef, renderFnResults) => {
1248
1060
  {
1249
1061
  scopeId = hostElm['s-sc'];
1250
1062
  }
1251
- {
1252
- contentRef = hostElm['s-cr'];
1253
- useNativeShadowDom = (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) !== 0;
1254
- // always reset
1255
- checkSlotFallbackVisibility = false;
1256
- }
1257
1063
  // synchronous patch
1258
- patch(oldVNode, rootVnode);
1259
- {
1260
- // while we're moving nodes around existing nodes, temporarily disable
1261
- // the disconnectCallback from working
1262
- plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1263
- 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$;
1275
- if (!nodeToRelocate['s-ol']) {
1276
- // add a reference node marking this node's original location
1277
- // keep a reference to this node for later lookups
1278
- orgLocationNode =
1279
- doc.createTextNode('');
1280
- orgLocationNode['s-nr'] = nodeToRelocate;
1281
- nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
1282
- }
1283
- }
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;
1300
- }
1301
- }
1302
- }
1303
- if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
1304
- nodeToRelocate.nextSibling !== insertBeforeNode) {
1305
- // we've checked that it's worth while to relocate
1306
- // since that the node to relocate
1307
- // has a different next sibling or parent relocated
1308
- if (nodeToRelocate !== insertBeforeNode) {
1309
- if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
1310
- // probably a component in the index.html that doesn't have it's hostname set
1311
- nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
1312
- }
1313
- // add it back to the dom but in its new home
1314
- parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
1315
- }
1316
- }
1317
- }
1318
- else {
1319
- // this node doesn't have a slot home to go to, so let's hide it
1320
- if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
1321
- nodeToRelocate.hidden = true;
1322
- }
1323
- }
1324
- }
1325
- }
1326
- if (checkSlotFallbackVisibility) {
1327
- updateFallbackSlotVisibility(rootVnode.$elm$);
1328
- }
1329
- // done moving nodes around
1330
- // allow the disconnect callback to work again
1331
- plt.$flags$ &= ~1 /* PLATFORM_FLAGS.isTmpDisconnected */;
1332
- // always reset
1333
- relocateNodes.length = 0;
1334
- }
1064
+ patch(oldVNode, rootVnode, isInitialLoad);
1335
1065
  };
1336
1066
  const attachToAncestor = (hostRef, ancestorComponent) => {
1337
1067
  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
@@ -1353,27 +1083,93 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
1353
1083
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
1354
1084
  return writeTask(dispatch) ;
1355
1085
  };
1086
+ /**
1087
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
1088
+ * component lifecycle methods like `componentWillLoad` as well as
1089
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
1090
+ *
1091
+ * @param hostRef a reference to a host DOM node
1092
+ * @param isInitialLoad whether we're on the initial load or not
1093
+ * @returns an empty Promise which is used to enqueue a series of operations for
1094
+ * the component
1095
+ */
1356
1096
  const dispatchHooks = (hostRef, isInitialLoad) => {
1357
1097
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
1358
1098
  const instance = hostRef.$lazyInstance$ ;
1359
- let promise;
1099
+ // We're going to use this variable together with `enqueue` to implement a
1100
+ // little promise-based queue. We start out with it `undefined`. When we add
1101
+ // the first function to the queue we'll set this variable to be that
1102
+ // function's return value. When we attempt to add subsequent values to the
1103
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
1104
+ // the new function off of that `Promise` using `.then()`. This will give our
1105
+ // queue two nice properties:
1106
+ //
1107
+ // 1. If all functions added to the queue are synchronous they'll be called
1108
+ // synchronously right away.
1109
+ // 2. If all functions added to the queue are asynchronous they'll all be
1110
+ // called in order after `dispatchHooks` exits.
1111
+ let maybePromise;
1360
1112
  if (isInitialLoad) {
1361
1113
  {
1362
1114
  hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
1363
1115
  if (hostRef.$queuedListeners$) {
1364
1116
  hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1365
- hostRef.$queuedListeners$ = null;
1117
+ hostRef.$queuedListeners$ = undefined;
1366
1118
  }
1367
1119
  }
1368
1120
  {
1369
- promise = safeCall(instance, 'componentWillLoad');
1121
+ // If `componentWillLoad` returns a `Promise` then we want to wait on
1122
+ // whatever's going on in that `Promise` before we launch into
1123
+ // rendering the component, doing other lifecycle stuff, etc. So
1124
+ // in that case we assign the returned promise to the variable we
1125
+ // declared above to hold a possible 'queueing' Promise
1126
+ maybePromise = safeCall(instance, 'componentWillLoad');
1370
1127
  }
1371
1128
  }
1372
1129
  endSchedule();
1373
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
1130
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
1374
1131
  };
1132
+ /**
1133
+ * This function uses a Promise to implement a simple first-in, first-out queue
1134
+ * of functions to be called.
1135
+ *
1136
+ * The queue is ordered on the basis of the first argument. If it's
1137
+ * `undefined`, then nothing is on the queue yet, so the provided function can
1138
+ * be called synchronously (although note that this function may return a
1139
+ * `Promise`). The idea is that then the return value of that enqueueing
1140
+ * operation is kept around, so that if it was a `Promise` then subsequent
1141
+ * functions can be enqueued by calling this function again with that `Promise`
1142
+ * as the first argument.
1143
+ *
1144
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
1145
+ * @param fn a function to enqueue
1146
+ * @returns either a `Promise` or the return value of the provided function
1147
+ */
1148
+ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
1149
+ /**
1150
+ * Check that a value is a `Promise`. To check, we first see if the value is an
1151
+ * instance of the `Promise` global. In a few circumstances, in particular if
1152
+ * the global has been overwritten, this is could be misleading, so we also do
1153
+ * a little 'duck typing' check to see if the `.then` property of the value is
1154
+ * defined and a function.
1155
+ *
1156
+ * @param maybePromise it might be a promise!
1157
+ * @returns whether it is or not
1158
+ */
1159
+ const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
1160
+ (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
1161
+ /**
1162
+ * Update a component given reference to its host elements and so on.
1163
+ *
1164
+ * @param hostRef an object containing references to the element's host node,
1165
+ * VDom nodes, and other metadata
1166
+ * @param instance a reference to the underlying host element where it will be
1167
+ * rendered
1168
+ * @param isInitialLoad whether or not this function is being called as part of
1169
+ * the first render cycle
1170
+ */
1375
1171
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
1376
- // updateComponent
1172
+ var _a;
1377
1173
  const elm = hostRef.$hostElement$;
1378
1174
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
1379
1175
  const rc = elm['s-rc'];
@@ -1383,7 +1179,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1383
1179
  }
1384
1180
  const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
1385
1181
  {
1386
- callRender(hostRef, instance);
1182
+ callRender(hostRef, instance, elm, isInitialLoad);
1387
1183
  }
1388
1184
  if (rc) {
1389
1185
  // ok, so turns out there are some child host elements
@@ -1395,7 +1191,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1395
1191
  endRender();
1396
1192
  endUpdate();
1397
1193
  {
1398
- const childrenPromises = elm['s-p'];
1194
+ const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
1399
1195
  const postUpdate = () => postUpdateComponent(hostRef);
1400
1196
  if (childrenPromises.length === 0) {
1401
1197
  postUpdate();
@@ -1407,8 +1203,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
1407
1203
  }
1408
1204
  }
1409
1205
  };
1410
- const callRender = (hostRef, instance, elm) => {
1206
+ /**
1207
+ * Handle making the call to the VDom renderer with the proper context given
1208
+ * various build variables
1209
+ *
1210
+ * @param hostRef an object containing references to the element's host node,
1211
+ * VDom nodes, and other metadata
1212
+ * @param instance a reference to the underlying host element where it will be
1213
+ * rendered
1214
+ * @param elm the Host element for the component
1215
+ * @param isInitialLoad whether or not this function is being called as part of
1216
+ * @returns an empty promise
1217
+ */
1218
+ const callRender = (hostRef, instance, elm, isInitialLoad) => {
1411
1219
  try {
1220
+ /**
1221
+ * minification optimization: `allRenderFn` is `true` if all components have a `render`
1222
+ * method, so we can call the method immediately. If not, check before calling it.
1223
+ */
1412
1224
  instance = instance.render() ;
1413
1225
  {
1414
1226
  hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
@@ -1422,7 +1234,7 @@ const callRender = (hostRef, instance, elm) => {
1422
1234
  // or we need to update the css class/attrs on the host element
1423
1235
  // DOM WRITE!
1424
1236
  {
1425
- renderVdom(hostRef, instance);
1237
+ renderVdom(hostRef, instance, isInitialLoad);
1426
1238
  }
1427
1239
  }
1428
1240
  }
@@ -1491,6 +1303,16 @@ const appDidLoad = (who) => {
1491
1303
  }
1492
1304
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
1493
1305
  };
1306
+ /**
1307
+ * Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
1308
+ * e.g. custom element node. If a build figures out that e.g. no component
1309
+ * has a `componentDidLoad` method, the instance method gets removed from the
1310
+ * output bundle and this function returns `undefined`.
1311
+ * @param instance any object that may or may not contain methods
1312
+ * @param method method name
1313
+ * @param arg single arbitrary argument
1314
+ * @returns result of method call if it exists, otherwise `undefined`
1315
+ */
1494
1316
  const safeCall = (instance, method, arg) => {
1495
1317
  if (instance && instance[method]) {
1496
1318
  try {
@@ -1502,9 +1324,6 @@ const safeCall = (instance, method, arg) => {
1502
1324
  }
1503
1325
  return undefined;
1504
1326
  };
1505
- const then = (promise, thenFn) => {
1506
- return promise && promise.then ? promise.then(thenFn) : thenFn();
1507
- };
1508
1327
  const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1509
1328
  ;
1510
1329
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -1561,13 +1380,14 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1561
1380
  * @returns a reference to the same constructor passed in (but now mutated)
1562
1381
  */
1563
1382
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1383
+ var _a;
1384
+ const prototype = Cstr.prototype;
1564
1385
  if (cmpMeta.$members$) {
1565
1386
  if (Cstr.watchers) {
1566
1387
  cmpMeta.$watchers$ = Cstr.watchers;
1567
1388
  }
1568
1389
  // It's better to have a const than two Object.entries()
1569
1390
  const members = Object.entries(cmpMeta.$members$);
1570
- const prototype = Cstr.prototype;
1571
1391
  members.map(([memberName, [memberFlags]]) => {
1572
1392
  if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
1573
1393
  ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
@@ -1590,16 +1410,18 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1590
1410
  // proxyComponent - method
1591
1411
  Object.defineProperty(prototype, memberName, {
1592
1412
  value(...args) {
1413
+ var _a;
1593
1414
  const ref = getHostRef(this);
1594
- return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
1415
+ 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
1416
  },
1596
1417
  });
1597
1418
  }
1598
1419
  });
1599
1420
  if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
1600
1421
  const attrNameToPropName = new Map();
1601
- prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
1422
+ prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
1602
1423
  plt.jmp(() => {
1424
+ var _a;
1603
1425
  const propName = attrNameToPropName.get(attrName);
1604
1426
  // In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
1605
1427
  // in the case where an attribute was set inline.
@@ -1621,12 +1443,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1621
1443
  // customElements.define('my-component', MyComponent);
1622
1444
  // </script>
1623
1445
  // ```
1624
- // In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
1446
+ // In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
1625
1447
  // will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
1626
1448
  // 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"
1449
+ // the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
1628
1450
  //
1629
- // The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
1451
+ // The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
1630
1452
  // by connectedCallback as this attributeChangedCallback will not fire.
1631
1453
  //
1632
1454
  // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
@@ -1646,31 +1468,72 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1646
1468
  // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
1647
1469
  return;
1648
1470
  }
1471
+ else if (propName == null) {
1472
+ // At this point we should know this is not a "member", so we can treat it like watching an attribute
1473
+ // on a vanilla web component
1474
+ const hostRef = getHostRef(this);
1475
+ const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
1476
+ // We only want to trigger the callback(s) if:
1477
+ // 1. The instance is ready
1478
+ // 2. The watchers are ready
1479
+ // 3. The value has changed
1480
+ if (flags &&
1481
+ !(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
1482
+ flags & 128 /* HOST_FLAGS.isWatchReady */ &&
1483
+ newValue !== oldValue) {
1484
+ const instance = hostRef.$lazyInstance$ ;
1485
+ const entry = (_a = cmpMeta.$watchers$) === null || _a === void 0 ? void 0 : _a[attrName];
1486
+ entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
1487
+ if (instance[callbackName] != null) {
1488
+ instance[callbackName].call(instance, newValue, oldValue, attrName);
1489
+ }
1490
+ });
1491
+ }
1492
+ return;
1493
+ }
1649
1494
  this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
1650
1495
  });
1651
1496
  };
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
- });
1497
+ // Create an array of attributes to observe
1498
+ // This list in comprised of all strings used within a `@Watch()` decorator
1499
+ // on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
1500
+ // As such, there is no way to guarantee type-safety here that a user hasn't entered
1501
+ // an invalid attribute.
1502
+ Cstr.observedAttributes = Array.from(new Set([
1503
+ ...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
1504
+ ...members
1505
+ .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
1506
+ .map(([propName, m]) => {
1507
+ var _a;
1508
+ const attrName = m[1] || propName;
1509
+ attrNameToPropName.set(attrName, propName);
1510
+ if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
1511
+ (_a = cmpMeta.$attrsToReflect$) === null || _a === void 0 ? void 0 : _a.push([propName, attrName]);
1512
+ }
1513
+ return attrName;
1514
+ }),
1515
+ ]));
1664
1516
  }
1665
1517
  }
1666
1518
  return Cstr;
1667
1519
  };
1668
- const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1520
+ /**
1521
+ * Initialize a Stencil component given a reference to its host element, its
1522
+ * runtime bookkeeping data structure, runtime metadata about the component,
1523
+ * and (optionally) an HMR version ID.
1524
+ *
1525
+ * @param elm a host element
1526
+ * @param hostRef the element's runtime bookkeeping object
1527
+ * @param cmpMeta runtime metadata for the Stencil component
1528
+ * @param hmrVersionId an (optional) HMR version ID
1529
+ */
1530
+ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1531
+ let Cstr;
1669
1532
  // initializeComponent
1670
1533
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1534
+ // Let the runtime know that the component has been initialized
1535
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1671
1536
  {
1672
- // we haven't initialized this element yet
1673
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1674
1537
  // lazy loaded components
1675
1538
  // request the component's implementation to be
1676
1539
  // wired up with the host element
@@ -1757,16 +1620,6 @@ const connectedCallback = (elm) => {
1757
1620
  if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
1758
1621
  // first time this component has connected
1759
1622
  hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
1760
- {
1761
- // initUpdate
1762
- // if the slot polyfill is required we'll need to put some nodes
1763
- // in here to act as original content anchors as we move nodes around
1764
- // host element has been connected to the DOM
1765
- if ((// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
1766
- cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
1767
- setContentReference(elm);
1768
- }
1769
- }
1770
1623
  {
1771
1624
  // find the first ancestor component (if there is one) and register
1772
1625
  // this component as one of the actively loading child components for its ancestor
@@ -1803,34 +1656,35 @@ const connectedCallback = (elm) => {
1803
1656
  // since they would have been removed when disconnected
1804
1657
  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1805
1658
  // fire off connectedCallback() on component instance
1806
- fireConnectedCallback(hostRef.$lazyInstance$);
1659
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
1660
+ fireConnectedCallback(hostRef.$lazyInstance$);
1661
+ }
1662
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1663
+ hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
1664
+ }
1807
1665
  }
1808
1666
  endConnected();
1809
1667
  }
1810
1668
  };
1811
- const setContentReference = (elm) => {
1812
- // only required when we're NOT using native shadow dom (slot)
1813
- // or this browser doesn't support native shadow dom
1814
- // and this host element was NOT created with SSR
1815
- // let's pick out the inner content for slot projection
1816
- // create a node to represent where the original
1817
- // content was first placed, which is useful later on
1818
- const contentRefElm = (elm['s-cr'] = doc.createComment(''));
1819
- contentRefElm['s-cn'] = true;
1820
- elm.insertBefore(contentRefElm, elm.firstChild);
1669
+ const disconnectInstance = (instance) => {
1670
+ {
1671
+ safeCall(instance, 'disconnectedCallback');
1672
+ }
1821
1673
  };
1822
- const disconnectedCallback = (elm) => {
1674
+ const disconnectedCallback = async (elm) => {
1823
1675
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1824
1676
  const hostRef = getHostRef(elm);
1825
- const instance = hostRef.$lazyInstance$ ;
1826
1677
  {
1827
1678
  if (hostRef.$rmListeners$) {
1828
1679
  hostRef.$rmListeners$.map((rmListener) => rmListener());
1829
1680
  hostRef.$rmListeners$ = undefined;
1830
1681
  }
1831
1682
  }
1832
- {
1833
- safeCall(instance, 'disconnectedCallback');
1683
+ if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
1684
+ disconnectInstance(hostRef.$lazyInstance$);
1685
+ }
1686
+ else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
1687
+ hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
1834
1688
  }
1835
1689
  }
1836
1690
  };
@@ -1842,20 +1696,27 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1842
1696
  const customElements = win.customElements;
1843
1697
  const head = doc.head;
1844
1698
  const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
1845
- const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
1699
+ const dataStyles = /*@__PURE__*/ doc.createElement('style');
1846
1700
  const deferredConnectedCallbacks = [];
1847
1701
  let appLoadFallback;
1848
1702
  let isBootstrapping = true;
1849
1703
  Object.assign(plt, options);
1850
1704
  plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
1705
+ let hasSlotRelocation = false;
1851
1706
  lazyBundles.map((lazyBundle) => {
1852
1707
  lazyBundle[1].map((compactMeta) => {
1708
+ var _a;
1853
1709
  const cmpMeta = {
1854
1710
  $flags$: compactMeta[0],
1855
1711
  $tagName$: compactMeta[1],
1856
1712
  $members$: compactMeta[2],
1857
1713
  $listeners$: compactMeta[3],
1858
1714
  };
1715
+ // Check if we are using slots outside the shadow DOM in this component.
1716
+ // We'll use this information later to add styles for `slot-fb` elements
1717
+ if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
1718
+ hasSlotRelocation = true;
1719
+ }
1859
1720
  {
1860
1721
  cmpMeta.$members$ = compactMeta[2];
1861
1722
  }
@@ -1866,7 +1727,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1866
1727
  cmpMeta.$attrsToReflect$ = [];
1867
1728
  }
1868
1729
  {
1869
- cmpMeta.$watchers$ = {};
1730
+ cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
1870
1731
  }
1871
1732
  const tagName = cmpMeta.$tagName$;
1872
1733
  const HostElement = class extends HTMLElement {
@@ -1915,15 +1776,25 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1915
1776
  }
1916
1777
  });
1917
1778
  });
1779
+ // Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
1780
+ if (hasSlotRelocation) {
1781
+ dataStyles.innerHTML += SLOT_FB_CSS;
1782
+ }
1783
+ // Add hydration styles
1918
1784
  {
1919
- visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
1920
- visibilityStyle.setAttribute('data-styles', '');
1785
+ dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
1786
+ }
1787
+ // If we have styles, add them to the DOM
1788
+ if (dataStyles.innerHTML.length) {
1789
+ dataStyles.setAttribute('data-styles', '');
1921
1790
  // Apply CSP nonce to the style tag if it exists
1922
1791
  const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
1923
1792
  if (nonce != null) {
1924
- visibilityStyle.setAttribute('nonce', nonce);
1793
+ dataStyles.setAttribute('nonce', nonce);
1925
1794
  }
1926
- head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
1795
+ // Insert the styles into the document head
1796
+ // NOTE: this _needs_ to happen last so we can ensure the nonce (and other attributes) are applied
1797
+ head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
1927
1798
  }
1928
1799
  // Process deferred connectedCallbacks now all components have been registered
1929
1800
  isBootstrapping = false;
@@ -1979,13 +1850,40 @@ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !==
1979
1850
  * @returns void
1980
1851
  */
1981
1852
  const setNonce = (nonce) => (plt.$nonce$ = nonce);
1853
+ /**
1854
+ * A WeakMap mapping runtime component references to their corresponding host reference
1855
+ * instances.
1856
+ */
1982
1857
  const hostRefs = /*@__PURE__*/ new WeakMap();
1858
+ /**
1859
+ * Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
1860
+ *
1861
+ * @param ref the runtime ref of interest
1862
+ * @returns the Host reference (if found) or undefined
1863
+ */
1983
1864
  const getHostRef = (ref) => hostRefs.get(ref);
1865
+ /**
1866
+ * Register a lazy instance with the {@link hostRefs} object so it's
1867
+ * corresponding {@link d.HostRef} can be retrieved later.
1868
+ *
1869
+ * @param lazyInstance the lazy instance of interest
1870
+ * @param hostRef that instances `HostRef` object
1871
+ * @returns a reference to the host ref WeakMap
1872
+ */
1984
1873
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
1985
- const registerHost = (elm, cmpMeta) => {
1874
+ /**
1875
+ * Register a host element for a Stencil component, setting up various metadata
1876
+ * and callbacks based on {@link BUILD} flags as well as the component's runtime
1877
+ * metadata.
1878
+ *
1879
+ * @param hostElement the host element to register
1880
+ * @param cmpMeta runtime metadata for that component
1881
+ * @returns a reference to the host ref WeakMap
1882
+ */
1883
+ const registerHost = (hostElement, cmpMeta) => {
1986
1884
  const hostRef = {
1987
1885
  $flags$: 0,
1988
- $hostElement$: elm,
1886
+ $hostElement$: hostElement,
1989
1887
  $cmpMeta$: cmpMeta,
1990
1888
  $instanceValues$: new Map(),
1991
1889
  };
@@ -1994,11 +1892,11 @@ const registerHost = (elm, cmpMeta) => {
1994
1892
  }
1995
1893
  {
1996
1894
  hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
1997
- elm['s-p'] = [];
1998
- elm['s-rc'] = [];
1895
+ hostElement['s-p'] = [];
1896
+ hostElement['s-rc'] = [];
1999
1897
  }
2000
- addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
2001
- return hostRefs.set(elm, hostRef);
1898
+ addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
1899
+ return hostRefs.set(hostElement, hostRef);
2002
1900
  };
2003
1901
  const isMemberInElement = (elm, memberName) => memberName in elm;
2004
1902
  const consoleError = (e, el) => (0, console.error)(e, el);
@@ -2011,7 +1909,216 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
2011
1909
  if (module) {
2012
1910
  return module[exportName];
2013
1911
  }
2014
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
1912
+
1913
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1914
+ const processMod = importedModule => {
1915
+ cmpModules.set(bundleId, importedModule);
1916
+ return importedModule[exportName];
1917
+ }
1918
+ switch(bundleId) {
1919
+
1920
+ case 'six-alert':
1921
+ return import(
1922
+ /* webpackMode: "lazy" */
1923
+ './six-alert.entry.js').then(processMod, consoleError);
1924
+ case 'six-avatar':
1925
+ return import(
1926
+ /* webpackMode: "lazy" */
1927
+ './six-avatar.entry.js').then(processMod, consoleError);
1928
+ case 'six-badge':
1929
+ return import(
1930
+ /* webpackMode: "lazy" */
1931
+ './six-badge.entry.js').then(processMod, consoleError);
1932
+ case 'six-card':
1933
+ return import(
1934
+ /* webpackMode: "lazy" */
1935
+ './six-card.entry.js').then(processMod, consoleError);
1936
+ case 'six-datepicker':
1937
+ return import(
1938
+ /* webpackMode: "lazy" */
1939
+ './six-datepicker.entry.js').then(processMod, consoleError);
1940
+ case 'six-dialog':
1941
+ return import(
1942
+ /* webpackMode: "lazy" */
1943
+ './six-dialog.entry.js').then(processMod, consoleError);
1944
+ case 'six-drawer':
1945
+ return import(
1946
+ /* webpackMode: "lazy" */
1947
+ './six-drawer.entry.js').then(processMod, consoleError);
1948
+ case 'six-error-page':
1949
+ return import(
1950
+ /* webpackMode: "lazy" */
1951
+ './six-error-page.entry.js').then(processMod, consoleError);
1952
+ case 'six-file-list':
1953
+ return import(
1954
+ /* webpackMode: "lazy" */
1955
+ './six-file-list.entry.js').then(processMod, consoleError);
1956
+ case 'six-file-list-item':
1957
+ return import(
1958
+ /* webpackMode: "lazy" */
1959
+ './six-file-list-item.entry.js').then(processMod, consoleError);
1960
+ case 'six-file-upload':
1961
+ return import(
1962
+ /* webpackMode: "lazy" */
1963
+ './six-file-upload.entry.js').then(processMod, consoleError);
1964
+ case 'six-footer':
1965
+ return import(
1966
+ /* webpackMode: "lazy" */
1967
+ './six-footer.entry.js').then(processMod, consoleError);
1968
+ case 'six-group-label':
1969
+ return import(
1970
+ /* webpackMode: "lazy" */
1971
+ './six-group-label.entry.js').then(processMod, consoleError);
1972
+ case 'six-header':
1973
+ return import(
1974
+ /* webpackMode: "lazy" */
1975
+ './six-header.entry.js').then(processMod, consoleError);
1976
+ case 'six-language-switcher':
1977
+ return import(
1978
+ /* webpackMode: "lazy" */
1979
+ './six-language-switcher.entry.js').then(processMod, consoleError);
1980
+ case 'six-layout-grid':
1981
+ return import(
1982
+ /* webpackMode: "lazy" */
1983
+ './six-layout-grid.entry.js').then(processMod, consoleError);
1984
+ case 'six-main-container':
1985
+ return import(
1986
+ /* webpackMode: "lazy" */
1987
+ './six-main-container.entry.js').then(processMod, consoleError);
1988
+ case 'six-menu-divider':
1989
+ return import(
1990
+ /* webpackMode: "lazy" */
1991
+ './six-menu-divider.entry.js').then(processMod, consoleError);
1992
+ case 'six-menu-label':
1993
+ return import(
1994
+ /* webpackMode: "lazy" */
1995
+ './six-menu-label.entry.js').then(processMod, consoleError);
1996
+ case 'six-progress-bar':
1997
+ return import(
1998
+ /* webpackMode: "lazy" */
1999
+ './six-progress-bar.entry.js').then(processMod, consoleError);
2000
+ case 'six-progress-ring':
2001
+ return import(
2002
+ /* webpackMode: "lazy" */
2003
+ './six-progress-ring.entry.js').then(processMod, consoleError);
2004
+ case 'six-radio':
2005
+ return import(
2006
+ /* webpackMode: "lazy" */
2007
+ './six-radio.entry.js').then(processMod, consoleError);
2008
+ case 'six-range':
2009
+ return import(
2010
+ /* webpackMode: "lazy" */
2011
+ './six-range.entry.js').then(processMod, consoleError);
2012
+ case 'six-root':
2013
+ return import(
2014
+ /* webpackMode: "lazy" */
2015
+ './six-root.entry.js').then(processMod, consoleError);
2016
+ case 'six-search-field':
2017
+ return import(
2018
+ /* webpackMode: "lazy" */
2019
+ './six-search-field.entry.js').then(processMod, consoleError);
2020
+ case 'six-select':
2021
+ return import(
2022
+ /* webpackMode: "lazy" */
2023
+ './six-select.entry.js').then(processMod, consoleError);
2024
+ case 'six-sidebar':
2025
+ return import(
2026
+ /* webpackMode: "lazy" */
2027
+ './six-sidebar.entry.js').then(processMod, consoleError);
2028
+ case 'six-sidebar-item':
2029
+ return import(
2030
+ /* webpackMode: "lazy" */
2031
+ './six-sidebar-item.entry.js').then(processMod, consoleError);
2032
+ case 'six-sidebar-item-group':
2033
+ return import(
2034
+ /* webpackMode: "lazy" */
2035
+ './six-sidebar-item-group.entry.js').then(processMod, consoleError);
2036
+ case 'six-switch':
2037
+ return import(
2038
+ /* webpackMode: "lazy" */
2039
+ './six-switch.entry.js').then(processMod, consoleError);
2040
+ case 'six-tab':
2041
+ return import(
2042
+ /* webpackMode: "lazy" */
2043
+ './six-tab.entry.js').then(processMod, consoleError);
2044
+ case 'six-tab-group':
2045
+ return import(
2046
+ /* webpackMode: "lazy" */
2047
+ './six-tab-group.entry.js').then(processMod, consoleError);
2048
+ case 'six-tab-panel':
2049
+ return import(
2050
+ /* webpackMode: "lazy" */
2051
+ './six-tab-panel.entry.js').then(processMod, consoleError);
2052
+ case 'six-tag':
2053
+ return import(
2054
+ /* webpackMode: "lazy" */
2055
+ './six-tag.entry.js').then(processMod, consoleError);
2056
+ case 'six-textarea':
2057
+ return import(
2058
+ /* webpackMode: "lazy" */
2059
+ './six-textarea.entry.js').then(processMod, consoleError);
2060
+ case 'six-tile':
2061
+ return import(
2062
+ /* webpackMode: "lazy" */
2063
+ './six-tile.entry.js').then(processMod, consoleError);
2064
+ case 'six-button':
2065
+ return import(
2066
+ /* webpackMode: "lazy" */
2067
+ './six-button.entry.js').then(processMod, consoleError);
2068
+ case 'six-details':
2069
+ return import(
2070
+ /* webpackMode: "lazy" */
2071
+ './six-details.entry.js').then(processMod, consoleError);
2072
+ case 'six-picto':
2073
+ return import(
2074
+ /* webpackMode: "lazy" */
2075
+ './six-picto.entry.js').then(processMod, consoleError);
2076
+ case 'six-stage-indicator':
2077
+ return import(
2078
+ /* webpackMode: "lazy" */
2079
+ './six-stage-indicator.entry.js').then(processMod, consoleError);
2080
+ case 'six-timepicker':
2081
+ return import(
2082
+ /* webpackMode: "lazy" */
2083
+ './six-timepicker.entry.js').then(processMod, consoleError);
2084
+ case 'six-dropdown_2':
2085
+ return import(
2086
+ /* webpackMode: "lazy" */
2087
+ './six-dropdown_2.entry.js').then(processMod, consoleError);
2088
+ case 'six-item-picker':
2089
+ return import(
2090
+ /* webpackMode: "lazy" */
2091
+ './six-item-picker.entry.js').then(processMod, consoleError);
2092
+ case 'six-spinner':
2093
+ return import(
2094
+ /* webpackMode: "lazy" */
2095
+ './six-spinner.entry.js').then(processMod, consoleError);
2096
+ case 'six-tooltip':
2097
+ return import(
2098
+ /* webpackMode: "lazy" */
2099
+ './six-tooltip.entry.js').then(processMod, consoleError);
2100
+ case 'six-checkbox_2':
2101
+ return import(
2102
+ /* webpackMode: "lazy" */
2103
+ './six-checkbox_2.entry.js').then(processMod, consoleError);
2104
+ case 'six-input':
2105
+ return import(
2106
+ /* webpackMode: "lazy" */
2107
+ './six-input.entry.js').then(processMod, consoleError);
2108
+ case 'six-icon-button':
2109
+ return import(
2110
+ /* webpackMode: "lazy" */
2111
+ './six-icon-button.entry.js').then(processMod, consoleError);
2112
+ case 'six-error':
2113
+ return import(
2114
+ /* webpackMode: "lazy" */
2115
+ './six-error.entry.js').then(processMod, consoleError);
2116
+ case 'six-icon':
2117
+ return import(
2118
+ /* webpackMode: "lazy" */
2119
+ './six-icon.entry.js').then(processMod, consoleError);
2120
+ }
2121
+ }
2015
2122
  return import(
2016
2123
  /* @vite-ignore */
2017
2124
  /* webpackInclude: /\.entry\.js$/ */
@@ -2086,9 +2193,9 @@ const flush = () => {
2086
2193
  }
2087
2194
  }
2088
2195
  };
2089
- const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
2196
+ const nextTick = (cb) => promiseResolve().then(cb);
2090
2197
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
2091
2198
 
2092
2199
  export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
2093
2200
 
2094
- //# sourceMappingURL=index-5c0f6628.js.map
2201
+ //# sourceMappingURL=index-79d4ef67.js.map