@sekiui/elements 0.0.56 → 0.0.57

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 (256) hide show
  1. package/dist/cdn/index.js +1053 -91
  2. package/dist/cdn/p-BJCq8m2o.js +138 -0
  3. package/dist/cdn/p-BfRJQMIU.js +111 -0
  4. package/dist/cdn/{p-bMBhrs0a.js → p-Bp7tjKwQ.js} +427 -7
  5. package/dist/cdn/seki-button.js +1 -1
  6. package/dist/cdn/seki-card-action.js +1 -1
  7. package/dist/cdn/seki-card-content.js +1 -1
  8. package/dist/cdn/seki-card-description.js +1 -1
  9. package/dist/cdn/seki-card-footer.js +1 -1
  10. package/dist/cdn/seki-card-header.js +1 -1
  11. package/dist/cdn/seki-card-title.js +1 -1
  12. package/dist/cdn/seki-card.js +1 -1
  13. package/dist/cdn/seki-field-description.js +1 -1
  14. package/dist/cdn/seki-field-error.js +1 -1
  15. package/dist/cdn/seki-field-group.js +1 -1
  16. package/dist/cdn/seki-field-label.js +1 -1
  17. package/dist/cdn/seki-field-legend.js +1 -1
  18. package/dist/cdn/seki-field.js +1 -1
  19. package/dist/cdn/seki-fieldset.js +1 -1
  20. package/dist/cdn/seki-input.js +1 -1
  21. package/dist/cdn/seki-select-content.js +1 -1
  22. package/dist/cdn/seki-select-group.js +1 -1
  23. package/dist/cdn/seki-select-option.js +1 -1
  24. package/dist/cdn/seki-select-trigger.js +1 -1
  25. package/dist/cdn/seki-select.js +1 -1
  26. package/dist/cdn/seki-sidebar-content.d.ts +11 -0
  27. package/dist/cdn/seki-sidebar-content.js +38 -0
  28. package/dist/cdn/seki-sidebar-footer.d.ts +11 -0
  29. package/dist/cdn/seki-sidebar-footer.js +38 -0
  30. package/dist/cdn/seki-sidebar-group.d.ts +11 -0
  31. package/dist/cdn/seki-sidebar-group.js +131 -0
  32. package/dist/cdn/seki-sidebar-header.d.ts +11 -0
  33. package/dist/cdn/seki-sidebar-header.js +38 -0
  34. package/dist/cdn/seki-sidebar-menu-item.d.ts +11 -0
  35. package/dist/cdn/seki-sidebar-menu-item.js +200 -0
  36. package/dist/cdn/seki-sidebar-menu-sub.d.ts +11 -0
  37. package/dist/cdn/seki-sidebar-menu-sub.js +123 -0
  38. package/dist/cdn/seki-sidebar-menu.d.ts +11 -0
  39. package/dist/cdn/seki-sidebar-menu.js +38 -0
  40. package/dist/cdn/seki-sidebar-trigger.d.ts +11 -0
  41. package/dist/cdn/seki-sidebar-trigger.js +109 -0
  42. package/dist/cdn/seki-sidebar.d.ts +11 -0
  43. package/dist/cdn/seki-sidebar.js +380 -0
  44. package/dist/cdn/seki-skeleton.js +2 -2
  45. package/dist/cdn/seki-switch.js +1 -1
  46. package/dist/cdn/seki-tooltip.js +1 -1
  47. package/dist/cjs/{index-Dd6_-KaR.js → index-tQYksITZ.js} +426 -6
  48. package/dist/cjs/index.cjs.js +1115 -63
  49. package/dist/cjs/keyboard-Cjl5HYES.js +142 -0
  50. package/dist/cjs/loader.cjs.js +2 -2
  51. package/dist/cjs/seki-button.cjs.entry.js +1 -1
  52. package/dist/cjs/seki-card-action.cjs.entry.js +1 -1
  53. package/dist/cjs/seki-card-content.cjs.entry.js +1 -1
  54. package/dist/cjs/seki-card-description.cjs.entry.js +1 -1
  55. package/dist/cjs/seki-card-footer.cjs.entry.js +1 -1
  56. package/dist/cjs/seki-card-header.cjs.entry.js +1 -1
  57. package/dist/cjs/seki-card-title.cjs.entry.js +1 -1
  58. package/dist/cjs/seki-card.cjs.entry.js +1 -1
  59. package/dist/cjs/seki-field-description.cjs.entry.js +1 -1
  60. package/dist/cjs/seki-field-error.cjs.entry.js +1 -1
  61. package/dist/cjs/seki-field-group.cjs.entry.js +1 -1
  62. package/dist/cjs/seki-field-label.cjs.entry.js +1 -1
  63. package/dist/cjs/seki-field-legend.cjs.entry.js +1 -1
  64. package/dist/cjs/seki-field.cjs.entry.js +1 -1
  65. package/dist/cjs/seki-fieldset.cjs.entry.js +1 -1
  66. package/dist/cjs/seki-input.cjs.entry.js +1 -1
  67. package/dist/cjs/seki-select-content.cjs.entry.js +1 -1
  68. package/dist/cjs/seki-select-group.cjs.entry.js +1 -1
  69. package/dist/cjs/seki-select-option.cjs.entry.js +1 -1
  70. package/dist/cjs/seki-select-trigger.cjs.entry.js +1 -1
  71. package/dist/cjs/seki-select.cjs.entry.js +1 -1
  72. package/dist/cjs/seki-sidebar-content.cjs.entry.js +20 -0
  73. package/dist/cjs/seki-sidebar-footer.cjs.entry.js +20 -0
  74. package/dist/cjs/seki-sidebar-group.cjs.entry.js +105 -0
  75. package/dist/cjs/seki-sidebar-header.cjs.entry.js +20 -0
  76. package/dist/cjs/seki-sidebar-menu-item.cjs.entry.js +174 -0
  77. package/dist/cjs/seki-sidebar-menu-sub.cjs.entry.js +99 -0
  78. package/dist/cjs/seki-sidebar-menu.cjs.entry.js +20 -0
  79. package/dist/cjs/seki-sidebar-trigger.cjs.entry.js +86 -0
  80. package/dist/cjs/seki-sidebar.cjs.entry.js +342 -0
  81. package/dist/cjs/seki-skeleton.cjs.entry.js +2 -2
  82. package/dist/cjs/seki-switch.cjs.entry.js +81 -3
  83. package/dist/cjs/seki-tooltip.cjs.entry.js +1 -1
  84. package/dist/cjs/sekiui.cjs.js +2 -2
  85. package/dist/collection/collection-manifest.json +9 -0
  86. package/dist/collection/components/sidebar/seki-sidebar-content.css +82 -0
  87. package/dist/collection/components/sidebar/seki-sidebar-content.js +33 -0
  88. package/dist/collection/components/sidebar/seki-sidebar-footer.css +44 -0
  89. package/dist/collection/components/sidebar/seki-sidebar-footer.js +31 -0
  90. package/dist/collection/components/sidebar/seki-sidebar-group.css +158 -0
  91. package/dist/collection/components/sidebar/seki-sidebar-group.js +300 -0
  92. package/dist/collection/components/sidebar/seki-sidebar-header.css +44 -0
  93. package/dist/collection/components/sidebar/seki-sidebar-header.js +32 -0
  94. package/dist/collection/components/sidebar/seki-sidebar-menu-item.css +196 -0
  95. package/dist/collection/components/sidebar/seki-sidebar-menu-item.js +403 -0
  96. package/dist/collection/components/sidebar/seki-sidebar-menu-sub.css +357 -0
  97. package/dist/collection/components/sidebar/seki-sidebar-menu-sub.js +256 -0
  98. package/dist/collection/components/sidebar/seki-sidebar-menu.css +25 -0
  99. package/dist/collection/components/sidebar/seki-sidebar-menu.js +32 -0
  100. package/dist/collection/components/sidebar/seki-sidebar-trigger.css +68 -0
  101. package/dist/collection/components/sidebar/seki-sidebar-trigger.js +175 -0
  102. package/dist/collection/components/sidebar/seki-sidebar.css +352 -0
  103. package/dist/collection/components/sidebar/seki-sidebar.js +812 -0
  104. package/dist/collection/components/sidebar/types.js +18 -0
  105. package/dist/collection/components/skeleton/seki-skeleton.js +1 -1
  106. package/dist/collection/index.js +7 -0
  107. package/dist/collection/services/focus.js +192 -0
  108. package/dist/collection/services/index.js +7 -0
  109. package/dist/collection/services/keyboard.js +136 -0
  110. package/dist/collection/services/media-query.js +254 -0
  111. package/dist/collection/types.js +41 -0
  112. package/dist/collection/utils/a11y.js +291 -0
  113. package/dist/collection/utils/common.js +286 -0
  114. package/dist/components/index.js +1053 -91
  115. package/dist/components/p-BJCq8m2o.js +138 -0
  116. package/dist/components/{p-QhPshhKB.js → p-BzYKy7d3.js} +427 -7
  117. package/dist/components/p-DwTISp-i.js +111 -0
  118. package/dist/components/seki-button.js +1 -1
  119. package/dist/components/seki-card-action.js +1 -1
  120. package/dist/components/seki-card-content.js +1 -1
  121. package/dist/components/seki-card-description.js +1 -1
  122. package/dist/components/seki-card-footer.js +1 -1
  123. package/dist/components/seki-card-header.js +1 -1
  124. package/dist/components/seki-card-title.js +1 -1
  125. package/dist/components/seki-card.js +1 -1
  126. package/dist/components/seki-field-description.js +1 -1
  127. package/dist/components/seki-field-error.js +1 -1
  128. package/dist/components/seki-field-group.js +1 -1
  129. package/dist/components/seki-field-label.js +1 -1
  130. package/dist/components/seki-field-legend.js +1 -1
  131. package/dist/components/seki-field.js +1 -1
  132. package/dist/components/seki-fieldset.js +1 -1
  133. package/dist/components/seki-input.js +1 -1
  134. package/dist/components/seki-select-content.js +1 -1
  135. package/dist/components/seki-select-group.js +1 -1
  136. package/dist/components/seki-select-option.js +1 -1
  137. package/dist/components/seki-select-trigger.js +1 -1
  138. package/dist/components/seki-select.js +1 -1
  139. package/dist/components/seki-sidebar-content.d.ts +11 -0
  140. package/dist/components/seki-sidebar-content.js +38 -0
  141. package/dist/components/seki-sidebar-footer.d.ts +11 -0
  142. package/dist/components/seki-sidebar-footer.js +38 -0
  143. package/dist/components/seki-sidebar-group.d.ts +11 -0
  144. package/dist/components/seki-sidebar-group.js +131 -0
  145. package/dist/components/seki-sidebar-header.d.ts +11 -0
  146. package/dist/components/seki-sidebar-header.js +38 -0
  147. package/dist/components/seki-sidebar-menu-item.d.ts +11 -0
  148. package/dist/components/seki-sidebar-menu-item.js +200 -0
  149. package/dist/components/seki-sidebar-menu-sub.d.ts +11 -0
  150. package/dist/components/seki-sidebar-menu-sub.js +123 -0
  151. package/dist/components/seki-sidebar-menu.d.ts +11 -0
  152. package/dist/components/seki-sidebar-menu.js +38 -0
  153. package/dist/components/seki-sidebar-trigger.d.ts +11 -0
  154. package/dist/components/seki-sidebar-trigger.js +109 -0
  155. package/dist/components/seki-sidebar.d.ts +11 -0
  156. package/dist/components/seki-sidebar.js +380 -0
  157. package/dist/components/seki-skeleton.js +2 -2
  158. package/dist/components/seki-switch.js +1 -1
  159. package/dist/components/seki-tooltip.js +1 -1
  160. package/dist/esm/{index-CuXbV_yz.js → index-Dfzpqq0a.js} +426 -6
  161. package/dist/esm/index.js +1053 -63
  162. package/dist/esm/keyboard-BJCq8m2o.js +138 -0
  163. package/dist/esm/loader.js +3 -3
  164. package/dist/esm/seki-button.entry.js +1 -1
  165. package/dist/esm/seki-card-action.entry.js +1 -1
  166. package/dist/esm/seki-card-content.entry.js +1 -1
  167. package/dist/esm/seki-card-description.entry.js +1 -1
  168. package/dist/esm/seki-card-footer.entry.js +1 -1
  169. package/dist/esm/seki-card-header.entry.js +1 -1
  170. package/dist/esm/seki-card-title.entry.js +1 -1
  171. package/dist/esm/seki-card.entry.js +1 -1
  172. package/dist/esm/seki-field-description.entry.js +1 -1
  173. package/dist/esm/seki-field-error.entry.js +1 -1
  174. package/dist/esm/seki-field-group.entry.js +1 -1
  175. package/dist/esm/seki-field-label.entry.js +1 -1
  176. package/dist/esm/seki-field-legend.entry.js +1 -1
  177. package/dist/esm/seki-field.entry.js +1 -1
  178. package/dist/esm/seki-fieldset.entry.js +1 -1
  179. package/dist/esm/seki-input.entry.js +1 -1
  180. package/dist/esm/seki-select-content.entry.js +1 -1
  181. package/dist/esm/seki-select-group.entry.js +1 -1
  182. package/dist/esm/seki-select-option.entry.js +1 -1
  183. package/dist/esm/seki-select-trigger.entry.js +1 -1
  184. package/dist/esm/seki-select.entry.js +1 -1
  185. package/dist/esm/seki-sidebar-content.entry.js +18 -0
  186. package/dist/esm/seki-sidebar-footer.entry.js +18 -0
  187. package/dist/esm/seki-sidebar-group.entry.js +103 -0
  188. package/dist/esm/seki-sidebar-header.entry.js +18 -0
  189. package/dist/esm/seki-sidebar-menu-item.entry.js +172 -0
  190. package/dist/esm/seki-sidebar-menu-sub.entry.js +97 -0
  191. package/dist/esm/seki-sidebar-menu.entry.js +18 -0
  192. package/dist/esm/seki-sidebar-trigger.entry.js +84 -0
  193. package/dist/esm/seki-sidebar.entry.js +340 -0
  194. package/dist/esm/seki-skeleton.entry.js +2 -2
  195. package/dist/esm/seki-switch.entry.js +84 -2
  196. package/dist/esm/seki-tooltip.entry.js +1 -1
  197. package/dist/esm/sekiui.js +3 -3
  198. package/dist/sekiui/index.esm.js +1 -1
  199. package/dist/sekiui/p-01cfb4e7.entry.js +1 -0
  200. package/dist/sekiui/{p-97e6e5ce.entry.js → p-042ec460.entry.js} +1 -1
  201. package/dist/sekiui/{p-3e088b5a.entry.js → p-10c008fc.entry.js} +1 -1
  202. package/dist/sekiui/{p-ed440425.entry.js → p-352bd295.entry.js} +1 -1
  203. package/dist/sekiui/p-37c5f4d9.entry.js +1 -0
  204. package/dist/sekiui/p-40fb71d6.entry.js +1 -0
  205. package/dist/sekiui/{p-eefbc037.entry.js → p-44191aed.entry.js} +1 -1
  206. package/dist/sekiui/{p-81709fc2.entry.js → p-4423d621.entry.js} +1 -1
  207. package/dist/sekiui/{p-9af5286b.entry.js → p-4636588f.entry.js} +1 -1
  208. package/dist/sekiui/p-471b97a5.entry.js +1 -0
  209. package/dist/sekiui/{p-0544d787.entry.js → p-56f0d754.entry.js} +1 -1
  210. package/dist/sekiui/{p-43f7c542.entry.js → p-5bc0f5aa.entry.js} +1 -1
  211. package/dist/sekiui/{p-eedf44b5.entry.js → p-6164cd8a.entry.js} +1 -1
  212. package/dist/sekiui/{p-b479935d.entry.js → p-635f4098.entry.js} +1 -1
  213. package/dist/sekiui/{p-35f8f9c4.entry.js → p-743fc6d9.entry.js} +1 -1
  214. package/dist/sekiui/p-83e65cbe.entry.js +1 -0
  215. package/dist/sekiui/p-8b7bd061.entry.js +1 -0
  216. package/dist/sekiui/{p-009183ab.entry.js → p-8d9a4878.entry.js} +1 -1
  217. package/dist/sekiui/p-9cb9cdfe.entry.js +1 -0
  218. package/dist/sekiui/p-9f2d95d7.entry.js +1 -0
  219. package/dist/sekiui/p-BJCq8m2o.js +1 -0
  220. package/dist/sekiui/p-Dfzpqq0a.js +2 -0
  221. package/dist/sekiui/{p-b22df79e.entry.js → p-a1a71958.entry.js} +1 -1
  222. package/dist/sekiui/{p-dd1e3e87.entry.js → p-a71e0c55.entry.js} +1 -1
  223. package/dist/sekiui/{p-1607dc4d.entry.js → p-ae227955.entry.js} +1 -1
  224. package/dist/sekiui/{p-cf11115c.entry.js → p-b365f5fb.entry.js} +1 -1
  225. package/dist/sekiui/{p-6bde807e.entry.js → p-b387a2a5.entry.js} +1 -1
  226. package/dist/sekiui/p-b8590f4d.entry.js +1 -0
  227. package/dist/sekiui/{p-88f91658.entry.js → p-c98b6d6a.entry.js} +1 -1
  228. package/dist/sekiui/{p-e71ad432.entry.js → p-d73cdb9a.entry.js} +1 -1
  229. package/dist/sekiui/{p-b10d81a6.entry.js → p-d96e770e.entry.js} +1 -1
  230. package/dist/sekiui/p-e62dd89b.entry.js +1 -0
  231. package/dist/sekiui/{p-d4c92041.entry.js → p-e7bb140c.entry.js} +1 -1
  232. package/dist/sekiui/{p-6e238adf.entry.js → p-eecc18f3.entry.js} +1 -1
  233. package/dist/sekiui/{p-4d57c6ea.entry.js → p-ff636955.entry.js} +1 -1
  234. package/dist/sekiui/sekiui.esm.js +1 -1
  235. package/dist/types/components/sidebar/seki-sidebar-content.d.ts +18 -0
  236. package/dist/types/components/sidebar/seki-sidebar-footer.d.ts +16 -0
  237. package/dist/types/components/sidebar/seki-sidebar-group.d.ts +81 -0
  238. package/dist/types/components/sidebar/seki-sidebar-header.d.ts +17 -0
  239. package/dist/types/components/sidebar/seki-sidebar-menu-item.d.ts +104 -0
  240. package/dist/types/components/sidebar/seki-sidebar-menu-sub.d.ts +81 -0
  241. package/dist/types/components/sidebar/seki-sidebar-menu.d.ts +17 -0
  242. package/dist/types/components/sidebar/seki-sidebar-trigger.d.ts +53 -0
  243. package/dist/types/components/sidebar/seki-sidebar.d.ts +185 -0
  244. package/dist/types/components/sidebar/types.d.ts +245 -0
  245. package/dist/types/components.d.ts +508 -0
  246. package/dist/types/index.d.ts +4 -0
  247. package/dist/types/services/focus.d.ts +74 -0
  248. package/dist/types/services/index.d.ts +7 -0
  249. package/dist/types/services/keyboard.d.ts +74 -0
  250. package/dist/types/services/media-query.d.ts +121 -0
  251. package/dist/types/types.d.ts +105 -0
  252. package/dist/types/utils/a11y.d.ts +130 -0
  253. package/dist/types/utils/common.d.ts +142 -0
  254. package/package.json +2 -1
  255. package/dist/sekiui/p-9fe07f6e.entry.js +0 -1
  256. package/dist/sekiui/p-CuXbV_yz.js +0 -2
