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

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