@heyramzi/ui 7.0.0 → 8.1.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 (259) hide show
  1. package/COMPONENTS.md +28 -17
  2. package/README.md +6 -2
  3. package/package.json +25 -15
  4. package/scripts/sync-shadcn.mjs +17 -13
  5. package/scripts/sync-transitions.mjs +11 -11
  6. package/src/agents/agent-avatar.svelte +67 -114
  7. package/src/agents/agent-cast.svelte +31 -7
  8. package/src/agents/demo.svelte +55 -8
  9. package/src/agents/helpers.ts +58 -0
  10. package/src/agents/page-state.ts +70 -0
  11. package/src/agents/types.ts +3 -1
  12. package/src/ai/ai-button/AiButton.svelte +86 -0
  13. package/src/ai/ai-button/index.ts +4 -0
  14. package/src/ai/confirmation/Confirmation.svelte +8 -8
  15. package/src/ai/confirmation/confirmation-context.svelte.ts +2 -2
  16. package/src/ai/generation-progress/GenerationProgress.svelte +354 -0
  17. package/src/ai/generation-progress/index.ts +7 -0
  18. package/src/ai/index.ts +16 -6
  19. package/src/ai/prompt-input/PromptInput.svelte +19 -1
  20. package/src/ai/prompt-input/PromptInputSubmit.svelte +9 -3
  21. package/src/ai/reasoning/Reasoning.svelte +11 -8
  22. package/src/ambient.d.ts +4 -0
  23. package/src/animations/README.md +14 -14
  24. package/src/animations/index.css +3 -14
  25. package/src/animations/upstream-coverage.test.ts +1 -1
  26. package/src/components/copy/clipboard.test.ts +206 -0
  27. package/src/components/copy/clipboard.ts +49 -0
  28. package/src/components/copy/copied.svelte.ts +39 -0
  29. package/src/components/copy/copy-button.svelte +175 -0
  30. package/src/components/copy/copy-button.test.ts +110 -0
  31. package/src/components/copy/index.ts +3 -0
  32. package/src/components/data-table/data-table.test.ts +134 -0
  33. package/src/components/data-table/data-table.ts +77 -0
  34. package/src/components/data-table/index.ts +20 -0
  35. package/src/components/data-table/infinite-scroll.svelte +69 -0
  36. package/src/components/data-table/pagination.svelte +62 -0
  37. package/src/components/data-table/row-arrow.svelte +28 -0
  38. package/src/components/data-table/row-context-menu.svelte +106 -0
  39. package/src/components/data-table/row-context-menu.test.ts +18 -0
  40. package/src/components/data-table/sortable-head.svelte +56 -0
  41. package/src/components/data-table/table-skeleton.svelte +83 -0
  42. package/src/components/hold-to-confirm/hold-to-confirm.svelte +232 -0
  43. package/src/components/hold-to-confirm/index.ts +1 -0
  44. package/src/components/icon/icon.svelte +23 -0
  45. package/src/components/icon/index.ts +1 -0
  46. package/src/components/language-flag/index.ts +1 -0
  47. package/src/components/language-flag/language-flag.svelte +60 -0
  48. package/src/components/list-page/detail-empty.svelte +50 -0
  49. package/src/components/list-page/detail-header.svelte +107 -0
  50. package/src/components/list-page/detail-panel.svelte +90 -0
  51. package/src/components/list-page/detail-row.svelte +36 -0
  52. package/src/components/list-page/detail-stack.svelte +33 -0
  53. package/src/components/list-page/empty-state.svelte +91 -0
  54. package/src/components/list-page/filter-item.svelte +49 -0
  55. package/src/components/list-page/filter-popover.svelte +88 -0
  56. package/src/components/list-page/filter-section.ts +12 -0
  57. package/src/components/list-page/grouped-list.svelte +116 -0
  58. package/src/components/list-page/index.ts +28 -0
  59. package/src/components/list-page/list-page-shell.svelte +195 -0
  60. package/src/components/list-page/list-table.ts +19 -0
  61. package/src/components/list-page/master-detail.svelte +206 -0
  62. package/src/components/list-page/master-detail.test.ts +37 -0
  63. package/src/components/list-page/notice-bar.svelte +68 -0
  64. package/src/components/list-page/prev-next.svelte +104 -0
  65. package/src/components/list-page/queue-rail.ts +25 -0
  66. package/src/components/list-page/rail-body.svelte +29 -0
  67. package/src/components/list-page/rail-empty.svelte +51 -0
  68. package/src/components/list-page/rail-head.svelte +49 -0
  69. package/src/components/list-page/rail-row.svelte +163 -0
  70. package/src/components/list-page/section-host.ts +24 -0
  71. package/src/components/list-page/section-label.svelte +39 -0
  72. package/src/components/list-page/step.test.ts +21 -0
  73. package/src/components/list-page/step.ts +10 -0
  74. package/src/components/list-page/toolbar-search.svelte +63 -0
  75. package/src/components/list-page/toolbar-trigger.ts +23 -0
  76. package/src/components/list-page/types.ts +1 -0
  77. package/src/components/locale-switch/index.ts +1 -0
  78. package/src/components/locale-switch/locale-switch.svelte +59 -0
  79. package/src/components/mark/index.ts +1 -0
  80. package/src/components/mark/mark.svelte +70 -0
  81. package/src/components/open-in/index.ts +6 -0
  82. package/src/components/open-in/open-in.svelte +106 -0
  83. package/src/components/picker/index.ts +4 -0
  84. package/src/components/picker/mark-picker.svelte +84 -0
  85. package/src/components/picker/picker.svelte +143 -0
  86. package/src/components/picker/trigger.ts +42 -0
  87. package/src/components/picker/types.ts +26 -0
  88. package/src/components/segmented/animated-tabs.svelte +175 -0
  89. package/src/components/segmented/collapse.test.ts +49 -0
  90. package/src/components/segmented/collapse.ts +39 -0
  91. package/src/components/segmented/index.ts +41 -0
  92. package/src/components/segmented/section-runs.svelte +79 -0
  93. package/src/components/segmented/segment.svelte +106 -0
  94. package/src/components/segmented/segmented-filter.svelte +125 -0
  95. package/src/components/segmented/segmented-nav.svelte +82 -0
  96. package/src/components/segmented/segmented-overflow.svelte +85 -0
  97. package/src/components/segmented/segmented-track.svelte +181 -0
  98. package/src/components/segmented/segmented.test.ts +20 -0
  99. package/src/components/segmented/segmented.ts +80 -0
  100. package/src/components/star-rating-input/index.ts +9 -0
  101. package/src/components/star-rating-input/star-rating-input.svelte +256 -0
  102. package/src/components/svg/index.ts +1 -0
  103. package/src/components/svg/svg.svelte +9 -0
  104. package/src/effects/border-beam/BorderBeam.svelte +1 -1
  105. package/src/effects/image-comparison/ImageComparison.css +42 -8
  106. package/src/effects/image-comparison/ImageComparison.svelte +138 -21
  107. package/src/effects/image-comparison/compare.test.ts +17 -0
  108. package/src/effects/image-comparison/compare.ts +5 -0
  109. package/src/effects/interactive-hover-button/InteractiveHoverButton.svelte +338 -0
  110. package/src/effects/magic-card/MagicCard.css +47 -0
  111. package/src/effects/magic-card/MagicCard.svelte +57 -0
  112. package/src/effects/marquee/Marquee.css +27 -1
  113. package/src/effects/marquee/Marquee.svelte +67 -3
  114. package/src/effects/reveal/index.ts +2 -1
  115. package/src/effects/reveal/observe.test.ts +60 -0
  116. package/src/effects/reveal/observe.ts +33 -1
  117. package/src/effects/reveal/types.ts +7 -0
  118. package/src/effects/theme-toggle/ThemeToggle.css +199 -6
  119. package/src/effects/theme-toggle/ThemeToggle.svelte +51 -26
  120. package/src/gallery.test.ts +52 -0
  121. package/src/index.ts +5 -1
  122. package/src/lib/panel.ts +7 -1
  123. package/src/lib/theme-transition.ts +37 -11
  124. package/src/lib/tone.ts +48 -0
  125. package/src/shadcn/accordion/accordion-trigger.svelte +15 -6
  126. package/src/shadcn/alert/alert.svelte +3 -1
  127. package/src/shadcn/badge/badge.svelte +8 -7
  128. package/src/shadcn/breadcrumb/breadcrumb-ellipsis.svelte +2 -2
  129. package/src/shadcn/breadcrumb/breadcrumb-separator.svelte +2 -2
  130. package/src/shadcn/calendar/calendar-month-select.svelte +2 -2
  131. package/src/shadcn/calendar/calendar-next-button.svelte +2 -2
  132. package/src/shadcn/calendar/calendar-prev-button.svelte +2 -2
  133. package/src/shadcn/calendar/calendar-year-select.svelte +2 -2
  134. package/src/shadcn/calendar/calendar.svelte +6 -0
  135. package/src/shadcn/code-block/code-block-copy-button.svelte +6 -55
  136. package/src/shadcn/command/index.ts +3 -0
  137. package/src/shadcn/field/index.ts +3 -0
  138. package/src/shadcn/field/simple-field.svelte +71 -0
  139. package/src/shadcn/field/simple-field.test.ts +47 -0
  140. package/src/shadcn/message-scroller/message-scroller-button.svelte +2 -2
  141. package/src/shadcn/radio-group/radio-group-item.svelte +3 -2
  142. package/src/shadcn/sheet/sheet-content.svelte +1 -0
  143. package/src/shadcn/sheet/sheet.css +48 -0
  144. package/src/shadcn/sonner/sonner.svelte +7 -10
  145. package/src/shadcn/toggle-group/toggle-group.svelte +10 -3
  146. package/src/shadcn/trace/trace-collapsible-trigger.svelte +2 -2
  147. package/src/ai/composer/Composer.css +0 -108
  148. package/src/ai/composer/Composer.svelte +0 -111
  149. package/src/ai/composer/index.ts +0 -10
  150. package/src/animations/accordion.css +0 -58
  151. package/src/animations/icon-swap.css +0 -43
  152. package/src/animations/notification-badge.css +0 -81
  153. package/src/animations/panel.css +0 -86
  154. package/src/animations/reasoning-stream.css +0 -49
  155. package/src/animations/skeleton-reveal.css +0 -97
  156. package/src/animations/streaming-text.css +0 -31
  157. package/src/animations/tabs-sliding.css +0 -83
  158. package/src/animations/texts-reveal.css +0 -70
  159. package/src/animations/tooltip.css +0 -72
  160. package/src/animations/view-transition-reveal.ts +0 -74
  161. package/src/lib/utils.ts +0 -45
  162. package/src/showcase/AiSection.svelte +0 -150
  163. package/src/showcase/AnimationsSection.svelte +0 -1658
  164. package/src/showcase/EffectsSection.svelte +0 -152
  165. package/src/showcase/ShadcnSection.svelte +0 -27
  166. package/src/showcase/ShowcaseImport.svelte +0 -126
  167. package/src/showcase/ShowcaseList.svelte +0 -132
  168. package/src/showcase/ShowcaseNav.svelte +0 -247
  169. package/src/showcase/ShowcaseSection.svelte +0 -112
  170. package/src/showcase/ShowcaseShell.svelte +0 -55
  171. package/src/showcase/ShowcaseStage.svelte +0 -342
  172. package/src/showcase/ShowcaseVariant.svelte +0 -109
  173. package/src/showcase/assets/image-reveal/art-1.jpg +0 -0
  174. package/src/showcase/assets/image-reveal/art-2.jpg +0 -0
  175. package/src/showcase/assets/image-reveal/art-3.jpg +0 -0
  176. package/src/showcase/check.svg +0 -1
  177. package/src/showcase/chevron-arms.svg +0 -2
  178. package/src/showcase/chevron-down.svg +0 -1
  179. package/src/showcase/copy.svg +0 -2
  180. package/src/showcase/demos/ai/confirmation.svelte +0 -59
  181. package/src/showcase/demos/ai/loading-state.svelte +0 -19
  182. package/src/showcase/demos/ai/prompt-input.svelte +0 -57
  183. package/src/showcase/demos/ai/reasoning.svelte +0 -19
  184. package/src/showcase/demos/ai/thinking-dots.svelte +0 -15
  185. package/src/showcase/demos/ai/voice-waveform.svelte +0 -24
  186. package/src/showcase/demos/effects/animated-beam.svelte +0 -50
  187. package/src/showcase/demos/effects/animated-group.svelte +0 -47
  188. package/src/showcase/demos/effects/border-beam-default.svelte +0 -20
  189. package/src/showcase/demos/effects/border-beam-line.svelte +0 -20
  190. package/src/showcase/demos/effects/border-beam-mono.svelte +0 -20
  191. package/src/showcase/demos/effects/border-beam-sunset.svelte +0 -20
  192. package/src/showcase/demos/effects/image-comparison.svelte +0 -25
  193. package/src/showcase/demos/effects/image-reveal.svelte +0 -49
  194. package/src/showcase/demos/effects/in-view.svelte +0 -41
  195. package/src/showcase/demos/effects/integrations-hub.svelte +0 -82
  196. package/src/showcase/demos/effects/magnetic.svelte +0 -31
  197. package/src/showcase/demos/effects/marquee.svelte +0 -33
  198. package/src/showcase/demos/effects/progressive-blur.svelte +0 -47
  199. package/src/showcase/demos/effects/spotlight.svelte +0 -40
  200. package/src/showcase/demos/effects/text-effect.svelte +0 -55
  201. package/src/showcase/demos/shadcn/accordion.svelte +0 -45
  202. package/src/showcase/demos/shadcn/alert-dialog.svelte +0 -23
  203. package/src/showcase/demos/shadcn/alert.svelte +0 -30
  204. package/src/showcase/demos/shadcn/attachment.svelte +0 -71
  205. package/src/showcase/demos/shadcn/avatar.svelte +0 -30
  206. package/src/showcase/demos/shadcn/badge.svelte +0 -26
  207. package/src/showcase/demos/shadcn/breadcrumb.svelte +0 -34
  208. package/src/showcase/demos/shadcn/bubble.svelte +0 -36
  209. package/src/showcase/demos/shadcn/button.svelte +0 -11
  210. package/src/showcase/demos/shadcn/calendar.svelte +0 -8
  211. package/src/showcase/demos/shadcn/card.svelte +0 -39
  212. package/src/showcase/demos/shadcn/checkbox.svelte +0 -39
  213. package/src/showcase/demos/shadcn/code-block.svelte +0 -80
  214. package/src/showcase/demos/shadcn/collapsible.svelte +0 -20
  215. package/src/showcase/demos/shadcn/command.svelte +0 -48
  216. package/src/showcase/demos/shadcn/context-menu.svelte +0 -54
  217. package/src/showcase/demos/shadcn/demo-harness.svelte +0 -12
  218. package/src/showcase/demos/shadcn/demos.test.ts +0 -20
  219. package/src/showcase/demos/shadcn/dialog.svelte +0 -38
  220. package/src/showcase/demos/shadcn/dropdown-menu.svelte +0 -59
  221. package/src/showcase/demos/shadcn/empty.svelte +0 -29
  222. package/src/showcase/demos/shadcn/field.svelte +0 -115
  223. package/src/showcase/demos/shadcn/hover-card.svelte +0 -32
  224. package/src/showcase/demos/shadcn/index.ts +0 -382
  225. package/src/showcase/demos/shadcn/input-otp.svelte +0 -19
  226. package/src/showcase/demos/shadcn/input.svelte +0 -5
  227. package/src/showcase/demos/shadcn/label.svelte +0 -11
  228. package/src/showcase/demos/shadcn/marker.svelte +0 -30
  229. package/src/showcase/demos/shadcn/message-scroller.svelte +0 -44
  230. package/src/showcase/demos/shadcn/message.svelte +0 -75
  231. package/src/showcase/demos/shadcn/popover.svelte +0 -36
  232. package/src/showcase/demos/shadcn/progress.svelte +0 -13
  233. package/src/showcase/demos/shadcn/radio-group.svelte +0 -19
  234. package/src/showcase/demos/shadcn/scroll-area.svelte +0 -18
  235. package/src/showcase/demos/shadcn/select.svelte +0 -29
  236. package/src/showcase/demos/shadcn/separator.svelte +0 -12
  237. package/src/showcase/demos/shadcn/sheet.svelte +0 -48
  238. package/src/showcase/demos/shadcn/skeleton.svelte +0 -11
  239. package/src/showcase/demos/shadcn/slider.svelte +0 -7
  240. package/src/showcase/demos/shadcn/sonner.svelte +0 -18
  241. package/src/showcase/demos/shadcn/spinner.svelte +0 -11
  242. package/src/showcase/demos/shadcn/switch.svelte +0 -9
  243. package/src/showcase/demos/shadcn/table.svelte +0 -76
  244. package/src/showcase/demos/shadcn/tabs.svelte +0 -62
  245. package/src/showcase/demos/shadcn/textarea.svelte +0 -5
  246. package/src/showcase/demos/shadcn/toggle-group.svelte +0 -18
  247. package/src/showcase/demos/shadcn/toggle.svelte +0 -14
  248. package/src/showcase/demos/shadcn/tooltip.svelte +0 -13
  249. package/src/showcase/demos/shadcn/trace.svelte +0 -51
  250. package/src/showcase/heart.svg +0 -1
  251. package/src/showcase/index.ts +0 -38
  252. package/src/showcase/kit.test.ts +0 -72
  253. package/src/showcase/kit.ts +0 -16
  254. package/src/showcase/plus.svg +0 -1
  255. package/src/showcase/showcase-shell.css +0 -91
  256. package/src/showcase/stacked-section.css +0 -15
  257. package/src/showcase/success-check.svg +0 -1
  258. package/src/showcase/types.ts +0 -29
  259. package/src/svg-raw.d.ts +0 -7