@@ -1,5 +1,5 @@
1
1
  const NAMESPACE = 'sekiui';
2
- const BUILD = /* sekiui */ { hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, updatable: true};
2
+ const BUILD = /* sekiui */ { hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, slotRelocation: true, updatable: true};
3
3
 
4
4
  const globalScripts = () => {};
5
5
  const globalStyles = ":host{--seki-neutral-50:hsl(0, 0%, 98%);--seki-neutral-100:hsl(0, 0%, 96.1%);--seki-neutral-200:hsl(0, 0%, 89.8%);--seki-neutral-300:hsl(0, 0%, 83.1%);--seki-neutral-400:hsl(0, 0%, 63.9%);--seki-neutral-500:hsl(0, 0%, 45.1%);--seki-neutral-600:hsl(0, 0%, 32.2%);--seki-neutral-700:hsl(0, 0%, 25.1%);--seki-neutral-800:hsl(0, 0%, 14.9%);--seki-neutral-900:hsl(0, 0%, 9%);--seki-neutral-950:hsl(0, 0%, 3.9%);--seki-primary-50:hsl(210, 100%, 97%);--seki-primary-100:hsl(210, 95%, 93%);--seki-primary-200:hsl(210, 95%, 85%);--seki-primary-300:hsl(210, 90%, 73%);--seki-primary-400:hsl(210, 85%, 58%);--seki-primary-500:hsl(210, 80%, 48%);--seki-primary-600:hsl(210, 75%, 40%);--seki-primary-700:hsl(210, 70%, 32%);--seki-primary-800:hsl(210, 65%, 25%);--seki-primary-900:hsl(210, 60%, 18%);--seki-primary-950:hsl(210, 55%, 10%);--seki-success-500:hsl(142, 71%, 45%);--seki-success-600:hsl(142, 71%, 35%);--seki-warning-500:hsl(38, 92%, 50%);--seki-warning-600:hsl(38, 92%, 40%);--seki-destructive-500:hsl(0, 84.2%, 60.2%);--seki-destructive-600:hsl(0, 72%, 41%)}:host{--seki-background:hsl(0, 0%, 100%);--seki-foreground:hsl(0, 0%, 3.9%);--seki-muted:hsl(0, 0%, 96.1%);--seki-muted-foreground:hsl(0, 0%, 45.1%);--seki-card:hsl(0, 0%, 100%);--seki-card-foreground:hsl(0, 0%, 3.9%);--seki-popover:hsl(0, 0%, 100%);--seki-popover-foreground:hsl(0, 0%, 3.9%);--seki-border:hsl(0, 0%, 89.8%);--seki-input:hsl(0, 0%, 89.8%);--seki-primary:hsl(0, 0%, 9%);--seki-primary-foreground:hsl(0, 0%, 98%);--seki-secondary:hsl(0, 0%, 96.1%);--seki-secondary-foreground:hsl(0, 0%, 9%);--seki-accent:hsl(0, 0%, 96.1%);--seki-accent-foreground:hsl(0, 0%, 9%);--seki-destructive:hsl(0, 84.2%, 60.2%);--seki-destructive-foreground:hsl(0, 0%, 98%);--seki-ring:hsl(0, 0%, 3.9%);--seki-bg-primary:var(--seki-background);--seki-bg-secondary:var(--seki-muted);--seki-bg-tertiary:var(--seki-accent);--seki-text-primary:var(--seki-foreground);--seki-text-secondary:var(--seki-muted-foreground);--seki-text-tertiary:var(--seki-neutral-400);--seki-border-default:var(--seki-border);--seki-border-emphasis:var(--seki-neutral-300)}:host([data-theme='dark']){--seki-background:hsl(0, 0%, 3.9%);--seki-foreground:hsl(0, 0%, 98%);--seki-muted:hsl(0, 0%, 14.9%);--seki-muted-foreground:hsl(0, 0%, 63.9%);--seki-card:hsl(0, 0%, 3.9%);--seki-card-foreground:hsl(0, 0%, 98%);--seki-popover:hsl(0, 0%, 3.9%);--seki-popover-foreground:hsl(0, 0%, 98%);--seki-border:hsl(0, 0%, 14.9%);--seki-input:hsl(0, 0%, 14.9%);--seki-primary:hsl(0, 0%, 98%);--seki-primary-foreground:hsl(0, 0%, 9%);--seki-secondary:hsl(0, 0%, 14.9%);--seki-secondary-foreground:hsl(0, 0%, 98%);--seki-accent:hsl(0, 0%, 14.9%);--seki-accent-foreground:hsl(0, 0%, 98%);--seki-destructive:hsl(0, 62.8%, 30.6%);--seki-destructive-foreground:hsl(0, 0%, 98%);--seki-ring:hsl(0, 0%, 83.1%);--seki-bg-primary:var(--seki-background);--seki-bg-secondary:var(--seki-muted);--seki-bg-tertiary:var(--seki-accent);--seki-text-primary:var(--seki-foreground);--seki-text-secondary:var(--seki-muted-foreground);--seki-text-tertiary:var(--seki-neutral-600);--seki-border-default:var(--seki-border);--seki-border-emphasis:var(--seki-neutral-700);--seki-button-primary-hover-bg:hsl(0, 0%, 98%, 0.9);--seki-button-secondary-hover-bg:hsl(0, 0%, 14.9%, 0.8)}:host{--seki-button-primary-bg:var(--seki-primary);--seki-button-primary-text:var(--seki-primary-foreground);--seki-button-primary-border:transparent;--seki-button-primary-hover-bg:hsl(0, 0%, 9%, 0.9);--seki-button-primary-hover-text:var(--seki-primary-foreground);--seki-button-primary-hover-border:transparent;--seki-button-secondary-bg:var(--seki-secondary);--seki-button-secondary-text:var(--seki-secondary-foreground);--seki-button-secondary-border:transparent;--seki-button-secondary-hover-bg:hsl(0, 0%, 96.1%, 0.8);--seki-button-secondary-hover-text:var(--seki-secondary-foreground);--seki-button-secondary-hover-border:transparent;--seki-button-outline-bg:transparent;--seki-button-outline-text:var(--seki-foreground);--seki-button-outline-border:var(--seki-input);--seki-button-outline-hover-bg:var(--seki-accent);--seki-button-outline-hover-text:var(--seki-accent-foreground);--seki-button-outline-hover-border:var(--seki-input);--seki-button-ghost-bg:transparent;--seki-button-ghost-text:var(--seki-foreground);--seki-button-ghost-border:transparent;--seki-button-ghost-hover-bg:var(--seki-accent);--seki-button-ghost-hover-text:var(--seki-accent-foreground);--seki-button-ghost-hover-border:transparent;--seki-button-destructive-bg:var(--seki-destructive);--seki-button-destructive-text:var(--seki-destructive-foreground);--seki-button-destructive-border:transparent;--seki-button-destructive-hover-bg:hsl(0, 84.2%, 60.2%, 0.9);--seki-button-destructive-hover-border:transparent;--seki-button-sm-padding-x:var(--seki-spacing-3, 0.75rem);--seki-button-sm-padding-y:0.375rem;--seki-button-sm-font-size:var(--seki-text-sm, 0.875rem);--seki-button-sm-height:2.25rem;--seki-button-md-padding-x:var(--seki-spacing-4, 1rem);--seki-button-md-padding-y:var(--seki-spacing-2, 0.5rem);--seki-button-md-font-size:var(--seki-text-base, 1rem);--seki-button-md-height:2.5rem;--seki-button-lg-padding-x:2rem;--seki-button-lg-padding-y:0.5rem;--seki-button-lg-font-size:1rem;--seki-button-lg-height:2.75rem;--seki-button-icon-sm-size:2rem;--seki-button-icon-size:2.5rem;--seki-button-icon-lg-size:3rem;--seki-button-icon-gap:0.5rem;--seki-button-link-bg:transparent;--seki-button-link-text:var(--seki-primary);--seki-button-link-border:transparent;--seki-button-link-hover-bg:transparent;--seki-button-link-hover-text:var(--seki-primary);--seki-button-link-hover-border:transparent;--seki-button-radius:var(--seki-radius-md, 0.375rem);--seki-button-font-weight:var(--seki-font-medium, 500);--seki-button-transition-duration:150ms;--seki-button-transition-timing:ease-in-out;--seki-button-shadow:var(--seki-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05));--seki-button-shadow-hover:var(--seki-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1));--seki-button-disabled-opacity:0.5;--seki-input-bg:var(--seki-background);--seki-input-border:var(--seki-border);--seki-input-text:var(--seki-foreground);--seki-input-placeholder:var(--seki-muted-foreground);--seki-input-ring:var(--seki-ring);--seki-input-invalid-border:var(--seki-destructive);--seki-input-invalid-ring:var(--seki-destructive);--seki-input-disabled-opacity:0.5;--seki-input-radius:var(--seki-radius-md);--seki-input-ring-offset:2px;--seki-select-trigger-bg:var(--seki-background);--seki-select-trigger-border:1px solid var(--seki-border);--seki-select-trigger-bg-hover:var(--seki-muted);--seki-select-trigger-radius:var(--seki-radius-md);--seki-select-trigger-min-height:2.5rem;--seki-select-trigger-padding:0.5rem 0.75rem;--seki-select-trigger-gap:0.5rem;--seki-select-content-bg:var(--seki-popover);--seki-select-content-border:1px solid var(--seki-border);--seki-select-content-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1);--seki-select-content-radius:var(--seki-radius-md);--seki-select-content-padding:0.5rem 0;--seki-select-option-padding:0.5rem 0.75rem;--seki-select-option-gap:0.5rem;--seki-select-option-radius:var(--seki-radius-sm);--seki-select-option-bg-hover:var(--seki-muted);--seki-select-option-bg-selected:var(--seki-muted);--seki-select-group-label-padding:0.5rem 0.75rem;--seki-select-group-label-font-size:var(--seki-font-size-xs);--seki-select-group-label-font-weight:var(--seki-font-semibold);--seki-select-group-label-color:var(--seki-muted-foreground);--seki-select-group-separator:1px solid var(--seki-border)}:host{--seki-spacing-0:0;--seki-spacing-0-5:0.125rem;--seki-spacing-1:0.25rem;--seki-spacing-1-5:0.375rem;--seki-spacing-2:0.5rem;--seki-spacing-2-5:0.625rem;--seki-spacing-3:0.75rem;--seki-spacing-3-5:0.875rem;--seki-spacing-4:1rem;--seki-spacing-5:1.25rem;--seki-spacing-6:1.5rem;--seki-spacing-8:2rem;--seki-spacing-10:2.5rem;--seki-spacing-12:3rem;--seki-spacing-16:4rem;--seki-spacing-20:5rem;--seki-spacing-24:6rem;--seki-input-height-sm:2rem;--seki-input-height-md:2.5rem;--seki-input-height-lg:3rem;--seki-input-padding-x:0.75rem;--seki-input-padding-y:0.5rem;--seki-input-font-size:0.875rem;--seki-input-ring-offset:2px}:host{--seki-shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--seki-shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--seki-shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.15), 0 4px 6px -4px rgb(0 0 0 / 0.1)}:host{--seki-font-sans:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',\n Arial, sans-serif;--seki-font-mono:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;--seki-text-xs:0.75rem;--seki-text-sm:0.875rem;--seki-text-base:1rem;--seki-text-lg:1.125rem;--seki-text-xl:1.25rem;--seki-text-2xl:1.5rem;--seki-text-3xl:1.875rem;--seki-text-4xl:2.25rem;--seki-font-normal:400;--seki-font-medium:500;--seki-font-semibold:600;--seki-font-bold:700;--seki-leading-tight:1.25;--seki-leading-normal:1.5;--seki-leading-relaxed:1.75}:host{--seki-radius-sm:0.25rem;--seki-radius-md:0.375rem;--seki-radius-lg:0.5rem;--seki-radius-xl:1rem;}";
