@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.
- package/COMPONENTS.md +28 -17
- package/README.md +6 -2
- package/package.json +25 -15
- package/scripts/sync-shadcn.mjs +17 -13
- package/scripts/sync-transitions.mjs +11 -11
- package/src/agents/agent-avatar.svelte +67 -114
- package/src/agents/agent-cast.svelte +31 -7
- package/src/agents/demo.svelte +55 -8
- package/src/agents/helpers.ts +58 -0
- package/src/agents/page-state.ts +70 -0
- package/src/agents/types.ts +3 -1
- package/src/ai/ai-button/AiButton.svelte +86 -0
- package/src/ai/ai-button/index.ts +4 -0
- package/src/ai/confirmation/Confirmation.svelte +8 -8
- package/src/ai/confirmation/confirmation-context.svelte.ts +2 -2
- package/src/ai/generation-progress/GenerationProgress.svelte +354 -0
- package/src/ai/generation-progress/index.ts +7 -0
- package/src/ai/index.ts +16 -6
- package/src/ai/prompt-input/PromptInput.svelte +19 -1
- package/src/ai/prompt-input/PromptInputSubmit.svelte +9 -3
- package/src/ai/reasoning/Reasoning.svelte +11 -8
- package/src/ambient.d.ts +4 -0
- package/src/animations/README.md +14 -14
- package/src/animations/index.css +3 -14
- package/src/animations/upstream-coverage.test.ts +1 -1
- package/src/components/copy/clipboard.test.ts +206 -0
- package/src/components/copy/clipboard.ts +49 -0
- package/src/components/copy/copied.svelte.ts +39 -0
- package/src/components/copy/copy-button.svelte +175 -0
- package/src/components/copy/copy-button.test.ts +110 -0
- package/src/components/copy/index.ts +3 -0
- package/src/components/data-table/data-table.test.ts +134 -0
- package/src/components/data-table/data-table.ts +77 -0
- package/src/components/data-table/index.ts +20 -0
- package/src/components/data-table/infinite-scroll.svelte +69 -0
- package/src/components/data-table/pagination.svelte +62 -0
- package/src/components/data-table/row-arrow.svelte +28 -0
- package/src/components/data-table/row-context-menu.svelte +106 -0
- package/src/components/data-table/row-context-menu.test.ts +18 -0
- package/src/components/data-table/sortable-head.svelte +56 -0
- package/src/components/data-table/table-skeleton.svelte +83 -0
- package/src/components/hold-to-confirm/hold-to-confirm.svelte +232 -0
- package/src/components/hold-to-confirm/index.ts +1 -0
- package/src/components/icon/icon.svelte +23 -0
- package/src/components/icon/index.ts +1 -0
- package/src/components/language-flag/index.ts +1 -0
- package/src/components/language-flag/language-flag.svelte +60 -0
- package/src/components/list-page/detail-empty.svelte +50 -0
- package/src/components/list-page/detail-header.svelte +107 -0
- package/src/components/list-page/detail-panel.svelte +90 -0
- package/src/components/list-page/detail-row.svelte +36 -0
- package/src/components/list-page/detail-stack.svelte +33 -0
- package/src/components/list-page/empty-state.svelte +91 -0
- package/src/components/list-page/filter-item.svelte +49 -0
- package/src/components/list-page/filter-popover.svelte +88 -0
- package/src/components/list-page/filter-section.ts +12 -0
- package/src/components/list-page/grouped-list.svelte +116 -0
- package/src/components/list-page/index.ts +28 -0
- package/src/components/list-page/list-page-shell.svelte +195 -0
- package/src/components/list-page/list-table.ts +19 -0
- package/src/components/list-page/master-detail.svelte +206 -0
- package/src/components/list-page/master-detail.test.ts +37 -0
- package/src/components/list-page/notice-bar.svelte +68 -0
- package/src/components/list-page/prev-next.svelte +104 -0
- package/src/components/list-page/queue-rail.ts +25 -0
- package/src/components/list-page/rail-body.svelte +29 -0
- package/src/components/list-page/rail-empty.svelte +51 -0
- package/src/components/list-page/rail-head.svelte +49 -0
- package/src/components/list-page/rail-row.svelte +163 -0
- package/src/components/list-page/section-host.ts +24 -0
- package/src/components/list-page/section-label.svelte +39 -0
- package/src/components/list-page/step.test.ts +21 -0
- package/src/components/list-page/step.ts +10 -0
- package/src/components/list-page/toolbar-search.svelte +63 -0
- package/src/components/list-page/toolbar-trigger.ts +23 -0
- package/src/components/list-page/types.ts +1 -0
- package/src/components/locale-switch/index.ts +1 -0
- package/src/components/locale-switch/locale-switch.svelte +59 -0
- package/src/components/mark/index.ts +1 -0
- package/src/components/mark/mark.svelte +70 -0
- package/src/components/open-in/index.ts +6 -0
- package/src/components/open-in/open-in.svelte +106 -0
- package/src/components/picker/index.ts +4 -0
- package/src/components/picker/mark-picker.svelte +84 -0
- package/src/components/picker/picker.svelte +143 -0
- package/src/components/picker/trigger.ts +42 -0
- package/src/components/picker/types.ts +26 -0
- package/src/components/segmented/animated-tabs.svelte +175 -0
- package/src/components/segmented/collapse.test.ts +49 -0
- package/src/components/segmented/collapse.ts +39 -0
- package/src/components/segmented/index.ts +41 -0
- package/src/components/segmented/section-runs.svelte +79 -0
- package/src/components/segmented/segment.svelte +106 -0
- package/src/components/segmented/segmented-filter.svelte +125 -0
- package/src/components/segmented/segmented-nav.svelte +82 -0
- package/src/components/segmented/segmented-overflow.svelte +85 -0
- package/src/components/segmented/segmented-track.svelte +181 -0
- package/src/components/segmented/segmented.test.ts +20 -0
- package/src/components/segmented/segmented.ts +80 -0
- package/src/components/star-rating-input/index.ts +9 -0
- package/src/components/star-rating-input/star-rating-input.svelte +256 -0
- package/src/components/svg/index.ts +1 -0
- package/src/components/svg/svg.svelte +9 -0
- package/src/effects/border-beam/BorderBeam.svelte +1 -1
- package/src/effects/image-comparison/ImageComparison.css +42 -8
- package/src/effects/image-comparison/ImageComparison.svelte +138 -21
- package/src/effects/image-comparison/compare.test.ts +17 -0
- package/src/effects/image-comparison/compare.ts +5 -0
- package/src/effects/interactive-hover-button/InteractiveHoverButton.svelte +338 -0
- package/src/effects/magic-card/MagicCard.css +47 -0
- package/src/effects/magic-card/MagicCard.svelte +57 -0
- package/src/effects/marquee/Marquee.css +27 -1
- package/src/effects/marquee/Marquee.svelte +67 -3
- package/src/effects/reveal/index.ts +2 -1
- package/src/effects/reveal/observe.test.ts +60 -0
- package/src/effects/reveal/observe.ts +33 -1
- package/src/effects/reveal/types.ts +7 -0
- package/src/effects/theme-toggle/ThemeToggle.css +199 -6
- package/src/effects/theme-toggle/ThemeToggle.svelte +51 -26
- package/src/gallery.test.ts +52 -0
- package/src/index.ts +5 -1
- package/src/lib/panel.ts +7 -1
- package/src/lib/theme-transition.ts +37 -11
- package/src/lib/tone.ts +48 -0
- package/src/shadcn/accordion/accordion-trigger.svelte +15 -6
- package/src/shadcn/alert/alert.svelte +3 -1
- package/src/shadcn/badge/badge.svelte +8 -7
- package/src/shadcn/breadcrumb/breadcrumb-ellipsis.svelte +2 -2
- package/src/shadcn/breadcrumb/breadcrumb-separator.svelte +2 -2
- package/src/shadcn/calendar/calendar-month-select.svelte +2 -2
- package/src/shadcn/calendar/calendar-next-button.svelte +2 -2
- package/src/shadcn/calendar/calendar-prev-button.svelte +2 -2
- package/src/shadcn/calendar/calendar-year-select.svelte +2 -2
- package/src/shadcn/calendar/calendar.svelte +6 -0
- package/src/shadcn/code-block/code-block-copy-button.svelte +6 -55
- package/src/shadcn/command/index.ts +3 -0
- package/src/shadcn/field/index.ts +3 -0
- package/src/shadcn/field/simple-field.svelte +71 -0
- package/src/shadcn/field/simple-field.test.ts +47 -0
- package/src/shadcn/message-scroller/message-scroller-button.svelte +2 -2
- package/src/shadcn/radio-group/radio-group-item.svelte +3 -2
- package/src/shadcn/sheet/sheet-content.svelte +1 -0
- package/src/shadcn/sheet/sheet.css +48 -0
- package/src/shadcn/sonner/sonner.svelte +7 -10
- package/src/shadcn/toggle-group/toggle-group.svelte +10 -3
- package/src/shadcn/trace/trace-collapsible-trigger.svelte +2 -2
- package/src/ai/composer/Composer.css +0 -108
- package/src/ai/composer/Composer.svelte +0 -111
- package/src/ai/composer/index.ts +0 -10
- package/src/animations/accordion.css +0 -58
- package/src/animations/icon-swap.css +0 -43
- package/src/animations/notification-badge.css +0 -81
- package/src/animations/panel.css +0 -86
- package/src/animations/reasoning-stream.css +0 -49
- package/src/animations/skeleton-reveal.css +0 -97
- package/src/animations/streaming-text.css +0 -31
- package/src/animations/tabs-sliding.css +0 -83
- package/src/animations/texts-reveal.css +0 -70
- package/src/animations/tooltip.css +0 -72
- package/src/animations/view-transition-reveal.ts +0 -74
- package/src/lib/utils.ts +0 -45
- package/src/showcase/AiSection.svelte +0 -150
- package/src/showcase/AnimationsSection.svelte +0 -1658
- package/src/showcase/EffectsSection.svelte +0 -152
- package/src/showcase/ShadcnSection.svelte +0 -27
- package/src/showcase/ShowcaseImport.svelte +0 -126
- package/src/showcase/ShowcaseList.svelte +0 -132
- package/src/showcase/ShowcaseNav.svelte +0 -247
- package/src/showcase/ShowcaseSection.svelte +0 -112
- package/src/showcase/ShowcaseShell.svelte +0 -55
- package/src/showcase/ShowcaseStage.svelte +0 -342
- package/src/showcase/ShowcaseVariant.svelte +0 -109
- package/src/showcase/assets/image-reveal/art-1.jpg +0 -0
- package/src/showcase/assets/image-reveal/art-2.jpg +0 -0
- package/src/showcase/assets/image-reveal/art-3.jpg +0 -0
- package/src/showcase/check.svg +0 -1
- package/src/showcase/chevron-arms.svg +0 -2
- package/src/showcase/chevron-down.svg +0 -1
- package/src/showcase/copy.svg +0 -2
- package/src/showcase/demos/ai/confirmation.svelte +0 -59
- package/src/showcase/demos/ai/loading-state.svelte +0 -19
- package/src/showcase/demos/ai/prompt-input.svelte +0 -57
- package/src/showcase/demos/ai/reasoning.svelte +0 -19
- package/src/showcase/demos/ai/thinking-dots.svelte +0 -15
- package/src/showcase/demos/ai/voice-waveform.svelte +0 -24
- package/src/showcase/demos/effects/animated-beam.svelte +0 -50
- package/src/showcase/demos/effects/animated-group.svelte +0 -47
- package/src/showcase/demos/effects/border-beam-default.svelte +0 -20
- package/src/showcase/demos/effects/border-beam-line.svelte +0 -20
- package/src/showcase/demos/effects/border-beam-mono.svelte +0 -20
- package/src/showcase/demos/effects/border-beam-sunset.svelte +0 -20
- package/src/showcase/demos/effects/image-comparison.svelte +0 -25
- package/src/showcase/demos/effects/image-reveal.svelte +0 -49
- package/src/showcase/demos/effects/in-view.svelte +0 -41
- package/src/showcase/demos/effects/integrations-hub.svelte +0 -82
- package/src/showcase/demos/effects/magnetic.svelte +0 -31
- package/src/showcase/demos/effects/marquee.svelte +0 -33
- package/src/showcase/demos/effects/progressive-blur.svelte +0 -47
- package/src/showcase/demos/effects/spotlight.svelte +0 -40
- package/src/showcase/demos/effects/text-effect.svelte +0 -55
- package/src/showcase/demos/shadcn/accordion.svelte +0 -45
- package/src/showcase/demos/shadcn/alert-dialog.svelte +0 -23
- package/src/showcase/demos/shadcn/alert.svelte +0 -30
- package/src/showcase/demos/shadcn/attachment.svelte +0 -71
- package/src/showcase/demos/shadcn/avatar.svelte +0 -30
- package/src/showcase/demos/shadcn/badge.svelte +0 -26
- package/src/showcase/demos/shadcn/breadcrumb.svelte +0 -34
- package/src/showcase/demos/shadcn/bubble.svelte +0 -36
- package/src/showcase/demos/shadcn/button.svelte +0 -11
- package/src/showcase/demos/shadcn/calendar.svelte +0 -8
- package/src/showcase/demos/shadcn/card.svelte +0 -39
- package/src/showcase/demos/shadcn/checkbox.svelte +0 -39
- package/src/showcase/demos/shadcn/code-block.svelte +0 -80
- package/src/showcase/demos/shadcn/collapsible.svelte +0 -20
- package/src/showcase/demos/shadcn/command.svelte +0 -48
- package/src/showcase/demos/shadcn/context-menu.svelte +0 -54
- package/src/showcase/demos/shadcn/demo-harness.svelte +0 -12
- package/src/showcase/demos/shadcn/demos.test.ts +0 -20
- package/src/showcase/demos/shadcn/dialog.svelte +0 -38
- package/src/showcase/demos/shadcn/dropdown-menu.svelte +0 -59
- package/src/showcase/demos/shadcn/empty.svelte +0 -29
- package/src/showcase/demos/shadcn/field.svelte +0 -115
- package/src/showcase/demos/shadcn/hover-card.svelte +0 -32
- package/src/showcase/demos/shadcn/index.ts +0 -382
- package/src/showcase/demos/shadcn/input-otp.svelte +0 -19
- package/src/showcase/demos/shadcn/input.svelte +0 -5
- package/src/showcase/demos/shadcn/label.svelte +0 -11
- package/src/showcase/demos/shadcn/marker.svelte +0 -30
- package/src/showcase/demos/shadcn/message-scroller.svelte +0 -44
- package/src/showcase/demos/shadcn/message.svelte +0 -75
- package/src/showcase/demos/shadcn/popover.svelte +0 -36
- package/src/showcase/demos/shadcn/progress.svelte +0 -13
- package/src/showcase/demos/shadcn/radio-group.svelte +0 -19
- package/src/showcase/demos/shadcn/scroll-area.svelte +0 -18
- package/src/showcase/demos/shadcn/select.svelte +0 -29
- package/src/showcase/demos/shadcn/separator.svelte +0 -12
- package/src/showcase/demos/shadcn/sheet.svelte +0 -48
- package/src/showcase/demos/shadcn/skeleton.svelte +0 -11
- package/src/showcase/demos/shadcn/slider.svelte +0 -7
- package/src/showcase/demos/shadcn/sonner.svelte +0 -18
- package/src/showcase/demos/shadcn/spinner.svelte +0 -11
- package/src/showcase/demos/shadcn/switch.svelte +0 -9
- package/src/showcase/demos/shadcn/table.svelte +0 -76
- package/src/showcase/demos/shadcn/tabs.svelte +0 -62
- package/src/showcase/demos/shadcn/textarea.svelte +0 -5
- package/src/showcase/demos/shadcn/toggle-group.svelte +0 -18
- package/src/showcase/demos/shadcn/toggle.svelte +0 -14
- package/src/showcase/demos/shadcn/tooltip.svelte +0 -13
- package/src/showcase/demos/shadcn/trace.svelte +0 -51
- package/src/showcase/heart.svg +0 -1
- package/src/showcase/index.ts +0 -38
- package/src/showcase/kit.test.ts +0 -72
- package/src/showcase/kit.ts +0 -16
- package/src/showcase/plus.svg +0 -1
- package/src/showcase/showcase-shell.css +0 -91
- package/src/showcase/stacked-section.css +0 -15
- package/src/showcase/success-check.svg +0 -1
- package/src/showcase/types.ts +0 -29
- package/src/svg-raw.d.ts +0 -7
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { TextEffect } from "../../../index.js";
|
|
3
|
-
|
|
4
|
-
let run = $state(0);
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<div class="stage">
|
|
8
|
-
{#key run}
|
|
9
|
-
<TextEffect
|
|
10
|
-
text="Ship the thing."
|
|
11
|
-
per="char"
|
|
12
|
-
preset="blur-slide"
|
|
13
|
-
as="h3"
|
|
14
|
-
class="line"
|
|
15
|
-
onMount
|
|
16
|
-
/>
|
|
17
|
-
<TextEffect
|
|
18
|
-
text="Every primitive is CSS, no runtime."
|
|
19
|
-
preset="fade"
|
|
20
|
-
delay={400}
|
|
21
|
-
class="sub"
|
|
22
|
-
onMount
|
|
23
|
-
/>
|
|
24
|
-
{/key}
|
|
25
|
-
<button onclick={() => run++}>Replay</button>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
<style>
|
|
29
|
-
.stage {
|
|
30
|
-
display: grid;
|
|
31
|
-
gap: 0.5rem;
|
|
32
|
-
justify-items: start;
|
|
33
|
-
padding: 1rem;
|
|
34
|
-
}
|
|
35
|
-
.stage :global(.line) {
|
|
36
|
-
margin: 0;
|
|
37
|
-
font-size: 1.25rem;
|
|
38
|
-
font-weight: 600;
|
|
39
|
-
color: var(--foreground);
|
|
40
|
-
}
|
|
41
|
-
.stage :global(.sub) {
|
|
42
|
-
margin: 0;
|
|
43
|
-
font-size: 0.8125rem;
|
|
44
|
-
color: var(--muted-foreground);
|
|
45
|
-
}
|
|
46
|
-
button {
|
|
47
|
-
margin-top: 0.5rem;
|
|
48
|
-
padding: 0.25rem 0.625rem;
|
|
49
|
-
font-size: 0.75rem;
|
|
50
|
-
color: var(--foreground);
|
|
51
|
-
background: var(--card);
|
|
52
|
-
border: 1px solid var(--border);
|
|
53
|
-
border-radius: 0.5rem;
|
|
54
|
-
}
|
|
55
|
-
</style>
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as Accordion from "../../../shadcn/accordion/index.js";
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<Accordion.Root type="single" class="w-full sm:max-w-[70%]" value="item-1">
|
|
6
|
-
<Accordion.Item value="item-1">
|
|
7
|
-
<Accordion.Trigger>Product Information</Accordion.Trigger>
|
|
8
|
-
<Accordion.Content class="flex flex-col gap-4 text-balance">
|
|
9
|
-
<p>
|
|
10
|
-
Our flagship product combines cutting-edge technology with sleek design. Built with premium
|
|
11
|
-
materials, it offers unparalleled performance and reliability.
|
|
12
|
-
</p>
|
|
13
|
-
<p>
|
|
14
|
-
Key features include advanced processing capabilities, and an intuitive user interface
|
|
15
|
-
designed for both beginners and experts.
|
|
16
|
-
</p>
|
|
17
|
-
</Accordion.Content>
|
|
18
|
-
</Accordion.Item>
|
|
19
|
-
<Accordion.Item value="item-2">
|
|
20
|
-
<Accordion.Trigger>Shipping Details</Accordion.Trigger>
|
|
21
|
-
<Accordion.Content class="flex flex-col gap-4 text-balance">
|
|
22
|
-
<p>
|
|
23
|
-
We offer worldwide shipping through trusted courier partners. Standard delivery takes 3-5
|
|
24
|
-
business days, while express shipping ensures delivery within 1-2 business days.
|
|
25
|
-
</p>
|
|
26
|
-
<p>
|
|
27
|
-
All orders are carefully packaged and fully insured. Track your shipment in real-time
|
|
28
|
-
through our dedicated tracking portal.
|
|
29
|
-
</p>
|
|
30
|
-
</Accordion.Content>
|
|
31
|
-
</Accordion.Item>
|
|
32
|
-
<Accordion.Item value="item-3">
|
|
33
|
-
<Accordion.Trigger>Return Policy</Accordion.Trigger>
|
|
34
|
-
<Accordion.Content class="flex flex-col gap-4 text-balance">
|
|
35
|
-
<p>
|
|
36
|
-
We stand behind our products with a comprehensive 30-day return policy. If you're not
|
|
37
|
-
completely satisfied, simply return the item in its original condition.
|
|
38
|
-
</p>
|
|
39
|
-
<p>
|
|
40
|
-
Our hassle-free return process includes free return shipping and full refunds processed
|
|
41
|
-
within 48 hours of receiving the returned item.
|
|
42
|
-
</p>
|
|
43
|
-
</Accordion.Content>
|
|
44
|
-
</Accordion.Item>
|
|
45
|
-
</Accordion.Root>
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as AlertDialog from "../../../shadcn/alert-dialog/index.js";
|
|
3
|
-
import { buttonVariants } from "../../../shadcn/button/index.js";
|
|
4
|
-
</script>
|
|
5
|
-
|
|
6
|
-
<AlertDialog.Root>
|
|
7
|
-
<AlertDialog.Trigger class={buttonVariants({ variant: "outline" })}>
|
|
8
|
-
Show Dialog
|
|
9
|
-
</AlertDialog.Trigger>
|
|
10
|
-
<AlertDialog.Content>
|
|
11
|
-
<AlertDialog.Header>
|
|
12
|
-
<AlertDialog.Title>Are you absolutely sure?</AlertDialog.Title>
|
|
13
|
-
<AlertDialog.Description>
|
|
14
|
-
This action cannot be undone. This will permanently delete your account and remove your data
|
|
15
|
-
from our servers.
|
|
16
|
-
</AlertDialog.Description>
|
|
17
|
-
</AlertDialog.Header>
|
|
18
|
-
<AlertDialog.Footer>
|
|
19
|
-
<AlertDialog.Cancel>Cancel</AlertDialog.Cancel>
|
|
20
|
-
<AlertDialog.Action>Continue</AlertDialog.Action>
|
|
21
|
-
</AlertDialog.Footer>
|
|
22
|
-
</AlertDialog.Content>
|
|
23
|
-
</AlertDialog.Root>
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import AlertCircleIcon from "@lucide/svelte/icons/alert-circle";
|
|
3
|
-
import CheckCircle2Icon from "@lucide/svelte/icons/check-circle-2";
|
|
4
|
-
import PopcornIcon from "@lucide/svelte/icons/popcorn";
|
|
5
|
-
import * as Alert from "../../../shadcn/alert/index.js";
|
|
6
|
-
</script>
|
|
7
|
-
|
|
8
|
-
<div class="grid w-full max-w-xl items-start gap-4">
|
|
9
|
-
<Alert.Root>
|
|
10
|
-
<CheckCircle2Icon />
|
|
11
|
-
<Alert.Title>Success! Your changes have been saved</Alert.Title>
|
|
12
|
-
<Alert.Description>This is an alert with icon, title and description.</Alert.Description>
|
|
13
|
-
</Alert.Root>
|
|
14
|
-
<Alert.Root>
|
|
15
|
-
<PopcornIcon />
|
|
16
|
-
<Alert.Title>This Alert has a title and an icon. No description.</Alert.Title>
|
|
17
|
-
</Alert.Root>
|
|
18
|
-
<Alert.Root variant="destructive">
|
|
19
|
-
<AlertCircleIcon />
|
|
20
|
-
<Alert.Title>Unable to process your payment.</Alert.Title>
|
|
21
|
-
<Alert.Description>
|
|
22
|
-
<p>Please verify your billing information and try again.</p>
|
|
23
|
-
<ul class="list-inside list-disc text-sm">
|
|
24
|
-
<li>Check your card details</li>
|
|
25
|
-
<li>Ensure sufficient funds</li>
|
|
26
|
-
<li>Verify billing address</li>
|
|
27
|
-
</ul>
|
|
28
|
-
</Alert.Description>
|
|
29
|
-
</Alert.Root>
|
|
30
|
-
</div>
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import FileCodeIcon from "@lucide/svelte/icons/file-code";
|
|
3
|
-
import XIcon from "@lucide/svelte/icons/x";
|
|
4
|
-
import * as Attachment from "../../../shadcn/attachment/index.js";
|
|
5
|
-
import { Spinner } from "../../../shadcn/spinner/index.js";
|
|
6
|
-
|
|
7
|
-
const images = [
|
|
8
|
-
{
|
|
9
|
-
name: "workspace.png",
|
|
10
|
-
meta: "PNG · 820 KB",
|
|
11
|
-
src: "https://images.unsplash.com/photo-1497366754035-f200968a6e72?w=900&auto=format&fit=crop&q=80",
|
|
12
|
-
alt: "Workspace",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
name: "desk-reference.jpg",
|
|
16
|
-
meta: "JPG · 1.1 MB",
|
|
17
|
-
src: "https://images.unsplash.com/photo-1497215728101-856f4ea42174?w=900&auto=format&fit=crop&q=80",
|
|
18
|
-
alt: "Desk",
|
|
19
|
-
},
|
|
20
|
-
{
|
|
21
|
-
name: "office-reference.jpg",
|
|
22
|
-
meta: "JPG · 940 KB",
|
|
23
|
-
src: "https://images.unsplash.com/photo-1497366811353-6870744d04b2?w=900&auto=format&fit=crop&q=80",
|
|
24
|
-
alt: "Office",
|
|
25
|
-
},
|
|
26
|
-
];
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<div class="mx-auto flex w-full max-w-sm flex-col gap-3 py-12">
|
|
30
|
-
<Attachment.Group>
|
|
31
|
-
{#each images as image (image.name)}
|
|
32
|
-
<Attachment.Root orientation="vertical">
|
|
33
|
-
<Attachment.Media variant="image">
|
|
34
|
-
<img src={image.src} alt={image.alt} />
|
|
35
|
-
</Attachment.Media>
|
|
36
|
-
<Attachment.Content>
|
|
37
|
-
<Attachment.Title>{image.name}</Attachment.Title>
|
|
38
|
-
<Attachment.Description>{image.meta}</Attachment.Description>
|
|
39
|
-
</Attachment.Content>
|
|
40
|
-
</Attachment.Root>
|
|
41
|
-
{/each}
|
|
42
|
-
</Attachment.Group>
|
|
43
|
-
<Attachment.Root state="uploading" class="w-full">
|
|
44
|
-
<Attachment.Media>
|
|
45
|
-
<Spinner />
|
|
46
|
-
</Attachment.Media>
|
|
47
|
-
<Attachment.Content>
|
|
48
|
-
<Attachment.Title>sales-dashboard.pdf</Attachment.Title>
|
|
49
|
-
<Attachment.Description>Uploading · 64%</Attachment.Description>
|
|
50
|
-
</Attachment.Content>
|
|
51
|
-
<Attachment.Actions>
|
|
52
|
-
<Attachment.Action aria-label="Cancel upload">
|
|
53
|
-
<XIcon />
|
|
54
|
-
</Attachment.Action>
|
|
55
|
-
</Attachment.Actions>
|
|
56
|
-
</Attachment.Root>
|
|
57
|
-
<Attachment.Root class="w-full">
|
|
58
|
-
<Attachment.Media>
|
|
59
|
-
<FileCodeIcon />
|
|
60
|
-
</Attachment.Media>
|
|
61
|
-
<Attachment.Content>
|
|
62
|
-
<Attachment.Title>message-renderer.tsx</Attachment.Title>
|
|
63
|
-
<Attachment.Description>TypeScript · 12 KB</Attachment.Description>
|
|
64
|
-
</Attachment.Content>
|
|
65
|
-
<Attachment.Actions>
|
|
66
|
-
<Attachment.Action aria-label="Remove message-renderer.tsx">
|
|
67
|
-
<XIcon />
|
|
68
|
-
</Attachment.Action>
|
|
69
|
-
</Attachment.Actions>
|
|
70
|
-
</Attachment.Root>
|
|
71
|
-
</div>
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as Avatar from "../../../shadcn/avatar/index.js";
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<div class="flex flex-row flex-wrap items-center gap-12">
|
|
6
|
-
<Avatar.Root>
|
|
7
|
-
<Avatar.Image src="https://github.com/shadcn.png" alt="@shadcn" />
|
|
8
|
-
<Avatar.Fallback>CN</Avatar.Fallback>
|
|
9
|
-
</Avatar.Root>
|
|
10
|
-
<Avatar.Root class="rounded-lg">
|
|
11
|
-
<Avatar.Image src="https://github.com/evilrabbit.png" alt="@evilrabbit" />
|
|
12
|
-
<Avatar.Fallback>ER</Avatar.Fallback>
|
|
13
|
-
</Avatar.Root>
|
|
14
|
-
<div
|
|
15
|
-
class="flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background *:data-[slot=avatar]:grayscale"
|
|
16
|
-
>
|
|
17
|
-
<Avatar.Root>
|
|
18
|
-
<Avatar.Image src="https://github.com/shadcn.png" alt="@shadcn" />
|
|
19
|
-
<Avatar.Fallback>CN</Avatar.Fallback>
|
|
20
|
-
</Avatar.Root>
|
|
21
|
-
<Avatar.Root>
|
|
22
|
-
<Avatar.Image src="https://github.com/leerob.png" alt="@leerob" />
|
|
23
|
-
<Avatar.Fallback>LR</Avatar.Fallback>
|
|
24
|
-
</Avatar.Root>
|
|
25
|
-
<Avatar.Root>
|
|
26
|
-
<Avatar.Image src="https://github.com/evilrabbit.png" alt="@evilrabbit" />
|
|
27
|
-
<Avatar.Fallback>ER</Avatar.Fallback>
|
|
28
|
-
</Avatar.Root>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import BadgeCheckIcon from "@lucide/svelte/icons/badge-check";
|
|
3
|
-
import { Badge } from "../../../shadcn/badge/index.js";
|
|
4
|
-
</script>
|
|
5
|
-
|
|
6
|
-
<div class="flex flex-col items-center gap-2">
|
|
7
|
-
<div class="flex w-full flex-wrap gap-2">
|
|
8
|
-
<Badge>Badge</Badge>
|
|
9
|
-
<Badge variant="secondary">Secondary</Badge>
|
|
10
|
-
<Badge variant="destructive">Destructive</Badge>
|
|
11
|
-
<Badge variant="outline">Outline</Badge>
|
|
12
|
-
</div>
|
|
13
|
-
<div class="flex w-full flex-wrap gap-2">
|
|
14
|
-
<Badge variant="secondary" class="bg-blue-500 text-white dark:bg-blue-600">
|
|
15
|
-
<BadgeCheckIcon />
|
|
16
|
-
Verified
|
|
17
|
-
</Badge>
|
|
18
|
-
<Badge class="h-5 min-w-5 rounded-full px-1 font-mono tabular-nums">8</Badge>
|
|
19
|
-
<Badge class="h-5 min-w-5 rounded-full px-1 font-mono tabular-nums" variant="destructive">
|
|
20
|
-
99
|
|
21
|
-
</Badge>
|
|
22
|
-
<Badge class="h-5 min-w-5 rounded-full px-1 font-mono tabular-nums" variant="outline">
|
|
23
|
-
20+
|
|
24
|
-
</Badge>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as Breadcrumb from "../../../shadcn/breadcrumb/index.js";
|
|
3
|
-
import * as DropdownMenu from "../../../shadcn/dropdown-menu/index.js";
|
|
4
|
-
</script>
|
|
5
|
-
|
|
6
|
-
<Breadcrumb.Root>
|
|
7
|
-
<Breadcrumb.List>
|
|
8
|
-
<Breadcrumb.Item>
|
|
9
|
-
<Breadcrumb.Link href="/">Home</Breadcrumb.Link>
|
|
10
|
-
</Breadcrumb.Item>
|
|
11
|
-
<Breadcrumb.Separator />
|
|
12
|
-
<Breadcrumb.Item>
|
|
13
|
-
<DropdownMenu.Root>
|
|
14
|
-
<DropdownMenu.Trigger class="flex items-center gap-1">
|
|
15
|
-
<Breadcrumb.Ellipsis class="size-4" />
|
|
16
|
-
<span class="sr-only">Toggle menu</span>
|
|
17
|
-
</DropdownMenu.Trigger>
|
|
18
|
-
<DropdownMenu.Content align="start">
|
|
19
|
-
<DropdownMenu.Item>Documentation</DropdownMenu.Item>
|
|
20
|
-
<DropdownMenu.Item>Themes</DropdownMenu.Item>
|
|
21
|
-
<DropdownMenu.Item>GitHub</DropdownMenu.Item>
|
|
22
|
-
</DropdownMenu.Content>
|
|
23
|
-
</DropdownMenu.Root>
|
|
24
|
-
</Breadcrumb.Item>
|
|
25
|
-
<Breadcrumb.Separator />
|
|
26
|
-
<Breadcrumb.Item>
|
|
27
|
-
<Breadcrumb.Link href="/docs/components">Components</Breadcrumb.Link>
|
|
28
|
-
</Breadcrumb.Item>
|
|
29
|
-
<Breadcrumb.Separator />
|
|
30
|
-
<Breadcrumb.Item>
|
|
31
|
-
<Breadcrumb.Page>Breadcrumb</Breadcrumb.Page>
|
|
32
|
-
</Breadcrumb.Item>
|
|
33
|
-
</Breadcrumb.List>
|
|
34
|
-
</Breadcrumb.Root>
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as Bubble from "../../../shadcn/bubble/index.js";
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<div class="flex w-full max-w-sm flex-col gap-8 py-12">
|
|
6
|
-
<Bubble.Root align="end">
|
|
7
|
-
<Bubble.Content>Hey there! what's up?</Bubble.Content>
|
|
8
|
-
</Bubble.Root>
|
|
9
|
-
<Bubble.Group>
|
|
10
|
-
<Bubble.Root variant="muted">
|
|
11
|
-
<Bubble.Content>Hey! Want to see chat bubbles?</Bubble.Content>
|
|
12
|
-
</Bubble.Root>
|
|
13
|
-
<Bubble.Root variant="muted">
|
|
14
|
-
<Bubble.Content>
|
|
15
|
-
I can group messages, switch sides, and keep the whole thread easy to scan.
|
|
16
|
-
</Bubble.Content>
|
|
17
|
-
<Bubble.Reactions role="img" aria-label="Reaction: thumbs up">
|
|
18
|
-
<span>👍</span>
|
|
19
|
-
</Bubble.Reactions>
|
|
20
|
-
</Bubble.Root>
|
|
21
|
-
</Bubble.Group>
|
|
22
|
-
<Bubble.Root align="end">
|
|
23
|
-
<Bubble.Content>Sure. Hit me with your best demo.</Bubble.Content>
|
|
24
|
-
</Bubble.Root>
|
|
25
|
-
<Bubble.Root variant="muted">
|
|
26
|
-
<Bubble.Content>
|
|
27
|
-
Yes. You are reading a demo that is demoing itself. Very meta. Very on-brand.
|
|
28
|
-
</Bubble.Content>
|
|
29
|
-
<Bubble.Reactions role="img" aria-label="Reactions: thumbs up, fire, eyes, and 2 more">
|
|
30
|
-
<span>👍</span>
|
|
31
|
-
<span>🔥</span>
|
|
32
|
-
<span>👀</span>
|
|
33
|
-
<span>+2</span>
|
|
34
|
-
</Bubble.Reactions>
|
|
35
|
-
</Bubble.Root>
|
|
36
|
-
</div>
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import ArrowUpIcon from "@lucide/svelte/icons/arrow-up";
|
|
3
|
-
import { Button } from "../../../shadcn/button/index.js";
|
|
4
|
-
</script>
|
|
5
|
-
|
|
6
|
-
<div class="flex flex-wrap items-center gap-2 md:flex-row">
|
|
7
|
-
<Button variant="outline">Button</Button>
|
|
8
|
-
<Button variant="outline" size="icon" aria-label="Submit">
|
|
9
|
-
<ArrowUpIcon />
|
|
10
|
-
</Button>
|
|
11
|
-
</div>
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { getLocalTimeZone, today } from "@internationalized/date";
|
|
3
|
-
import { Calendar } from "../../../shadcn/calendar/index.js";
|
|
4
|
-
|
|
5
|
-
let value = today(getLocalTimeZone());
|
|
6
|
-
</script>
|
|
7
|
-
|
|
8
|
-
<Calendar type="single" bind:value class="rounded-md border shadow-sm" captionLayout="dropdown" />
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as Card from "../../../shadcn/card/index.js";
|
|
3
|
-
import { Button } 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
|
-
<Card.Root class="-my-4 w-full max-w-sm">
|
|
9
|
-
<Card.Header>
|
|
10
|
-
<Card.Title>Login to your account</Card.Title>
|
|
11
|
-
<Card.Description>Enter your email below to login to your account</Card.Description>
|
|
12
|
-
<Card.Action>
|
|
13
|
-
<Button variant="link">Sign Up</Button>
|
|
14
|
-
</Card.Action>
|
|
15
|
-
</Card.Header>
|
|
16
|
-
<Card.Content>
|
|
17
|
-
<form>
|
|
18
|
-
<div class="flex flex-col gap-6">
|
|
19
|
-
<div class="grid gap-2">
|
|
20
|
-
<Label for="email">Email</Label>
|
|
21
|
-
<Input id="email" type="email" placeholder="m@example.com" required />
|
|
22
|
-
</div>
|
|
23
|
-
<div class="grid gap-2">
|
|
24
|
-
<div class="flex items-center">
|
|
25
|
-
<Label for="password">Password</Label>
|
|
26
|
-
<a href="##" class="ms-auto inline-block text-sm underline-offset-4 hover:underline">
|
|
27
|
-
Forgot your password?
|
|
28
|
-
</a>
|
|
29
|
-
</div>
|
|
30
|
-
<Input id="password" type="password" required />
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
</form>
|
|
34
|
-
</Card.Content>
|
|
35
|
-
<Card.Footer class="flex-col gap-2">
|
|
36
|
-
<Button type="submit" class="w-full">Login</Button>
|
|
37
|
-
<Button variant="outline" class="w-full">Login with Google</Button>
|
|
38
|
-
</Card.Footer>
|
|
39
|
-
</Card.Root>
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import { Checkbox } from "../../../shadcn/checkbox/index.js";
|
|
3
|
-
import { Label } from "../../../shadcn/label/index.js";
|
|
4
|
-
</script>
|
|
5
|
-
|
|
6
|
-
<div class="flex flex-col gap-6">
|
|
7
|
-
<div class="flex items-center gap-3">
|
|
8
|
-
<Checkbox id="terms" />
|
|
9
|
-
<Label for="terms">Accept terms and conditions</Label>
|
|
10
|
-
</div>
|
|
11
|
-
<div class="flex items-start gap-3">
|
|
12
|
-
<Checkbox id="terms-2" checked />
|
|
13
|
-
<div class="grid gap-2">
|
|
14
|
-
<Label for="terms-2">Accept terms and conditions</Label>
|
|
15
|
-
<p class="text-sm text-muted-foreground">
|
|
16
|
-
By clicking this checkbox, you agree to the terms and conditions.
|
|
17
|
-
</p>
|
|
18
|
-
</div>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="flex items-start gap-3">
|
|
21
|
-
<Checkbox id="toggle" disabled />
|
|
22
|
-
<Label for="toggle">Enable notifications</Label>
|
|
23
|
-
</div>
|
|
24
|
-
<Label
|
|
25
|
-
class="flex items-start gap-3 rounded-lg border p-3 hover:bg-accent/50 has-[[aria-checked=true]]:border-blue-600 has-[[aria-checked=true]]:bg-blue-50 dark:has-[[aria-checked=true]]:border-blue-900 dark:has-[[aria-checked=true]]:bg-blue-950"
|
|
26
|
-
>
|
|
27
|
-
<Checkbox
|
|
28
|
-
id="toggle-2"
|
|
29
|
-
checked
|
|
30
|
-
class="data-[state=checked]:border-blue-600 data-[state=checked]:bg-blue-600 data-[state=checked]:text-white dark:data-[state=checked]:border-blue-700 dark:data-[state=checked]:bg-blue-700"
|
|
31
|
-
/>
|
|
32
|
-
<div class="grid gap-1.5 font-normal">
|
|
33
|
-
<p class="text-sm leading-none font-medium">Enable notifications</p>
|
|
34
|
-
<p class="text-sm text-muted-foreground">
|
|
35
|
-
You can enable or disable notifications at any time.
|
|
36
|
-
</p>
|
|
37
|
-
</div>
|
|
38
|
-
</Label>
|
|
39
|
-
</div>
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import DownloadIcon from "@lucide/svelte/icons/download";
|
|
3
|
-
import FileCodeIcon from "@lucide/svelte/icons/file-code";
|
|
4
|
-
import WrapTextIcon from "@lucide/svelte/icons/text-wrap";
|
|
5
|
-
import * as CodeBlock from "../../../shadcn/code-block/index.js";
|
|
6
|
-
import { useHighlightedCode } from "../../../shadcn/hooks/use-highlighted-code.svelte.js";
|
|
7
|
-
import { Button } from "../../../shadcn/button/index.js";
|
|
8
|
-
|
|
9
|
-
const code = `import { streamText } from "ai"
|
|
10
|
-
|
|
11
|
-
export async function POST(request: Request) {
|
|
12
|
-
const { messages } = await request.json()
|
|
13
|
-
|
|
14
|
-
const result = streamText({
|
|
15
|
-
model: "anthropic/claude-sonnet-4.5",
|
|
16
|
-
system: "You are a helpful assistant. Answer in one short paragraph.",
|
|
17
|
-
messages,
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
return result.toUIMessageStreamResponse()
|
|
21
|
-
}`;
|
|
22
|
-
|
|
23
|
-
function download(value: string, filename: string) {
|
|
24
|
-
const url = URL.createObjectURL(new Blob([value], { type: "text/plain" }));
|
|
25
|
-
const link = document.createElement("a");
|
|
26
|
-
link.href = url;
|
|
27
|
-
link.download = filename;
|
|
28
|
-
link.click();
|
|
29
|
-
URL.revokeObjectURL(url);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
let wrap = $state(false);
|
|
33
|
-
|
|
34
|
-
const lines = useHighlightedCode(
|
|
35
|
-
() => code,
|
|
36
|
-
() => "ts"
|
|
37
|
-
);
|
|
38
|
-
</script>
|
|
39
|
-
|
|
40
|
-
<div class="w-full max-w-lg">
|
|
41
|
-
<CodeBlock.Root>
|
|
42
|
-
<CodeBlock.Header>
|
|
43
|
-
<CodeBlock.Title>
|
|
44
|
-
<FileCodeIcon />
|
|
45
|
-
app/api/chat/route.ts
|
|
46
|
-
</CodeBlock.Title>
|
|
47
|
-
<CodeBlock.Actions>
|
|
48
|
-
<Button
|
|
49
|
-
variant="ghost"
|
|
50
|
-
size="sm"
|
|
51
|
-
icon
|
|
52
|
-
aria-label="Wrap lines"
|
|
53
|
-
aria-pressed={wrap}
|
|
54
|
-
class="aria-pressed:text-foreground"
|
|
55
|
-
onclick={() => (wrap = !wrap)}
|
|
56
|
-
>
|
|
57
|
-
<WrapTextIcon />
|
|
58
|
-
</Button>
|
|
59
|
-
<Button
|
|
60
|
-
variant="ghost"
|
|
61
|
-
size="sm"
|
|
62
|
-
icon
|
|
63
|
-
aria-label="Download"
|
|
64
|
-
onclick={() => download(code, "route.ts")}
|
|
65
|
-
>
|
|
66
|
-
<DownloadIcon />
|
|
67
|
-
</Button>
|
|
68
|
-
<CodeBlock.CopyButton value={code} />
|
|
69
|
-
</CodeBlock.Actions>
|
|
70
|
-
</CodeBlock.Header>
|
|
71
|
-
<CodeBlock.Content {wrap} lineNumbers>
|
|
72
|
-
{#each lines.current as line, index (index)}
|
|
73
|
-
<CodeBlock.Line
|
|
74
|
-
variant={index >= 5 && index <= 9 ? "highlighted" : "default"}
|
|
75
|
-
code={line}
|
|
76
|
-
/>
|
|
77
|
-
{/each}
|
|
78
|
-
</CodeBlock.Content>
|
|
79
|
-
</CodeBlock.Root>
|
|
80
|
-
</div>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import ChevronsUpDownIcon from "@lucide/svelte/icons/chevrons-up-down";
|
|
3
|
-
import * as Collapsible from "../../../shadcn/collapsible/index.js";
|
|
4
|
-
import { buttonVariants } from "../../../shadcn/button/index.js";
|
|
5
|
-
</script>
|
|
6
|
-
|
|
7
|
-
<Collapsible.Root class="w-[350px] space-y-2">
|
|
8
|
-
<div class="flex items-center justify-between space-x-4 px-4">
|
|
9
|
-
<h4 class="text-sm font-semibold">@huntabyte starred 3 repositories</h4>
|
|
10
|
-
<Collapsible.Trigger class={buttonVariants({ variant: "ghost", size: "sm", class: "w-9 p-0" })}>
|
|
11
|
-
<ChevronsUpDownIcon />
|
|
12
|
-
<span class="sr-only">Toggle</span>
|
|
13
|
-
</Collapsible.Trigger>
|
|
14
|
-
</div>
|
|
15
|
-
<div class="rounded-md border px-4 py-3 font-mono text-sm">@huntabyte/bits-ui</div>
|
|
16
|
-
<Collapsible.Content class="space-y-2">
|
|
17
|
-
<div class="rounded-md border px-4 py-3 font-mono text-sm">@melt-ui/melt-ui</div>
|
|
18
|
-
<div class="rounded-md border px-4 py-3 font-mono text-sm">@sveltejs/svelte</div>
|
|
19
|
-
</Collapsible.Content>
|
|
20
|
-
</Collapsible.Root>
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import CalculatorIcon from "@lucide/svelte/icons/calculator";
|
|
3
|
-
import CalendarIcon from "@lucide/svelte/icons/calendar";
|
|
4
|
-
import CreditCardIcon from "@lucide/svelte/icons/credit-card";
|
|
5
|
-
import SettingsIcon from "@lucide/svelte/icons/settings";
|
|
6
|
-
import SmileIcon from "@lucide/svelte/icons/smile";
|
|
7
|
-
import UserIcon from "@lucide/svelte/icons/user";
|
|
8
|
-
import * as Command from "../../../shadcn/command/index.js";
|
|
9
|
-
</script>
|
|
10
|
-
|
|
11
|
-
<Command.Root class="rounded-lg border shadow-md md:min-w-[450px]">
|
|
12
|
-
<Command.Input placeholder="Type a command or search..." />
|
|
13
|
-
<Command.List>
|
|
14
|
-
<Command.Empty>No results found.</Command.Empty>
|
|
15
|
-
<Command.Group heading="Suggestions">
|
|
16
|
-
<Command.Item>
|
|
17
|
-
<CalendarIcon />
|
|
18
|
-
<span>Calendar</span>
|
|
19
|
-
</Command.Item>
|
|
20
|
-
<Command.Item>
|
|
21
|
-
<SmileIcon />
|
|
22
|
-
<span>Search Emoji</span>
|
|
23
|
-
</Command.Item>
|
|
24
|
-
<Command.Item disabled>
|
|
25
|
-
<CalculatorIcon />
|
|
26
|
-
<span>Calculator</span>
|
|
27
|
-
</Command.Item>
|
|
28
|
-
</Command.Group>
|
|
29
|
-
<Command.Separator />
|
|
30
|
-
<Command.Group heading="Settings">
|
|
31
|
-
<Command.Item>
|
|
32
|
-
<UserIcon />
|
|
33
|
-
<span>Profile</span>
|
|
34
|
-
<Command.Shortcut>⌘P</Command.Shortcut>
|
|
35
|
-
</Command.Item>
|
|
36
|
-
<Command.Item>
|
|
37
|
-
<CreditCardIcon />
|
|
38
|
-
<span>Billing</span>
|
|
39
|
-
<Command.Shortcut>⌘B</Command.Shortcut>
|
|
40
|
-
</Command.Item>
|
|
41
|
-
<Command.Item>
|
|
42
|
-
<SettingsIcon />
|
|
43
|
-
<span>Settings</span>
|
|
44
|
-
<Command.Shortcut>⌘S</Command.Shortcut>
|
|
45
|
-
</Command.Item>
|
|
46
|
-
</Command.Group>
|
|
47
|
-
</Command.List>
|
|
48
|
-
</Command.Root>
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import * as ContextMenu from "../../../shadcn/context-menu/index.js";
|
|
3
|
-
|
|
4
|
-
let showBookmarks = $state(false);
|
|
5
|
-
let showFullURLs = $state(true);
|
|
6
|
-
|
|
7
|
-
let value = $state("pedro");
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
<ContextMenu.Root>
|
|
11
|
-
<ContextMenu.Trigger
|
|
12
|
-
class="flex h-[150px] w-[300px] items-center justify-center rounded-md border border-dashed text-sm"
|
|
13
|
-
>
|
|
14
|
-
Right click here
|
|
15
|
-
</ContextMenu.Trigger>
|
|
16
|
-
<ContextMenu.Content class="w-52">
|
|
17
|
-
<ContextMenu.Item>
|
|
18
|
-
Back
|
|
19
|
-
<ContextMenu.Shortcut>⌘[</ContextMenu.Shortcut>
|
|
20
|
-
</ContextMenu.Item>
|
|
21
|
-
<ContextMenu.Item disabled>
|
|
22
|
-
Forward
|
|
23
|
-
<ContextMenu.Shortcut>⌘]</ContextMenu.Shortcut>
|
|
24
|
-
</ContextMenu.Item>
|
|
25
|
-
<ContextMenu.Item>
|
|
26
|
-
Reload
|
|
27
|
-
<ContextMenu.Shortcut>⌘R</ContextMenu.Shortcut>
|
|
28
|
-
</ContextMenu.Item>
|
|
29
|
-
<ContextMenu.Sub>
|
|
30
|
-
<ContextMenu.SubTrigger>More Tools</ContextMenu.SubTrigger>
|
|
31
|
-
<ContextMenu.SubContent class="w-48">
|
|
32
|
-
<ContextMenu.Item>
|
|
33
|
-
Save Page As...
|
|
34
|
-
<ContextMenu.Shortcut>⇧⌘S</ContextMenu.Shortcut>
|
|
35
|
-
</ContextMenu.Item>
|
|
36
|
-
<ContextMenu.Item>Create Shortcut...</ContextMenu.Item>
|
|
37
|
-
<ContextMenu.Item>Name Window...</ContextMenu.Item>
|
|
38
|
-
<ContextMenu.Separator />
|
|
39
|
-
<ContextMenu.Item>Developer Tools</ContextMenu.Item>
|
|
40
|
-
</ContextMenu.SubContent>
|
|
41
|
-
</ContextMenu.Sub>
|
|
42
|
-
<ContextMenu.Separator />
|
|
43
|
-
<ContextMenu.CheckboxItem bind:checked={showBookmarks}>Show Bookmarks</ContextMenu.CheckboxItem>
|
|
44
|
-
<ContextMenu.CheckboxItem bind:checked={showFullURLs}>Show Full URLs</ContextMenu.CheckboxItem>
|
|
45
|
-
<ContextMenu.Separator />
|
|
46
|
-
<ContextMenu.RadioGroup bind:value>
|
|
47
|
-
<ContextMenu.Group>
|
|
48
|
-
<ContextMenu.Label>People</ContextMenu.Label>
|
|
49
|
-
<ContextMenu.RadioItem value="pedro">Pedro Duarte</ContextMenu.RadioItem>
|
|
50
|
-
<ContextMenu.RadioItem value="colm">Colm Tuite</ContextMenu.RadioItem>
|
|
51
|
-
</ContextMenu.Group>
|
|
52
|
-
</ContextMenu.RadioGroup>
|
|
53
|
-
</ContextMenu.Content>
|
|
54
|
-
</ContextMenu.Root>
|