@marianmeres/stuic 2.66.0 → 3.0.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 (171) hide show
  1. package/README.md +292 -4
  2. package/dist/README.md +41 -18
  3. package/dist/actions/popover/README.md +19 -0
  4. package/dist/actions/popover/index.css +6 -9
  5. package/dist/actions/popover/popover.svelte.js +2 -2
  6. package/dist/actions/tooltip/README.md +18 -0
  7. package/dist/actions/tooltip/index.css +5 -8
  8. package/dist/actions/tooltip/tooltip.svelte.js +1 -1
  9. package/dist/components/AlertConfirmPrompt/AlertConfirmPrompt.svelte +9 -10
  10. package/dist/components/AlertConfirmPrompt/AlertConfirmPrompt.svelte.d.ts +3 -3
  11. package/dist/components/AlertConfirmPrompt/Current.svelte +15 -17
  12. package/dist/components/AlertConfirmPrompt/Current.svelte.d.ts +5 -3
  13. package/dist/components/AlertConfirmPrompt/acp-icons.js +5 -4
  14. package/dist/components/AlertConfirmPrompt/index.css +62 -0
  15. package/dist/components/AssetsPreview/AssetsPreview.svelte +92 -73
  16. package/dist/components/AssetsPreview/AssetsPreview.svelte.d.ts +1 -0
  17. package/dist/components/AssetsPreview/index.css +59 -0
  18. package/dist/components/Avatar/Avatar.svelte +32 -18
  19. package/dist/components/Avatar/Avatar.svelte.d.ts +1 -0
  20. package/dist/components/Avatar/README.md +166 -0
  21. package/dist/components/Avatar/index.css +128 -0
  22. package/dist/components/Backdrop/Backdrop.svelte +8 -2
  23. package/dist/components/Backdrop/Backdrop.svelte.d.ts +1 -0
  24. package/dist/components/Backdrop/README.md +71 -6
  25. package/dist/components/Backdrop/index.css +29 -0
  26. package/dist/components/Button/Button.svelte +117 -124
  27. package/dist/components/Button/Button.svelte.d.ts +35 -23
  28. package/dist/components/Button/README.md +87 -21
  29. package/dist/components/Button/index.css +473 -9
  30. package/dist/components/Button/index.d.ts +1 -1
  31. package/dist/components/Button/index.js +1 -1
  32. package/dist/components/ButtonGroupRadio/ButtonGroupRadio.svelte +7 -38
  33. package/dist/components/ButtonGroupRadio/README.md +82 -4
  34. package/dist/components/ButtonGroupRadio/index.css +152 -14
  35. package/dist/components/Collapsible/Collapsible.svelte +7 -7
  36. package/dist/components/Collapsible/Collapsible.svelte.d.ts +2 -2
  37. package/dist/components/Collapsible/README.md +34 -2
  38. package/dist/components/Collapsible/index.css +38 -0
  39. package/dist/components/CommandMenu/CommandMenu.svelte +13 -24
  40. package/dist/components/CommandMenu/README.md +39 -0
  41. package/dist/components/CommandMenu/index.css +45 -2
  42. package/dist/components/DismissibleMessage/DismissibleMessage.svelte +53 -50
  43. package/dist/components/DismissibleMessage/DismissibleMessage.svelte.d.ts +6 -5
  44. package/dist/components/DismissibleMessage/README.md +93 -11
  45. package/dist/components/DismissibleMessage/index.css +122 -8
  46. package/dist/components/DismissibleMessage/index.d.ts +1 -1
  47. package/dist/components/DropdownMenu/DropdownMenu.svelte +14 -50
  48. package/dist/components/DropdownMenu/DropdownMenu.svelte.d.ts +6 -6
  49. package/dist/components/DropdownMenu/README.md +132 -0
  50. package/dist/components/DropdownMenu/index.css +231 -27
  51. package/dist/components/Input/FieldAssets.svelte +8 -5
  52. package/dist/components/Input/FieldCheckbox.svelte +7 -44
  53. package/dist/components/Input/FieldFile.svelte +1 -6
  54. package/dist/components/Input/FieldInput.svelte +1 -1
  55. package/dist/components/Input/FieldOptions.svelte +41 -38
  56. package/dist/components/Input/FieldRadios.svelte +7 -16
  57. package/dist/components/Input/FieldSelect.svelte +1 -1
  58. package/dist/components/Input/FieldSwitch.svelte +1 -5
  59. package/dist/components/Input/FieldTextarea.svelte +1 -1
  60. package/dist/components/Input/README.md +194 -0
  61. package/dist/components/Input/_internal/FieldRadioInternal.svelte +2 -40
  62. package/dist/components/Input/_internal/InputWrap.svelte +8 -48
  63. package/dist/components/Input/index.css +522 -127
  64. package/dist/components/ListItemButton/ListItemButton.svelte +37 -73
  65. package/dist/components/ListItemButton/ListItemButton.svelte.d.ts +1 -9
  66. package/dist/components/ListItemButton/README.md +100 -45
  67. package/dist/components/ListItemButton/index.css +175 -56
  68. package/dist/components/ListItemButton/index.d.ts +1 -1
  69. package/dist/components/ListItemButton/index.js +1 -1
  70. package/dist/components/Modal/Modal.svelte +2 -8
  71. package/dist/components/Modal/Modal.svelte.d.ts +1 -0
  72. package/dist/components/Modal/README.md +29 -0
  73. package/dist/components/Modal/index.css +36 -0
  74. package/dist/components/ModalDialog/ModalDialog.svelte +2 -21
  75. package/dist/components/ModalDialog/README.md +35 -0
  76. package/dist/components/ModalDialog/index.css +57 -0
  77. package/dist/components/Notifications/Notifications.svelte +44 -128
  78. package/dist/components/Notifications/Notifications.svelte.d.ts +9 -17
  79. package/dist/components/Notifications/README.md +186 -70
  80. package/dist/components/Notifications/index.css +212 -15
  81. package/dist/components/Progress/README.md +15 -0
  82. package/dist/components/Progress/_internal/Bar.svelte +2 -2
  83. package/dist/components/Progress/index.css +4 -4
  84. package/dist/components/Skeleton/Skeleton.svelte +3 -2
  85. package/dist/components/Skeleton/index.css +11 -14
  86. package/dist/components/Spinner/Spinner.svelte +2 -2
  87. package/dist/components/Spinner/SpinnerCircle.svelte +1 -1
  88. package/dist/components/Switch/README.md +15 -0
  89. package/dist/components/Switch/Switch.svelte +4 -7
  90. package/dist/components/Switch/Switch.svelte.d.ts +1 -1
  91. package/dist/components/Switch/SwitchButton.svelte +4 -5
  92. package/dist/components/Switch/index.css +3 -4
  93. package/dist/components/TabbedMenu/README.md +26 -21
  94. package/dist/components/TabbedMenu/TabbedMenu.svelte +5 -5
  95. package/dist/components/TabbedMenu/index.css +7 -22
  96. package/dist/components/ThemePreview/README.md +289 -0
  97. package/dist/components/ThemePreview/ThemePreview.svelte +341 -0
  98. package/dist/components/ThemePreview/ThemePreview.svelte.d.ts +33 -0
  99. package/dist/components/ThemePreview/index.css +493 -0
  100. package/dist/components/ThemePreview/index.d.ts +1 -0
  101. package/dist/components/ThemePreview/index.js +1 -0
  102. package/dist/components/TwCheck/TwCheck.svelte +4 -4
  103. package/dist/components/TwCheck/index.css +3 -2
  104. package/dist/components/TypeaheadInput/TypeaheadInput.svelte +1 -1
  105. package/dist/components/X/X.svelte +12 -5
  106. package/dist/components/X/X.svelte.d.ts +1 -0
  107. package/dist/icons/index.d.ts +1 -0
  108. package/dist/icons/index.js +1 -0
  109. package/dist/index.css +31 -16
  110. package/dist/index.d.ts +1 -0
  111. package/dist/index.js +1 -0
  112. package/dist/themes/blue-orange.css +163 -0
  113. package/dist/themes/blue-orange.d.ts +6 -0
  114. package/dist/themes/blue-orange.js +151 -0
  115. package/dist/themes/cyan-red.css +163 -0
  116. package/dist/themes/cyan-red.d.ts +6 -0
  117. package/dist/themes/cyan-red.js +151 -0
  118. package/dist/themes/cyan-slate.css +163 -0
  119. package/dist/themes/cyan-slate.d.ts +6 -0
  120. package/dist/themes/cyan-slate.js +151 -0
  121. package/dist/themes/emerald-pink.css +163 -0
  122. package/dist/themes/emerald-pink.d.ts +6 -0
  123. package/dist/themes/emerald-pink.js +151 -0
  124. package/dist/themes/fuchsia-emerald.css +163 -0
  125. package/dist/themes/fuchsia-emerald.d.ts +6 -0
  126. package/dist/themes/fuchsia-emerald.js +151 -0
  127. package/dist/themes/gray.css +163 -0
  128. package/dist/themes/gray.d.ts +6 -0
  129. package/dist/themes/gray.js +151 -0
  130. package/dist/themes/indigo-amber.css +163 -0
  131. package/dist/themes/indigo-amber.d.ts +6 -0
  132. package/dist/themes/indigo-amber.js +151 -0
  133. package/dist/themes/neutral.css +163 -0
  134. package/dist/themes/neutral.d.ts +6 -0
  135. package/dist/themes/neutral.js +151 -0
  136. package/dist/themes/pink-emerald.css +163 -0
  137. package/dist/themes/pink-emerald.d.ts +6 -0
  138. package/dist/themes/pink-emerald.js +151 -0
  139. package/dist/themes/purple-yellow.css +163 -0
  140. package/dist/themes/purple-yellow.d.ts +6 -0
  141. package/dist/themes/purple-yellow.js +151 -0
  142. package/dist/themes/rainbow.css +163 -0
  143. package/dist/themes/rainbow.d.ts +6 -0
  144. package/dist/themes/rainbow.js +156 -0
  145. package/dist/themes/red-blue.css +163 -0
  146. package/dist/themes/red-blue.d.ts +6 -0
  147. package/dist/themes/red-blue.js +151 -0
  148. package/dist/themes/red-cyan.css +163 -0
  149. package/dist/themes/red-cyan.d.ts +6 -0
  150. package/dist/themes/red-cyan.js +151 -0
  151. package/dist/themes/rose-teal.css +163 -0
  152. package/dist/themes/rose-teal.d.ts +6 -0
  153. package/dist/themes/rose-teal.js +151 -0
  154. package/dist/themes/sky-amber.css +163 -0
  155. package/dist/themes/sky-amber.d.ts +6 -0
  156. package/dist/themes/sky-amber.js +151 -0
  157. package/dist/themes/slate-cyan.css +163 -0
  158. package/dist/themes/slate-cyan.d.ts +6 -0
  159. package/dist/themes/slate-cyan.js +151 -0
  160. package/dist/themes/tailwind-color-pairs.md +31 -0
  161. package/dist/themes/teal-rose.css +163 -0
  162. package/dist/themes/teal-rose.d.ts +6 -0
  163. package/dist/themes/teal-rose.js +151 -0
  164. package/dist/themes/violet-lime.css +163 -0
  165. package/dist/themes/violet-lime.d.ts +6 -0
  166. package/dist/themes/violet-lime.js +151 -0
  167. package/dist/utils/design-tokens.d.ts +43 -0
  168. package/dist/utils/design-tokens.js +100 -0
  169. package/dist/utils/index.d.ts +1 -0
  170. package/dist/utils/index.js +1 -0
  171. package/package.json +22 -2