@@ -170,6 +170,9 @@ var flush = () => {
170
170
  };
171
171
  var nextTick = (cb) => promiseResolve().then(cb);
172
172
  var writeTask = /* @__PURE__ */ queueTask(queueDomWrites, true);
173
+
174
+ // src/utils/helpers.ts
175
+ var isDef = (v) => v != null && v !== void 0;
173
176
  var isComplexType = (o) => {
174
177
  o = typeof o;
175
178
  return o === "object" || o === "function";
@@ -257,6 +260,112 @@ function createShadowRoot(cmpMeta) {
257
260
  }
258
261
  }
259
262
  }
263
+ var updateFallbackSlotVisibility = (elm) => {
264
+ const childNodes = internalCall(elm, "childNodes");
265
+ if (elm.tagName && elm.tagName.includes("-") && elm["s-cr"] && elm.tagName !== "SLOT-FB") {
266
+ getHostSlotNodes(childNodes, elm.tagName).forEach((slotNode) => {
267
+ if (slotNode.nodeType === 1 /* ElementNode */ && slotNode.tagName === "SLOT-FB") {
268
+ if (getSlotChildSiblings(slotNode, getSlotName(slotNode), false).length) {
269
+ slotNode.hidden = true;
270
+ } else {
271
+ slotNode.hidden = false;
272
+ }
273
+ }
274
+ });
275
+ }
276
+ let i2 = 0;
277
+ for (i2 = 0; i2 < childNodes.length; i2++) {
278
+ const childNode = childNodes[i2];
279
+ if (childNode.nodeType === 1 /* ElementNode */ && internalCall(childNode, "childNodes").length) {
280
+ updateFallbackSlotVisibility(childNode);
281
+ }
282
+ }
283
+ };
284
+ var getSlottedChildNodes = (childNodes) => {
285
+ const result = [];
286
+ for (let i2 = 0; i2 < childNodes.length; i2++) {
287
+ const slottedNode = childNodes[i2]["s-nr"] || void 0;
288
+ if (slottedNode && slottedNode.isConnected) {
289
+ result.push(slottedNode);
290
+ }
291
+ }
292
+ return result;
293
+ };
294
+ function getHostSlotNodes(childNodes, hostName, slotName) {
295
+ let i2 = 0;
296
+ let slottedNodes = [];
297
+ let childNode;
298
+ for (; i2 < childNodes.length; i2++) {
299
+ childNode = childNodes[i2];
300
+ if (childNode["s-sr"] && (!hostName || childNode["s-hn"] === hostName) && (slotName === void 0)) {
301
+ slottedNodes.push(childNode);
302
+ }
303
+ slottedNodes = [...slottedNodes, ...getHostSlotNodes(childNode.childNodes, hostName, slotName)];
304
+ }
305
+ return slottedNodes;
306
+ }
307
+ var getSlotChildSiblings = (slot, slotName, includeSlot = true) => {
308
+ const childNodes = [];
309
+ if (includeSlot && slot["s-sr"] || !slot["s-sr"]) childNodes.push(slot);
310
+ let node = slot;
311
+ while (node = node.nextSibling) {
312
+ if (getSlotName(node) === slotName && (includeSlot || !node["s-sr"])) childNodes.push(node);
313
+ }
314
+ return childNodes;
315
+ };
316
+ var isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
317
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
318
+ if (nodeToRelocate.getAttribute("slot") === null && slotName === "") {
319
+ return true;
320
+ }
321
+ if (nodeToRelocate.getAttribute("slot") === slotName) {
322
+ return true;
323
+ }
324
+ return false;
325
+ }
326
+ if (nodeToRelocate["s-sn"] === slotName) {
327
+ return true;
328
+ }
329
+ return slotName === "";
330
+ };
331
+ var getSlotName = (node) => typeof node["s-sn"] === "string" ? node["s-sn"] : node.nodeType === 1 && node.getAttribute("slot") || void 0;
332
+ function patchSlotNode(node) {
333
+ if (node.assignedElements || node.assignedNodes || !node["s-sr"]) return;
334
+ const assignedFactory = (elementsOnly) => (function(opts) {
335
+ const toReturn = [];
336
+ const slotName = this["s-sn"];
337
+ if (opts == null ? void 0 : opts.flatten) {
338
+ console.error(`
339
+ Flattening is not supported for Stencil non-shadow slots.
340
+ You can use \`.childNodes\` to nested slot fallback content.
341
+ If you have a particular use case, please open an issue on the Stencil repo.
342
+ `);
343
+ }
344
+ const parent = this["s-cr"].parentElement;
345
+ const slottedNodes = parent.__childNodes ? parent.childNodes : getSlottedChildNodes(parent.childNodes);
346
+ slottedNodes.forEach((n) => {
347
+ if (slotName === getSlotName(n)) {
348
+ toReturn.push(n);
349
+ }
350
+ });
351
+ if (elementsOnly) {
352
+ return toReturn.filter((n) => n.nodeType === 1 /* ElementNode */);
353
+ }
354
+ return toReturn;
355
+ }).bind(node);
356
+ node.assignedElements = assignedFactory(true);
357
+ node.assignedNodes = assignedFactory(false);
358
+ }
359
+ function internalCall(node, method) {
360
+ if ("__" + method in node) {
361
+ const toReturn = node["__" + method];
362
+ if (typeof toReturn !== "function") return toReturn;
363
+ return toReturn.bind(node);
364
+ } else {
365
+ if (typeof node[method] !== "function") return node[method];
366
+ return node[method].bind(node);
367
+ }
368
+ }
260
369
  var createTime = (fnName, tagName = "") => {
261
370
  {
262
371
  return () => {
@@ -378,6 +487,7 @@ var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
378
487
  var h = (nodeName, vnodeData, ...children) => {
379
488
  let child = null;
380
489
  let key = null;
490
+ let slotName = null;
381
491
  let simple = false;
382
492
  let lastSimple = false;
383
493
  const vNodeChildren = [];
@@ -404,6 +514,9 @@ var h = (nodeName, vnodeData, ...children) => {
404
514
  if (vnodeData.key) {
405
515
  key = vnodeData.key;
406
516
  }
517
+ if (vnodeData.name) {
518
+ slotName = vnodeData.name;
519
+ }
407
520
  {
408
521
  const classData = vnodeData.className || vnodeData.class;
409
522
  if (classData) {
@@ -411,6 +524,13 @@ var h = (nodeName, vnodeData, ...children) => {
411
524
  }
412
525
  }
413
526
  }
527
+ if (typeof nodeName === "function") {
528
+ return nodeName(
529
+ vnodeData === null ? {} : vnodeData,
530
+ vNodeChildren,
531
+ vdomFnUtils
532
+ );
533
+ }
414
534
  const vnode = newVNode(nodeName, null);
415
535
  vnode.$attrs$ = vnodeData;
416
536
  if (vNodeChildren.length > 0) {
@@ -419,6 +539,9 @@ var h = (nodeName, vnodeData, ...children) => {
419
539
  {
420
540
  vnode.$key$ = key;
421
541
  }
542
+ {
543
+ vnode.$name$ = slotName;
544
+ }
422
545
  return vnode;
423
546
  };
424
547
  var newVNode = (tag, text) => {
@@ -435,10 +558,43 @@ var newVNode = (tag, text) => {
435
558
  {
436
559
  vnode.$key$ = null;
437
560
  }
561
+ {
562
+ vnode.$name$ = null;
563
+ }
438
564
  return vnode;
439
565
  };
440
566
  var Host = {};
441
567
  var isHost = (node) => node && node.$tag$ === Host;
568
+ var vdomFnUtils = {
569
+ forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
570
+ map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate)
571
+ };
572
+ var convertToPublic = (node) => ({
573
+ vattrs: node.$attrs$,
574
+ vchildren: node.$children$,
575
+ vkey: node.$key$,
576
+ vname: node.$name$,
577
+ vtag: node.$tag$,
578
+ vtext: node.$text$
579
+ });
580
+ var convertToPrivate = (node) => {
581
+ if (typeof node.vtag === "function") {
582
+ const vnodeData = { ...node.vattrs };
583
+ if (node.vkey) {
584
+ vnodeData.key = node.vkey;
585
+ }
586
+ if (node.vname) {
587
+ vnodeData.name = node.vname;
588
+ }
589
+ return h(node.vtag, vnodeData, ...node.vchildren || []);
590
+ }
591
+ const vnode = newVNode(node.vtag, node.vtext);
592
+ vnode.$attrs$ = node.vattrs;
593
+ vnode.$children$ = node.vchildren;
594
+ vnode.$key$ = node.vkey;
595
+ vnode.$name$ = node.vname;
596
+ return vnode;
597
+ };
442
598
  var createSupportsRuleRe = (selector) => {
443
599
  const safeSelector2 = escapeRegExpSpecialCharacters(selector);
444
600
  return new RegExp(
@@ -647,15 +803,44 @@ function sortedAttrNames(attrNames) {
647
803
  attrNames
648
804
  );
649
805
  }
806
+
807
+ // src/runtime/vdom/vdom-render.ts
808
+ var scopeId;
809
+ var contentRef;
650
810
  var hostTagName;
811
+ var useNativeShadowDom = false;
812
+ var checkSlotFallbackVisibility = false;
813
+ var checkSlotRelocate = false;
651
814
  var isSvgMode = false;
652
815
  var createElm = (oldParentVNode, newParentVNode, childIndex) => {
816
+ var _a;
653
817
  const newVNode2 = newParentVNode.$children$[childIndex];
654
818
  let i2 = 0;
655
819
  let elm;
656
820
  let childNode;
821
+ let oldVNode;
822
+ if (!useNativeShadowDom) {
823
+ checkSlotRelocate = true;
824
+ if (newVNode2.$tag$ === "slot") {
825
+ newVNode2.$flags$ |= newVNode2.$children$ ? (
826
+ // slot element has fallback content
827
+ // still create an element that "mocks" the slot element
828
+ 2 /* isSlotFallback */
829
+ ) : (
830
+ // slot element does not have fallback content
831
+ // create an html comment we'll use to always reference
832
+ // where actual slot content should sit next to
833
+ 1 /* isSlotReference */
834
+ );
835
+ }
836
+ }
657
837
  if (newVNode2.$text$ !== null) {
658
838
  elm = newVNode2.$elm$ = win.document.createTextNode(newVNode2.$text$);
839
+ } else if (newVNode2.$flags$ & 1 /* isSlotReference */) {
840
+ elm = newVNode2.$elm$ = win.document.createTextNode("");
841
+ {
842
+ updateElement(null, newVNode2, isSvgMode);
843
+ }
659
844
  } else {
660
845
  if (!isSvgMode) {
661
846
  isSvgMode = newVNode2.$tag$ === "svg";
@@ -667,7 +852,7 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
667
852
  }
668
853
  elm = newVNode2.$elm$ = win.document.createElementNS(
669
854
  isSvgMode ? SVG_NS : HTML_NS,
670
- newVNode2.$tag$
855
+ !useNativeShadowDom && BUILD.slotRelocation && newVNode2.$flags$ & 2 /* isSlotFallback */ ? "slot-fb" : newVNode2.$tag$
671
856
  ) ;
672
857
  if (isSvgMode && newVNode2.$tag$ === "foreignObject") {
673
858
  isSvgMode = false;
@@ -675,6 +860,9 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
675
860
  {
676
861
  updateElement(null, newVNode2, isSvgMode);
677
862
  }
863
+ if (isDef(scopeId) && elm["s-si"] !== scopeId) {
864
+ elm.classList.add(elm["s-si"] = scopeId);
865
+ }
678
866
  if (newVNode2.$children$) {
679
867
  for (i2 = 0; i2 < newVNode2.$children$.length; ++i2) {
680
868
  childNode = createElm(oldParentVNode, newVNode2, i2);
@@ -692,10 +880,46 @@ var createElm = (oldParentVNode, newParentVNode, childIndex) => {
692
880
  }
693
881
  }
694
882
  elm["s-hn"] = hostTagName;
883
+ {
884
+ if (newVNode2.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
885
+ elm["s-sr"] = true;
886
+ elm["s-cr"] = contentRef;
887
+ elm["s-sn"] = newVNode2.$name$ || "";
888
+ elm["s-rf"] = (_a = newVNode2.$attrs$) == null ? void 0 : _a.ref;
889
+ patchSlotNode(elm);
890
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
891
+ if (oldVNode && oldVNode.$tag$ === newVNode2.$tag$ && oldParentVNode.$elm$) {
892
+ {
893
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
894
+ }
895
+ }
896
+ {
897
+ addRemoveSlotScopedClass(contentRef, elm, newParentVNode.$elm$, oldParentVNode == null ? void 0 : oldParentVNode.$elm$);
898
+ }
899
+ }
900
+ }
695
901
  return elm;
696
902
  };
903
+ var putBackInOriginalLocation = (parentElm, recursive) => {
904
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
905
+ const oldSlotChildNodes = Array.from(parentElm.__childNodes || parentElm.childNodes);
906
+ for (let i2 = oldSlotChildNodes.length - 1; i2 >= 0; i2--) {
907
+ const childNode = oldSlotChildNodes[i2];
908
+ if (childNode["s-hn"] !== hostTagName && childNode["s-ol"]) {
909
+ insertBefore(referenceNode(childNode).parentNode, childNode, referenceNode(childNode));
910
+ childNode["s-ol"].remove();
911
+ childNode["s-ol"] = void 0;
912
+ childNode["s-sh"] = void 0;
913
+ checkSlotRelocate = true;
914
+ }
915
+ if (recursive) {
916
+ putBackInOriginalLocation(childNode, recursive);
917
+ }
918
+ }
919
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
920
+ };
697
921
  var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
698
- let containerElm = parentElm;
922
+ let containerElm = parentElm["s-cr"] && parentElm["s-cr"].parentNode || parentElm;
699
923
  let childNode;
700
924
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
701
925
  containerElm = containerElm.shadowRoot;
@@ -705,7 +929,7 @@ var addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
705
929
  childNode = createElm(null, parentVNode, startIdx);
706
930
  if (childNode) {
707
931
  vnodes[startIdx].$elm$ = childNode;
708
- insertBefore(containerElm, childNode, before);
932
+ insertBefore(containerElm, childNode, referenceNode(before) );
709
933
  }
710
934
  }
711
935
  }
@@ -717,6 +941,14 @@ var removeVnodes = (vnodes, startIdx, endIdx) => {
717
941
  const elm = vnode.$elm$;
718
942
  nullifyVNodeRefs(vnode);
719
943
  if (elm) {
944
+ {
945
+ checkSlotFallbackVisibility = true;
946
+ if (elm["s-ol"]) {
947
+ elm["s-ol"].remove();
948
+ } else {
949
+ putBackInOriginalLocation(elm, true);
950
+ }
951
+ }
720
952
  elm.remove();
721
953
  }
722
954
  }
@@ -753,11 +985,17 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
753
985
  oldEndVnode = oldCh[--oldEndIdx];
754
986
  newEndVnode = newCh[--newEndIdx];
755
987
  } else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
988
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
989
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
990
+ }
756
991
  patch(oldStartVnode, newEndVnode, isInitialRender);
757
992
  insertBefore(parentElm, oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
758
993
  oldStartVnode = oldCh[++oldStartIdx];
759
994
  newEndVnode = newCh[--newEndIdx];
760
995
  } else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
996
+ if ((oldStartVnode.$tag$ === "slot" || newEndVnode.$tag$ === "slot")) {
997
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
998
+ }
761
999
  patch(oldEndVnode, newStartVnode, isInitialRender);
762
1000
  insertBefore(parentElm, oldEndVnode.$elm$, oldStartVnode.$elm$);
763
1001
  oldEndVnode = oldCh[--oldEndIdx];
@@ -788,7 +1026,11 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
788
1026
  }
789
1027
  if (node) {
790
1028
  {
791
- insertBefore(oldStartVnode.$elm$.parentNode, node, oldStartVnode.$elm$);
1029
+ insertBefore(
1030
+ referenceNode(oldStartVnode.$elm$).parentNode,
1031
+ node,
1032
+ referenceNode(oldStartVnode.$elm$)
1033
+ );
792
1034
  }
793
1035
  }
794
1036
  }
@@ -808,6 +1050,9 @@ var updateChildren = (parentElm, oldCh, newVNode2, newCh, isInitialRender = fals
808
1050
  };
809
1051
  var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
810
1052
  if (leftVNode.$tag$ === rightVNode.$tag$) {
1053
+ if (leftVNode.$tag$ === "slot") {
1054
+ return leftVNode.$name$ === rightVNode.$name$;
1055
+ }
811
1056
  if (!isInitialRender) {
812
1057
  return leftVNode.$key$ === rightVNode.$key$;
813
1058
  }
@@ -818,12 +1063,14 @@ var isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
818
1063
  }
819
1064
  return false;
820
1065
  };
1066
+ var referenceNode = (node) => node && node["s-ol"] || node;
821
1067
  var patch = (oldVNode, newVNode2, isInitialRender = false) => {
822
1068
  const elm = newVNode2.$elm$ = oldVNode.$elm$;
823
1069
  const oldChildren = oldVNode.$children$;
824
1070
  const newChildren = newVNode2.$children$;
825
1071
  const tag = newVNode2.$tag$;
826
1072
  const text = newVNode2.$text$;
1073
+ let defaultHolder;
827
1074
  if (text === null) {
828
1075
  {
829
1076
  isSvgMode = tag === "svg" ? true : tag === "foreignObject" ? false : isSvgMode;
@@ -847,10 +1094,62 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
847
1094
  if (isSvgMode && tag === "svg") {
848
1095
  isSvgMode = false;
849
1096
  }
1097
+ } else if ((defaultHolder = elm["s-cr"])) {
1098
+ defaultHolder.parentNode.textContent = text;
850
1099
  } else if (oldVNode.$text$ !== text) {
851
1100
  elm.data = text;
852
1101
  }
853
1102
  };
1103
+ var relocateNodes = [];
1104
+ var markSlotContentForRelocation = (elm) => {
1105
+ let node;
1106
+ let hostContentNodes;
1107
+ let j;
1108
+ const children = elm.__childNodes || elm.childNodes;
1109
+ for (const childNode of children) {
1110
+ if (childNode["s-sr"] && (node = childNode["s-cr"]) && node.parentNode) {
1111
+ hostContentNodes = node.parentNode.__childNodes || node.parentNode.childNodes;
1112
+ const slotName = childNode["s-sn"];
1113
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
1114
+ node = hostContentNodes[j];
1115
+ if (!node["s-cn"] && !node["s-nr"] && node["s-hn"] !== childNode["s-hn"] && (true)) {
1116
+ if (isNodeLocatedInSlot(node, slotName)) {
1117
+ let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1118
+ checkSlotFallbackVisibility = true;
1119
+ node["s-sn"] = node["s-sn"] || slotName;
1120
+ if (relocateNodeData) {
1121
+ relocateNodeData.$nodeToRelocate$["s-sh"] = childNode["s-hn"];
1122
+ relocateNodeData.$slotRefNode$ = childNode;
1123
+ } else {
1124
+ node["s-sh"] = childNode["s-hn"];
1125
+ relocateNodes.push({
1126
+ $slotRefNode$: childNode,
1127
+ $nodeToRelocate$: node
1128
+ });
1129
+ }
1130
+ if (node["s-sr"]) {
1131
+ relocateNodes.map((relocateNode) => {
1132
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node["s-sn"])) {
1133
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
1134
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
1135
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
1136
+ }
1137
+ }
1138
+ });
1139
+ }
1140
+ } else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
1141
+ relocateNodes.push({
1142
+ $nodeToRelocate$: node
1143
+ });
1144
+ }
1145
+ }
1146
+ }
1147
+ }
1148
+ if (childNode.nodeType === 1 /* ElementNode */) {
1149
+ markSlotContentForRelocation(childNode);
1150
+ }
1151
+ }
1152
+ };
854
1153
  var nullifyVNodeRefs = (vNode) => {
855
1154
  {
856
1155
  vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
@@ -858,11 +1157,36 @@ var nullifyVNodeRefs = (vNode) => {
858
1157
  }
859
1158
  };
860
1159
  var insertBefore = (parent, newNode, reference) => {
1160
+ if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
1161
+ addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
1162
+ }
861
1163
  {
862
1164
  return parent == null ? void 0 : parent.insertBefore(newNode, reference);
863
1165
  }
864
1166
  };
