@dryui/ui 2.0.2 → 4.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/dist/accordion/accordion-button-trigger.svelte +1 -0
- package/dist/accordion/accordion-root.svelte +1 -1
- package/dist/adjust/adjust.svelte +12 -8
- package/dist/alpha-slider/alpha-slider-input.svelte +14 -13
- package/dist/app-frame/app-frame.svelte +4 -1
- package/dist/aspect-ratio/aspect-ratio.svelte +7 -6
- package/dist/aurora/aurora.svelte +144 -81
- package/dist/avatar/avatar.svelte +22 -15
- package/dist/badge/badge.svelte +8 -16
- package/dist/beam/beam.svelte +20 -21
- package/dist/button/button.svelte +47 -25
- package/dist/button/button.svelte.d.ts +14 -0
- package/dist/button-group/button-group.svelte +4 -5
- package/dist/calendar/calendar-button-grid.svelte +11 -4
- package/dist/calendar/calendar-button-grid.svelte.d.ts +2 -2
- package/dist/calendar/calendar-event-legend.svelte +63 -0
- package/dist/calendar/calendar-event-legend.svelte.d.ts +6 -0
- package/dist/calendar/calendar-header.svelte +3 -1
- package/dist/calendar/calendar-heading.svelte +21 -9
- package/dist/calendar/calendar-nav-button.svelte +15 -2
- package/dist/calendar/calendar-root.svelte +94 -11
- package/dist/calendar/calendar-root.svelte.d.ts +10 -1
- package/dist/calendar/calendar-week.svelte +515 -0
- package/dist/calendar/calendar-week.svelte.d.ts +12 -0
- package/dist/calendar/calendar.meta.js +2 -2
- package/dist/calendar/context.svelte.d.ts +19 -0
- package/dist/calendar/index.d.ts +11 -1
- package/dist/calendar/index.js +5 -1
- package/dist/calendar/types.d.ts +32 -0
- package/dist/calendar/types.js +1 -0
- package/dist/calendar/week-utils.d.ts +12 -0
- package/dist/calendar/week-utils.js +133 -0
- package/dist/carousel/carousel-button-dots.svelte +12 -6
- package/dist/carousel/carousel-root.svelte +201 -17
- package/dist/carousel/carousel-root.svelte.d.ts +1 -1
- package/dist/carousel/carousel-viewport.svelte +19 -1
- package/dist/chart/chart-bars.svelte +43 -19
- package/dist/chart/chart-donut.svelte +50 -23
- package/dist/chart/chart-root.svelte +19 -4
- package/dist/chart/chart-stacked-bar.svelte +3 -2
- package/dist/chart/series-color.d.ts +7 -0
- package/dist/chart/series-color.js +11 -0
- package/dist/chat-thread/chat-thread.svelte +15 -126
- package/dist/chat-thread/chat-thread.svelte.d.ts +4 -7
- package/dist/chat-thread/index.d.ts +4 -7
- package/dist/checkbox/checkbox-input.svelte +48 -41
- package/dist/chip/chip-button.svelte +14 -17
- package/dist/chip/chip-button.svelte.d.ts +2 -3
- package/dist/chip-group/chip-group-root.svelte +6 -4
- package/dist/chromatic-aberration/chromatic-aberration.svelte +9 -6
- package/dist/chromatic-shift/chromatic-shift.svelte +7 -8
- package/dist/code-block/code-block-button.svelte +72 -40
- package/dist/color-picker/color-picker-area.svelte +20 -25
- package/dist/color-picker/color-picker-channel-input.svelte +0 -1
- package/dist/color-picker/color-picker-input-hue-slider.svelte +12 -9
- package/dist/color-picker/color-picker-root.svelte +18 -17
- package/dist/color-picker/color-picker-swatch.svelte +17 -16
- package/dist/combobox/combobox-content.svelte +4 -15
- package/dist/combobox/combobox-input-root.svelte +6 -3
- package/dist/combobox/combobox-input-root.svelte.d.ts +2 -1
- package/dist/combobox/combobox-input.svelte +13 -10
- package/dist/combobox/combobox-item.svelte +9 -4
- package/dist/command-palette/command-palette-dialog-root.svelte +1 -0
- package/dist/command-palette/command-palette-item.svelte +7 -4
- package/dist/context-menu/context-menu-content.svelte +7 -15
- package/dist/data-grid/data-grid-button-input-column.svelte +2 -2
- package/dist/data-grid/data-grid-cell.svelte +1 -1
- package/dist/data-grid/data-grid-input-select-all.svelte +1 -1
- package/dist/data-grid/data-grid-input-select-cell.svelte +1 -1
- package/dist/date-field/date-field-segment.svelte +10 -12
- package/dist/date-picker/datepicker-button-calendar.svelte +2 -2
- package/dist/date-picker/datepicker-button-calendar.svelte.d.ts +2 -2
- package/dist/date-picker/index.d.ts +4 -1
- package/dist/date-range-picker/date-range-picker-button-calendar.svelte +2 -2
- package/dist/date-range-picker/date-range-picker-button-calendar.svelte.d.ts +2 -2
- package/dist/date-range-picker/date-range-picker-button-trigger.svelte +151 -40
- package/dist/date-range-picker/date-range-picker-button-trigger.svelte.d.ts +1 -0
- package/dist/date-range-picker/index.d.ts +4 -1
- package/dist/diagram/edge-routing.js +18 -7
- package/dist/diagram/layout.js +31 -16
- package/dist/displacement/displacement.svelte +29 -43
- package/dist/drag-and-drop/drag-and-drop-root.svelte +17 -5
- package/dist/drag-and-drop/index.d.ts +14 -1
- package/dist/drop-zone/drop-zone.svelte +7 -4
- package/dist/dropdown-menu/dropdown-menu-content.svelte +15 -16
- package/dist/field/field-description.svelte +6 -9
- package/dist/field/field-error.svelte +6 -10
- package/dist/file-select/file-select-root.svelte +77 -22
- package/dist/file-select/file-select-root.svelte.d.ts +4 -1
- package/dist/file-upload/file-upload-dropzone.svelte +21 -21
- package/dist/file-upload/file-upload-item.svelte +1 -2
- package/dist/file-upload/file-upload-list.svelte +1 -1
- package/dist/flip-card/flip-card-root.svelte +2 -2
- package/dist/float-button/context.svelte.d.ts +2 -0
- package/dist/float-button/float-button-action.svelte +41 -11
- package/dist/float-button/float-button-root.svelte +52 -13
- package/dist/float-button/float-button-trigger.svelte +25 -12
- package/dist/format-bytes/format-bytes.svelte +2 -5
- package/dist/format-date/format-date.svelte +2 -6
- package/dist/format-number/format-number.svelte +2 -6
- package/dist/gauge/gauge.svelte +9 -2
- package/dist/glass/glass.svelte +4 -3
- package/dist/glow/glow.svelte +0 -5
- package/dist/god-rays/god-rays.svelte +6 -6
- package/dist/gradient-mesh/gradient-mesh.svelte +52 -44
- package/dist/halftone/halftone.svelte +17 -28
- package/dist/heading/heading.svelte +0 -6
- package/dist/hover-card/hover-card-content.svelte +8 -5
- package/dist/hover-card/hover-card.meta.js +2 -2
- package/dist/icon/icon.svelte +24 -13
- package/dist/icon/icon.svelte.d.ts +2 -2
- package/dist/icon-swap/icon-swap.svelte +4 -3
- package/dist/icon-swap/icon-swap.svelte.d.ts +2 -1
- package/dist/image/image.svelte +5 -13
- package/dist/image-comparison/image-comparison.svelte +39 -45
- package/dist/index.d.ts +3 -5
- package/dist/index.js +1 -2
- package/dist/input/input.svelte +88 -9
- package/dist/input/input.svelte.d.ts +24 -1
- package/dist/internal/anchored-overlay-content.svelte.d.ts +12 -6
- package/dist/internal/anchored-overlay-content.svelte.js +13 -16
- package/dist/internal/calendar-event-layout.d.ts +53 -0
- package/dist/internal/calendar-event-layout.js +191 -0
- package/dist/internal/calendar-grid-button.svelte +618 -76
- package/dist/internal/calendar-grid-button.svelte.d.ts +2 -2
- package/dist/internal/calendar-grid-utils.d.ts +3 -0
- package/dist/internal/calendar-grid-utils.js +24 -0
- package/dist/internal/form-control-wrapper-attrs.d.ts +9 -0
- package/dist/internal/form-control-wrapper-attrs.js +1 -0
- package/dist/internal/menu-item.svelte +1 -0
- package/dist/internal/modal-content.svelte +2 -6
- package/dist/internal/motion.d.ts +1 -1
- package/dist/internal/motion.js +5 -2
- package/dist/internal/picker-popover-content.svelte +15 -17
- package/dist/kbd/kbd.svelte +1 -1
- package/dist/link/link.svelte +8 -5
- package/dist/link-preview/link-preview-content.svelte +12 -15
- package/dist/link-preview/link-preview-trigger.svelte +2 -5
- package/dist/listbox/listbox-item.svelte +13 -18
- package/dist/listbox/listbox-root.svelte +4 -9
- package/dist/logo-mark/logo-mark.svelte +31 -31
- package/dist/map/map-marker.svelte +2 -2
- package/dist/map/map-root.svelte +11 -2
- package/dist/markdown-renderer/markdown-renderer.svelte +141 -164
- package/dist/marquee/marquee.svelte +12 -13
- package/dist/mask-reveal/mask-reveal.svelte +14 -27
- package/dist/mega-menu/mega-menu-column.svelte +1 -1
- package/dist/mega-menu/mega-menu-link.svelte +7 -7
- package/dist/mega-menu/mega-menu-panel.svelte +18 -32
- package/dist/menubar/menubar-content.svelte +18 -20
- package/dist/menubar/menubar-item.svelte +1 -0
- package/dist/menubar/menubar-menu.svelte +1 -2
- package/dist/menubar/menubar-root.svelte +1 -12
- package/dist/motion/enter.svelte +15 -14
- package/dist/motion/enter.svelte.d.ts +2 -1
- package/dist/motion/exit.svelte +6 -5
- package/dist/motion/exit.svelte.d.ts +2 -1
- package/dist/motion/stagger.svelte +10 -9
- package/dist/motion/stagger.svelte.d.ts +2 -1
- package/dist/multi-select-combobox/multi-select-combobox-content.svelte +4 -15
- package/dist/multi-select-combobox/multi-select-combobox-input.svelte +6 -5
- package/dist/multi-select-combobox/multi-select-combobox-item.svelte +25 -31
- package/dist/multi-select-combobox/multi-select-combobox-root-input.svelte +19 -19
- package/dist/navigation-menu/navigation-menu-link.svelte +0 -1
- package/dist/noise/noise.svelte +20 -19
- package/dist/notification-center/notification-center-item.svelte +1 -1
- package/dist/notification-center/notification-center-panel.svelte +17 -19
- package/dist/number-input/number-input-button.svelte +78 -12
- package/dist/number-input/number-input-button.svelte.d.ts +15 -1
- package/dist/numeric/numeric.svelte +27 -12
- package/dist/numeric/numeric.svelte.d.ts +2 -1
- package/dist/option-picker/option-picker-item.svelte +8 -15
- package/dist/option-picker/option-picker-preview.svelte +34 -22
- package/dist/pagination/pagination-root.svelte +7 -0
- package/dist/pin-input/pin-input-root.svelte +2 -11
- package/dist/popover/popover-content.svelte +7 -4
- package/dist/progress/progress.svelte +2 -2
- package/dist/prompt-input/prompt-input-button-textarea.svelte +2 -10
- package/dist/qr-code/qr-code.svelte +78 -38
- package/dist/qr-code/qr-code.svelte.d.ts +1 -1
- package/dist/radio-group/radio-group-item-input.svelte +60 -14
- package/dist/radio-group/radio-group-item-input.svelte.d.ts +9 -2
- package/dist/range-calendar/index.d.ts +4 -1
- package/dist/range-calendar/range-calendar-grid-button.svelte +2 -2
- package/dist/range-calendar/range-calendar-grid-button.svelte.d.ts +2 -2
- package/dist/relative-time/relative-time.svelte +15 -15
- package/dist/reveal/reveal.svelte +12 -24
- package/dist/rich-text-editor/rich-text-editor-content.svelte +0 -3
- package/dist/rich-text-editor/rich-text-editor-toolbar-button-input.svelte +0 -1
- package/dist/scroll-to-top/scroll-to-top-button.svelte +5 -3
- package/dist/scroll-to-top/scroll-to-top-button.svelte.d.ts +2 -2
- package/dist/segmented-control/segmented-control-root.svelte +0 -3
- package/dist/select/select-content.svelte +15 -16
- package/dist/select/select-item.svelte +1 -0
- package/dist/select/select-root-input.svelte +5 -4
- package/dist/select/select-root-input.svelte.d.ts +2 -2
- package/dist/select/select-trigger-button.svelte +122 -16
- package/dist/select/select-trigger-button.svelte.d.ts +2 -2
- package/dist/shader-canvas/shader-canvas.svelte +11 -20
- package/dist/shimmer/shimmer.svelte +28 -25
- package/dist/skeleton/skeleton.svelte +18 -23
- package/dist/slider/slider-input.svelte +8 -7
- package/dist/sparkline/sparkline.svelte +1 -1
- package/dist/splitter/splitter-handle.svelte +3 -3
- package/dist/splitter/splitter-root.svelte +13 -12
- package/dist/spotlight/spotlight.svelte +30 -62
- package/dist/star-rating/star-rating-root.svelte +3 -4
- package/dist/stepper/stepper-step-button.svelte +2 -2
- package/dist/table-of-contents/table-of-contents-root.svelte +5 -16
- package/dist/tabs/tabs-content.svelte +7 -1
- package/dist/tag/tag-button.svelte +70 -64
- package/dist/tags-input/tags-input-root.svelte +2 -10
- package/dist/text/index.d.ts +2 -3
- package/dist/text/text.svelte +6 -12
- package/dist/text/text.svelte.d.ts +2 -3
- package/dist/textarea/textarea.svelte +91 -16
- package/dist/textarea/textarea.svelte.d.ts +20 -1
- package/dist/themes/aurora.css +106 -112
- package/dist/themes/component-defaults.css +47 -0
- package/dist/themes/dark.css +49 -223
- package/dist/themes/default.css +45 -175
- package/dist/themes/midnight.css +50 -65
- package/dist/themes/terminal.css +40 -74
- package/dist/time-input/time-input.svelte +5 -3
- package/dist/time-input/time-input.svelte.d.ts +2 -2
- package/dist/timeline/timeline-title.svelte +0 -6
- package/dist/toast/toast-root.svelte +10 -10
- package/dist/toggle/toggle-button.svelte +17 -6
- package/dist/toggle-group/toggle-group-root.svelte +3 -3
- package/dist/token-scope/index.d.ts +6 -0
- package/dist/token-scope/index.js +1 -0
- package/dist/token-scope/token-scope.meta.js +7 -0
- package/dist/toolbar/toolbar-root.svelte +4 -5
- package/dist/tooltip/tooltip-content.svelte +24 -13
- package/dist/tour/tour-root.css +6 -2
- package/dist/transfer/transfer-list-input.svelte +1 -2
- package/dist/transfer/transfer-root.svelte +0 -10
- package/dist/tree/tree-item-label.svelte +0 -2
- package/dist/tree/tree-root.svelte +7 -5
- package/dist/typography/blockquote.svelte +2 -2
- package/dist/typography/code.svelte +2 -2
- package/dist/typography/heading.svelte +2 -2
- package/dist/typography/index.d.ts +0 -1
- package/dist/typography/text.svelte +2 -13
- package/dist/video-embed/video-embed-button.svelte +9 -9
- package/package.json +13 -12
- package/src/accordion/accordion-button-trigger.svelte +60 -0
- package/src/accordion/accordion-content.svelte +37 -0
- package/src/accordion/accordion-item.svelte +62 -0
- package/src/accordion/accordion-root.svelte +61 -0
- package/src/accordion/accordion.meta.ts +7 -0
- package/src/accordion/context.svelte.ts +19 -0
- package/src/accordion/index.ts +41 -0
- package/src/adjust/adjust.meta.ts +7 -0
- package/src/adjust/adjust.svelte +71 -0
- package/src/adjust/index.ts +20 -0
- package/src/alert/alert.meta.ts +7 -0
- package/src/alert/alert.svelte +174 -0
- package/src/alert/index.ts +18 -0
- package/src/alert-dialog/alert-dialog-body.svelte +23 -0
- package/src/alert-dialog/alert-dialog-button-action.svelte +15 -0
- package/src/alert-dialog/alert-dialog-button-cancel.svelte +18 -0
- package/src/alert-dialog/alert-dialog-content.svelte +26 -0
- package/src/alert-dialog/alert-dialog-footer.svelte +29 -0
- package/src/alert-dialog/alert-dialog-header.svelte +26 -0
- package/src/alert-dialog/alert-dialog-overlay.svelte +34 -0
- package/src/alert-dialog/alert-dialog-root.svelte +31 -0
- package/src/alert-dialog/alert-dialog-trigger.svelte +56 -0
- package/src/alert-dialog/alert-dialog.meta.ts +7 -0
- package/src/alert-dialog/context.svelte.ts +11 -0
- package/src/alert-dialog/index.ts +43 -0
- package/src/alpha-slider/alpha-slider-input.svelte +165 -0
- package/src/alpha-slider/alpha-slider.meta.ts +7 -0
- package/src/alpha-slider/index.ts +10 -0
- package/src/app-frame/app-frame.meta.ts +8 -0
- package/src/app-frame/app-frame.svelte +141 -0
- package/src/app-frame/index.ts +10 -0
- package/src/aspect-ratio/aspect-ratio.meta.ts +7 -0
- package/src/aspect-ratio/aspect-ratio.svelte +29 -0
- package/src/aspect-ratio/index.ts +9 -0
- package/src/aurora/aurora.meta.ts +8 -0
- package/src/aurora/aurora.svelte +526 -0
- package/src/aurora/index.ts +24 -0
- package/src/avatar/avatar.meta.ts +7 -0
- package/src/avatar/avatar.svelte +213 -0
- package/src/avatar/index.ts +15 -0
- package/src/backdrop/backdrop.meta.ts +7 -0
- package/src/backdrop/backdrop.svelte +51 -0
- package/src/backdrop/index.ts +3 -0
- package/src/badge/badge.meta.ts +7 -0
- package/src/badge/badge.svelte +338 -0
- package/src/badge/index.ts +12 -0
- package/src/beam/beam.meta.ts +8 -0
- package/src/beam/beam.svelte +118 -0
- package/src/beam/index.ts +17 -0
- package/src/border-beam/border-beam.meta.ts +8 -0
- package/src/border-beam/border-beam.svelte +42 -0
- package/src/border-beam/index.ts +10 -0
- package/src/breadcrumb/breadcrumb-item.svelte +23 -0
- package/src/breadcrumb/breadcrumb-link.svelte +60 -0
- package/src/breadcrumb/breadcrumb-list.svelte +28 -0
- package/src/breadcrumb/breadcrumb-root.svelte +14 -0
- package/src/breadcrumb/breadcrumb-separator.svelte +25 -0
- package/src/breadcrumb/breadcrumb.meta.ts +7 -0
- package/src/breadcrumb/index.ts +44 -0
- package/src/button/button.meta.ts +7 -0
- package/src/button/button.svelte +675 -0
- package/src/button/index.ts +29 -0
- package/src/button-group/button-group.meta.ts +7 -0
- package/src/button-group/button-group.svelte +61 -0
- package/src/button-group/context.svelte.ts +15 -0
- package/src/button-group/index.ts +7 -0
- package/src/calendar/calendar-button-grid.svelte +58 -0
- package/src/calendar/calendar-button-next.svelte +13 -0
- package/src/calendar/calendar-button-prev.svelte +13 -0
- package/src/calendar/calendar-event-legend.svelte +63 -0
- package/src/calendar/calendar-header.svelte +28 -0
- package/src/calendar/calendar-heading.svelte +42 -0
- package/src/calendar/calendar-nav-button.svelte +39 -0
- package/src/calendar/calendar-root.svelte +211 -0
- package/src/calendar/calendar-week.svelte +515 -0
- package/src/calendar/calendar.meta.ts +7 -0
- package/src/calendar/context.svelte.ts +43 -0
- package/src/calendar/index.ts +57 -0
- package/src/calendar/types.ts +39 -0
- package/src/calendar/week-utils.ts +175 -0
- package/src/carousel/carousel-button-dots.svelte +74 -0
- package/src/carousel/carousel-button-next.svelte +13 -0
- package/src/carousel/carousel-button-prev.svelte +13 -0
- package/src/carousel/carousel-button-thumbnails.svelte +82 -0
- package/src/carousel/carousel-nav-button.svelte +31 -0
- package/src/carousel/carousel-root.svelte +432 -0
- package/src/carousel/carousel-slide.svelte +39 -0
- package/src/carousel/carousel-viewport.svelte +91 -0
- package/src/carousel/carousel.meta.ts +7 -0
- package/src/carousel/context.svelte.ts +22 -0
- package/src/carousel/index.ts +35 -0
- package/src/chart/chart-area.svelte +76 -0
- package/src/chart/chart-bars.svelte +102 -0
- package/src/chart/chart-donut.svelte +145 -0
- package/src/chart/chart-horizontal-bar.svelte +67 -0
- package/src/chart/chart-line.svelte +66 -0
- package/src/chart/chart-root.svelte +257 -0
- package/src/chart/chart-stacked-bar.svelte +77 -0
- package/src/chart/chart-x-axis.svelte +50 -0
- package/src/chart/chart-y-axis.svelte +71 -0
- package/src/chart/chart.meta.ts +7 -0
- package/src/chart/context.svelte.ts +29 -0
- package/src/chart/index.ts +86 -0
- package/src/chart/series-color.ts +12 -0
- package/src/chat-thread/chat-thread.meta.ts +7 -0
- package/src/chat-thread/chat-thread.svelte +97 -0
- package/src/chat-thread/index.ts +10 -0
- package/src/checkbox/checkbox-input.svelte +259 -0
- package/src/checkbox/checkbox.meta.ts +7 -0
- package/src/checkbox/index.ts +7 -0
- package/src/chip/chip-button.svelte +170 -0
- package/src/chip/chip.meta.ts +7 -0
- package/src/chip/index.ts +29 -0
- package/src/chip-group/chip-group-button-item.svelte +36 -0
- package/src/chip-group/chip-group-label.svelte +26 -0
- package/src/chip-group/chip-group-root.svelte +129 -0
- package/src/chip-group/chip-group.meta.ts +19 -0
- package/src/chip-group/context.svelte.ts +11 -0
- package/src/chip-group/index.ts +26 -0
- package/src/chromatic-aberration/chromatic-aberration.meta.ts +7 -0
- package/src/chromatic-aberration/chromatic-aberration.svelte +75 -0
- package/src/chromatic-aberration/index.ts +10 -0
- package/src/chromatic-shift/chromatic-shift.meta.ts +7 -0
- package/src/chromatic-shift/chromatic-shift.svelte +226 -0
- package/src/chromatic-shift/index.ts +5 -0
- package/src/clipboard/clipboard.meta.ts +7 -0
- package/src/clipboard/clipboard.svelte +38 -0
- package/src/clipboard/index.ts +3 -0
- package/src/code-block/code-block-button.svelte +371 -0
- package/src/code-block/code-block.meta.ts +7 -0
- package/src/code-block/highlighter/css.ts +387 -0
- package/src/code-block/highlighter/generic.ts +24 -0
- package/src/code-block/highlighter/index.ts +30 -0
- package/src/code-block/highlighter/svelte.ts +597 -0
- package/src/code-block/highlighter/types.ts +7 -0
- package/src/code-block/index.ts +11 -0
- package/src/collapsible/collapsible-button-trigger.svelte +50 -0
- package/src/collapsible/collapsible-content.svelte +57 -0
- package/src/collapsible/collapsible-root.svelte +48 -0
- package/src/collapsible/collapsible.meta.ts +7 -0
- package/src/collapsible/context.svelte.ts +10 -0
- package/src/collapsible/index.ts +30 -0
- package/src/color-picker/color-picker-area.svelte +181 -0
- package/src/color-picker/color-picker-button-eyedropper.svelte +61 -0
- package/src/color-picker/color-picker-channel-input.svelte +85 -0
- package/src/color-picker/color-picker-input-alpha-slider.svelte +144 -0
- package/src/color-picker/color-picker-input-hue-slider.svelte +146 -0
- package/src/color-picker/color-picker-input.svelte +129 -0
- package/src/color-picker/color-picker-root.svelte +185 -0
- package/src/color-picker/color-picker-swatch.svelte +116 -0
- package/src/color-picker/color-picker.meta.ts +7 -0
- package/src/color-picker/context.svelte.ts +19 -0
- package/src/color-picker/index.ts +45 -0
- package/src/combobox/combobox-content.svelte +124 -0
- package/src/combobox/combobox-empty.svelte +23 -0
- package/src/combobox/combobox-group.svelte +35 -0
- package/src/combobox/combobox-input-root.svelte +109 -0
- package/src/combobox/combobox-input.svelte +348 -0
- package/src/combobox/combobox-item.svelte +150 -0
- package/src/combobox/combobox.meta.ts +7 -0
- package/src/combobox/context.svelte.ts +22 -0
- package/src/combobox/index.ts +44 -0
- package/src/command-palette/command-palette-dialog-root.svelte +184 -0
- package/src/command-palette/command-palette-empty.svelte +30 -0
- package/src/command-palette/command-palette-group.svelte +37 -0
- package/src/command-palette/command-palette-input.svelte +91 -0
- package/src/command-palette/command-palette-item.svelte +100 -0
- package/src/command-palette/command-palette-list.svelte +52 -0
- package/src/command-palette/command-palette-separator.svelte +17 -0
- package/src/command-palette/command-palette.meta.ts +7 -0
- package/src/command-palette/context.svelte.ts +19 -0
- package/src/command-palette/index.ts +35 -0
- package/src/container/container.meta.ts +7 -0
- package/src/container/container.svelte +66 -0
- package/src/container/index.ts +10 -0
- package/src/context-menu/context-menu-content.svelte +114 -0
- package/src/context-menu/context-menu-group.svelte +15 -0
- package/src/context-menu/context-menu-item.svelte +27 -0
- package/src/context-menu/context-menu-label.svelte +15 -0
- package/src/context-menu/context-menu-root.svelte +26 -0
- package/src/context-menu/context-menu-separator.svelte +10 -0
- package/src/context-menu/context-menu-trigger.svelte +35 -0
- package/src/context-menu/context-menu.meta.ts +7 -0
- package/src/context-menu/context.svelte.ts +7 -0
- package/src/context-menu/index.ts +35 -0
- package/src/data-grid/context.svelte.ts +28 -0
- package/src/data-grid/data-grid-body.svelte +17 -0
- package/src/data-grid/data-grid-button-expand-trigger.svelte +45 -0
- package/src/data-grid/data-grid-button-input-column.svelte +263 -0
- package/src/data-grid/data-grid-button-pagination.svelte +130 -0
- package/src/data-grid/data-grid-cell.svelte +37 -0
- package/src/data-grid/data-grid-expandable-row.svelte +58 -0
- package/src/data-grid/data-grid-header.svelte +21 -0
- package/src/data-grid/data-grid-input-select-all.svelte +52 -0
- package/src/data-grid/data-grid-input-select-cell.svelte +40 -0
- package/src/data-grid/data-grid-root.svelte +229 -0
- package/src/data-grid/data-grid-row.svelte +38 -0
- package/src/data-grid/data-grid-table.svelte +21 -0
- package/src/data-grid/data-grid.meta.ts +7 -0
- package/src/data-grid/index.ts +75 -0
- package/src/date-field/context.svelte.ts +50 -0
- package/src/date-field/date-field-input-root.svelte +284 -0
- package/src/date-field/date-field-segment.svelte +180 -0
- package/src/date-field/date-field-separator.svelte +25 -0
- package/src/date-field/date-field.meta.ts +7 -0
- package/src/date-field/index.ts +23 -0
- package/src/date-picker/context.svelte.ts +27 -0
- package/src/date-picker/date-picker.meta.ts +7 -0
- package/src/date-picker/datepicker-button-calendar.svelte +58 -0
- package/src/date-picker/datepicker-button-trigger.svelte +72 -0
- package/src/date-picker/datepicker-content.svelte +35 -0
- package/src/date-picker/datepicker-input-root.svelte +137 -0
- package/src/date-picker/index.ts +27 -0
- package/src/date-range-picker/context.svelte.ts +30 -0
- package/src/date-range-picker/date-range-picker-button-calendar.svelte +96 -0
- package/src/date-range-picker/date-range-picker-button-preset.svelte +25 -0
- package/src/date-range-picker/date-range-picker-button-trigger.svelte +188 -0
- package/src/date-range-picker/date-range-picker-content.svelte +35 -0
- package/src/date-range-picker/date-range-picker-root.svelte +155 -0
- package/src/date-range-picker/date-range-picker.meta.ts +7 -0
- package/src/date-range-picker/index.ts +30 -0
- package/src/date-time-input/date-time-input.meta.ts +7 -0
- package/src/date-time-input/date-time-input.svelte +104 -0
- package/src/date-time-input/index.ts +7 -0
- package/src/description-list/description-list-description.svelte +23 -0
- package/src/description-list/description-list-item.svelte +34 -0
- package/src/description-list/description-list-root.svelte +22 -0
- package/src/description-list/description-list-term.svelte +23 -0
- package/src/description-list/description-list.meta.ts +7 -0
- package/src/description-list/index.ts +35 -0
- package/src/diagram/diagram.meta.ts +8 -0
- package/src/diagram/diagram.svelte +966 -0
- package/src/diagram/edge-routing.ts +782 -0
- package/src/diagram/index.ts +23 -0
- package/src/diagram/layout.ts +2024 -0
- package/src/diagram/types.ts +262 -0
- package/src/dialog/context.svelte.ts +10 -0
- package/src/dialog/dialog-body.svelte +23 -0
- package/src/dialog/dialog-close.svelte +18 -0
- package/src/dialog/dialog-content.svelte +18 -0
- package/src/dialog/dialog-footer.svelte +35 -0
- package/src/dialog/dialog-header.svelte +26 -0
- package/src/dialog/dialog-overlay.svelte +28 -0
- package/src/dialog/dialog-root.svelte +31 -0
- package/src/dialog/dialog-trigger.svelte +56 -0
- package/src/dialog/dialog.meta.ts +7 -0
- package/src/dialog/index.ts +39 -0
- package/src/displacement/displacement.meta.ts +7 -0
- package/src/displacement/displacement.svelte +139 -0
- package/src/displacement/index.ts +5 -0
- package/src/drag-and-drop/context.svelte.ts +21 -0
- package/src/drag-and-drop/drag-and-drop-group.svelte +37 -0
- package/src/drag-and-drop/drag-and-drop-handle.svelte +106 -0
- package/src/drag-and-drop/drag-and-drop-item.svelte +151 -0
- package/src/drag-and-drop/drag-and-drop-root.svelte +876 -0
- package/src/drag-and-drop/drag-and-drop.meta.ts +7 -0
- package/src/drag-and-drop/group-context.svelte.ts +20 -0
- package/src/drag-and-drop/index.ts +34 -0
- package/src/drawer/context.svelte.ts +11 -0
- package/src/drawer/drawer-body.svelte +33 -0
- package/src/drawer/drawer-close.svelte +18 -0
- package/src/drawer/drawer-dialog-content.svelte +18 -0
- package/src/drawer/drawer-footer.svelte +27 -0
- package/{dist/card/card-footer.svelte → src/drawer/drawer-header.svelte} +8 -10
- package/src/drawer/drawer-overlay.svelte +34 -0
- package/src/drawer/drawer-root.svelte +35 -0
- package/src/drawer/drawer-trigger.svelte +56 -0
- package/src/drawer/drawer.meta.ts +7 -0
- package/src/drawer/index.ts +43 -0
- package/src/drop-zone/drop-zone.meta.ts +7 -0
- package/src/drop-zone/drop-zone.svelte +95 -0
- package/src/drop-zone/index.ts +6 -0
- package/src/dropdown-menu/context.svelte.ts +7 -0
- package/src/dropdown-menu/dropdown-menu-content.svelte +137 -0
- package/src/dropdown-menu/dropdown-menu-group.svelte +15 -0
- package/src/dropdown-menu/dropdown-menu-item.svelte +27 -0
- package/src/dropdown-menu/dropdown-menu-label.svelte +15 -0
- package/src/dropdown-menu/dropdown-menu-root.svelte +26 -0
- package/src/dropdown-menu/dropdown-menu-separator.svelte +10 -0
- package/src/dropdown-menu/dropdown-menu-trigger.svelte +65 -0
- package/src/dropdown-menu/dropdown-menu.meta.ts +7 -0
- package/src/dropdown-menu/index.ts +35 -0
- package/src/enter/enter.meta.ts +8 -0
- package/src/enter/index.ts +1 -0
- package/src/exit/exit.meta.ts +8 -0
- package/src/exit/index.ts +1 -0
- package/src/field/field-description.svelte +38 -0
- package/src/field/field-error.svelte +40 -0
- package/src/field/field-root.svelte +98 -0
- package/src/field/field.meta.ts +7 -0
- package/src/field/index.ts +15 -0
- package/src/fieldset/fieldset-content.svelte +21 -0
- package/src/fieldset/fieldset-description.svelte +26 -0
- package/src/fieldset/fieldset-legend.svelte +26 -0
- package/src/fieldset/fieldset-root.svelte +27 -0
- package/src/fieldset/fieldset.meta.ts +7 -0
- package/src/fieldset/index.ts +35 -0
- package/src/file-select/context.svelte.ts +10 -0
- package/src/file-select/file-select-button-clear.svelte +37 -0
- package/src/file-select/file-select-button-trigger.svelte +26 -0
- package/src/file-select/file-select-root.svelte +168 -0
- package/src/file-select/file-select-value.svelte +43 -0
- package/src/file-select/file-select.meta.ts +7 -0
- package/src/file-select/index.ts +29 -0
- package/src/file-upload/context.svelte.ts +17 -0
- package/src/file-upload/file-upload-button-item-delete.svelte +36 -0
- package/src/file-upload/file-upload-button-trigger.svelte +31 -0
- package/src/file-upload/file-upload-dropzone.svelte +145 -0
- package/src/file-upload/file-upload-input-root.svelte +144 -0
- package/src/file-upload/file-upload-item.svelte +63 -0
- package/src/file-upload/file-upload-list.svelte +37 -0
- package/src/file-upload/file-upload.meta.ts +7 -0
- package/src/file-upload/index.ts +52 -0
- package/src/flip-card/context.svelte.ts +8 -0
- package/src/flip-card/flip-card-back.svelte +34 -0
- package/src/flip-card/flip-card-front.svelte +25 -0
- package/src/flip-card/flip-card-root.svelte +116 -0
- package/src/flip-card/flip-card.meta.ts +7 -0
- package/src/flip-card/index.ts +15 -0
- package/src/float-button/context.svelte.ts +10 -0
- package/src/float-button/float-button-action.svelte +56 -0
- package/src/float-button/float-button-root.svelte +102 -0
- package/src/float-button/float-button-trigger.svelte +43 -0
- package/src/float-button/float-button.meta.ts +7 -0
- package/src/float-button/index.ts +29 -0
- package/src/focus-trap/focus-trap.meta.ts +7 -0
- package/src/focus-trap/focus-trap.svelte +16 -0
- package/src/focus-trap/index.ts +3 -0
- package/src/format-bytes/format-bytes.meta.ts +7 -0
- package/src/format-bytes/format-bytes.svelte +60 -0
- package/src/format-bytes/index.ts +3 -0
- package/src/format-date/format-date.meta.ts +7 -0
- package/src/format-date/format-date.svelte +80 -0
- package/src/format-date/index.ts +3 -0
- package/src/format-number/format-number.meta.ts +7 -0
- package/src/format-number/format-number.svelte +59 -0
- package/src/format-number/index.ts +3 -0
- package/src/gauge/gauge.meta.ts +7 -0
- package/src/gauge/gauge.svelte +143 -0
- package/src/gauge/index.ts +2 -0
- package/src/glass/glass.meta.ts +7 -0
- package/src/glass/glass.svelte +49 -0
- package/src/glass/index.ts +11 -0
- package/src/glow/glow.meta.ts +7 -0
- package/src/glow/glow.svelte +60 -0
- package/src/glow/index.ts +15 -0
- package/src/god-rays/god-rays.meta.ts +8 -0
- package/src/god-rays/god-rays.svelte +132 -0
- package/src/god-rays/index.ts +17 -0
- package/src/gradient-mesh/gradient-mesh.meta.ts +7 -0
- package/src/gradient-mesh/gradient-mesh.svelte +302 -0
- package/src/gradient-mesh/index.ts +5 -0
- package/src/halftone/halftone.meta.ts +7 -0
- package/src/halftone/halftone.svelte +93 -0
- package/src/halftone/index.ts +14 -0
- package/src/heading/heading.meta.ts +7 -0
- package/src/heading/heading.svelte +120 -0
- package/src/heading/index.ts +17 -0
- package/src/hotkey/hotkey.meta.ts +7 -0
- package/src/hotkey/index.ts +2 -0
- package/src/hover-card/context.svelte.ts +1 -0
- package/src/hover-card/hover-card-content.svelte +121 -0
- package/src/hover-card/hover-card-root.svelte +11 -0
- package/src/hover-card/hover-card-trigger.svelte +109 -0
- package/src/hover-card/hover-card.meta.ts +7 -0
- package/src/hover-card/index.ts +19 -0
- package/src/icon/icon.meta.ts +7 -0
- package/src/icon/icon.svelte +92 -0
- package/src/icon/index.ts +11 -0
- package/src/icon-swap/icon-swap.meta.ts +7 -0
- package/src/icon-swap/icon-swap.svelte +48 -0
- package/src/icon-swap/index.ts +1 -0
- package/src/image/image.meta.ts +7 -0
- package/src/image/image.svelte +73 -0
- package/src/image/index.ts +3 -0
- package/src/image-comparison/image-comparison.meta.ts +7 -0
- package/src/image-comparison/image-comparison.svelte +272 -0
- package/src/image-comparison/index.ts +3 -0
- package/src/index.ts +863 -0
- package/src/infinite-scroll/index.ts +3 -0
- package/src/infinite-scroll/infinite-scroll.meta.ts +7 -0
- package/src/infinite-scroll/infinite-scroll.svelte +109 -0
- package/src/input/index.ts +8 -0
- package/src/input/input.meta.ts +7 -0
- package/src/input/input.svelte +261 -0
- package/src/input-group/context.svelte.ts +9 -0
- package/src/input-group/index.ts +45 -0
- package/src/input-group/input-group-action-button.svelte +29 -0
- package/src/input-group/input-group-input.svelte +57 -0
- package/src/input-group/input-group-prefix.svelte +43 -0
- package/src/input-group/input-group-root.svelte +108 -0
- package/src/input-group/input-group-select.svelte +70 -0
- package/src/input-group/input-group-separator.svelte +38 -0
- package/src/input-group/input-group-suffix.svelte +43 -0
- package/src/input-group/input-group.meta.ts +8 -0
- package/src/internal/anchored-overlay-content.svelte.ts +42 -0
- package/src/internal/calendar-event-layout.ts +294 -0
- package/src/internal/calendar-grid-button.svelte +805 -0
- package/src/internal/calendar-grid-utils.ts +123 -0
- package/src/internal/close-button-base.svelte +35 -0
- package/src/internal/color-aliases.ts +37 -0
- package/src/internal/date-family-controller.svelte.ts +165 -0
- package/src/internal/form-control-wrapper-attrs.ts +20 -0
- package/src/internal/menu-group.svelte +15 -0
- package/src/internal/menu-item.svelte +89 -0
- package/src/internal/menu-label.svelte +24 -0
- package/src/internal/menu-root-state.svelte.ts +73 -0
- package/src/internal/menu-separator.svelte +19 -0
- package/src/internal/modal-content.svelte +351 -0
- package/src/internal/motion.ts +85 -0
- package/src/internal/nav-arrow-button.svelte +42 -0
- package/src/internal/picker-popover-content.svelte +111 -0
- package/src/kbd/index.ts +9 -0
- package/src/kbd/kbd.meta.ts +7 -0
- package/src/kbd/kbd.svelte +56 -0
- package/src/label/index.ts +7 -0
- package/src/label/label.meta.ts +7 -0
- package/src/label/label.svelte +74 -0
- package/src/link/index.ts +7 -0
- package/src/link/link.meta.ts +7 -0
- package/src/link/link.svelte +104 -0
- package/src/link-preview/context.svelte.ts +15 -0
- package/src/link-preview/index.ts +19 -0
- package/src/link-preview/link-preview-content.svelte +87 -0
- package/src/link-preview/link-preview-root.svelte +72 -0
- package/src/link-preview/link-preview-trigger.svelte +61 -0
- package/src/link-preview/link-preview.meta.ts +7 -0
- package/src/list/context.svelte.ts +7 -0
- package/src/list/index.ts +27 -0
- package/src/list/list-item-icon.svelte +22 -0
- package/src/list/list-item-text.svelte +42 -0
- package/src/list/list-item.svelte +116 -0
- package/src/list/list-root.svelte +71 -0
- package/src/list/list-subheader.svelte +25 -0
- package/src/list/list.meta.ts +7 -0
- package/src/listbox/context.svelte.ts +10 -0
- package/src/listbox/index.ts +12 -0
- package/src/listbox/listbox-item.svelte +90 -0
- package/src/listbox/listbox-root.svelte +115 -0
- package/src/listbox/listbox.meta.ts +7 -0
- package/src/logo-mark/index.ts +12 -0
- package/src/logo-mark/logo-mark.meta.ts +7 -0
- package/src/logo-mark/logo-mark.svelte +154 -0
- package/src/map/context.svelte.ts +19 -0
- package/src/map/index.ts +77 -0
- package/src/map/map-controls.svelte +68 -0
- package/src/map/map-layer.svelte +101 -0
- package/src/map/map-marker.svelte +83 -0
- package/src/map/map-popup.svelte +71 -0
- package/src/map/map-root.svelte +244 -0
- package/src/map/map.meta.ts +7 -0
- package/src/markdown-renderer/index.ts +4 -0
- package/src/markdown-renderer/markdown-renderer.meta.ts +7 -0
- package/src/markdown-renderer/markdown-renderer.svelte +202 -0
- package/src/marquee/index.ts +3 -0
- package/src/marquee/marquee.meta.ts +7 -0
- package/src/marquee/marquee.svelte +218 -0
- package/src/mask-reveal/index.ts +5 -0
- package/src/mask-reveal/mask-reveal.meta.ts +7 -0
- package/src/mask-reveal/mask-reveal.svelte +214 -0
- package/src/mega-menu/context.svelte.ts +17 -0
- package/src/mega-menu/index.ts +31 -0
- package/src/mega-menu/mega-menu-button-trigger.svelte +37 -0
- package/src/mega-menu/mega-menu-column.svelte +34 -0
- package/src/mega-menu/mega-menu-item.svelte +51 -0
- package/src/mega-menu/mega-menu-link.svelte +137 -0
- package/src/mega-menu/mega-menu-panel.svelte +134 -0
- package/src/mega-menu/mega-menu-root.svelte +98 -0
- package/src/mega-menu/mega-menu.meta.ts +7 -0
- package/src/menubar/context.svelte.ts +24 -0
- package/src/menubar/index.ts +35 -0
- package/src/menubar/menubar-button-trigger.svelte +75 -0
- package/src/menubar/menubar-content.svelte +147 -0
- package/src/menubar/menubar-item.svelte +96 -0
- package/{dist/card/card-header.svelte → src/menubar/menubar-label.svelte} +6 -10
- package/src/menubar/menubar-menu.svelte +32 -0
- package/src/menubar/menubar-root.svelte +78 -0
- package/src/menubar/menubar-separator.svelte +17 -0
- package/src/menubar/menubar.meta.ts +7 -0
- package/src/motion/enter.svelte +29 -0
- package/src/motion/enter.ts +46 -0
- package/src/motion/exit.svelte +21 -0
- package/src/motion/index.ts +7 -0
- package/src/motion/leave.ts +41 -0
- package/src/motion/motion.meta.ts +8 -0
- package/src/motion/stagger.svelte +30 -0
- package/src/multi-select-combobox/context.svelte.ts +31 -0
- package/src/multi-select-combobox/index.ts +43 -0
- package/src/multi-select-combobox/multi-select-combobox-content.svelte +118 -0
- package/src/multi-select-combobox/multi-select-combobox-empty.svelte +28 -0
- package/src/multi-select-combobox/multi-select-combobox-group.svelte +33 -0
- package/src/multi-select-combobox/multi-select-combobox-input.svelte +161 -0
- package/src/multi-select-combobox/multi-select-combobox-item.svelte +140 -0
- package/src/multi-select-combobox/multi-select-combobox-root-input.svelte +286 -0
- package/src/multi-select-combobox/multi-select-combobox-selection-item.svelte +63 -0
- package/src/multi-select-combobox/multi-select-combobox-selection-list.svelte +29 -0
- package/src/multi-select-combobox/multi-select-combobox-selection-remove-button.svelte +36 -0
- package/src/multi-select-combobox/multi-select-combobox.meta.ts +7 -0
- package/src/navigation-menu/context.svelte.ts +18 -0
- package/src/navigation-menu/index.ts +50 -0
- package/src/navigation-menu/navigation-menu-content.svelte +55 -0
- package/src/navigation-menu/navigation-menu-item.svelte +35 -0
- package/src/navigation-menu/navigation-menu-link.svelte +49 -0
- package/src/navigation-menu/navigation-menu-list.svelte +47 -0
- package/src/navigation-menu/navigation-menu-root.svelte +46 -0
- package/src/navigation-menu/navigation-menu-trigger-button.svelte +62 -0
- package/src/navigation-menu/navigation-menu.meta.ts +7 -0
- package/src/noise/index.ts +15 -0
- package/src/noise/noise.meta.ts +7 -0
- package/src/noise/noise.svelte +179 -0
- package/src/notification-center/context.svelte.ts +24 -0
- package/src/notification-center/index.ts +28 -0
- package/src/notification-center/notification-center-group.svelte +30 -0
- package/src/notification-center/notification-center-item.svelte +70 -0
- package/src/notification-center/notification-center-panel.svelte +162 -0
- package/src/notification-center/notification-center-root.svelte +73 -0
- package/src/notification-center/notification-center-trigger-button.svelte +28 -0
- package/src/notification-center/notification-center.meta.ts +7 -0
- package/src/number-input/index.ts +7 -0
- package/src/number-input/number-input-button.svelte +222 -0
- package/src/number-input/number-input.meta.ts +7 -0
- package/src/numeric/index.ts +1 -0
- package/src/numeric/numeric.meta.ts +7 -0
- package/src/numeric/numeric.svelte +64 -0
- package/src/option-picker/context.svelte.ts +11 -0
- package/src/option-picker/index.ts +52 -0
- package/src/option-picker/option-picker-description.svelte +25 -0
- package/src/option-picker/option-picker-item.svelte +242 -0
- package/src/option-picker/option-picker-label.svelte +24 -0
- package/src/option-picker/option-picker-meta.svelte +24 -0
- package/src/option-picker/option-picker-preview.svelte +155 -0
- package/src/option-picker/option-picker-root.svelte +82 -0
- package/src/option-picker/option-picker.meta.ts +8 -0
- package/src/pagination/context.svelte.ts +12 -0
- package/src/pagination/index.ts +35 -0
- package/src/pagination/pagination-content.svelte +27 -0
- package/src/pagination/pagination-ellipsis.svelte +19 -0
- package/src/pagination/pagination-item.svelte +14 -0
- package/src/pagination/pagination-link-button.svelte +28 -0
- package/src/pagination/pagination-nav-button.svelte +28 -0
- package/src/pagination/pagination-next-button.svelte +13 -0
- package/src/pagination/pagination-previous-button.svelte +13 -0
- package/src/pagination/pagination-root.svelte +48 -0
- package/src/pagination/pagination.meta.ts +7 -0
- package/src/phone-input/index.ts +9 -0
- package/src/phone-input/phone-input-select.svelte +286 -0
- package/src/phone-input/phone-input.meta.ts +7 -0
- package/src/pin-input/context.svelte.ts +18 -0
- package/src/pin-input/index.ts +31 -0
- package/src/pin-input/pin-input-cell.svelte +117 -0
- package/src/pin-input/pin-input-group.svelte +24 -0
- package/src/pin-input/pin-input-root.svelte +315 -0
- package/src/pin-input/pin-input-separator.svelte +28 -0
- package/src/pin-input/pin-input.meta.ts +7 -0
- package/src/popover/context.svelte.ts +13 -0
- package/src/popover/index.ts +15 -0
- package/src/popover/popover-content.svelte +112 -0
- package/src/popover/popover-root.svelte +39 -0
- package/src/popover/popover-trigger.svelte +62 -0
- package/src/popover/popover.meta.ts +7 -0
- package/src/portal/index.ts +3 -0
- package/src/portal/portal.meta.ts +7 -0
- package/src/portal/portal.svelte +14 -0
- package/src/progress/index.ts +14 -0
- package/src/progress/progress.meta.ts +7 -0
- package/src/progress/progress.svelte +302 -0
- package/src/progress-ring/index.ts +8 -0
- package/src/progress-ring/progress-ring.meta.ts +7 -0
- package/src/progress-ring/progress-ring.svelte +169 -0
- package/src/prompt-input/index.ts +16 -0
- package/src/prompt-input/prompt-input-button-textarea.svelte +171 -0
- package/src/prompt-input/prompt-input.meta.ts +7 -0
- package/src/qr-code/index.ts +3 -0
- package/src/qr-code/qr-code.meta.ts +7 -0
- package/src/qr-code/qr-code.svelte +149 -0
- package/src/radio-group/context.svelte.ts +10 -0
- package/src/radio-group/index.ts +12 -0
- package/src/radio-group/radio-group-item-input.svelte +197 -0
- package/src/radio-group/radio-group.meta.ts +7 -0
- package/src/radio-group/radio-group.svelte +117 -0
- package/src/range-calendar/context.svelte.ts +22 -0
- package/src/range-calendar/index.ts +16 -0
- package/src/range-calendar/range-calendar-grid-button.svelte +77 -0
- package/src/range-calendar/range-calendar-root.svelte +146 -0
- package/src/range-calendar/range-calendar.meta.ts +7 -0
- package/src/rating/index.ts +7 -0
- package/src/rating/rating-button-input.svelte +265 -0
- package/src/rating/rating.meta.ts +7 -0
- package/src/relative-time/index.ts +3 -0
- package/src/relative-time/relative-time.meta.ts +7 -0
- package/src/relative-time/relative-time.svelte +71 -0
- package/src/reveal/index.ts +7 -0
- package/src/reveal/reveal.meta.ts +8 -0
- package/src/reveal/reveal.svelte +190 -0
- package/src/rich-text-editor/index.ts +19 -0
- package/src/rich-text-editor/rich-text-editor-content.svelte +184 -0
- package/src/rich-text-editor/rich-text-editor-root.svelte +213 -0
- package/src/rich-text-editor/rich-text-editor-toolbar-button-input.svelte +541 -0
- package/src/rich-text-editor/rich-text-editor.meta.ts +7 -0
- package/src/scroll-area/index.ts +3 -0
- package/src/scroll-area/scroll-area.meta.ts +7 -0
- package/src/scroll-area/scroll-area.svelte +85 -0
- package/src/scroll-to-top/index.ts +8 -0
- package/src/scroll-to-top/scroll-to-top-button.svelte +89 -0
- package/src/scroll-to-top/scroll-to-top.meta.ts +7 -0
- package/src/segmented-control/context.svelte.ts +10 -0
- package/src/segmented-control/index.ts +12 -0
- package/src/segmented-control/segmented-control-item-button.svelte +37 -0
- package/src/segmented-control/segmented-control-root.svelte +125 -0
- package/src/segmented-control/segmented-control.meta.ts +7 -0
- package/src/select/context.svelte.ts +17 -0
- package/src/select/index.ts +27 -0
- package/src/select/select-content.svelte +202 -0
- package/src/select/select-item.svelte +118 -0
- package/src/select/select-root-input.svelte +105 -0
- package/src/select/select-trigger-button.svelte +183 -0
- package/src/select/select-value.svelte +27 -0
- package/src/select/select.meta.ts +7 -0
- package/src/separator/index.ts +9 -0
- package/src/separator/separator.meta.ts +7 -0
- package/src/separator/separator.svelte +70 -0
- package/src/shader-canvas/index.ts +28 -0
- package/src/shader-canvas/presets.ts +212 -0
- package/src/shader-canvas/shader-canvas.meta.ts +7 -0
- package/src/shader-canvas/shader-canvas.svelte +115 -0
- package/src/shimmer/index.ts +10 -0
- package/src/shimmer/shimmer.meta.ts +7 -0
- package/src/shimmer/shimmer.svelte +125 -0
- package/src/sidebar/context.svelte.ts +10 -0
- package/src/sidebar/index.ts +66 -0
- package/src/sidebar/sidebar-content.svelte +43 -0
- package/src/sidebar/sidebar-footer.svelte +28 -0
- package/src/sidebar/sidebar-group-label.svelte +45 -0
- package/src/sidebar/sidebar-group.svelte +29 -0
- package/src/sidebar/sidebar-header.svelte +34 -0
- package/src/sidebar/sidebar-item.svelte +57 -0
- package/src/sidebar/sidebar-root.svelte +76 -0
- package/src/sidebar/sidebar-trigger-button.svelte +29 -0
- package/src/sidebar/sidebar.meta.ts +7 -0
- package/src/skeleton/index.ts +9 -0
- package/src/skeleton/skeleton.meta.ts +7 -0
- package/src/skeleton/skeleton.svelte +97 -0
- package/src/slider/index.ts +12 -0
- package/src/slider/slider-input.svelte +277 -0
- package/src/slider/slider.meta.ts +7 -0
- package/src/spacer/index.ts +8 -0
- package/src/spacer/spacer.meta.ts +7 -0
- package/src/spacer/spacer.svelte +84 -0
- package/src/sparkline/index.ts +3 -0
- package/src/sparkline/sparkline.meta.ts +7 -0
- package/src/sparkline/sparkline.svelte +113 -0
- package/src/spinner/index.ts +9 -0
- package/src/spinner/spinner.meta.ts +7 -0
- package/src/spinner/spinner.svelte +110 -0
- package/src/splitter/context.svelte.ts +11 -0
- package/src/splitter/index.ts +15 -0
- package/src/splitter/splitter-handle.svelte +171 -0
- package/src/splitter/splitter-panel.svelte +28 -0
- package/src/splitter/splitter-root.svelte +128 -0
- package/src/splitter/splitter.meta.ts +7 -0
- package/src/spotlight/index.ts +5 -0
- package/src/spotlight/spotlight.meta.ts +8 -0
- package/src/spotlight/spotlight.svelte +249 -0
- package/src/stagger/index.ts +1 -0
- package/src/stagger/stagger.meta.ts +8 -0
- package/src/star-rating/index.ts +16 -0
- package/src/star-rating/star-rating-root.svelte +109 -0
- package/src/star-rating/star-rating.meta.ts +7 -0
- package/src/stepper/context.svelte.ts +9 -0
- package/src/stepper/index.ts +23 -0
- package/src/stepper/stepper-list.svelte +37 -0
- package/src/stepper/stepper-root.svelte +51 -0
- package/src/stepper/stepper-separator.svelte +45 -0
- package/src/stepper/stepper-step-button.svelte +113 -0
- package/src/stepper/stepper.meta.ts +7 -0
- package/src/svg/index.ts +5 -0
- package/src/svg/svg.meta.ts +7 -0
- package/src/svg/svg.svelte +19 -0
- package/src/table/index.ts +39 -0
- package/src/table/table-body.svelte +14 -0
- package/src/table/table-caption.svelte +25 -0
- package/src/table/table-cell.svelte +24 -0
- package/src/table/table-footer.svelte +21 -0
- package/src/table/table-head.svelte +26 -0
- package/src/table/table-header.svelte +21 -0
- package/src/table/table-root.svelte +64 -0
- package/src/table/table-row.svelte +28 -0
- package/src/table/table.meta.ts +7 -0
- package/src/table-of-contents/context.svelte.ts +14 -0
- package/src/table-of-contents/index.ts +20 -0
- package/src/table-of-contents/table-of-contents-item.svelte +86 -0
- package/src/table-of-contents/table-of-contents-list.svelte +87 -0
- package/src/table-of-contents/table-of-contents-root.svelte +88 -0
- package/src/table-of-contents/table-of-contents.meta.ts +7 -0
- package/src/tabs/context.svelte.ts +16 -0
- package/src/tabs/index.ts +43 -0
- package/src/tabs/tabs-content.svelte +42 -0
- package/src/tabs/tabs-list.svelte +102 -0
- package/src/tabs/tabs-root.svelte +59 -0
- package/src/tabs/tabs-trigger-button.svelte +41 -0
- package/src/tabs/tabs.meta.ts +7 -0
- package/src/tag/index.ts +12 -0
- package/src/tag/tag-button.svelte +254 -0
- package/src/tag/tag.meta.ts +7 -0
- package/src/tags-input/context.svelte.ts +13 -0
- package/src/tags-input/index.ts +32 -0
- package/src/tags-input/tags-input-input.svelte +85 -0
- package/src/tags-input/tags-input-list.svelte +20 -0
- package/src/tags-input/tags-input-root.svelte +136 -0
- package/src/tags-input/tags-input-tag-delete-button.svelte +31 -0
- package/src/tags-input/tags-input-tag.svelte +61 -0
- package/src/tags-input/tags-input.meta.ts +7 -0
- package/src/text/index.ts +20 -0
- package/src/text/text.meta.ts +7 -0
- package/src/text/text.svelte +150 -0
- package/src/textarea/index.ts +7 -0
- package/src/textarea/textarea.meta.ts +7 -0
- package/src/textarea/textarea.svelte +210 -0
- package/src/theme-toggle/index.ts +30 -0
- package/src/theme-toggle/theme-controller.svelte.ts +171 -0
- package/src/theme-toggle/theme-flash.ts +39 -0
- package/src/theme-toggle/theme-toggle.meta.ts +7 -0
- package/src/theme-toggle/theme-toggle.svelte +199 -0
- package/src/themes/aurora.css +243 -0
- package/src/themes/component-defaults.css +47 -0
- package/src/themes/dark.css +317 -0
- package/src/themes/default.css +618 -0
- package/src/themes/midnight.css +147 -0
- package/src/themes/terminal.css +161 -0
- package/src/themes/token-scope.ts +1 -0
- package/src/time-input/index.ts +10 -0
- package/src/time-input/time-input.meta.ts +7 -0
- package/src/time-input/time-input.svelte +157 -0
- package/src/timeline/index.ts +40 -0
- package/src/timeline/timeline-content.svelte +22 -0
- package/src/timeline/timeline-description.svelte +22 -0
- package/src/timeline/timeline-icon.svelte +41 -0
- package/src/timeline/timeline-item.svelte +57 -0
- package/src/timeline/timeline-root.svelte +43 -0
- package/src/timeline/timeline-time.svelte +22 -0
- package/src/timeline/timeline-title.svelte +55 -0
- package/src/timeline/timeline.meta.ts +7 -0
- package/src/toast/context.svelte.ts +7 -0
- package/src/toast/index.ts +33 -0
- package/src/toast/toast-action-button.svelte +16 -0
- package/src/toast/toast-close-button.svelte +35 -0
- package/src/toast/toast-description.svelte +24 -0
- package/src/toast/toast-provider.svelte +120 -0
- package/src/toast/toast-root.svelte +169 -0
- package/src/toast/toast-title.svelte +25 -0
- package/src/toast/toast.meta.ts +7 -0
- package/src/toggle/index.ts +9 -0
- package/src/toggle/toggle-button.svelte +218 -0
- package/src/toggle/toggle.meta.ts +7 -0
- package/src/toggle-group/context.svelte.ts +12 -0
- package/src/toggle-group/index.ts +18 -0
- package/src/toggle-group/toggle-group-item-button.svelte +36 -0
- package/src/toggle-group/toggle-group-root.svelte +106 -0
- package/src/toggle-group/toggle-group.meta.ts +7 -0
- package/src/token-scope/index.ts +8 -0
- package/src/token-scope/token-scope.meta.ts +7 -0
- package/src/toolbar/context.svelte.ts +6 -0
- package/src/toolbar/index.ts +23 -0
- package/src/toolbar/toolbar-button.svelte +16 -0
- package/src/toolbar/toolbar-link.svelte +46 -0
- package/src/toolbar/toolbar-root.svelte +100 -0
- package/src/toolbar/toolbar-separator.svelte +33 -0
- package/src/toolbar/toolbar.meta.ts +7 -0
- package/src/tooltip/context.svelte.ts +14 -0
- package/src/tooltip/index.ts +15 -0
- package/src/tooltip/tooltip-content.svelte +106 -0
- package/src/tooltip/tooltip-root.svelte +73 -0
- package/src/tooltip/tooltip-trigger.svelte +74 -0
- package/src/tooltip/tooltip.meta.ts +7 -0
- package/src/tour/index.ts +12 -0
- package/src/tour/tour-root.css +215 -0
- package/src/tour/tour-root.css.d.ts +2 -0
- package/src/tour/tour-root.svelte +19 -0
- package/src/tour/tour-tooltip-button.svelte +48 -0
- package/src/tour/tour.meta.ts +7 -0
- package/src/transfer/context.svelte.ts +31 -0
- package/src/transfer/index.ts +29 -0
- package/src/transfer/transfer-actions-button.svelte +91 -0
- package/src/transfer/transfer-item.svelte +35 -0
- package/src/transfer/transfer-list-input.svelte +204 -0
- package/src/transfer/transfer-root.svelte +145 -0
- package/src/transfer/transfer.meta.ts +7 -0
- package/src/tree/context.svelte.ts +24 -0
- package/src/tree/index.ts +23 -0
- package/src/tree/tree-item-children.svelte +51 -0
- package/src/tree/tree-item-label.svelte +56 -0
- package/src/tree/tree-item.svelte +63 -0
- package/src/tree/tree-root.svelte +246 -0
- package/src/tree/tree.meta.ts +7 -0
- package/src/typing-indicator/index.ts +5 -0
- package/src/typing-indicator/typing-indicator.meta.ts +7 -0
- package/src/typing-indicator/typing-indicator.svelte +72 -0
- package/src/typography/blockquote.svelte +24 -0
- package/src/typography/code.svelte +25 -0
- package/src/typography/heading.svelte +17 -0
- package/src/typography/index.ts +30 -0
- package/src/typography/text.svelte +25 -0
- package/src/typography/typography.meta.ts +7 -0
- package/src/video-embed/index.ts +3 -0
- package/src/video-embed/video-embed-button.svelte +177 -0
- package/src/video-embed/video-embed.meta.ts +7 -0
- package/src/virtual-list/index.ts +3 -0
- package/src/virtual-list/virtual-list.meta.ts +7 -0
- package/src/virtual-list/virtual-list.svelte +239 -0
- package/src/visually-hidden/index.ts +8 -0
- package/src/visually-hidden/visually-hidden.meta.ts +7 -0
- package/src/visually-hidden/visually-hidden.svelte +28 -0
- package/dist/card/card-content.svelte +0 -32
- package/dist/card/card-content.svelte.d.ts +0 -9
- package/dist/card/card-footer.svelte.d.ts +0 -8
- package/dist/card/card-header.svelte.d.ts +0 -8
- package/dist/card/card-root.svelte +0 -184
- package/dist/card/card-root.svelte.d.ts +0 -15
- package/dist/card/card.meta.js +0 -7
- package/dist/card/index.d.ts +0 -31
- package/dist/card/index.js +0 -10
- package/skills/dryui/SKILL.md +0 -308
- package/skills/dryui/agents/openai.yaml +0 -10
- package/skills/dryui/rules/accessibility.md +0 -215
- package/skills/dryui/rules/composition.md +0 -500
- package/skills/dryui/rules/compound-components.md +0 -312
- package/skills/dryui/rules/design-brief.md +0 -59
- package/skills/dryui/rules/design.md +0 -71
- package/skills/dryui/rules/native-web-transitions.md +0 -99
- package/skills/dryui/rules/svelte.md +0 -234
- package/skills/dryui/rules/theming.md +0 -305
- /package/dist/{card/card.meta.d.ts → token-scope/token-scope.meta.d.ts} +0 -0
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
# Compound Components
|
|
2
|
-
|
|
3
|
-
## Core Rule
|
|
4
|
-
|
|
5
|
-
Every compound component uses `.Root` as the container. Never use the bare name.
|
|
6
|
-
|
|
7
|
-
```svelte
|
|
8
|
-
<!-- Incorrect -->
|
|
9
|
-
<Card>...</Card>
|
|
10
|
-
<Dialog>...</Dialog>
|
|
11
|
-
<Tabs>...</Tabs>
|
|
12
|
-
|
|
13
|
-
<!-- Correct -->
|
|
14
|
-
<Card.Root>...</Card.Root>
|
|
15
|
-
<Dialog.Root>...</Dialog.Root>
|
|
16
|
-
<Tabs.Root>...</Tabs.Root>
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Parts Reference
|
|
20
|
-
|
|
21
|
-
Below are the parts for the most commonly used compound components. Prefer `dryui info <name>` for the full, up-to-date parts list; if MCP is available, `ask --scope component "<name>"` is equivalent.
|
|
22
|
-
|
|
23
|
-
### Card
|
|
24
|
-
|
|
25
|
-
Parts: Root, Header, Content, Footer
|
|
26
|
-
|
|
27
|
-
```svelte
|
|
28
|
-
<Card.Root>
|
|
29
|
-
<Card.Header>Title</Card.Header>
|
|
30
|
-
<Card.Content>
|
|
31
|
-
<p>Body content goes here.</p>
|
|
32
|
-
</Card.Content>
|
|
33
|
-
<Card.Footer>
|
|
34
|
-
<Button variant="solid">Action</Button>
|
|
35
|
-
</Card.Footer>
|
|
36
|
-
</Card.Root>
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### Dialog
|
|
40
|
-
|
|
41
|
-
Parts: Root, Trigger, Content, Overlay, Header, Body, Footer, Close
|
|
42
|
-
|
|
43
|
-
```svelte
|
|
44
|
-
<script>
|
|
45
|
-
let showDialog = $state(false);
|
|
46
|
-
</script>
|
|
47
|
-
|
|
48
|
-
<Dialog.Root bind:open={showDialog}>
|
|
49
|
-
<Dialog.Trigger>
|
|
50
|
-
<Button>Open Dialog</Button>
|
|
51
|
-
</Dialog.Trigger>
|
|
52
|
-
<Dialog.Content>
|
|
53
|
-
<Dialog.Header>Confirm Action</Dialog.Header>
|
|
54
|
-
<Dialog.Body>
|
|
55
|
-
<p>Are you sure you want to proceed?</p>
|
|
56
|
-
</Dialog.Body>
|
|
57
|
-
<Dialog.Footer>
|
|
58
|
-
<Button variant="outline" onclick={() => (showDialog = false)}>Cancel</Button>
|
|
59
|
-
<Button variant="solid">Confirm</Button>
|
|
60
|
-
</Dialog.Footer>
|
|
61
|
-
</Dialog.Content>
|
|
62
|
-
</Dialog.Root>
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Drawer
|
|
66
|
-
|
|
67
|
-
Parts: Root, Trigger, Content, Overlay, Header, Body, Footer, Close
|
|
68
|
-
|
|
69
|
-
Same structure as Dialog but slides in from the side.
|
|
70
|
-
|
|
71
|
-
```svelte
|
|
72
|
-
<script>
|
|
73
|
-
let showDrawer = $state(false);
|
|
74
|
-
</script>
|
|
75
|
-
|
|
76
|
-
<Drawer.Root bind:open={showDrawer}>
|
|
77
|
-
<Drawer.Trigger>
|
|
78
|
-
<Button>Open Drawer</Button>
|
|
79
|
-
</Drawer.Trigger>
|
|
80
|
-
<Drawer.Content>
|
|
81
|
-
<Drawer.Header>Settings</Drawer.Header>
|
|
82
|
-
<Drawer.Body>
|
|
83
|
-
<p>Drawer content here.</p>
|
|
84
|
-
</Drawer.Body>
|
|
85
|
-
<Drawer.Footer>
|
|
86
|
-
<Button variant="solid">Save</Button>
|
|
87
|
-
</Drawer.Footer>
|
|
88
|
-
</Drawer.Content>
|
|
89
|
-
</Drawer.Root>
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
### Tabs
|
|
93
|
-
|
|
94
|
-
Parts: Root, List, Trigger, Content
|
|
95
|
-
|
|
96
|
-
Use `bind:value` on Root to track the active tab.
|
|
97
|
-
|
|
98
|
-
```svelte
|
|
99
|
-
<script>
|
|
100
|
-
let activeTab = $state('one');
|
|
101
|
-
</script>
|
|
102
|
-
|
|
103
|
-
<Tabs.Root bind:value={activeTab}>
|
|
104
|
-
<Tabs.List>
|
|
105
|
-
<Tabs.Trigger value="one">Tab 1</Tabs.Trigger>
|
|
106
|
-
<Tabs.Trigger value="two">Tab 2</Tabs.Trigger>
|
|
107
|
-
</Tabs.List>
|
|
108
|
-
<Tabs.Content value="one">First panel</Tabs.Content>
|
|
109
|
-
<Tabs.Content value="two">Second panel</Tabs.Content>
|
|
110
|
-
</Tabs.Root>
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
### Accordion
|
|
114
|
-
|
|
115
|
-
Parts: Root, Item, Trigger, Content
|
|
116
|
-
|
|
117
|
-
```svelte
|
|
118
|
-
<Accordion.Root>
|
|
119
|
-
<Accordion.Item value="a">
|
|
120
|
-
<Accordion.Trigger>Section A</Accordion.Trigger>
|
|
121
|
-
<Accordion.Content>Content for section A.</Accordion.Content>
|
|
122
|
-
</Accordion.Item>
|
|
123
|
-
<Accordion.Item value="b">
|
|
124
|
-
<Accordion.Trigger>Section B</Accordion.Trigger>
|
|
125
|
-
<Accordion.Content>Content for section B.</Accordion.Content>
|
|
126
|
-
</Accordion.Item>
|
|
127
|
-
</Accordion.Root>
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### AlertDialog
|
|
131
|
-
|
|
132
|
-
Parts: Root, Trigger, Content, Overlay, Header, Body, Footer, Action, Cancel
|
|
133
|
-
|
|
134
|
-
Use AlertDialog for destructive confirmations. It traps focus and requires explicit user action.
|
|
135
|
-
|
|
136
|
-
```svelte
|
|
137
|
-
<AlertDialog.Root>
|
|
138
|
-
<AlertDialog.Trigger>
|
|
139
|
-
<Button variant="outline">Delete Account</Button>
|
|
140
|
-
</AlertDialog.Trigger>
|
|
141
|
-
<AlertDialog.Content>
|
|
142
|
-
<AlertDialog.Header>Are you sure?</AlertDialog.Header>
|
|
143
|
-
<AlertDialog.Body>
|
|
144
|
-
<p>This action cannot be undone.</p>
|
|
145
|
-
</AlertDialog.Body>
|
|
146
|
-
<AlertDialog.Footer>
|
|
147
|
-
<AlertDialog.Cancel>Cancel</AlertDialog.Cancel>
|
|
148
|
-
<AlertDialog.Action>Delete</AlertDialog.Action>
|
|
149
|
-
</AlertDialog.Footer>
|
|
150
|
-
</AlertDialog.Content>
|
|
151
|
-
</AlertDialog.Root>
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### DropdownMenu
|
|
155
|
-
|
|
156
|
-
Parts: Root, Trigger, Content, Item, Separator, Group, Label
|
|
157
|
-
|
|
158
|
-
```svelte
|
|
159
|
-
<DropdownMenu.Root>
|
|
160
|
-
<DropdownMenu.Trigger>
|
|
161
|
-
<Button variant="outline">Options</Button>
|
|
162
|
-
</DropdownMenu.Trigger>
|
|
163
|
-
<DropdownMenu.Content>
|
|
164
|
-
<DropdownMenu.Item onclick={handleEdit}>Edit</DropdownMenu.Item>
|
|
165
|
-
<DropdownMenu.Item onclick={handleDuplicate}>Duplicate</DropdownMenu.Item>
|
|
166
|
-
<DropdownMenu.Separator />
|
|
167
|
-
<DropdownMenu.Item onclick={handleDelete}>Delete</DropdownMenu.Item>
|
|
168
|
-
</DropdownMenu.Content>
|
|
169
|
-
</DropdownMenu.Root>
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
### Select
|
|
173
|
-
|
|
174
|
-
Parts: Root, Trigger, Content, Item, Value
|
|
175
|
-
|
|
176
|
-
```svelte
|
|
177
|
-
<script>
|
|
178
|
-
let selected = $state('');
|
|
179
|
-
</script>
|
|
180
|
-
|
|
181
|
-
<Select.Root bind:value={selected}>
|
|
182
|
-
<Select.Trigger>
|
|
183
|
-
<Select.Value placeholder="Choose..." />
|
|
184
|
-
</Select.Trigger>
|
|
185
|
-
<Select.Content>
|
|
186
|
-
<Select.Item value="a">Alpha</Select.Item>
|
|
187
|
-
<Select.Item value="b">Beta</Select.Item>
|
|
188
|
-
<Select.Item value="c">Gamma</Select.Item>
|
|
189
|
-
</Select.Content>
|
|
190
|
-
</Select.Root>
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### Field
|
|
194
|
-
|
|
195
|
-
Parts: Root, Description, Error
|
|
196
|
-
|
|
197
|
-
Field.Root wraps a Label and input component. The Label and input (Input, Select, Textarea, etc.) are direct children, not Field parts.
|
|
198
|
-
|
|
199
|
-
```svelte
|
|
200
|
-
<Field.Root>
|
|
201
|
-
<Label>Username</Label>
|
|
202
|
-
<Input bind:value={username} />
|
|
203
|
-
<Field.Description>Choose a unique username.</Field.Description>
|
|
204
|
-
<Field.Error>Username is already taken.</Field.Error>
|
|
205
|
-
</Field.Root>
|
|
206
|
-
```
|
|
207
|
-
|
|
208
|
-
### Table
|
|
209
|
-
|
|
210
|
-
Parts: Root, Header, Body, Footer, Row, Head, Cell, Caption
|
|
211
|
-
|
|
212
|
-
```svelte
|
|
213
|
-
<Table.Root>
|
|
214
|
-
<Table.Caption>User list</Table.Caption>
|
|
215
|
-
<Table.Header>
|
|
216
|
-
<Table.Row>
|
|
217
|
-
<Table.Head>Name</Table.Head>
|
|
218
|
-
<Table.Head>Email</Table.Head>
|
|
219
|
-
</Table.Row>
|
|
220
|
-
</Table.Header>
|
|
221
|
-
<Table.Body>
|
|
222
|
-
{#each users as user (user.id)}
|
|
223
|
-
<Table.Row>
|
|
224
|
-
<Table.Cell>{user.name}</Table.Cell>
|
|
225
|
-
<Table.Cell>{user.email}</Table.Cell>
|
|
226
|
-
</Table.Row>
|
|
227
|
-
{/each}
|
|
228
|
-
</Table.Body>
|
|
229
|
-
</Table.Root>
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
### Popover
|
|
233
|
-
|
|
234
|
-
Parts: Root, Trigger, Content
|
|
235
|
-
|
|
236
|
-
```svelte
|
|
237
|
-
<Popover.Root>
|
|
238
|
-
<Popover.Trigger>
|
|
239
|
-
<Button variant="ghost">Info</Button>
|
|
240
|
-
</Popover.Trigger>
|
|
241
|
-
<Popover.Content>
|
|
242
|
-
<p>Additional details here.</p>
|
|
243
|
-
</Popover.Content>
|
|
244
|
-
</Popover.Root>
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
### Combobox
|
|
248
|
-
|
|
249
|
-
Parts: Root, Input, Content, Item, Empty
|
|
250
|
-
|
|
251
|
-
```svelte
|
|
252
|
-
<script>
|
|
253
|
-
let query = $state('');
|
|
254
|
-
</script>
|
|
255
|
-
|
|
256
|
-
<Combobox.Root bind:value={query}>
|
|
257
|
-
<Combobox.Input placeholder="Search..." />
|
|
258
|
-
<Combobox.Content>
|
|
259
|
-
<Combobox.Item value="apple" index={0}>Apple</Combobox.Item>
|
|
260
|
-
<Combobox.Item value="banana" index={1}>Banana</Combobox.Item>
|
|
261
|
-
<Combobox.Empty>No results found.</Combobox.Empty>
|
|
262
|
-
</Combobox.Content>
|
|
263
|
-
</Combobox.Root>
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
## Common Mistakes
|
|
267
|
-
|
|
268
|
-
### Using bare compound name
|
|
269
|
-
|
|
270
|
-
```svelte
|
|
271
|
-
<!-- Incorrect: bare name -->
|
|
272
|
-
<Tabs>...</Tabs>
|
|
273
|
-
<Select>...</Select>
|
|
274
|
-
|
|
275
|
-
<!-- Correct: always .Root -->
|
|
276
|
-
<Tabs.Root>...</Tabs.Root>
|
|
277
|
-
<Select.Root>...</Select.Root>
|
|
278
|
-
```
|
|
279
|
-
|
|
280
|
-
### Orphaned parts without Root
|
|
281
|
-
|
|
282
|
-
```svelte
|
|
283
|
-
<!-- Incorrect: parts without their Root wrapper -->
|
|
284
|
-
<Card.Header>Title</Card.Header>
|
|
285
|
-
<Card.Content>Body</Card.Content>
|
|
286
|
-
|
|
287
|
-
<!-- Correct: parts inside Root -->
|
|
288
|
-
<Card.Root>
|
|
289
|
-
<Card.Header>Title</Card.Header>
|
|
290
|
-
<Card.Content>Body</Card.Content>
|
|
291
|
-
</Card.Root>
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
### Mixing parts from different components
|
|
295
|
-
|
|
296
|
-
```svelte
|
|
297
|
-
<!-- Incorrect: Dialog.Header inside Drawer -->
|
|
298
|
-
<Drawer.Root>
|
|
299
|
-
<Dialog.Header>Title</Dialog.Header>
|
|
300
|
-
</Drawer.Root>
|
|
301
|
-
|
|
302
|
-
<!-- Correct: use matching parts -->
|
|
303
|
-
<Drawer.Root>
|
|
304
|
-
<Drawer.Header>Title</Drawer.Header>
|
|
305
|
-
</Drawer.Root>
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
## Full Compound Component List
|
|
309
|
-
|
|
310
|
-
Run `dryui info <name>` for any component's complete parts list. If MCP is available, `ask --scope component "<name>"` is equivalent:
|
|
311
|
-
|
|
312
|
-
Accordion, AlertDialog, Breadcrumb, Card, Collapsible, ColorPicker, Combobox, CommandPalette, ContextMenu, DataGrid, DatePicker, Dialog, DragAndDrop, Drawer, DropdownMenu, EmptyState, Field, FileUpload, FloatButton, Pagination, Popover, RadioGroup, RichTextEditor, Select, Splitter, Stepper, Table, Tabs, TagsInput, Toast, ToggleGroup, Toolbar, Tooltip, Tour, Transfer
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# Design Brief Pipeline
|
|
2
|
-
|
|
3
|
-
Use this rule before building or materially changing a UI. It keeps intent, component contracts, and polish review in the same visible loop.
|
|
4
|
-
|
|
5
|
-
## Pipeline
|
|
6
|
-
|
|
7
|
-
1. **User brief** — capture the audience, primary job, product/domain, density, tone, constraints, and success criteria. Ask only for missing information that changes the implementation.
|
|
8
|
-
2. **DESIGN.md identity** — read the project `DESIGN.md` if present. If the project lacks one and the UI has meaningful visual direction, draft the identity in the working notes or create the file when the user asks for durable design guidance. Google-style `DESIGN.md` is an optional supported format, not a dependency.
|
|
9
|
-
3. **DryUI lookup/plan** — use `dryui info`, `dryui compose`, or MCP `ask` before selecting components or recipes. Plan around confirmed component contracts, accessibility, tokens, and grid layout.
|
|
10
|
-
4. **make-interfaces-feel-better polish intent pass** — explicitly list the polish details that apply before implementation. This is a planning step, not hidden preference.
|
|
11
|
-
5. **Implementation** — build with DryUI components, Svelte 5, scoped grid CSS, tokenized styling, and accessible composition.
|
|
12
|
-
6. **Deterministic check** — run `dryui check [path]` or MCP `check` against edited files or the workspace.
|
|
13
|
-
7. **Visual review** — run `dryui check --visual <url>` or MCP `check` with `visualUrl`. Name the user brief and the polish intent in the review prompt when possible.
|
|
14
|
-
8. **Repair loop** — fix issues in priority order, then repeat deterministic check and visual review until the screen satisfies the brief.
|
|
15
|
-
|
|
16
|
-
## Precedence
|
|
17
|
-
|
|
18
|
-
When guidance conflicts, use this order:
|
|
19
|
-
|
|
20
|
-
1. User intent and explicit task constraints.
|
|
21
|
-
2. Local `DESIGN.md` identity.
|
|
22
|
-
3. DryUI component contracts, accessibility rules, and token/theming discipline.
|
|
23
|
-
4. Official Svelte MCP guidance for Svelte and SvelteKit syntax/framework decisions.
|
|
24
|
-
5. make-interfaces-feel-better polish rubric.
|
|
25
|
-
|
|
26
|
-
## Brief Shape
|
|
27
|
-
|
|
28
|
-
Keep the brief short and implementation-oriented:
|
|
29
|
-
|
|
30
|
-
- Who is using this?
|
|
31
|
-
- What are they trying to do?
|
|
32
|
-
- What information or action must be visible first?
|
|
33
|
-
- How dense should the interface be?
|
|
34
|
-
- What brand, product, or domain cues should shape the identity?
|
|
35
|
-
- What constraints are fixed by the user, existing code, or platform?
|
|
36
|
-
|
|
37
|
-
## DESIGN.md Identity
|
|
38
|
-
|
|
39
|
-
Use `DESIGN.md` to preserve durable identity decisions: product personality, visual tone, density, navigation model, content hierarchy, color/token direction, motion posture, and examples of what to avoid.
|
|
40
|
-
|
|
41
|
-
Do not treat `DESIGN.md` as more important than the user's current request. If the user changes direction, follow the user and update the identity only when the change is meant to persist.
|
|
42
|
-
|
|
43
|
-
## Polish Intent
|
|
44
|
-
|
|
45
|
-
The make-interfaces-feel-better pass should be explicit in planning and visual review. Check the applicable details:
|
|
46
|
-
|
|
47
|
-
- balanced headings and pretty body wrapping
|
|
48
|
-
- concentric radius for nested surfaces
|
|
49
|
-
- icon swaps that crossfade without jitter
|
|
50
|
-
- tabular numbers for counters, prices, clocks, and scores
|
|
51
|
-
- transitions for interactive state, not keyframe-only state changes
|
|
52
|
-
- staggered entrances when groups appear
|
|
53
|
-
- smaller exits than entrances
|
|
54
|
-
- shadow treatment for raised surfaces
|
|
55
|
-
- optical icon alignment inside buttons
|
|
56
|
-
- adaptive image edges for media and avatars
|
|
57
|
-
- token consistency across color, radius, shadow, spacing, duration, and easing
|
|
58
|
-
|
|
59
|
-
If a detail does not apply, skip it deliberately. Polish is a review rubric, not decoration.
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Clean Code Standards
|
|
2
|
-
|
|
3
|
-
## Core Principle
|
|
4
|
-
|
|
5
|
-
Write the minimum correct code. Every line must earn its place.
|
|
6
|
-
|
|
7
|
-
## Rules
|
|
8
|
-
|
|
9
|
-
### No Premature Abstraction
|
|
10
|
-
|
|
11
|
-
- Three similar lines > one premature helper
|
|
12
|
-
- Only extract when you have 3+ real call sites
|
|
13
|
-
- No "just in case" configurability, feature flags, or extension points
|
|
14
|
-
- Delete code you don't need -- don't comment it out
|
|
15
|
-
|
|
16
|
-
### No Noise
|
|
17
|
-
|
|
18
|
-
- No comments that restate what code does
|
|
19
|
-
- Comments only where the _why_ is non-obvious
|
|
20
|
-
- No empty catch blocks -- handle or rethrow
|
|
21
|
-
- No unused imports, variables, or parameters
|
|
22
|
-
- No `console.log` left in production code
|
|
23
|
-
- No commented-out code -- use git history
|
|
24
|
-
|
|
25
|
-
### Names Are Documentation
|
|
26
|
-
|
|
27
|
-
- Functions: verb + noun (`getUser`, `handleClick`, `parseDate`)
|
|
28
|
-
- Booleans: `is`/`has`/`should` prefix (`isOpen`, `hasError`)
|
|
29
|
-
- Collections: plural (`users`, `items`)
|
|
30
|
-
- Callbacks: `on` + event (`onClose`, `onChange`)
|
|
31
|
-
- Constants: UPPER_SNAKE only for true compile-time constants
|
|
32
|
-
|
|
33
|
-
### Functions
|
|
34
|
-
|
|
35
|
-
- One job per function
|
|
36
|
-
- Max 3 parameters -- use an options object for more
|
|
37
|
-
- Return early to avoid nesting
|
|
38
|
-
- Pure functions where possible -- side effects at the edges
|
|
39
|
-
|
|
40
|
-
### Error Handling
|
|
41
|
-
|
|
42
|
-
- Only validate at system boundaries (user input, API responses, file reads)
|
|
43
|
-
- Trust internal code -- don't null-check values you just created
|
|
44
|
-
- Use specific error types, not generic strings
|
|
45
|
-
- Handle errors at the level that can meaningfully respond
|
|
46
|
-
|
|
47
|
-
### File Organization
|
|
48
|
-
|
|
49
|
-
- One concept per file
|
|
50
|
-
- Keep files under 300 lines -- split if growing
|
|
51
|
-
- Colocate related code (component + styles + tests in same directory)
|
|
52
|
-
- Index files only for re-exports, never for logic
|
|
53
|
-
|
|
54
|
-
## Anti-Patterns -- Stop and Fix
|
|
55
|
-
|
|
56
|
-
| If you're about to... | Instead... |
|
|
57
|
-
| --------------------------------------- | ------------------------------------------------------------ |
|
|
58
|
-
| Add a "utils" file | Put it where it's used (shared module only at 3+ call sites) |
|
|
59
|
-
| Create a base class | Use composition |
|
|
60
|
-
| Add a config option nobody asked for | Don't |
|
|
61
|
-
| Write a comment explaining _what_ | Rename so it's obvious |
|
|
62
|
-
| Add error handling for impossible cases | Trust internal code |
|
|
63
|
-
| Create a wrapper around a simple API | Use the API directly |
|
|
64
|
-
|
|
65
|
-
## 5 Rules of Programming
|
|
66
|
-
|
|
67
|
-
1. You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places.
|
|
68
|
-
2. Measure. Don't tune for speed until you've measured.
|
|
69
|
-
3. Fancy algorithms are slow when n is small, and n is usually small.
|
|
70
|
-
4. Fancy algorithms are buggier than simple ones. Use simple algorithms and simple data structures.
|
|
71
|
-
5. Data dominates. If you've chosen the right data structures, the algorithms will be self-evident.
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# Native Web Transitions
|
|
2
|
-
|
|
3
|
-
Use this skill when a UI should animate with platform APIs first, not JS animation libraries.
|
|
4
|
-
|
|
5
|
-
## Default approach
|
|
6
|
-
|
|
7
|
-
1. Start from a fully functional no-animation version.
|
|
8
|
-
2. Add JS feature detection for `document.startViewTransition` before calling it.
|
|
9
|
-
3. Gate transition-specific CSS with `@supports (view-transition-name: foo)`.
|
|
10
|
-
4. Gate scroll-driven CSS with `@supports (animation-timeline: view())`.
|
|
11
|
-
5. Add `prefers-reduced-motion` handling that removes typewriter, transition, and scroll-linked animation.
|
|
12
|
-
6. Keep fallback behavior immediate and complete rather than approximating the effect with extra JS.
|
|
13
|
-
|
|
14
|
-
## View Transition pattern
|
|
15
|
-
|
|
16
|
-
Use when DOM changes should animate as a single state change.
|
|
17
|
-
|
|
18
|
-
```ts
|
|
19
|
-
function runWithViewTransition(update: () => void) {
|
|
20
|
-
if (!document.startViewTransition) {
|
|
21
|
-
update();
|
|
22
|
-
return Promise.resolve();
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const transition = document.startViewTransition(update);
|
|
26
|
-
return transition.finished.catch(() => {});
|
|
27
|
-
}
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
Use stable names only on the elements that should animate:
|
|
31
|
-
|
|
32
|
-
```css
|
|
33
|
-
@supports (view-transition-name: foo) {
|
|
34
|
-
.message {
|
|
35
|
-
view-transition-name: var(--vt-name);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
::view-transition-new(message-enter) {
|
|
39
|
-
animation: dry-slide-up 240ms ease-out;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Notes:
|
|
45
|
-
|
|
46
|
-
- Assign unique `view-transition-name` values per inserted item.
|
|
47
|
-
- Keep transitions short; they should clarify state changes, not delay interaction.
|
|
48
|
-
- Trigger follow-up work such as `scrollIntoView` after `transition.finished`.
|
|
49
|
-
|
|
50
|
-
## Scroll-driven reveal pattern
|
|
51
|
-
|
|
52
|
-
Use for footer or section entry reveals tied to viewport position.
|
|
53
|
-
|
|
54
|
-
```css
|
|
55
|
-
@supports (animation-timeline: view()) {
|
|
56
|
-
.reveal {
|
|
57
|
-
animation: dry-fade-up linear both;
|
|
58
|
-
animation-timeline: view();
|
|
59
|
-
animation-range: entry 15% cover 35%;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Fallback: leave the section fully visible with no animation.
|
|
65
|
-
|
|
66
|
-
## Reduced motion
|
|
67
|
-
|
|
68
|
-
Always include a reduced-motion override:
|
|
69
|
-
|
|
70
|
-
```css
|
|
71
|
-
@media (prefers-reduced-motion: reduce) {
|
|
72
|
-
.typing-dot,
|
|
73
|
-
.reveal {
|
|
74
|
-
animation: none;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
:root {
|
|
78
|
-
scroll-behavior: auto;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
The `@media` block comes after the default rule in the same scoped stylesheet, so equal specificity plus source order handles the override without `!important` — which is banned by `@dryui/lint` (`dryui/no-important`). In JS, skip delayed typewriter/replay steps and render the final state immediately when reduced motion is active.
|
|
84
|
-
|
|
85
|
-
## Svelte notes
|
|
86
|
-
|
|
87
|
-
- Keep DOM mutation orchestration in the component that owns the rendered list.
|
|
88
|
-
- Use `$effect` or `onMount` for browser-only APIs.
|
|
89
|
-
- Do not access `document` or `window` during SSR; guard with `browser` or call inside browser-only lifecycle.
|
|
90
|
-
- Prefer state-driven rendering and wrap only the mutation boundary in `startViewTransition`.
|
|
91
|
-
|
|
92
|
-
## Checklist
|
|
93
|
-
|
|
94
|
-
- Feature-detected `document.startViewTransition`
|
|
95
|
-
- `@supports` around transition CSS
|
|
96
|
-
- `@supports` around `animation-timeline`
|
|
97
|
-
- `prefers-reduced-motion` disables motion and delay
|
|
98
|
-
- Fallback path is functional without animation
|
|
99
|
-
- No dependency on third-party animation runtime
|