@c15t/svelte 3.0.0-alpha.0

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 (274) hide show
  1. package/AGENTS.md +88 -0
  2. package/README.md +136 -0
  3. package/SKILL.md +14 -0
  4. package/dist/actions/focus-trap.d.ts +8 -0
  5. package/dist/actions/focus-trap.js +23 -0
  6. package/dist/actions/portal.d.ts +8 -0
  7. package/dist/actions/portal.js +39 -0
  8. package/dist/actions/scroll-lock.d.ts +8 -0
  9. package/dist/actions/scroll-lock.js +23 -0
  10. package/dist/components/action-button.svelte +119 -0
  11. package/dist/components/action-button.svelte.d.ts +18 -0
  12. package/dist/components/branding.svelte +139 -0
  13. package/dist/components/branding.svelte.d.ts +13 -0
  14. package/dist/components/consent-dev-tools.svelte +58 -0
  15. package/dist/components/consent-dev-tools.svelte.d.ts +4 -0
  16. package/dist/components/frame.svelte +95 -0
  17. package/dist/components/frame.svelte.d.ts +12 -0
  18. package/dist/components/iab-panel.svelte +542 -0
  19. package/dist/components/iab-panel.svelte.d.ts +16 -0
  20. package/dist/components/iab-prompt.svelte +304 -0
  21. package/dist/components/iab-prompt.svelte.d.ts +14 -0
  22. package/dist/components/iab-purpose-item.svelte +511 -0
  23. package/dist/components/iab-purpose-item.svelte.d.ts +26 -0
  24. package/dist/components/iab-stack-item.svelte +146 -0
  25. package/dist/components/iab-stack-item.svelte.d.ts +19 -0
  26. package/dist/components/iab-vendor-list.svelte +900 -0
  27. package/dist/components/iab-vendor-list.svelte.d.ts +19 -0
  28. package/dist/components/icons/c15-t-icon-only.svelte +27 -0
  29. package/dist/components/icons/c15-t-icon-only.svelte.d.ts +9 -0
  30. package/dist/components/icons/chevron-down-icon.svelte +30 -0
  31. package/dist/components/icons/chevron-down-icon.svelte.d.ts +10 -0
  32. package/dist/components/icons/chevron-right-icon.svelte +36 -0
  33. package/dist/components/icons/chevron-right-icon.svelte.d.ts +12 -0
  34. package/dist/components/icons/close-icon.svelte +40 -0
  35. package/dist/components/icons/close-icon.svelte.d.ts +10 -0
  36. package/dist/components/icons/consent-icon-only.svelte +36 -0
  37. package/dist/components/icons/consent-icon-only.svelte.d.ts +9 -0
  38. package/dist/components/icons/external-link-icon.svelte +30 -0
  39. package/dist/components/icons/external-link-icon.svelte.d.ts +8 -0
  40. package/dist/components/icons/globe-icon.svelte +39 -0
  41. package/dist/components/icons/globe-icon.svelte.d.ts +9 -0
  42. package/dist/components/icons/info-icon.svelte +42 -0
  43. package/dist/components/icons/info-icon.svelte.d.ts +9 -0
  44. package/dist/components/icons/inth-logo.svelte +38 -0
  45. package/dist/components/icons/inth-logo.svelte.d.ts +9 -0
  46. package/dist/components/icons/layers-icon.svelte +25 -0
  47. package/dist/components/icons/layers-icon.svelte.d.ts +8 -0
  48. package/dist/components/icons/legitimate-interest-icon.svelte +29 -0
  49. package/dist/components/icons/legitimate-interest-icon.svelte.d.ts +10 -0
  50. package/dist/components/icons/lock-icon.svelte +31 -0
  51. package/dist/components/icons/lock-icon.svelte.d.ts +8 -0
  52. package/dist/components/icons/search-icon.svelte +33 -0
  53. package/dist/components/icons/search-icon.svelte.d.ts +8 -0
  54. package/dist/components/inline-legal-links.svelte +95 -0
  55. package/dist/components/inline-legal-links.svelte.d.ts +10 -0
  56. package/dist/components/manager-provider.svelte +459 -0
  57. package/dist/components/manager-provider.svelte.d.ts +27 -0
  58. package/dist/components/overlay.svelte +79 -0
  59. package/dist/components/overlay.svelte.d.ts +7 -0
  60. package/dist/components/panel-link.svelte +33 -0
  61. package/dist/components/panel-link.svelte.d.ts +10 -0
  62. package/dist/components/panel-trigger.svelte +237 -0
  63. package/dist/components/panel-trigger.svelte.d.ts +16 -0
  64. package/dist/components/panel.svelte +258 -0
  65. package/dist/components/panel.svelte.d.ts +22 -0
  66. package/dist/components/policy-actions-renderer.svelte +79 -0
  67. package/dist/components/policy-actions-renderer.svelte.d.ts +19 -0
  68. package/dist/components/preferences.svelte +320 -0
  69. package/dist/components/preferences.svelte.d.ts +8 -0
  70. package/dist/components/prompt.svelte +514 -0
  71. package/dist/components/prompt.svelte.d.ts +43 -0
  72. package/dist/context.svelte.d.ts +125 -0
  73. package/dist/context.svelte.js +354 -0
  74. package/dist/devtools-options.d.ts +7 -0
  75. package/dist/devtools-options.js +1 -0
  76. package/dist/devtools.d.ts +9 -0
  77. package/dist/devtools.js +7 -0
  78. package/dist/headless.d.ts +10 -0
  79. package/dist/headless.js +7 -0
  80. package/dist/iab/styles.css +11 -0
  81. package/dist/iab-loader.d.ts +30 -0
  82. package/dist/iab-loader.js +33 -0
  83. package/dist/iab-translations.d.ts +84 -0
  84. package/dist/iab-translations.js +45 -0
  85. package/dist/iab-types.d.ts +62 -0
  86. package/dist/iab-types.js +43 -0
  87. package/dist/index.d.ts +28 -0
  88. package/dist/index.js +21 -0
  89. package/dist/kit/app.d.ts +35 -0
  90. package/dist/kit/handle.d.ts +34 -0
  91. package/dist/kit/handle.js +87 -0
  92. package/dist/kit/index.d.ts +30 -0
  93. package/dist/kit/index.js +5 -0
  94. package/dist/kit/load-consent.d.ts +57 -0
  95. package/dist/kit/load-consent.js +144 -0
  96. package/dist/kit/routes.d.ts +46 -0
  97. package/dist/kit/routes.js +203 -0
  98. package/dist/kit/types.d.ts +56 -0
  99. package/dist/kit/types.js +1 -0
  100. package/dist/primitives/accordion/accordion-item-content.svelte +35 -0
  101. package/dist/primitives/accordion/accordion-item-content.svelte.d.ts +9 -0
  102. package/dist/primitives/accordion/accordion-item-trigger.svelte +54 -0
  103. package/dist/primitives/accordion/accordion-item-trigger.svelte.d.ts +10 -0
  104. package/dist/primitives/accordion/accordion-item.svelte +61 -0
  105. package/dist/primitives/accordion/accordion-item.svelte.d.ts +11 -0
  106. package/dist/primitives/accordion/accordion-root.svelte +61 -0
  107. package/dist/primitives/accordion/accordion-root.svelte.d.ts +13 -0
  108. package/dist/primitives/accordion/context.d.ts +18 -0
  109. package/dist/primitives/accordion/context.js +23 -0
  110. package/dist/primitives/accordion/index.d.ts +29 -0
  111. package/dist/primitives/accordion/index.js +11 -0
  112. package/dist/primitives/collapsible/collapsible-content.svelte +36 -0
  113. package/dist/primitives/collapsible/collapsible-content.svelte.d.ts +9 -0
  114. package/dist/primitives/collapsible/collapsible-indicator.svelte +29 -0
  115. package/dist/primitives/collapsible/collapsible-indicator.svelte.d.ts +9 -0
  116. package/dist/primitives/collapsible/collapsible-root.svelte +70 -0
  117. package/dist/primitives/collapsible/collapsible-root.svelte.d.ts +11 -0
  118. package/dist/primitives/collapsible/collapsible-trigger.svelte +52 -0
  119. package/dist/primitives/collapsible/collapsible-trigger.svelte.d.ts +10 -0
  120. package/dist/primitives/collapsible/context.d.ts +10 -0
  121. package/dist/primitives/collapsible/context.js +12 -0
  122. package/dist/primitives/collapsible/index.d.ts +26 -0
  123. package/dist/primitives/collapsible/index.js +11 -0
  124. package/dist/primitives/dialog/context.d.ts +14 -0
  125. package/dist/primitives/dialog/context.js +12 -0
  126. package/dist/primitives/dialog/dialog-backdrop.svelte +39 -0
  127. package/dist/primitives/dialog/dialog-backdrop.svelte.d.ts +7 -0
  128. package/dist/primitives/dialog/dialog-close-trigger.svelte +48 -0
  129. package/dist/primitives/dialog/dialog-close-trigger.svelte.d.ts +11 -0
  130. package/dist/primitives/dialog/dialog-content.svelte +81 -0
  131. package/dist/primitives/dialog/dialog-content.svelte.d.ts +9 -0
  132. package/dist/primitives/dialog/dialog-description.svelte +28 -0
  133. package/dist/primitives/dialog/dialog-description.svelte.d.ts +9 -0
  134. package/dist/primitives/dialog/dialog-positioner.svelte +33 -0
  135. package/dist/primitives/dialog/dialog-positioner.svelte.d.ts +9 -0
  136. package/dist/primitives/dialog/dialog-root.svelte +117 -0
  137. package/dist/primitives/dialog/dialog-root.svelte.d.ts +14 -0
  138. package/dist/primitives/dialog/dialog-title.svelte +28 -0
  139. package/dist/primitives/dialog/dialog-title.svelte.d.ts +9 -0
  140. package/dist/primitives/dialog/index.d.ts +50 -0
  141. package/dist/primitives/dialog/index.js +19 -0
  142. package/dist/primitives/index.d.ts +7 -0
  143. package/dist/primitives/index.js +7 -0
  144. package/dist/primitives/portal/index.d.ts +4 -0
  145. package/dist/primitives/portal/index.js +2 -0
  146. package/dist/primitives/portal/portal.svelte +23 -0
  147. package/dist/primitives/portal/portal.svelte.d.ts +9 -0
  148. package/dist/primitives/preference-item/context.d.ts +11 -0
  149. package/dist/primitives/preference-item/context.js +12 -0
  150. package/dist/primitives/preference-item/index.d.ts +54 -0
  151. package/dist/primitives/preference-item/index.js +21 -0
  152. package/dist/primitives/preference-item/preference-item-auxiliary.svelte +33 -0
  153. package/dist/primitives/preference-item/preference-item-auxiliary.svelte.d.ts +9 -0
  154. package/dist/primitives/preference-item/preference-item-content.svelte +68 -0
  155. package/dist/primitives/preference-item/preference-item-content.svelte.d.ts +14 -0
  156. package/dist/primitives/preference-item/preference-item-control.svelte +33 -0
  157. package/dist/primitives/preference-item/preference-item-control.svelte.d.ts +9 -0
  158. package/dist/primitives/preference-item/preference-item-header.svelte +33 -0
  159. package/dist/primitives/preference-item/preference-item-header.svelte.d.ts +9 -0
  160. package/dist/primitives/preference-item/preference-item-leading.svelte +33 -0
  161. package/dist/primitives/preference-item/preference-item-leading.svelte.d.ts +9 -0
  162. package/dist/primitives/preference-item/preference-item-meta.svelte +33 -0
  163. package/dist/primitives/preference-item/preference-item-meta.svelte.d.ts +9 -0
  164. package/dist/primitives/preference-item/preference-item-root.svelte +82 -0
  165. package/dist/primitives/preference-item/preference-item-root.svelte.d.ts +12 -0
  166. package/dist/primitives/preference-item/preference-item-title.svelte +33 -0
  167. package/dist/primitives/preference-item/preference-item-title.svelte.d.ts +9 -0
  168. package/dist/primitives/preference-item/preference-item-trigger.svelte +62 -0
  169. package/dist/primitives/preference-item/preference-item-trigger.svelte.d.ts +10 -0
  170. package/dist/primitives/switch/context.d.ts +7 -0
  171. package/dist/primitives/switch/context.js +12 -0
  172. package/dist/primitives/switch/index.d.ts +25 -0
  173. package/dist/primitives/switch/index.js +11 -0
  174. package/dist/primitives/switch/switch-control.svelte +21 -0
  175. package/dist/primitives/switch/switch-control.svelte.d.ts +9 -0
  176. package/dist/primitives/switch/switch-hidden-input.svelte +31 -0
  177. package/dist/primitives/switch/switch-hidden-input.svelte.d.ts +8 -0
  178. package/dist/primitives/switch/switch-root.svelte +86 -0
  179. package/dist/primitives/switch/switch-root.svelte.d.ts +12 -0
  180. package/dist/primitives/switch/switch-thumb.svelte +14 -0
  181. package/dist/primitives/switch/switch-thumb.svelte.d.ts +7 -0
  182. package/dist/primitives/tabs/context.d.ts +11 -0
  183. package/dist/primitives/tabs/context.js +12 -0
  184. package/dist/primitives/tabs/index.d.ts +32 -0
  185. package/dist/primitives/tabs/index.js +11 -0
  186. package/dist/primitives/tabs/tabs-content.svelte +45 -0
  187. package/dist/primitives/tabs/tabs-content.svelte.d.ts +11 -0
  188. package/dist/primitives/tabs/tabs-list.svelte +38 -0
  189. package/dist/primitives/tabs/tabs-list.svelte.d.ts +10 -0
  190. package/dist/primitives/tabs/tabs-root.svelte +67 -0
  191. package/dist/primitives/tabs/tabs-root.svelte.d.ts +14 -0
  192. package/dist/primitives/tabs/tabs-trigger.svelte +108 -0
  193. package/dist/primitives/tabs/tabs-trigger.svelte.d.ts +11 -0
  194. package/dist/server/headers.d.ts +13 -0
  195. package/dist/server/headers.js +37 -0
  196. package/dist/server/index.d.ts +8 -0
  197. package/dist/server/index.js +116 -0
  198. package/dist/server/normalize-url.d.ts +23 -0
  199. package/dist/server/normalize-url.js +46 -0
  200. package/dist/server/types.d.ts +25 -0
  201. package/dist/server/types.js +1 -0
  202. package/dist/styles.css +10 -0
  203. package/dist/transports/offline.d.ts +14 -0
  204. package/dist/transports/offline.js +22 -0
  205. package/dist/types.d.ts +70 -0
  206. package/dist/types.js +1 -0
  207. package/dist/use-banner-visibility.svelte.d.ts +25 -0
  208. package/dist/use-banner-visibility.svelte.js +108 -0
  209. package/dist/utils.d.ts +25 -0
  210. package/dist/utils.js +32 -0
  211. package/dist/version.d.ts +1 -0
  212. package/dist/version.js +2 -0
  213. package/docs/README.md +88 -0
  214. package/docs/assets/v3/brand-bar.png +0 -0
  215. package/docs/assets/v3/brand-card.png +0 -0
  216. package/docs/assets/v3/choice-wall.png +0 -0
  217. package/docs/assets/v3/mobile-card.png +0 -0
  218. package/docs/assets/v3/preferences.png +0 -0
  219. package/docs/customization/overview.md +45 -0
  220. package/docs/customization/recipes.md +79 -0
  221. package/docs/customization/slots.md +55 -0
  222. package/docs/customization/tokens.md +76 -0
  223. package/docs/customization/translations.md +49 -0
  224. package/docs/frameworks/svelte/quickstart.md +133 -0
  225. package/docs/frameworks/sveltekit/quickstart.md +144 -0
  226. package/docs/guides/consent-state.md +60 -0
  227. package/docs/guides/data-fetching.md +163 -0
  228. package/docs/guides/deployment-modes.md +63 -0
  229. package/docs/guides/troubleshooting.md +68 -0
  230. package/docs/guides/verify-consent.md +62 -0
  231. package/docs/integrations/adobe-analytics.md +294 -0
  232. package/docs/integrations/ahrefs-analytics.md +291 -0
  233. package/docs/integrations/amplitude.md +292 -0
  234. package/docs/integrations/building-integrations.md +47 -0
  235. package/docs/integrations/clearbit.md +291 -0
  236. package/docs/integrations/cloudflare-web-analytics.md +292 -0
  237. package/docs/integrations/crisp.md +294 -0
  238. package/docs/integrations/databuddy.md +311 -0
  239. package/docs/integrations/fathom-analytics.md +293 -0
  240. package/docs/integrations/google-maps.md +384 -0
  241. package/docs/integrations/google-tag-manager.md +306 -0
  242. package/docs/integrations/google-tag.md +305 -0
  243. package/docs/integrations/heap.md +292 -0
  244. package/docs/integrations/hightouch.md +293 -0
  245. package/docs/integrations/hotjar.md +292 -0
  246. package/docs/integrations/intercom.md +285 -0
  247. package/docs/integrations/linkedin-insights.md +291 -0
  248. package/docs/integrations/logrocket.md +293 -0
  249. package/docs/integrations/matomo-analytics.md +316 -0
  250. package/docs/integrations/meta-pixel.md +285 -0
  251. package/docs/integrations/microsoft-clarity.md +292 -0
  252. package/docs/integrations/microsoft-uet.md +291 -0
  253. package/docs/integrations/mixpanel-analytics.md +295 -0
  254. package/docs/integrations/openai-pixel.md +441 -0
  255. package/docs/integrations/overview.md +111 -0
  256. package/docs/integrations/pirsch.md +295 -0
  257. package/docs/integrations/plausible-analytics.md +295 -0
  258. package/docs/integrations/posthog.md +397 -0
  259. package/docs/integrations/promptwatch.md +291 -0
  260. package/docs/integrations/reddit-pixel.md +294 -0
  261. package/docs/integrations/rudderstack.md +328 -0
  262. package/docs/integrations/rybbit-analytics.md +296 -0
  263. package/docs/integrations/segment.md +292 -0
  264. package/docs/integrations/snapchat-pixel.md +293 -0
  265. package/docs/integrations/tiktok-pixel.md +291 -0
  266. package/docs/integrations/umami-analytics.md +295 -0
  267. package/docs/integrations/vercel-analytics.md +293 -0
  268. package/docs/integrations/x-pixel.md +291 -0
  269. package/docs/integrations/youtube.md +405 -0
  270. package/docs/upgrade-v3.md +334 -0
  271. package/iab/styles.css +1 -0
  272. package/package.json +153 -0
  273. package/readme.json +36 -0
  274. package/styles.css +1 -0