1167
+ function addRemoveSlotScopedClass(reference, slotNode, newParent, oldParent) {
1168
+ var _a, _b;
1169
+ let scopeId2;
1170
+ if (reference && typeof slotNode["s-sn"] === "string" && !!slotNode["s-sr"] && reference.parentNode && reference.parentNode["s-sc"] && (scopeId2 = slotNode["s-si"] || reference.parentNode["s-sc"])) {
1171
+ const scopeName = slotNode["s-sn"];
1172
+ const hostName = slotNode["s-hn"];
1173
+ (_a = newParent.classList) == null ? void 0 : _a.add(scopeId2 + "-s");
1174
+ if (oldParent && ((_b = oldParent.classList) == null ? void 0 : _b.contains(scopeId2 + "-s"))) {
1175
+ let child = (oldParent.__childNodes || oldParent.childNodes)[0];
1176
+ let found = false;
1177
+ while (child) {
1178
+ if (child["s-sn"] !== scopeName && child["s-hn"] === hostName && !!child["s-sr"]) {
1179
+ found = true;
1180
+ break;
1181
+ }
1182
+ child = child.nextSibling;
1183
+ }
1184
+ if (!found) oldParent.classList.remove(scopeId2 + "-s");
1185
+ }
1186
+ }
1187
+ }
865
1188
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1189
+ var _a, _b, _c, _d;
866
1190
  const hostElm = hostRef.$hostElement$;