@@ -0,0 +1,341 @@
1
+ <script lang="ts" module>
2
+ import type { Snippet } from "svelte";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+
5
+ export interface Props extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
6
+ /** Show section labels */
7
+ showLabels?: boolean;
8
+ /** Compact layout (reduced spacing) */
9
+ compact?: boolean;
10
+ /** Show all button variants or just solid */
11
+ showAllVariants?: boolean;
12
+ /** Show input examples */
13
+ showInputs?: boolean;
14
+ /** Additional CSS classes */
15
+ class?: string;
16
+ /** Bindable element reference */
17
+ el?: HTMLDivElement;
18
+ /** Optional header snippet */
19
+ header?: Snippet;
20
+ /** Optional sidebar snippet */
21
+ sidebar?: Snippet;
22
+ /** Optional footer snippet */
23
+ footer?: Snippet;
24
+ /** Optional AlertConfirmPromptStack*/
25
+ acp?: AlertConfirmPromptStack;
26
+ }
27
+
28
+ /** Intent colors to demonstrate */
29
+ export const INTENT_COLORS = [
30
+ "primary",
31
+ "accent",
32
+ "destructive",
33
+ "warning",
34
+ "success",
35
+ "info",
36
+ ] as const;
37
+
38
+ /** Button variants to demonstrate */
39
+ export const BUTTON_VARIANTS = ["solid", "outline", "ghost", "soft", "link"] as const;
40
+ </script>
41
+
42
+ <script lang="ts">
43
+ import "./index.css";
44
+ import { twMerge } from "../../utils/tw-merge.js";
45
+ import Button from "../Button/Button.svelte";
46
+ import { AlertConfirmPromptStack } from "../AlertConfirmPrompt/index.js";
47
+ import {
48
+ type DismissibleMessageIntent,
49
+ DismissibleMessage,
50
+ } from "../DismissibleMessage/index.js";
51
+ import { createClog } from "@marianmeres/clog";
52
+
53
+ const clog = createClog("ThemePreview", { color: "auto" });
54
+
55
+ let {
56
+ showLabels = true,
57
+ compact = false,
58
+ showAllVariants = true,
59
+ showInputs = true,
60
+ class: classProp,
61
+ el = $bindable(),
62
+ header,
63
+ sidebar,
64
+ footer,
65
+ acp,
66
+ ...rest
67
+ }: Props = $props();
68
+
69
+ let spacing = $derived(compact ? "gap-2 p-2" : "gap-4 p-4");
70
+
71
+ const alert = () => acp?.alert();
72
+
73
+ //
74
+ let dismissibleMessage = $state<string | null>();
75
+ let dismissibleIntent = $state<DismissibleMessageIntent | undefined>();
76
+ </script>
77
+
78
+ <div bind:this={el} class={twMerge("stuic-theme-preview", spacing, classProp)} {...rest}>
79
+ <!-- HEADER -->
80
+ <header class="stuic-theme-preview-header">
81
+ {#if header}
82
+ {@render header()}
83
+ {:else}
84
+ <div class="header-content">
85
+ <h1 class="header-title">Theme Preview</h1>
86
+ <p class="header-subtitle">Design tokens in action</p>
87
+ </div>
88
+ {/if}
89
+ </header>
90
+
91
+ <!-- BODY: Sidebar + Main -->
92
+ <div class="stuic-theme-preview-body">
93
+ <!-- SIDEBAR -->
94
+ <aside class="stuic-theme-preview-sidebar">
95
+ {#if sidebar}
96
+ {@render sidebar()}
97
+ {:else}
98
+ <nav class="sidebar-nav">
99
+ {#if showLabels}
100
+ <span class="section-label">Navigation</span>
101
+ {/if}
102
+ <ul class="nav-list">
103
+ <li class="nav-item active">Dashboard</li>
104
+ <li class="nav-item">Settings</li>
105
+ <li class="nav-item">Profile</li>
106
+ <li class="nav-item muted">Archived</li>
107
+ </ul>
108
+ </nav>
109
+ <div class="sidebar-footer">
110
+ <span class="muted-text">v1.0.0</span>
111
+ </div>
112
+ {/if}
113
+ </aside>
114
+
115
+ <!-- MAIN CONTENT -->
116
+ <main class="stuic-theme-preview-main">
117
+ <DismissibleMessage
118
+ message={dismissibleMessage}
119
+ intent={dismissibleIntent}
120
+ onDismiss={() => {
121
+ dismissibleIntent = undefined;
122
+ dismissibleMessage = null;
123
+ }}
124
+ />
125
+ <!-- INTENT BUTTONS -->
126
+ <section class="preview-section">
127
+ {#if showLabels}
128
+ <h2 class="section-label">Intent Colors (Buttons)</h2>
129
+ {/if}
130
+
131
+ <div class="button-grid">
132
+ {#each INTENT_COLORS as intent}
133
+ <div class="button-column">
134
+ {#if showLabels}
135
+ <span class="intent-label">{intent}</span>
136
+ {/if}
137
+
138
+ {#if showAllVariants}
139
+ {#each BUTTON_VARIANTS as variant}
140
+ <Button
141
+ {intent}
142
+ {variant}
143
+ onclick={() => {
144
+ if (!["primary", "accent"].includes(intent)) {
145
+ dismissibleIntent = intent as DismissibleMessageIntent;
146
+ dismissibleMessage = intent;
147
+ } else {
148
+ alert();
149
+ }
150
+ }}
151
+ >
152
+ {variant}
153
+ </Button>
154
+ {/each}
155
+ {:else}
156
+ <Button {intent} onclick={alert}>
157
+ {intent}
158
+ </Button>
159
+ {/if}
160
+ </div>
161
+ {/each}
162
+ </div>
163
+ </section>
164
+
165
+ <section class="preview-section">
166
+ {#if showLabels}
167
+ <h2 class="section-label">Default Button (no explicit intent)</h2>
168
+ {/if}
169
+ <div class="flex gap-6 flex-wrap">
170
+ {#each BUTTON_VARIANTS as variant}
171
+ <div class="flex gap-2">
172
+ <Button {variant}>{variant}</Button>
173
+ <Button x {variant} roundedFull />
174
+ </div>
175
+ {/each}
176
+ </div>
177
+ </section>
178
+
179
+ <!-- ROLE COLORS -->
180
+ <section class="preview-section">
181
+ {#if showLabels}
182
+ <h2 class="section-label">Role Colors</h2>
183
+ {/if}
184
+
185
+ <div class="role-colors-grid">
186
+ <div class="color-swatch background">
187
+ <span class="swatch-label">background</span>
188
+ <span class="foreground-text">foreground text</span>
189
+ </div>
190
+
191
+ <div class="color-swatch surface">
192
+ <span class="swatch-label">surface</span>
193
+ <span class="surface-foreground-text">surface-foreground</span>
194
+ </div>
195
+
196
+ <div class="color-swatch muted-bg">
197
+ <span class="swatch-label">muted</span>
198
+ <span class="muted-foreground-text">muted-foreground</span>
199
+ </div>
200
+ </div>
201
+ </section>
202
+
203
+ <!-- BORDERS -->
204
+ <section class="preview-section">
205
+ {#if showLabels}
206
+ <h2 class="section-label">Borders</h2>
207
+ {/if}
208
+
209
+ <div class="border-examples">
210
+ <div class="border-box default">Default border</div>
211
+ <div class="border-box hover">Hover state (hover me)</div>
212
+ <div class="border-box active">Active state</div>
213
+ </div>
214
+ </section>
215
+
216
+ <!-- INPUTS -->
217
+ {#if showInputs}
218
+ <section class="preview-section">
219
+ {#if showLabels}
220
+ <h2 class="section-label">Inputs</h2>
221
+ {/if}
222
+
223
+ <div class="input-examples">
224
+ <div class="input-wrapper">
225
+ <input type="text" class="preview-input" placeholder="Text input..." />
226
+ </div>
227
+ <div class="input-wrapper">
228
+ <input
229
+ type="text"
230
+ class="preview-input focus"
231
+ value="Focused state"
232
+ readonly
233
+ />
234
+ </div>
235
+ </div>
236
+ </section>
237
+ {/if}
238
+
239
+ <!-- HIGHLIGHT BOXES -->
240
+ <section class="preview-section">
241
+ {#if showLabels}
242
+ <h2 class="section-label">Highlighted Content</h2>
243
+ {/if}
244
+
245
+ <div class="highlight-box primary">
246
+ <strong>Primary Highlight</strong>
247
+ <p>This box uses primary intent colors for important content.</p>
248
+ </div>
249
+
250
+ <div class="highlight-box accent">
251
+ <strong>Accent Highlight</strong>
252
+ <p>This box uses accent colors to draw attention.</p>
253
+ </div>
254
+ </section>
255
+
256
+ <!-- TYPOGRAPHY -->
257
+ <section class="preview-section">
258
+ {#if showLabels}
259
+ <h2 class="section-label">Typography</h2>
260
+ {/if}
261
+
262
+ <div class="typography-demo">
263
+ <p class="text-foreground">
264
+ This is <strong>foreground</strong> text - the primary text color.
265
+ </p>
266
+ <p class="text-muted">
267
+ This is <strong>muted</strong> text - used for secondary information.
268
+ </p>
269
+ <p class="text-surface-foreground">
270
+ This is <strong>surface-foreground</strong> text - used on surface backgrounds.
271
+ </p>
272
+ </div>
273
+ </section>
274
+
275
+ <!-- TAILWIND UTILITY CLASSES -->
276
+ <section class="preview-section">
277
+ {#if showLabels}
278
+ <h2 class="section-label">Tailwind Utility Classes</h2>
279
+ {/if}
280
+
281
+ <div class="flex flex-col gap-3">
282
+ <!-- Intent color boxes using inline styles with CSS variables -->
283
+ <div class="flex flex-wrap gap-2">
284
+ {#each INTENT_COLORS as intent}
285
+ <div
286
+ class="px-3 py-2 rounded text-sm"
287
+ style="background: var(--stuic-color-{intent}); color: var(--stuic-color-{intent}-foreground);"
288
+ >
289
+ {intent}
290
+ </div>
291
+ {/each}
292
+ </div>
293
+
294
+ <!-- Role color examples using Tailwind arbitrary value syntax -->
295
+ <div class="flex flex-wrap gap-2">
296
+ <div
297
+ class="px-3 py-2 rounded border border-(--stuic-color-border) bg-(--stuic-color-surface) text-(--stuic-color-surface-foreground)"
298
+ >
299
+ surface + border
300
+ </div>
301
+ <div
302
+ class="px-3 py-2 rounded bg-(--stuic-color-muted) text-(--stuic-color-muted-foreground)"
303
+ >
304
+ muted
305
+ </div>
306
+ <div
307
+ class="px-3 py-2 rounded bg-(--stuic-color-primary) text-(--stuic-color-primary-foreground)"
308
+ >
309
+ primary
310
+ </div>
311
+ <div
312
+ class="px-3 py-2 rounded bg-(--stuic-color-accent) text-(--stuic-color-accent-foreground)"
313
+ >
314
+ accent
315
+ </div>
316
+ </div>
317
+
318
+ <!-- Code hint -->
319
+ <p class="text-xs text-(--stuic-color-muted-foreground)">
320
+ Using: <code class="bg-(--stuic-color-muted) px-1 rounded"
321
+ >bg-(--stuic-color-primary)</code
322
+ > syntax
323
+ </p>
324
+ </div>
325
+ </section>
326
+ </main>
327
+ </div>
328
+
329
+ <!-- FOOTER -->
330
+ <footer class="stuic-theme-preview-footer">
331
+ {#if footer}
332
+ {@render footer()}
333
+ {:else}
334
+ <div class="footer-content">
335
+ <span class="muted-text">Theme tokens demonstration</span>
336
+ <span class="footer-divider">|</span>
337
+ <span class="foreground-text">stuic</span>
338
+ </div>
339
+ {/if}
340
+ </footer>
341
+ </div>
@@ -0,0 +1,33 @@
1
+ import type { Snippet } from "svelte";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ export interface Props extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
4
+ /** Show section labels */
5
+ showLabels?: boolean;
6
+ /** Compact layout (reduced spacing) */
7
+ compact?: boolean;
8
+ /** Show all button variants or just solid */
9
+ showAllVariants?: boolean;
10
+ /** Show input examples */
11
+ showInputs?: boolean;
12
+ /** Additional CSS classes */
13
+ class?: string;
14
+ /** Bindable element reference */
15
+ el?: HTMLDivElement;
16
+ /** Optional header snippet */
17
+ header?: Snippet;
18
+ /** Optional sidebar snippet */
19
+ sidebar?: Snippet;
20
+ /** Optional footer snippet */
21
+ footer?: Snippet;
22
+ /** Optional AlertConfirmPromptStack*/
23
+ acp?: AlertConfirmPromptStack;
24
+ }
25
+ /** Intent colors to demonstrate */
26
+ export declare const INTENT_COLORS: readonly ["primary", "accent", "destructive", "warning", "success", "info"];
27
+ /** Button variants to demonstrate */
28
+ export declare const BUTTON_VARIANTS: readonly ["solid", "outline", "ghost", "soft", "link"];
29
+ import "./index.css";
30
+ import { AlertConfirmPromptStack } from "../AlertConfirmPrompt/index.js";
31
+ declare const ThemePreview: import("svelte").Component<Props, {}, "el">;
32
+ type ThemePreview = ReturnType<typeof ThemePreview>;
33
+ export default ThemePreview;