@@ -0,0 +1,14 @@
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ children?: Snippet;
4
+ closeOnEscape?: boolean;
5
+ closeOnInteractOutside?: boolean;
6
+ lazyMount?: boolean;
7
+ open?: boolean;
8
+ preventScroll?: boolean;
9
+ trapFocus?: boolean;
10
+ unmountOnExit?: boolean;
11
+ };
12
+ declare const DialogRoot: import("svelte").Component<$$ComponentProps, {}, "open">;
13
+ type DialogRoot = ReturnType<typeof DialogRoot>;
14
+ export default DialogRoot;
@@ -0,0 +1,28 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { HTMLAttributes } from 'svelte/elements';
4
+
5
+ import { getDialogRootContext } from './context';
6
+
7
+ const dialog = getDialogRootContext();
8
+
9
+ const titleId = $derived(dialog.titleId);
10
+
11
+ let {
12
+ children,
13
+ class: className,
14
+ ...restProps
15
+ }: HTMLAttributes<HTMLHeadingElement> & {
16
+ children?: Snippet;
17
+ class?: string;
18
+ } = $props();
19
+ </script>
20
+
21
+ <h2
22
+ id={titleId}
23
+ class={className}
24
+ data-slot="dialog-title"
25
+ {...restProps}
26
+ >
27
+ {@render children?.()}
28
+ </h2>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ type $$ComponentProps = HTMLAttributes<HTMLHeadingElement> & {
4
+ children?: Snippet;
5
+ class?: string;
6
+ };
7
+ declare const DialogTitle: import("svelte").Component<$$ComponentProps, {}, "">;
8
+ type DialogTitle = ReturnType<typeof DialogTitle>;
9
+ export default DialogTitle;
@@ -0,0 +1,50 @@
1
+ import Portal from '../portal/portal.svelte';
2
+ import Backdrop from './dialog-backdrop.svelte';
3
+ import CloseTrigger from './dialog-close-trigger.svelte';
4
+ import Content from './dialog-content.svelte';
5
+ import Description from './dialog-description.svelte';
6
+ import Positioner from './dialog-positioner.svelte';
7
+ import Root from './dialog-root.svelte';
8
+ import Title from './dialog-title.svelte';
9
+ export declare const Dialog: {
10
+ Backdrop: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
11
+ class?: string;
12
+ }, {}, "">;
13
+ CloseTrigger: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLButtonElement> & {
14
+ children?: import("svelte").Snippet;
15
+ class?: string;
16
+ disabled?: boolean;
17
+ type?: "button" | "submit" | "reset";
18
+ }, {}, "">;
19
+ Content: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
20
+ children?: import("svelte").Snippet;
21
+ class?: string;
22
+ }, {}, "">;
23
+ Description: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLParagraphElement> & {
24
+ children?: import("svelte").Snippet;
25
+ class?: string;
26
+ }, {}, "">;
27
+ Portal: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
28
+ children?: import("svelte").Snippet;
29
+ target?: HTMLElement | string;
30
+ }, {}, "">;
31
+ Positioner: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
32
+ children?: import("svelte").Snippet;
33
+ class?: string;
34
+ }, {}, "">;
35
+ Root: import("svelte").Component<{
36
+ children?: import("svelte").Snippet;
37
+ closeOnEscape?: boolean;
38
+ closeOnInteractOutside?: boolean;
39
+ lazyMount?: boolean;
40
+ open?: boolean;
41
+ preventScroll?: boolean;
42
+ trapFocus?: boolean;
43
+ unmountOnExit?: boolean;
44
+ }, {}, "open">;
45
+ Title: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLHeadingElement> & {
46
+ children?: import("svelte").Snippet;
47
+ class?: string;
48
+ }, {}, "">;
49
+ };
50
+ export { Backdrop, CloseTrigger, Content, Description, Portal, Positioner, Root, Title, };
@@ -0,0 +1,19 @@
1
+ import Portal from '../portal/portal.svelte';
2
+ import Backdrop from './dialog-backdrop.svelte';
3
+ import CloseTrigger from './dialog-close-trigger.svelte';
4
+ import Content from './dialog-content.svelte';
5
+ import Description from './dialog-description.svelte';
6
+ import Positioner from './dialog-positioner.svelte';
7
+ import Root from './dialog-root.svelte';
8
+ import Title from './dialog-title.svelte';
9
+ export const Dialog = {
10
+ Backdrop,
11
+ CloseTrigger,
12
+ Content,
13
+ Description,
14
+ Portal,
15
+ Positioner,
16
+ Root,
17
+ Title,
18
+ };
19
+ export { Backdrop, CloseTrigger, Content, Description, Portal, Positioner, Root, Title, };
@@ -0,0 +1,7 @@
1
+ export { Accordion } from './accordion';
2
+ export { Collapsible } from './collapsible';
3
+ export { Dialog } from './dialog';
4
+ export { Portal } from './portal';
5
+ export { PreferenceItem } from './preference-item';
6
+ export { Switch } from './switch';
7
+ export { Tabs } from './tabs';
@@ -0,0 +1,7 @@
1
+ export { Accordion } from './accordion';
2
+ export { Collapsible } from './collapsible';
3
+ export { Dialog } from './dialog';
4
+ export { Portal } from './portal';
5
+ export { PreferenceItem } from './preference-item';
6
+ export { Switch } from './switch';
7
+ export { Tabs } from './tabs';
@@ -0,0 +1,4 @@
1
+ export declare const Portal: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
2
+ children?: import("svelte").Snippet;
3
+ target?: HTMLElement | string;
4
+ }, {}, "">;
@@ -0,0 +1,2 @@
1
+ import PortalComponent from './portal.svelte';
2
+ export const Portal = PortalComponent;
@@ -0,0 +1,23 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { HTMLAttributes } from 'svelte/elements';
4
+
5
+ import { portal } from '../../actions/portal';
6
+
7
+ let {
8
+ children,
9
+ target = 'body',
10
+ ...restProps
11
+ }: HTMLAttributes<HTMLDivElement> & {
12
+ children?: Snippet;
13
+ target?: HTMLElement | string;
14
+ } = $props();
15
+ </script>
16
+
17
+ <div
18
+ use:portal={target}
19
+ style="display: contents;"
20
+ {...restProps}
21
+ >
22
+ {@render children?.()}
23
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ children?: Snippet;
5
+ target?: HTMLElement | string;
6
+ };
7
+ declare const Portal: import("svelte").Component<$$ComponentProps, {}, "">;
8
+ type Portal = ReturnType<typeof Portal>;
9
+ export default Portal;
@@ -0,0 +1,11 @@
1
+ export interface PreferenceItemContextValue {
2
+ readonly contentId: string;
3
+ readonly disabled: boolean;
4
+ readonly noStyle: boolean;
5
+ readonly open: boolean;
6
+ readonly triggerId: string;
7
+ setOpen: (open: boolean) => void;
8
+ toggle: () => void;
9
+ }
10
+ export declare const setPreferenceItemContext: (value: PreferenceItemContextValue) => void;
11
+ export declare const getPreferenceItemContext: () => PreferenceItemContextValue;
@@ -0,0 +1,12 @@
1
+ import { getContext, setContext } from 'svelte';
2
+ const PREFERENCE_ITEM_CONTEXT_KEY = Symbol('c15t-svelte-preference-item');
3
+ export const setPreferenceItemContext = function setPreferenceItemContext(value) {
4
+ setContext(PREFERENCE_ITEM_CONTEXT_KEY, value);
5
+ };
6
+ export const getPreferenceItemContext = function getPreferenceItemContext() {
7
+ const context = getContext(PREFERENCE_ITEM_CONTEXT_KEY);
8
+ if (!context) {
9
+ throw new Error('PreferenceItem primitives must be used within PreferenceItem.Root');
10
+ }
11
+ return context;
12
+ };
@@ -0,0 +1,54 @@
1
+ import Auxiliary from './preference-item-auxiliary.svelte';
2
+ import Content from './preference-item-content.svelte';
3
+ import Control from './preference-item-control.svelte';
4
+ import Header from './preference-item-header.svelte';
5
+ import Leading from './preference-item-leading.svelte';
6
+ import Meta from './preference-item-meta.svelte';
7
+ import Root from './preference-item-root.svelte';
8
+ import Title from './preference-item-title.svelte';
9
+ import Trigger from './preference-item-trigger.svelte';
10
+ export declare const PreferenceItem: {
11
+ Auxiliary: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
12
+ children?: import("svelte").Snippet;
13
+ class?: string;
14
+ }, {}, "">;
15
+ Content: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
16
+ children?: import("svelte").Snippet;
17
+ class?: string;
18
+ innerClassName?: string;
19
+ viewportClassName?: string;
20
+ }, {}, "">;
21
+ Control: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
22
+ children?: import("svelte").Snippet;
23
+ class?: string;
24
+ }, {}, "">;
25
+ Header: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
26
+ children?: import("svelte").Snippet;
27
+ class?: string;
28
+ }, {}, "">;
29
+ Leading: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
30
+ children?: import("svelte").Snippet;
31
+ class?: string;
32
+ }, {}, "">;
33
+ Meta: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
34
+ children?: import("svelte").Snippet;
35
+ class?: string;
36
+ }, {}, "">;
37
+ Root: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLDivElement> & {
38
+ children?: import("svelte").Snippet;
39
+ class?: string;
40
+ disabled?: boolean;
41
+ noStyle?: boolean;
42
+ open?: boolean;
43
+ }, {}, "open">;
44
+ Title: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLHeadingElement> & {
45
+ children?: import("svelte").Snippet;
46
+ class?: string;
47
+ }, {}, "">;
48
+ Trigger: import("svelte").Component<import("svelte/elements").HTMLAttributes<HTMLButtonElement> & {
49
+ children?: import("svelte").Snippet;
50
+ class?: string;
51
+ type?: "button" | "submit" | "reset";
52
+ }, {}, "">;
53
+ };
54
+ export { Auxiliary, Content, Control, Header, Leading, Meta, Root, Title, Trigger, };
@@ -0,0 +1,21 @@
1
+ import Auxiliary from './preference-item-auxiliary.svelte';
2
+ import Content from './preference-item-content.svelte';
3
+ import Control from './preference-item-control.svelte';
4
+ import Header from './preference-item-header.svelte';
5
+ import Leading from './preference-item-leading.svelte';
6
+ import Meta from './preference-item-meta.svelte';
7
+ import Root from './preference-item-root.svelte';
8
+ import Title from './preference-item-title.svelte';
9
+ import Trigger from './preference-item-trigger.svelte';
10
+ export const PreferenceItem = {
11
+ Auxiliary,
12
+ Content,
13
+ Control,
14
+ Header,
15
+ Leading,
16
+ Meta,
17
+ Root,
18
+ Title,
19
+ Trigger,
20
+ };
21
+ export { Auxiliary, Content, Control, Header, Leading, Meta, Root, Title, Trigger, };
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import { PREFERENCE_ITEM_SLOTS } from '@c15t/ui/primitives';
3
+ import { preferenceItemVariants } from '@c15t/ui/styles/primitives';
4
+ import type { Snippet } from 'svelte';
5
+ import type { HTMLAttributes } from 'svelte/elements';
6
+
7
+ import { getPreferenceItemContext } from './context';
8
+
9
+ const context = getPreferenceItemContext();
10
+ const variants = preferenceItemVariants();
11
+
12
+ let {
13
+ children,
14
+ class: localClassName,
15
+ ...restProps
16
+ }: HTMLAttributes<HTMLDivElement> & {
17
+ children?: Snippet;
18
+ class?: string;
19
+ } = $props();
20
+
21
+ const noStyle = $derived(context.noStyle);
22
+ const className = $derived.by(() =>
23
+ noStyle ? localClassName : variants.auxiliary({ class: localClassName })
24
+ );
25
+ </script>
26
+
27
+ <div
28
+ class={className}
29
+ data-slot={PREFERENCE_ITEM_SLOTS.auxiliary}
30
+ {...restProps}
31
+ >
32
+ {@render children?.()}
33
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ children?: Snippet;
5
+ class?: string;
6
+ };
7
+ declare const PreferenceItemAuxiliary: import("svelte").Component<$$ComponentProps, {}, "">;
8
+ type PreferenceItemAuxiliary = ReturnType<typeof PreferenceItemAuxiliary>;
9
+ export default PreferenceItemAuxiliary;
@@ -0,0 +1,68 @@
1
+ <script lang="ts">
2
+ import {
3
+ getPreferenceItemState,
4
+ PREFERENCE_ITEM_INTERNAL_SLOTS,
5
+ PREFERENCE_ITEM_SLOTS,
6
+ } from '@c15t/ui/primitives';
7
+ import { preferenceItemVariants } from '@c15t/ui/styles/primitives';
8
+ import type { Snippet } from 'svelte';
9
+ import type { HTMLAttributes } from 'svelte/elements';
10
+
11
+ import { getPreferenceItemContext } from './context';
12
+
13
+ const context = getPreferenceItemContext();
14
+ const variants = preferenceItemVariants();
15
+
16
+ let {
17
+ children,
18
+ class: localClassName,
19
+ innerClassName,
20
+ viewportClassName,
21
+ ...restProps
22
+ }: HTMLAttributes<HTMLDivElement> & {
23
+ children?: Snippet;
24
+ class?: string;
25
+ innerClassName?: string;
26
+ /** Presentation class for the consent widget viewport.
27
+ * @internal
28
+ */
29
+ viewportClassName?: string;
30
+ } = $props();
31
+
32
+ const open = $derived(context.open);
33
+ const triggerId = $derived(context.triggerId);
34
+ const contentId = $derived(context.contentId);
35
+ const dataState = $derived(getPreferenceItemState(open));
36
+ const contentClassName = $derived.by(() =>
37
+ variants.content({ class: localClassName })
38
+ );
39
+ const viewportClassNameValue = $derived.by(() =>
40
+ variants.contentViewport({ class: viewportClassName })
41
+ );
42
+ const innerClassNameValue = $derived.by(() =>
43
+ variants.contentInner({ class: innerClassName })
44
+ );
45
+ </script>
46
+
47
+ <div
48
+ id={contentId}
49
+ aria-hidden={!open}
50
+ aria-labelledby={triggerId}
51
+ class={contentClassName}
52
+ data-slot={PREFERENCE_ITEM_SLOTS.content}
53
+ data-state={dataState}
54
+ inert={!open}
55
+ {...restProps}
56
+ >
57
+ <div
58
+ class={viewportClassNameValue}
59
+ data-slot={PREFERENCE_ITEM_INTERNAL_SLOTS.contentViewport}
60
+ >
61
+ <div
62
+ class={innerClassNameValue}
63
+ data-slot={PREFERENCE_ITEM_INTERNAL_SLOTS.contentInner}
64
+ >
65
+ {@render children?.()}
66
+ </div>
67
+ </div>
68
+ </div>
@@ -0,0 +1,14 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ children?: Snippet;
5
+ class?: string;
6
+ innerClassName?: string;
7
+ /** Presentation class for the consent widget viewport.
8
+ * @internal
9
+ */
10
+ viewportClassName?: string;
11
+ };
12
+ declare const PreferenceItemContent: import("svelte").Component<$$ComponentProps, {}, "">;
13
+ type PreferenceItemContent = ReturnType<typeof PreferenceItemContent>;
14
+ export default PreferenceItemContent;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import { PREFERENCE_ITEM_SLOTS } from '@c15t/ui/primitives';
3
+ import { preferenceItemVariants } from '@c15t/ui/styles/primitives';
4
+ import type { Snippet } from 'svelte';
5
+ import type { HTMLAttributes } from 'svelte/elements';
6
+
7
+ import { getPreferenceItemContext } from './context';
8
+
9
+ const context = getPreferenceItemContext();
10
+ const variants = preferenceItemVariants();
11
+
12
+ let {
13
+ children,
14
+ class: localClassName,
15
+ ...restProps
16
+ }: HTMLAttributes<HTMLDivElement> & {
17
+ children?: Snippet;
18
+ class?: string;
19
+ } = $props();
20
+
21
+ const noStyle = $derived(context.noStyle);
22
+ const className = $derived.by(() =>
23
+ noStyle ? localClassName : variants.control({ class: localClassName })
24
+ );
25
+ </script>
26
+
27
+ <div
28
+ class={className}
29
+ data-slot={PREFERENCE_ITEM_SLOTS.control}
30
+ {...restProps}
31
+ >
32
+ {@render children?.()}
33
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ children?: Snippet;
5
+ class?: string;
6
+ };
7
+ declare const PreferenceItemControl: import("svelte").Component<$$ComponentProps, {}, "">;
8
+ type PreferenceItemControl = ReturnType<typeof PreferenceItemControl>;
9
+ export default PreferenceItemControl;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import { PREFERENCE_ITEM_SLOTS } from '@c15t/ui/primitives';
3
+ import { preferenceItemVariants } from '@c15t/ui/styles/primitives';
4
+ import type { Snippet } from 'svelte';
5
+ import type { HTMLAttributes } from 'svelte/elements';
6
+
7
+ import { getPreferenceItemContext } from './context';
8
+
9
+ const context = getPreferenceItemContext();
10
+ const variants = preferenceItemVariants();
11
+
12
+ let {
13
+ children,
14
+ class: localClassName,
15
+ ...restProps
16
+ }: HTMLAttributes<HTMLDivElement> & {
17
+ children?: Snippet;
18
+ class?: string;
19
+ } = $props();
20
+
21
+ const noStyle = $derived(context.noStyle);
22
+ const className = $derived.by(() =>
23
+ noStyle ? localClassName : variants.header({ class: localClassName })
24
+ );
25
+ </script>
26
+
27
+ <div
28
+ class={className}
29
+ data-slot={PREFERENCE_ITEM_SLOTS.header}
30
+ {...restProps}
31
+ >
32
+ {@render children?.()}
33
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ children?: Snippet;
5
+ class?: string;
6
+ };
7
+ declare const PreferenceItemHeader: import("svelte").Component<$$ComponentProps, {}, "">;
8
+ type PreferenceItemHeader = ReturnType<typeof PreferenceItemHeader>;
9
+ export default PreferenceItemHeader;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import { PREFERENCE_ITEM_SLOTS } from '@c15t/ui/primitives';
3
+ import { preferenceItemVariants } from '@c15t/ui/styles/primitives';
4
+ import type { Snippet } from 'svelte';
5
+ import type { HTMLAttributes } from 'svelte/elements';
6
+
7
+ import { getPreferenceItemContext } from './context';
8
+
9
+ const context = getPreferenceItemContext();
10
+ const variants = preferenceItemVariants();
11
+
12
+ let {
13
+ children,
14
+ class: localClassName,
15
+ ...restProps
16
+ }: HTMLAttributes<HTMLDivElement> & {
17
+ children?: Snippet;
18
+ class?: string;
19
+ } = $props();
20
+
21
+ const noStyle = $derived(context.noStyle);
22
+ const className = $derived.by(() =>
23
+ noStyle ? localClassName : variants.leading({ class: localClassName })
24
+ );
25
+ </script>
26
+
27
+ <div
28
+ class={className}
29
+ data-slot={PREFERENCE_ITEM_SLOTS.leading}
30
+ {...restProps}
31
+ >
32
+ {@render children?.()}
33
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ children?: Snippet;
5
+ class?: string;
6
+ };
7
+ declare const PreferenceItemLeading: import("svelte").Component<$$ComponentProps, {}, "">;
8
+ type PreferenceItemLeading = ReturnType<typeof PreferenceItemLeading>;
9
+ export default PreferenceItemLeading;
@@ -0,0 +1,33 @@
1
+ <script lang="ts">
2
+ import { PREFERENCE_ITEM_SLOTS } from '@c15t/ui/primitives';
3
+ import { preferenceItemVariants } from '@c15t/ui/styles/primitives';
4
+ import type { Snippet } from 'svelte';
5
+ import type { HTMLAttributes } from 'svelte/elements';
6
+
7
+ import { getPreferenceItemContext } from './context';
8
+
9
+ const context = getPreferenceItemContext();
10
+ const variants = preferenceItemVariants();
11
+
12
+ let {
13
+ children,
14
+ class: localClassName,
15
+ ...restProps
16
+ }: HTMLAttributes<HTMLDivElement> & {
17
+ children?: Snippet;
18
+ class?: string;
19
+ } = $props();
20
+
21
+ const noStyle = $derived(context.noStyle);
22
+ const className = $derived.by(() =>
23
+ noStyle ? localClassName : variants.meta({ class: localClassName })
24
+ );
25
+ </script>
26
+
27
+ <div
28
+ class={className}
29
+ data-slot={PREFERENCE_ITEM_SLOTS.meta}
30
+ {...restProps}
31
+ >
32
+ {@render children?.()}
33
+ </div>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { HTMLAttributes } from 'svelte/elements';
3
+ type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
4
+ children?: Snippet;
5
+ class?: string;
6
+ };
7
+ declare const PreferenceItemMeta: import("svelte").Component<$$ComponentProps, {}, "">;
8
+ type PreferenceItemMeta = ReturnType<typeof PreferenceItemMeta>;
9
+ export default PreferenceItemMeta;