867
1191
  const cmpMeta = hostRef.$cmpMeta$;
868
1192
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -888,7 +1212,81 @@ var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
888
1212
  rootVnode.$flags$ |= 4 /* isHost */;
889
1213
  hostRef.$vnode$ = rootVnode;
890
1214
  rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm ;
1215
+ {
1216
+ scopeId = hostElm["s-sc"];
1217
+ }
1218
+ useNativeShadowDom = !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) && !(cmpMeta.$flags$ & 128 /* shadowNeedsScopedCss */);
1219
+ {
1220
+ contentRef = hostElm["s-cr"];
1221
+ checkSlotFallbackVisibility = false;
1222
+ }
891
1223
  patch(oldVNode, rootVnode, isInitialLoad);
1224
+ {
1225
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
1226
+ if (checkSlotRelocate) {
1227
+ markSlotContentForRelocation(rootVnode.$elm$);
1228
+ for (const relocateData of relocateNodes) {
1229
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1230
+ if (!nodeToRelocate["s-ol"] && win.document) {
1231
+ const orgLocationNode = win.document.createTextNode("");
1232
+ orgLocationNode["s-nr"] = nodeToRelocate;
1233
+ insertBefore(nodeToRelocate.parentNode, nodeToRelocate["s-ol"] = orgLocationNode, nodeToRelocate);
1234
+ }
1235
+ }
1236
+ for (const relocateData of relocateNodes) {
1237
+ const nodeToRelocate = relocateData.$nodeToRelocate$;
1238
+ const slotRefNode = relocateData.$slotRefNode$;
1239
+ if (slotRefNode) {
1240
+ const parentNodeRef = slotRefNode.parentNode;
1241
+ let insertBeforeNode = slotRefNode.nextSibling;
1242
+ {
1243
+ let orgLocationNode = (_a = nodeToRelocate["s-ol"]) == null ? void 0 : _a.previousSibling;
1244
+ while (orgLocationNode) {
1245
+ let refNode = (_b = orgLocationNode["s-nr"]) != null ? _b : null;
1246
+ if (refNode && refNode["s-sn"] === nodeToRelocate["s-sn"] && parentNodeRef === (refNode.__parentNode || refNode.parentNode)) {
1247
+ refNode = refNode.nextSibling;
1248
+ while (refNode === nodeToRelocate || (refNode == null ? void 0 : refNode["s-sr"])) {
1249
+ refNode = refNode == null ? void 0 : refNode.nextSibling;
1250
+ }
1251
+ if (!refNode || !refNode["s-nr"]) {
1252
+ insertBeforeNode = refNode;
1253
+ break;
1254
+ }
1255
+ }
1256
+ orgLocationNode = orgLocationNode.previousSibling;
1257
+ }
1258
+ }
1259
+ const parent = nodeToRelocate.__parentNode || nodeToRelocate.parentNode;
1260
+ const nextSibling = nodeToRelocate.__nextSibling || nodeToRelocate.nextSibling;
1261
+ if (!insertBeforeNode && parentNodeRef !== parent || nextSibling !== insertBeforeNode) {
1262
+ if (nodeToRelocate !== insertBeforeNode) {
1263
+ if (!nodeToRelocate["s-hn"] && nodeToRelocate["s-ol"]) {
1264
+ nodeToRelocate["s-hn"] = nodeToRelocate["s-ol"].parentNode.nodeName;
1265
+ }
1266
+ insertBefore(parentNodeRef, nodeToRelocate, insertBeforeNode);
1267
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */ && nodeToRelocate.tagName !== "SLOT-FB") {
1268
+ nodeToRelocate.hidden = (_c = nodeToRelocate["s-ih"]) != null ? _c : false;
1269
+ }
1270
+ }
1271
+ }
1272
+ nodeToRelocate && typeof slotRefNode["s-rf"] === "function" && slotRefNode["s-rf"](slotRefNode);
1273
+ } else {
1274
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
1275
+ if (isInitialLoad) {
1276
+ nodeToRelocate["s-ih"] = (_d = nodeToRelocate.hidden) != null ? _d : false;
1277
+ }
1278
+ nodeToRelocate.hidden = true;
1279
+ }
1280
+ }
1281
+ }
1282
+ }
1283
+ if (checkSlotFallbackVisibility) {
1284
+ updateFallbackSlotVisibility(rootVnode.$elm$);
1285
+ }
1286
+ plt.$flags$ &= -2 /* isTmpDisconnected */;
1287
+ relocateNodes.length = 0;
1288
+ }
1289
+ contentRef = void 0;
892
1290
  };
