@heyramzi/ui 6.1.0 → 8.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.
- package/COMPONENTS.md +32 -40
- package/README.md +10 -4
- package/package.json +31 -29
- package/scripts/sync-shadcn.mjs +29 -16
- package/scripts/sync-transitions.mjs +11 -11
- 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 -24
- 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 +17 -17
- 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/sliding-pill.ts +68 -0
- package/src/lib/theme-transition.ts +41 -13
- 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-actions.svelte +23 -0
- package/src/shadcn/code-block/code-block-content.svelte +55 -0
- package/src/shadcn/code-block/code-block-copy-button.svelte +10 -0
- package/src/shadcn/code-block/code-block-footer.svelte +20 -0
- package/src/shadcn/code-block/code-block-header.svelte +23 -0
- package/src/shadcn/code-block/code-block-line.svelte +71 -0
- package/src/shadcn/code-block/code-block-title.svelte +23 -0
- package/src/shadcn/code-block/code-block.svelte +47 -0
- package/src/shadcn/code-block/index.ts +42 -0
- 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/hooks/highlighter.ts +132 -0
- package/src/shadcn/hooks/use-highlighted-code.svelte.ts +98 -0
- package/src/shadcn/kbd/index.ts +10 -0
- package/src/shadcn/kbd/kbd-group.svelte +20 -0
- package/src/shadcn/kbd/kbd.svelte +23 -0
- package/src/shadcn/message-scroller/index.ts +28 -0
- package/src/shadcn/message-scroller/message-scroller-button.svelte +52 -0
- package/src/shadcn/message-scroller/message-scroller-content.svelte +17 -0
- package/src/shadcn/message-scroller/message-scroller-item.svelte +22 -0
- package/src/shadcn/message-scroller/message-scroller-provider.svelte +7 -0
- package/src/shadcn/message-scroller/message-scroller-viewport.svelte +20 -0
- package/src/shadcn/message-scroller/message-scroller.svelte +20 -0
- 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/tabs/tabs-list.svelte +13 -2
- package/src/shadcn/tabs/tabs-trigger.svelte +1 -1
- package/src/shadcn/toggle-group/toggle-group.svelte +10 -3
- package/src/shadcn/trace/index.ts +29 -0
- package/src/shadcn/trace/trace-collapsible-content.svelte +29 -0
- package/src/shadcn/trace/trace-collapsible-trigger.svelte +29 -0
- package/src/shadcn/trace/trace-collapsible.svelte +20 -0
- package/src/shadcn/trace/trace-description.svelte +20 -0
- package/src/shadcn/trace/trace-icon.svelte +24 -0
- package/src/shadcn/trace/trace-line.svelte +31 -0
- package/src/shadcn/trace/trace-title.svelte +20 -0
- package/src/shadcn/trace/trace.svelte +23 -0
- 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/ai/conversation/Conversation.svelte +0 -28
- package/src/ai/conversation/ConversationContent.svelte +0 -35
- package/src/ai/conversation/ConversationEmptyState.svelte +0 -46
- package/src/ai/conversation/ConversationScrollButton.svelte +0 -51
- package/src/ai/conversation/index.ts +0 -33
- package/src/ai/conversation/stick-to-bottom-context.svelte.ts +0 -131
- 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/charts/animated-value.css +0 -7
- package/src/charts/animated-value.svelte +0 -110
- package/src/charts/area-chart.css +0 -29
- package/src/charts/area-chart.svelte +0 -195
- package/src/charts/bar-chart.css +0 -119
- package/src/charts/bar-chart.svelte +0 -269
- package/src/charts/charts.css +0 -201
- package/src/charts/crosshair.svelte +0 -35
- package/src/charts/donut-chart.css +0 -56
- package/src/charts/donut-chart.svelte +0 -158
- package/src/charts/edge-fade.svelte +0 -43
- package/src/charts/edge-fade.ts +0 -16
- package/src/charts/figure.css +0 -100
- package/src/charts/figure.svelte +0 -122
- package/src/charts/gauge-chart.css +0 -94
- package/src/charts/gauge-chart.svelte +0 -303
- package/src/charts/hover-band.test.ts +0 -30
- package/src/charts/hover-band.ts +0 -21
- package/src/charts/hover-focus.svelte +0 -85
- package/src/charts/index.ts +0 -30
- package/src/charts/legend.css +0 -131
- package/src/charts/legend.svelte +0 -112
- package/src/charts/line-chart.css +0 -26
- package/src/charts/line-chart.svelte +0 -256
- package/src/charts/motion.ts +0 -19
- package/src/charts/number-chart.css +0 -168
- package/src/charts/number-chart.svelte +0 -177
- package/src/charts/primitives/chart-container.svelte +0 -57
- package/src/charts/primitives/chart-style.svelte +0 -36
- package/src/charts/primitives/chart-tooltip.svelte +0 -161
- package/src/charts/primitives/chart-utils.ts +0 -54
- package/src/charts/primitives/index.ts +0 -11
- package/src/charts/reveal.svelte +0 -61
- package/src/charts/ring-chart.css +0 -96
- package/src/charts/ring-chart.svelte +0 -158
- package/src/charts/sparkline.css +0 -45
- package/src/charts/sparkline.svelte +0 -140
- package/src/charts/stat-card.css +0 -103
- package/src/charts/stat-card.svelte +0 -267
- package/src/charts/time-series-chart.css +0 -28
- package/src/charts/time-series-chart.svelte +0 -179
- package/src/charts/trend-pill.css +0 -38
- package/src/charts/trend-pill.svelte +0 -48
- package/src/lib/hooks/is-mobile.svelte.ts +0 -11
- package/src/lib/utils.ts +0 -45
- package/src/showcase/AiSection.svelte +0 -157
- package/src/showcase/AnimationsSection.svelte +0 -1658
- package/src/showcase/ChartsSection.svelte +0 -458
- 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/conversation.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/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 -358
- 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.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/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 -17
- 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,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,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>
|
|
@@ -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'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>
|