@@ -1,12 +0,0 @@
1
- <script lang="ts">
2
- // What ShadcnSection puts around a demo, so the test mounts what the page
3
- // mounts: `input-group` reaches for a tooltip provider it does not create.
4
- import type { Component } from "svelte";
5
- import { TooltipProvider } from "../../../shadcn/tooltip/index.js";
6
-
7
- let { Comp }: { Comp: Component } = $props();
8
- </script>
9
-
10
- <TooltipProvider>
11
- <Comp />
12
- </TooltipProvider>
@@ -1,20 +0,0 @@
1
- // The demos are upstream's and arrive by script, so nothing reviews them before
2
- // they land. This is the gate: every one of them mounts and draws something.
3
- import { flushSync, mount, unmount } from "svelte";
4
- import { describe, expect, it } from "vite-plus/test";
5
- import Harness from "./demo-harness.svelte";
6
- import { SHADCN_DEMOS } from "./index.js";
7
-
8
- describe("shadcn demos", () => {
9
- for (const demo of SHADCN_DEMOS) {
10
- it(`${demo.name} renders`, () => {
11
- const target = document.createElement("div");
12
- document.body.appendChild(target);
13
- const app = mount(Harness, { target, props: { Comp: demo.Comp } });
14
- flushSync();
15
- expect(target.innerHTML.length).toBeGreaterThan(0);
16
- void unmount(app);
17
- target.remove();
18
- });
19
- }
20
- });
@@ -1,38 +0,0 @@
1
- <script lang="ts">
2
- import * as Dialog from "../../../shadcn/dialog/index.js";
3
- import { Button, buttonVariants } from "../../../shadcn/button/index.js";
4
- import { Input } from "../../../shadcn/input/index.js";
5
- import { Label } from "../../../shadcn/label/index.js";
6
- </script>
7
-
8
- <Dialog.Root>
9
- <form>
10
- <Dialog.Trigger type="button" class={buttonVariants({ variant: "outline" })}>
11
- Open Dialog
12
- </Dialog.Trigger>
13
- <Dialog.Content class="sm:max-w-[425px]">
14
- <Dialog.Header>
15
- <Dialog.Title>Edit profile</Dialog.Title>
16
- <Dialog.Description>
17
- Make changes to your profile here. Click save when you&apos;re done.
18
- </Dialog.Description>
19
- </Dialog.Header>
20
- <div class="grid gap-4">
21
- <div class="grid gap-3">
22
- <Label for="name-1">Name</Label>
23
- <Input id="name-1" name="name" defaultValue="Pedro Duarte" />
24
- </div>
25
- <div class="grid gap-3">
26
- <Label for="username-1">Username</Label>
27
- <Input id="username-1" name="username" defaultValue="@peduarte" />
28
- </div>
29
- </div>
30
- <Dialog.Footer>
31
- <Dialog.Close type="button" class={buttonVariants({ variant: "outline" })}>
32
- Cancel
33
- </Dialog.Close>
34
- <Button type="submit">Save changes</Button>
35
- </Dialog.Footer>
36
- </Dialog.Content>
37
- </form>
38
- </Dialog.Root>
@@ -1,59 +0,0 @@
1
- <script lang="ts">
2
- import * as DropdownMenu from "../../../shadcn/dropdown-menu/index.js";
3
- import { Button } from "../../../shadcn/button/index.js";
4
- </script>
5
-
6
- <DropdownMenu.Root>
7
- <DropdownMenu.Trigger>
8
- {#snippet child({ props })}
9
- <Button {...props} variant="outline">Open</Button>
10
- {/snippet}
11
- </DropdownMenu.Trigger>
12
- <DropdownMenu.Content class="w-56" align="start">
13
- <DropdownMenu.Label>My Account</DropdownMenu.Label>
14
- <DropdownMenu.Group>
15
- <DropdownMenu.Item>
16
- Profile
17
- <DropdownMenu.Shortcut>⇧⌘P</DropdownMenu.Shortcut>
18
- </DropdownMenu.Item>
19
- <DropdownMenu.Item>
20
- Billing
21
- <DropdownMenu.Shortcut>⌘B</DropdownMenu.Shortcut>
22
- </DropdownMenu.Item>
23
- <DropdownMenu.Item>
24
- Settings
25
- <DropdownMenu.Shortcut>⌘S</DropdownMenu.Shortcut>
26
- </DropdownMenu.Item>
27
- <DropdownMenu.Item>
28
- Keyboard shortcuts
29
- <DropdownMenu.Shortcut>⌘K</DropdownMenu.Shortcut>
30
- </DropdownMenu.Item>
31
- </DropdownMenu.Group>
32
- <DropdownMenu.Separator />
33
- <DropdownMenu.Group>
34
- <DropdownMenu.Item>Team</DropdownMenu.Item>
35
- <DropdownMenu.Sub>
36
- <DropdownMenu.SubTrigger>Invite users</DropdownMenu.SubTrigger>
37
- <DropdownMenu.SubContent>
38
- <DropdownMenu.Item>Email</DropdownMenu.Item>
39
- <DropdownMenu.Item>Message</DropdownMenu.Item>
40
- <DropdownMenu.Separator />
41
- <DropdownMenu.Item>More...</DropdownMenu.Item>
42
- </DropdownMenu.SubContent>
43
- </DropdownMenu.Sub>
44
- <DropdownMenu.Item>
45
- New Team
46
- <DropdownMenu.Shortcut>⌘+T</DropdownMenu.Shortcut>
47
- </DropdownMenu.Item>
48
- </DropdownMenu.Group>
49
- <DropdownMenu.Separator />
50
- <DropdownMenu.Item>GitHub</DropdownMenu.Item>
51
- <DropdownMenu.Item>Support</DropdownMenu.Item>
52
- <DropdownMenu.Item disabled>API</DropdownMenu.Item>
53
- <DropdownMenu.Separator />
54
- <DropdownMenu.Item>
55
- Log out
56
- <DropdownMenu.Shortcut>⇧⌘Q</DropdownMenu.Shortcut>
57
- </DropdownMenu.Item>
58
- </DropdownMenu.Content>
59
- </DropdownMenu.Root>
@@ -1,29 +0,0 @@
1
- <script lang="ts">
2
- import ArrowUpRightIcon from "@lucide/svelte/icons/arrow-up-right";
3
- import FolderCodeIcon from "@tabler/icons-svelte-runes/icons/folder-code";
4
- import * as Empty from "../../../shadcn/empty/index.js";
5
- import { Button } from "../../../shadcn/button/index.js";
6
- </script>
7
-
8
- <Empty.Root>
9
- <Empty.Header>
10
- <Empty.Media variant="icon">
11
- <FolderCodeIcon />
12
- </Empty.Media>
13
- <Empty.Title>No Projects Yet</Empty.Title>
14
- <Empty.Description>
15
- You haven't created any projects yet. Get started by creating your first project.
16
- </Empty.Description>
17
- </Empty.Header>
18
- <Empty.Content>
19
- <div class="flex gap-2">
20
- <Button>Create Project</Button>
21
- <Button variant="outline">Import Project</Button>
22
- </div>
23
- </Empty.Content>
24
- <Button variant="link" class="text-muted-foreground" size="sm">
25
- <a href="#/">
26
- Learn More <ArrowUpRightIcon class="inline" />
27
- </a>
28
- </Button>
29
- </Empty.Root>
@@ -1,115 +0,0 @@
1
- <script lang="ts">
2
- import * as Field from "../../../shadcn/field/index.js";
3
- import * as Select from "../../../shadcn/select/index.js";
4
- import { Button } from "../../../shadcn/button/index.js";
5
- import { Checkbox } from "../../../shadcn/checkbox/index.js";
6
- import { Input } from "../../../shadcn/input/index.js";
7
- import { Textarea } from "../../../shadcn/textarea/index.js";
8
-
9
- let month = $state<string>();
10
- let year = $state<string>();
11
- </script>
12
-
13
- <div class="w-full max-w-md">
14
- <form>
15
- <Field.Group>
16
- <Field.Set>
17
- <Field.Legend>Payment Method</Field.Legend>
18
- <Field.Description>All transactions are secure and encrypted</Field.Description>
19
- <Field.Group>
20
- <Field.Field>
21
- <Field.Label for="checkout-7j9-card-name-43j">Name on Card</Field.Label>
22
- <Input id="checkout-7j9-card-name-43j" placeholder="John Doe" required />
23
- </Field.Field>
24
- <div class="grid grid-cols-3 gap-4">
25
- <Field.Field class="col-span-2">
26
- <Field.Label for="checkout-7j9-card-number-uw1">Card Number</Field.Label>
27
- <Input id="checkout-7j9-card-number-uw1" placeholder="1234 5678 9012 3456" required />
28
- <Field.Description>Enter your 16-digit number.</Field.Description>
29
- </Field.Field>
30
- <Field.Field class="col-span-1">
31
- <Field.Label for="checkout-7j9-cvv">CVV</Field.Label>
32
- <Input id="checkout-7j9-cvv" placeholder="123" required />
33
- </Field.Field>
34
- </div>
35
- <div class="grid grid-cols-2 gap-4">
36
- <Field.Field>
37
- <Field.Label for="checkout-7j9-exp-month-ts6">Month</Field.Label>
38
- <Select.Root type="single" bind:value={month}>
39
- <Select.Trigger id="checkout-7j9-exp-month-ts6">
40
- <span>
41
- {month || "MM"}
42
- </span>
43
- </Select.Trigger>
44
- <Select.Content>
45
- <Select.Item value="01">01</Select.Item>
46
- <Select.Item value="02">02</Select.Item>
47
- <Select.Item value="03">03</Select.Item>
48
- <Select.Item value="04">04</Select.Item>
49
- <Select.Item value="05">05</Select.Item>
50
- <Select.Item value="06">06</Select.Item>
51
- <Select.Item value="07">07</Select.Item>
52
- <Select.Item value="08">08</Select.Item>
53
- <Select.Item value="09">09</Select.Item>
54
- <Select.Item value="10">10</Select.Item>
55
- <Select.Item value="11">11</Select.Item>
56
- <Select.Item value="12">12</Select.Item>
57
- </Select.Content>
58
- </Select.Root>
59
- </Field.Field>
60
- <Field.Field>
61
- <Field.Label for="checkout-7j9-exp-year-f59">Year</Field.Label>
62
- <Select.Root type="single" bind:value={year}>
63
- <Select.Trigger id="checkout-7j9-exp-year-f59">
64
- <span>
65
- {year || "YYYY"}
66
- </span>
67
- </Select.Trigger>
68
- <Select.Content>
69
- <Select.Item value="2024">2024</Select.Item>
70
- <Select.Item value="2025">2025</Select.Item>
71
- <Select.Item value="2026">2026</Select.Item>
72
- <Select.Item value="2027">2027</Select.Item>
73
- <Select.Item value="2028">2028</Select.Item>
74
- <Select.Item value="2029">2029</Select.Item>
75
- </Select.Content>
76
- </Select.Root>
77
- </Field.Field>
78
- </div>
79
- </Field.Group>
80
- </Field.Set>
81
- <Field.Separator />
82
- <Field.Set>
83
- <Field.Legend>Billing Address</Field.Legend>
84
- <Field.Description>
85
- The billing address associated with your payment method
86
- </Field.Description>
87
- <Field.Group>
88
- <Field.Field orientation="horizontal">
89
- <Checkbox id="checkout-7j9-same-as-shipping-wgm" checked={true} />
90
- <Field.Label for="checkout-7j9-same-as-shipping-wgm" class="font-normal">
91
- Same as shipping address
92
- </Field.Label>
93
- </Field.Field>
94
- </Field.Group>
95
- </Field.Set>
96
- <Field.Separator />
97
- <Field.Set>
98
- <Field.Group>
99
- <Field.Field>
100
- <Field.Label for="checkout-7j9-optional-comments">Comments</Field.Label>
101
- <Textarea
102
- id="checkout-7j9-optional-comments"
103
- placeholder="Add any additional comments"
104
- class="resize-none"
105
- />
106
- </Field.Field>
107
- </Field.Group>
108
- </Field.Set>
109
- <Field.Field orientation="horizontal">
110
- <Button type="submit">Submit</Button>
111
- <Button variant="outline" type="button">Cancel</Button>
112
- </Field.Field>
113
- </Field.Group>
114
- </form>
115
- </div>
@@ -1,32 +0,0 @@
1
- <script lang="ts">
2
- import CalendarDaysIcon from "@lucide/svelte/icons/calendar-days";
3
- import * as Avatar from "../../../shadcn/avatar/index.js";
4
- import * as HoverCard from "../../../shadcn/hover-card/index.js";
5
- </script>
6
-
7
- <HoverCard.Root>
8
- <HoverCard.Trigger
9
- href="https://github.com/sveltejs"
10
- target="_blank"
11
- rel="noreferrer noopener"
12
- class="rounded-sm underline-offset-4 hover:underline focus-visible:outline-2 focus-visible:outline-offset-8 focus-visible:outline-black"
13
- >
14
- @sveltejs
15
- </HoverCard.Trigger>
16
- <HoverCard.Content class="w-80">
17
- <div class="flex justify-between space-x-4">
18
- <Avatar.Root>
19
- <Avatar.Image src="https://github.com/sveltejs.png" />
20
- <Avatar.Fallback>SK</Avatar.Fallback>
21
- </Avatar.Root>
22
- <div class="space-y-1">
23
- <h4 class="text-sm font-semibold">@sveltejs</h4>
24
- <p class="text-sm">Cybernetically enhanced web apps.</p>
25
- <div class="flex items-center pt-2">
26
- <CalendarDaysIcon class="me-2 size-4 opacity-70" />
27
- <span class="text-xs text-muted-foreground"> Joined September 2022 </span>
28
- </div>
29
- </div>
30
- </div>
31
- </HoverCard.Content>
32
- </HoverCard.Root>