893
1291
 
894
1292
  // src/runtime/update-component.ts
@@ -1383,6 +1781,12 @@ var connectedCallback = (elm) => {
1383
1781
  const endConnected = createTime("connectedCallback", cmpMeta.$tagName$);
1384
1782
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
1385
1783
  hostRef.$flags$ |= 1 /* hasConnected */;
1784
+ {
1785
+ if (// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
1786
+ cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */)) {
1787
+ setContentReference(elm);
1788
+ }
1789
+ }
1386
1790
  {
1387
1791
  let ancestorComponent = elm;
1388
1792
  while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {
@@ -1415,6 +1819,16 @@ var connectedCallback = (elm) => {
1415
1819
  endConnected();
1416
1820
  }
1417
1821
  };
1822
+ var setContentReference = (elm) => {
1823
+ if (!win.document) {
1824
+ return;
1825
+ }
1826
+ const contentRefElm = elm["s-cr"] = win.document.createComment(
1827
+ ""
1828
+ );
1829
+ contentRefElm["s-cn"] = true;
1830
+ insertBefore(elm, contentRefElm, elm.firstChild);
1831
+ };
1418
1832
  var disconnectInstance = (instance, elm) => {
1419
1833
  {
1420
1834
  safeCall(instance, "disconnectedCallback", void 0, elm || instance);
@@ -1594,7 +2008,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
1594
2008
  var addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
1595
2009
  if (listeners && win.document) {
1596
2010
  listeners.map(([flags, name, method]) => {
1597
- const target = elm;
2011
+ const target = getHostListenerTarget(win.document, elm, flags) ;
1598
2012
  const handler = hostListenerProxy(hostRef, method);
1599
2013
  const opts = hostListenerOpts(flags);
1600
2014
  plt.ael(target, name, handler, opts);
@@ -1616,6 +2030,12 @@ var hostListenerProxy = (hostRef, methodName) => (ev) => {
1616
2030
  consoleError(e, hostRef.$hostElement$);
1617
2031
  }
1618
2032
  };
2033
+ var getHostListenerTarget = (doc, elm, flags) => {
2034
+ if (flags & 16 /* TargetBody */) {
2035
+ return doc.body;
2036
+ }
2037
+ return elm;
2038
+ };
1619
2039
  var hostListenerOpts = (flags) => supportsListenerOptions ? {
1620
2040
  passive: (flags & 1 /* Passive */) !== 0,
1621
2041
  capture: (flags & 2 /* Capture */) !== 0