ui-ingredients 0.27.0 → 0.29.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/README.md +49 -48
- package/dist/accordion/accordion-item-content.svelte +56 -56
- package/dist/accordion/accordion-item-indicator.svelte +35 -36
- package/dist/accordion/accordion-item-trigger.svelte +35 -36
- package/dist/accordion/accordion-item.svelte +63 -63
- package/dist/accordion/accordion-root.svelte +64 -65
- package/dist/alert/alert-description.svelte +29 -30
- package/dist/alert/alert-indicator.svelte +29 -30
- package/dist/alert/alert-root.svelte +44 -34
- package/dist/alert/alert-root.svelte.d.ts +3 -3
- package/dist/alert/alert-title.svelte +29 -30
- package/dist/alert/create-alert.svelte.d.ts +12 -1
- package/dist/alert/create-alert.svelte.js +40 -1
- package/dist/alert/index.d.ts +1 -1
- package/dist/alert/index.js +1 -1
- package/dist/alert-dialog/alert-dialog-anatomy.d.ts +2 -2
- package/dist/alert-dialog/alert-dialog-backdrop.svelte +48 -48
- package/dist/alert-dialog/alert-dialog-close-trigger.svelte +32 -32
- package/dist/alert-dialog/alert-dialog-content.svelte +41 -41
- package/dist/alert-dialog/alert-dialog-description.svelte +31 -32
- package/dist/alert-dialog/alert-dialog-positioner.svelte +39 -40
- package/dist/alert-dialog/alert-dialog-root.svelte +48 -48
- package/dist/alert-dialog/alert-dialog-title.svelte +29 -30
- package/dist/alert-dialog/alert-dialog-trigger.svelte +29 -30
- package/dist/angle-slider/angle-slider-control.svelte +29 -29
- package/dist/angle-slider/angle-slider-hidden-input.svelte +28 -28
- package/dist/angle-slider/angle-slider-label.svelte +29 -29
- package/dist/angle-slider/angle-slider-marker-group.svelte +31 -31
- package/dist/angle-slider/angle-slider-marker.svelte +37 -38
- package/dist/angle-slider/angle-slider-root.svelte +57 -58
- package/dist/angle-slider/angle-slider-thumb.svelte +29 -29
- package/dist/angle-slider/angle-slider-value-text.svelte +35 -35
- package/dist/avatar/avatar-fallback.svelte +29 -30
- package/dist/avatar/avatar-image.svelte +22 -23
- package/dist/avatar/avatar-root.svelte +44 -45
- package/dist/breadcrumbs/breadcrumbs-item.svelte +29 -30
- package/dist/breadcrumbs/breadcrumbs-link.svelte +37 -38
- package/dist/breadcrumbs/breadcrumbs-list.svelte +29 -30
- package/dist/breadcrumbs/breadcrumbs-root.svelte +33 -34
- package/dist/breadcrumbs/breadcrumbs-separator.svelte +31 -30
- package/dist/carousel/carousel-autoplay-trigger.svelte +31 -32
- package/dist/carousel/carousel-control.svelte +29 -30
- package/dist/carousel/carousel-indicator-group.svelte +31 -32
- package/dist/carousel/carousel-indicator.svelte +40 -41
- package/dist/carousel/carousel-item-group.svelte +29 -30
- package/dist/carousel/carousel-item.svelte +37 -38
- package/dist/carousel/carousel-next-trigger.svelte +29 -30
- package/dist/carousel/carousel-prev-trigger.svelte +29 -30
- package/dist/carousel/carousel-root.svelte +63 -64
- package/dist/checkbox/checkbox-control.svelte +29 -30
- package/dist/checkbox/checkbox-hidden-input.svelte +26 -27
- package/dist/checkbox/checkbox-indicator.svelte +29 -30
- package/dist/checkbox/checkbox-label.svelte +29 -30
- package/dist/checkbox/checkbox-root.svelte +59 -59
- package/dist/clipboard/clipboard-control.svelte +29 -30
- package/dist/clipboard/clipboard-indicator.svelte +36 -40
- package/dist/clipboard/clipboard-input.svelte +26 -27
- package/dist/clipboard/clipboard-label.svelte +29 -30
- package/dist/clipboard/clipboard-root.svelte +51 -51
- package/dist/clipboard/clipboard-trigger.svelte +29 -30
- package/dist/collapsible/collapsible-content.svelte +40 -41
- package/dist/collapsible/collapsible-root.svelte +72 -72
- package/dist/collapsible/collapsible-trigger.svelte +29 -29
- package/dist/color-picker/color-picker-anatomy.d.ts +2 -2
- package/dist/color-picker/color-picker-area-background.svelte +35 -36
- package/dist/color-picker/color-picker-area-thumb.svelte +35 -36
- package/dist/color-picker/color-picker-area.svelte +44 -44
- package/dist/color-picker/color-picker-channel-input.svelte +40 -41
- package/dist/color-picker/color-picker-channel-slider-label.svelte +35 -36
- package/dist/color-picker/color-picker-channel-slider-thumb.svelte +45 -45
- package/dist/color-picker/color-picker-channel-slider-track.svelte +45 -45
- package/dist/color-picker/color-picker-channel-slider-value-text.svelte +44 -45
- package/dist/color-picker/color-picker-channel-slider.svelte +51 -51
- package/dist/color-picker/color-picker-content.svelte +40 -41
- package/dist/color-picker/color-picker-control.svelte +29 -30
- package/dist/color-picker/color-picker-eye-dropper-trigger.svelte +31 -32
- package/dist/color-picker/color-picker-format-select.svelte +39 -40
- package/dist/color-picker/color-picker-format-trigger.svelte +31 -32
- package/dist/color-picker/color-picker-hidden-input.svelte +28 -29
- package/dist/color-picker/color-picker-label.svelte +29 -30
- package/dist/color-picker/color-picker-positioner.svelte +37 -38
- package/dist/color-picker/color-picker-root.svelte +87 -86
- package/dist/color-picker/color-picker-swatch-group.svelte +31 -32
- package/dist/color-picker/color-picker-swatch-indicator.svelte +35 -36
- package/dist/color-picker/color-picker-swatch-trigger.svelte +43 -44
- package/dist/color-picker/color-picker-swatch.svelte +44 -44
- package/dist/color-picker/color-picker-transparency-grid.svelte +36 -37
- package/dist/color-picker/color-picker-trigger.svelte +29 -30
- package/dist/color-picker/color-picker-value-swatch.svelte +40 -41
- package/dist/color-picker/color-picker-value-text.svelte +35 -36
- package/dist/color-picker/color-picker-view.svelte +41 -41
- package/dist/combobox/combobox-clear-trigger.svelte +31 -32
- package/dist/combobox/combobox-content.svelte +36 -37
- package/dist/combobox/combobox-control.svelte +29 -30
- package/dist/combobox/combobox-input.svelte +24 -25
- package/dist/combobox/combobox-item-group-label.svelte +40 -41
- package/dist/combobox/combobox-item-group.svelte +40 -45
- package/dist/combobox/combobox-item-indicator.svelte +35 -36
- package/dist/combobox/combobox-item-text.svelte +39 -40
- package/dist/combobox/combobox-item.svelte +46 -47
- package/dist/combobox/combobox-label.svelte +29 -30
- package/dist/combobox/combobox-list.svelte +29 -30
- package/dist/combobox/combobox-positioner.svelte +39 -40
- package/dist/combobox/combobox-root.svelte +101 -100
- package/dist/combobox/combobox-trigger.svelte +40 -41
- package/dist/date-picker/date-picker-anatomy.d.ts +2 -2
- package/dist/date-picker/date-picker-clear-trigger.svelte +31 -32
- package/dist/date-picker/date-picker-content.svelte +40 -41
- package/dist/date-picker/date-picker-control.svelte +29 -30
- package/dist/date-picker/date-picker-day-table-cell-trigger.svelte +35 -36
- package/dist/date-picker/date-picker-day-table-cell.svelte +52 -52
- package/dist/date-picker/date-picker-input.svelte +33 -34
- package/dist/date-picker/date-picker-label.svelte +36 -37
- package/dist/date-picker/date-picker-month-select.svelte +40 -41
- package/dist/date-picker/date-picker-month-table-cell-trigger.svelte +35 -36
- package/dist/date-picker/date-picker-month-table-cell.svelte +50 -50
- package/dist/date-picker/date-picker-next-trigger.svelte +35 -36
- package/dist/date-picker/date-picker-positioner.svelte +39 -40
- package/dist/date-picker/date-picker-preset-trigger.svelte +36 -37
- package/dist/date-picker/date-picker-prev-trigger.svelte +35 -36
- package/dist/date-picker/date-picker-range-text.svelte +33 -34
- package/dist/date-picker/date-picker-root.svelte +88 -88
- package/dist/date-picker/date-picker-table-body.svelte +35 -36
- package/dist/date-picker/date-picker-table-head.svelte +35 -36
- package/dist/date-picker/date-picker-table-header.svelte +35 -36
- package/dist/date-picker/date-picker-table-row.svelte +35 -36
- package/dist/date-picker/date-picker-table.svelte +45 -46
- package/dist/date-picker/date-picker-trigger.svelte +29 -30
- package/dist/date-picker/date-picker-view-control.svelte +35 -36
- package/dist/date-picker/date-picker-view-trigger.svelte +35 -36
- package/dist/date-picker/date-picker-view.svelte +39 -41
- package/dist/date-picker/date-picker-year-select.svelte +37 -38
- package/dist/date-picker/date-picker-year-table-cell-trigger.svelte +35 -36
- package/dist/date-picker/date-picker-year-table-cell.svelte +50 -50
- package/dist/dialog/dialog-backdrop.svelte +44 -44
- package/dist/dialog/dialog-close-trigger.svelte +29 -30
- package/dist/dialog/dialog-content.svelte +36 -37
- package/dist/dialog/dialog-description.svelte +29 -30
- package/dist/dialog/dialog-positioner.svelte +35 -36
- package/dist/dialog/dialog-root.svelte +48 -48
- package/dist/dialog/dialog-title.svelte +29 -30
- package/dist/dialog/dialog-trigger.svelte +29 -30
- package/dist/drawer/drawer-anatomy.d.ts +2 -2
- package/dist/drawer/drawer-backdrop.svelte +44 -44
- package/dist/drawer/drawer-body.svelte +29 -30
- package/dist/drawer/drawer-close-trigger.svelte +29 -30
- package/dist/drawer/drawer-content.svelte +36 -37
- package/dist/drawer/drawer-description.svelte +29 -30
- package/dist/drawer/drawer-footer.svelte +29 -30
- package/dist/drawer/drawer-header.svelte +29 -30
- package/dist/drawer/drawer-positioner.svelte +35 -36
- package/dist/drawer/drawer-root.svelte +48 -48
- package/dist/drawer/drawer-title.svelte +29 -30
- package/dist/drawer/drawer-trigger.svelte +29 -30
- package/dist/editable/editable-area.svelte +29 -30
- package/dist/editable/editable-cancel-trigger.svelte +31 -32
- package/dist/editable/editable-control.svelte +29 -30
- package/dist/editable/editable-edit-trigger.svelte +29 -30
- package/dist/editable/editable-input.svelte +22 -23
- package/dist/editable/editable-label.svelte +29 -30
- package/dist/editable/editable-preview.svelte +33 -37
- package/dist/editable/editable-root.svelte +71 -73
- package/dist/editable/editable-submit-trigger.svelte +31 -32
- package/dist/environment-provider/environment-provider.svelte +41 -41
- package/dist/field/field-error-text.svelte +48 -49
- package/dist/field/field-helper-text.svelte +31 -32
- package/dist/field/field-input.svelte +22 -23
- package/dist/field/field-label.svelte +29 -30
- package/dist/field/field-required-indicator.svelte +35 -36
- package/dist/field/field-root.svelte +61 -62
- package/dist/field/field-select.svelte +27 -28
- package/dist/field/field-textarea.svelte +50 -51
- package/dist/file-upload/file-upload-clear-trigger.svelte +31 -32
- package/dist/file-upload/file-upload-dropzone.svelte +29 -30
- package/dist/file-upload/file-upload-hidden-input.svelte +28 -29
- package/dist/file-upload/file-upload-item-delete-trigger.svelte +35 -36
- package/dist/file-upload/file-upload-item-group.svelte +29 -30
- package/dist/file-upload/file-upload-item-name.svelte +39 -40
- package/dist/file-upload/file-upload-item-preview-image.svelte +40 -41
- package/dist/file-upload/file-upload-item-preview.svelte +35 -36
- package/dist/file-upload/file-upload-item-size-text.svelte +39 -40
- package/dist/file-upload/file-upload-item.svelte +42 -43
- package/dist/file-upload/file-upload-label.svelte +29 -30
- package/dist/file-upload/file-upload-root.svelte +67 -67
- package/dist/file-upload/file-upload-trigger.svelte +29 -30
- package/dist/floating-panel/floating-panel-body.svelte +29 -30
- package/dist/floating-panel/floating-panel-close-trigger.svelte +31 -32
- package/dist/floating-panel/floating-panel-content.svelte +40 -41
- package/dist/floating-panel/floating-panel-drag-trigger.svelte +31 -32
- package/dist/floating-panel/floating-panel-header.svelte +29 -30
- package/dist/floating-panel/floating-panel-maximize-trigger.svelte +31 -32
- package/dist/floating-panel/floating-panel-minimize-trigger.svelte +31 -32
- package/dist/floating-panel/floating-panel-positioner.svelte +39 -40
- package/dist/floating-panel/floating-panel-resize-trigger.svelte +43 -44
- package/dist/floating-panel/floating-panel-restore-trigger.svelte +31 -32
- package/dist/floating-panel/floating-panel-root.svelte +47 -47
- package/dist/floating-panel/floating-panel-title.svelte +29 -30
- package/dist/floating-panel/floating-panel-trigger.svelte +31 -32
- package/dist/highlight/highlight.svelte +42 -42
- package/dist/hover-card/hover-card-arrow-tip.svelte +29 -30
- package/dist/hover-card/hover-card-arrow.svelte +29 -30
- package/dist/hover-card/hover-card-content.svelte +36 -37
- package/dist/hover-card/hover-card-positioner.svelte +39 -40
- package/dist/hover-card/hover-card-root.svelte +51 -52
- package/dist/hover-card/hover-card-trigger.svelte +29 -30
- package/dist/locale-provider/local-provider.svelte +22 -26
- package/dist/menu/menu-arrow-tip.svelte +29 -30
- package/dist/menu/menu-arrow.svelte +29 -30
- package/dist/menu/menu-content.svelte +36 -37
- package/dist/menu/menu-context-trigger.svelte +29 -30
- package/dist/menu/menu-indicator.svelte +29 -30
- package/dist/menu/menu-item-group-label.svelte +38 -42
- package/dist/menu/menu-item-group.svelte +40 -45
- package/dist/menu/menu-item.svelte +46 -47
- package/dist/menu/menu-option-item-indicator.svelte +35 -37
- package/dist/menu/menu-option-item-text.svelte +39 -41
- package/dist/menu/menu-option-item.svelte +54 -56
- package/dist/menu/menu-positioner.svelte +35 -36
- package/dist/menu/menu-root.svelte +74 -74
- package/dist/menu/menu-separator.svelte +29 -30
- package/dist/menu/menu-trigger-item.svelte +29 -30
- package/dist/menu/menu-trigger.svelte +29 -30
- package/dist/number-input/number-input-control.svelte +29 -30
- package/dist/number-input/number-input-decrement-trigger.svelte +31 -32
- package/dist/number-input/number-input-increment-trigger.svelte +31 -32
- package/dist/number-input/number-input-input.svelte +26 -27
- package/dist/number-input/number-input-label.svelte +29 -30
- package/dist/number-input/number-input-root.svelte +73 -73
- package/dist/number-input/number-input-scrubber.svelte +29 -30
- package/dist/number-input/number-input-value-text.svelte +35 -36
- package/dist/pagination/pagination-ellipsis.svelte +40 -41
- package/dist/pagination/pagination-item.svelte +40 -47
- package/dist/pagination/pagination-next-trigger.svelte +31 -32
- package/dist/pagination/pagination-prev-trigger.svelte +31 -32
- package/dist/pagination/pagination-root.svelte +56 -56
- package/dist/pin-input/pin-input-clear-trigger.svelte +31 -32
- package/dist/pin-input/pin-input-control.svelte +29 -30
- package/dist/pin-input/pin-input-hidden-input.svelte +26 -27
- package/dist/pin-input/pin-input-input.svelte +33 -34
- package/dist/pin-input/pin-input-label.svelte +29 -30
- package/dist/pin-input/pin-input-root.svelte +66 -67
- package/dist/popover/popover-anchor.svelte +29 -30
- package/dist/popover/popover-arrow-tip.svelte +29 -30
- package/dist/popover/popover-arrow.svelte +29 -30
- package/dist/popover/popover-close-trigger.svelte +29 -30
- package/dist/popover/popover-content.svelte +36 -37
- package/dist/popover/popover-description.svelte +29 -30
- package/dist/popover/popover-indicator.svelte +29 -30
- package/dist/popover/popover-positioner.svelte +39 -40
- package/dist/popover/popover-root.svelte +60 -60
- package/dist/popover/popover-title.svelte +29 -30
- package/dist/popover/popover-trigger.svelte +29 -30
- package/dist/portal/portal-provider.svelte +21 -21
- package/dist/portal/portal.svelte +43 -43
- package/dist/presence/presence.svelte +46 -47
- package/dist/progress/progress-circle-range.svelte +30 -30
- package/dist/progress/progress-circle-track.svelte +30 -30
- package/dist/progress/progress-circle.svelte +30 -30
- package/dist/progress/progress-label.svelte +30 -30
- package/dist/progress/progress-range.svelte +30 -30
- package/dist/progress/progress-root.svelte +54 -53
- package/dist/progress/progress-track.svelte +30 -30
- package/dist/progress/progress-value-text.svelte +34 -34
- package/dist/progress/progress-view.svelte +32 -32
- package/dist/qr-code/index.d.ts +1 -0
- package/dist/qr-code/qr-code-download-trigger.svelte +45 -0
- package/dist/qr-code/qr-code-download-trigger.svelte.d.ts +22 -0
- package/dist/qr-code/qr-code-frame.svelte +30 -30
- package/dist/qr-code/qr-code-overlay.svelte +30 -30
- package/dist/qr-code/qr-code-pattern.svelte +30 -30
- package/dist/qr-code/qr-code-root.svelte +51 -47
- package/dist/qr-code/qr-code.d.ts +1 -0
- package/dist/qr-code/qr-code.js +1 -0
- package/dist/radio-group/radio-group-indicator.svelte +29 -30
- package/dist/radio-group/radio-group-item-control.svelte +35 -36
- package/dist/radio-group/radio-group-item-hidden-input.svelte +32 -33
- package/dist/radio-group/radio-group-item-text.svelte +35 -36
- package/dist/radio-group/radio-group-item.svelte +46 -48
- package/dist/radio-group/radio-group-label.svelte +29 -30
- package/dist/radio-group/radio-group-root.svelte +54 -55
- package/dist/rating-group/rating-group-control.svelte +29 -30
- package/dist/rating-group/rating-group-hidden-input.svelte +28 -29
- package/dist/rating-group/rating-group-item.svelte +37 -42
- package/dist/rating-group/rating-group-label.svelte +29 -30
- package/dist/rating-group/rating-group-root.svelte +61 -62
- package/dist/segment-group/segment-group-indicator.svelte +31 -32
- package/dist/segment-group/segment-group-item-control.svelte +35 -36
- package/dist/segment-group/segment-group-item-hidden-input.svelte +32 -33
- package/dist/segment-group/segment-group-item-text.svelte +35 -36
- package/dist/segment-group/segment-group-item.svelte +46 -47
- package/dist/segment-group/segment-group-label.svelte +29 -30
- package/dist/segment-group/segment-group-root.svelte +56 -57
- package/dist/select/select-clear-trigger.svelte +29 -30
- package/dist/select/select-content.svelte +36 -37
- package/dist/select/select-control.svelte +29 -30
- package/dist/select/select-hidden-select.svelte +29 -30
- package/dist/select/select-indicator.svelte +29 -30
- package/dist/select/select-item-group-label.svelte +38 -40
- package/dist/select/select-item-group.svelte +41 -45
- package/dist/select/select-item-indicator.svelte +35 -36
- package/dist/select/select-item-text.svelte +39 -40
- package/dist/select/select-item.svelte +46 -47
- package/dist/select/select-label.svelte +29 -30
- package/dist/select/select-list.svelte +29 -30
- package/dist/select/select-positioner.svelte +35 -36
- package/dist/select/select-root.svelte +87 -87
- package/dist/select/select-trigger.svelte +31 -32
- package/dist/select/select-value-text.svelte +36 -37
- package/dist/signature-pad/signature-pad-clear-trigger.svelte +31 -32
- package/dist/signature-pad/signature-pad-control.svelte +29 -30
- package/dist/signature-pad/signature-pad-current-segment-path.svelte +36 -39
- package/dist/signature-pad/signature-pad-guide.svelte +29 -30
- package/dist/signature-pad/signature-pad-hidden-input.svelte +33 -34
- package/dist/signature-pad/signature-pad-label.svelte +29 -30
- package/dist/signature-pad/signature-pad-root.svelte +58 -58
- package/dist/signature-pad/signature-pad-segment-path.svelte +36 -37
- package/dist/signature-pad/signature-pad-segment.svelte +29 -30
- package/dist/slider/slider-control.svelte +29 -30
- package/dist/slider/slider-dragging-indicator.svelte +35 -36
- package/dist/slider/slider-hidden-input.svelte +32 -33
- package/dist/slider/slider-label.svelte +29 -30
- package/dist/slider/slider-marker-group.svelte +29 -30
- package/dist/slider/slider-marker.svelte +31 -39
- package/dist/slider/slider-range.svelte +29 -30
- package/dist/slider/slider-root.svelte +67 -68
- package/dist/slider/slider-thumb.svelte +42 -43
- package/dist/slider/slider-track.svelte +29 -30
- package/dist/slider/slider-value-text.svelte +33 -34
- package/dist/splitter/splitter-panel.svelte +37 -38
- package/dist/splitter/splitter-resize-trigger.svelte +50 -52
- package/dist/splitter/splitter-root.svelte +51 -52
- package/dist/steps/steps-completed-content.svelte +49 -50
- package/dist/steps/steps-content.svelte +53 -54
- package/dist/steps/steps-indicator.svelte +35 -37
- package/dist/steps/steps-item.svelte +46 -48
- package/dist/steps/steps-list.svelte +29 -30
- package/dist/steps/steps-next-trigger.svelte +29 -30
- package/dist/steps/steps-prev-trigger.svelte +29 -30
- package/dist/steps/steps-progress.svelte +29 -30
- package/dist/steps/steps-root.svelte +63 -64
- package/dist/steps/steps-separator.svelte +35 -36
- package/dist/steps/steps-trigger.svelte +35 -36
- package/dist/switch/switch-control.svelte +29 -30
- package/dist/switch/switch-hidden-input.svelte +26 -27
- package/dist/switch/switch-label.svelte +29 -30
- package/dist/switch/switch-root.svelte +57 -58
- package/dist/switch/switch-thumb.svelte +29 -30
- package/dist/tabs/tabs-content.svelte +37 -38
- package/dist/tabs/tabs-indicator.svelte +29 -30
- package/dist/tabs/tabs-list.svelte +29 -30
- package/dist/tabs/tabs-root.svelte +57 -56
- package/dist/tabs/tabs-trigger.svelte +40 -41
- package/dist/tags-input/tags-input-clear-trigger.svelte +31 -32
- package/dist/tags-input/tags-input-control.svelte +29 -30
- package/dist/tags-input/tags-input-hidden-input.svelte +28 -29
- package/dist/tags-input/tags-input-input.svelte +26 -27
- package/dist/tags-input/tags-input-item-delete-trigger.svelte +35 -36
- package/dist/tags-input/tags-input-item-input.svelte +32 -33
- package/dist/tags-input/tags-input-item-preview.svelte +35 -36
- package/dist/tags-input/tags-input-item-text.svelte +35 -36
- package/dist/tags-input/tags-input-item.svelte +46 -48
- package/dist/tags-input/tags-input-label.svelte +29 -30
- package/dist/tags-input/tags-input-root.svelte +73 -73
- package/dist/time-picker/time-picker-clear-trigger.svelte +31 -32
- package/dist/time-picker/time-picker-column.svelte +33 -34
- package/dist/time-picker/time-picker-content.svelte +38 -39
- package/dist/time-picker/time-picker-control.svelte +29 -30
- package/dist/time-picker/time-picker-hour-cell.svelte +33 -34
- package/dist/time-picker/time-picker-input.svelte +26 -27
- package/dist/time-picker/time-picker-label.svelte +29 -30
- package/dist/time-picker/time-picker-minute-cell.svelte +33 -34
- package/dist/time-picker/time-picker-period-cell.svelte +36 -42
- package/dist/time-picker/time-picker-positioner.svelte +37 -38
- package/dist/time-picker/time-picker-root.svelte +80 -80
- package/dist/time-picker/time-picker-second-cell.svelte +33 -34
- package/dist/time-picker/time-picker-spacer.svelte +29 -30
- package/dist/time-picker/time-picker-trigger.svelte +29 -30
- package/dist/timer/timer-action-trigger.svelte +36 -37
- package/dist/timer/timer-area.svelte +29 -30
- package/dist/timer/timer-control.svelte +29 -30
- package/dist/timer/timer-item-label.svelte +35 -36
- package/dist/timer/timer-item-value.svelte +39 -40
- package/dist/timer/timer-item.svelte +42 -43
- package/dist/timer/timer-root.svelte +54 -54
- package/dist/timer/timer-separator.svelte +29 -30
- package/dist/toast/toast-action-trigger.svelte +29 -29
- package/dist/toast/toast-actor.svelte +19 -19
- package/dist/toast/toast-close-trigger.svelte +29 -29
- package/dist/toast/toast-description.svelte +33 -33
- package/dist/toast/toast-ghost-after.svelte +29 -29
- package/dist/toast/toast-ghost-before.svelte +29 -29
- package/dist/toast/toast-root.svelte +32 -32
- package/dist/toast/toast-title.svelte +33 -33
- package/dist/toast/toaster.svelte +67 -67
- package/dist/toggle/toggle-root.svelte +48 -49
- package/dist/toggle-group/toggle-group-item.svelte +41 -43
- package/dist/toggle-group/toggle-group-root.svelte +56 -57
- package/dist/tooltip/tooltip-arrow-tip.svelte +29 -30
- package/dist/tooltip/tooltip-arrow.svelte +29 -30
- package/dist/tooltip/tooltip-content.svelte +36 -37
- package/dist/tooltip/tooltip-positioner.svelte +39 -40
- package/dist/tooltip/tooltip-root.svelte +44 -44
- package/dist/tooltip/tooltip-trigger.svelte +29 -30
- package/dist/tour/tour-action-trigger.svelte +38 -39
- package/dist/tour/tour-anatomy.d.ts +2 -2
- package/dist/tour/tour-arrow-tip.svelte +31 -32
- package/dist/tour/tour-arrow.svelte +31 -32
- package/dist/tour/tour-backdrop.svelte +43 -43
- package/dist/tour/tour-close-trigger.svelte +29 -30
- package/dist/tour/tour-content.svelte +35 -37
- package/dist/tour/tour-description.svelte +33 -34
- package/dist/tour/tour-positioner.svelte +35 -36
- package/dist/tour/tour-progress-text.svelte +33 -34
- package/dist/tour/tour-root.svelte +46 -47
- package/dist/tour/tour-spotlight.svelte +29 -30
- package/dist/tour/tour-title.svelte +33 -34
- package/dist/tour/tour-trigger.svelte +29 -30
- package/dist/tree-view/tree-view-branch-content.svelte +56 -58
- package/dist/tree-view/tree-view-branch-control.svelte +35 -35
- package/dist/tree-view/tree-view-branch-indent-guide.svelte +35 -35
- package/dist/tree-view/tree-view-branch-indicator.svelte +35 -35
- package/dist/tree-view/tree-view-branch-text.svelte +35 -35
- package/dist/tree-view/tree-view-branch-trigger.svelte +35 -35
- package/dist/tree-view/tree-view-branch.svelte +62 -62
- package/dist/tree-view/tree-view-item-indicator.svelte +35 -35
- package/dist/tree-view/tree-view-item-text.svelte +35 -35
- package/dist/tree-view/tree-view-item.svelte +42 -43
- package/dist/tree-view/tree-view-label.svelte +29 -29
- package/dist/tree-view/tree-view-root.svelte +67 -67
- package/dist/tree-view/tree-view-tree.svelte +29 -29
- package/package.json +58 -58
package/README.md
CHANGED
@@ -1,48 +1,49 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
Headless component library for [Svelte](https://svelte.dev/) powered by [zag](https://zagjs.com/)
|
4
|
-
|
5
|
-
## Installation
|
6
|
-
|
7
|
-
```bash
|
8
|
-
npm install ui-ingredients
|
9
|
-
```
|
10
|
-
|
11
|
-
## Usage
|
12
|
-
|
13
|
-
```svelte
|
14
|
-
<script>
|
15
|
-
import {Dialog, Portal} from 'ui-ingredients';
|
16
|
-
import {XCloseIcon
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
<Dialog.
|
29
|
-
|
30
|
-
|
31
|
-
<Dialog.
|
32
|
-
<Dialog.
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
</
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
- [
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
1
|
+
# ui-ingredients
|
2
|
+
|
3
|
+
Headless component library for [Svelte](https://svelte.dev/) powered by [zag](https://zagjs.com/)
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
```bash
|
8
|
+
npm install ui-ingredients
|
9
|
+
```
|
10
|
+
|
11
|
+
## Usage
|
12
|
+
|
13
|
+
```svelte
|
14
|
+
<script>
|
15
|
+
import {Dialog, Portal} from 'ui-ingredients';
|
16
|
+
import {XCloseIcon} from '$lib/icons';
|
17
|
+
import {Button} from '$lib/ui';
|
18
|
+
</script>
|
19
|
+
|
20
|
+
<Dialog.Root lazyMount keepMounted>
|
21
|
+
<Dialog.Trigger>
|
22
|
+
{#snippet asChild(attrs)}
|
23
|
+
<Button {...attrs}>Open</Button>
|
24
|
+
{/snippet}
|
25
|
+
</Dialog.Trigger>
|
26
|
+
|
27
|
+
<Portal>
|
28
|
+
<Dialog.Backdrop />
|
29
|
+
<Dialog.Positioner>
|
30
|
+
<Dialog.Content>
|
31
|
+
<Dialog.Title>Title</Dialog.Title>
|
32
|
+
<Dialog.Description>Description</Dialog.Description>
|
33
|
+
<Dialog.CloseTrigger>
|
34
|
+
<XCloseIcon />
|
35
|
+
</Dialog.CloseTrigger>
|
36
|
+
</Dialog.Content>
|
37
|
+
</Dialog.Positioner>
|
38
|
+
</Portal>
|
39
|
+
</Dialog.Root>
|
40
|
+
```
|
41
|
+
|
42
|
+
## Inspiration
|
43
|
+
|
44
|
+
- [zag](https://zagjs.com/) - The fantastic library that powers UI ingredients
|
45
|
+
- [ark](https://ark-ui.com/) - The outstanding headless component library that greatly inspired this one
|
46
|
+
|
47
|
+
## Documentation
|
48
|
+
|
49
|
+
Browse the [documentation](https://ui-ingredients.vercel.app/) for more information on how to use UI Ingredients
|
@@ -1,56 +1,56 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {Action} from 'svelte/action';
|
3
|
-
import type {HtmlIngredientProps} from '../types.js';
|
4
|
-
|
5
|
-
export interface AccordionItemContentProps
|
6
|
-
extends HtmlIngredientProps<'div', HTMLDivElement, never, Action> {}
|
7
|
-
</script>
|
8
|
-
|
9
|
-
<script lang="ts">
|
10
|
-
import {mergeProps, reflect} from '@zag-js/svelte';
|
11
|
-
import {getCollapsibleContext} from '../collapsible/collapsible-context.svelte.js';
|
12
|
-
import {createPresence} from '../presence/create-presence.svelte.js';
|
13
|
-
import {getPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
|
14
|
-
import {
|
15
|
-
getAccordionContext,
|
16
|
-
getAccordionItemPropsContext,
|
17
|
-
} from './accordion-context.svelte.js';
|
18
|
-
|
19
|
-
let {
|
20
|
-
ref = $bindable(null),
|
21
|
-
asChild,
|
22
|
-
children,
|
23
|
-
...props
|
24
|
-
}: AccordionItemContentProps = $props();
|
25
|
-
|
26
|
-
let accordion = getAccordionContext();
|
27
|
-
let itemProps = getAccordionItemPropsContext();
|
28
|
-
let itemsState = $derived(accordion.getItemState(itemProps));
|
29
|
-
let collapsible = getCollapsibleContext();
|
30
|
-
let presenceStrategyProps = getPresenceStrategyPropsContext();
|
31
|
-
let presence = createPresence(
|
32
|
-
reflect(() => ({
|
33
|
-
...presenceStrategyProps,
|
34
|
-
present: itemsState.expanded,
|
35
|
-
})),
|
36
|
-
);
|
37
|
-
|
38
|
-
let mergedProps = $derived(
|
39
|
-
mergeProps(
|
40
|
-
collapsible.getContentProps(),
|
41
|
-
accordion.getItemContentProps(itemProps),
|
42
|
-
presence.getPresenceProps(),
|
43
|
-
props,
|
44
|
-
),
|
45
|
-
);
|
46
|
-
</script>
|
47
|
-
|
48
|
-
{#if presence.mounted}
|
49
|
-
{#if asChild}
|
50
|
-
{@render asChild(presence.setReference, mergedProps)}
|
51
|
-
{:else}
|
52
|
-
<div bind:this={ref} use:presence.setReference {...mergedProps}>
|
53
|
-
{@render children?.()}
|
54
|
-
</div>
|
55
|
-
{/if}
|
56
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {Action} from 'svelte/action';
|
3
|
+
import type {HtmlIngredientProps} from '../types.js';
|
4
|
+
|
5
|
+
export interface AccordionItemContentProps
|
6
|
+
extends HtmlIngredientProps<'div', HTMLDivElement, never, Action> {}
|
7
|
+
</script>
|
8
|
+
|
9
|
+
<script lang="ts">
|
10
|
+
import {mergeProps, reflect} from '@zag-js/svelte';
|
11
|
+
import {getCollapsibleContext} from '../collapsible/collapsible-context.svelte.js';
|
12
|
+
import {createPresence} from '../presence/create-presence.svelte.js';
|
13
|
+
import {getPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
|
14
|
+
import {
|
15
|
+
getAccordionContext,
|
16
|
+
getAccordionItemPropsContext,
|
17
|
+
} from './accordion-context.svelte.js';
|
18
|
+
|
19
|
+
let {
|
20
|
+
ref = $bindable(null),
|
21
|
+
asChild,
|
22
|
+
children,
|
23
|
+
...props
|
24
|
+
}: AccordionItemContentProps = $props();
|
25
|
+
|
26
|
+
let accordion = getAccordionContext();
|
27
|
+
let itemProps = getAccordionItemPropsContext();
|
28
|
+
let itemsState = $derived(accordion.getItemState(itemProps));
|
29
|
+
let collapsible = getCollapsibleContext();
|
30
|
+
let presenceStrategyProps = getPresenceStrategyPropsContext();
|
31
|
+
let presence = createPresence(
|
32
|
+
reflect(() => ({
|
33
|
+
...presenceStrategyProps,
|
34
|
+
present: itemsState.expanded,
|
35
|
+
})),
|
36
|
+
);
|
37
|
+
|
38
|
+
let mergedProps = $derived(
|
39
|
+
mergeProps(
|
40
|
+
collapsible.getContentProps(),
|
41
|
+
accordion.getItemContentProps(itemProps),
|
42
|
+
presence.getPresenceProps(),
|
43
|
+
props,
|
44
|
+
),
|
45
|
+
);
|
46
|
+
</script>
|
47
|
+
|
48
|
+
{#if presence.mounted}
|
49
|
+
{#if asChild}
|
50
|
+
{@render asChild(presence.setReference, mergedProps)}
|
51
|
+
{:else}
|
52
|
+
<div bind:this={ref} use:presence.setReference {...mergedProps}>
|
53
|
+
{@render children?.()}
|
54
|
+
</div>
|
55
|
+
{/if}
|
56
|
+
{/if}
|
@@ -1,36 +1,35 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {HtmlIngredientProps} from '../types.js';
|
3
|
-
|
4
|
-
export interface AccordionIndicatorProps
|
5
|
-
extends HtmlIngredientProps<'span', HTMLSpanElement> {}
|
6
|
-
</script>
|
7
|
-
|
8
|
-
<script lang="ts">
|
9
|
-
import {mergeProps} from '@zag-js/svelte';
|
10
|
-
import {
|
11
|
-
getAccordionContext,
|
12
|
-
getAccordionItemPropsContext,
|
13
|
-
} from './accordion-context.svelte.js';
|
14
|
-
|
15
|
-
let {
|
16
|
-
ref = $bindable(null),
|
17
|
-
asChild,
|
18
|
-
children,
|
19
|
-
...props
|
20
|
-
}: AccordionIndicatorProps = $props();
|
21
|
-
|
22
|
-
let accordion = getAccordionContext();
|
23
|
-
let itemProps = getAccordionItemPropsContext();
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
{
|
31
|
-
|
32
|
-
{
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {HtmlIngredientProps} from '../types.js';
|
3
|
+
|
4
|
+
export interface AccordionIndicatorProps
|
5
|
+
extends HtmlIngredientProps<'span', HTMLSpanElement> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {
|
11
|
+
getAccordionContext,
|
12
|
+
getAccordionItemPropsContext,
|
13
|
+
} from './accordion-context.svelte.js';
|
14
|
+
|
15
|
+
let {
|
16
|
+
ref = $bindable(null),
|
17
|
+
asChild,
|
18
|
+
children,
|
19
|
+
...props
|
20
|
+
}: AccordionIndicatorProps = $props();
|
21
|
+
|
22
|
+
let accordion = getAccordionContext();
|
23
|
+
let itemProps = getAccordionItemPropsContext();
|
24
|
+
let mergedProps = $derived(
|
25
|
+
mergeProps(accordion.getItemIndicatorProps(itemProps), props),
|
26
|
+
);
|
27
|
+
</script>
|
28
|
+
|
29
|
+
{#if asChild}
|
30
|
+
{@render asChild(mergedProps)}
|
31
|
+
{:else}
|
32
|
+
<span bind:this={ref} {...mergedProps}>
|
33
|
+
{@render children?.()}
|
34
|
+
</span>
|
35
|
+
{/if}
|
@@ -1,36 +1,35 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {HtmlIngredientProps} from '../types.js';
|
3
|
-
|
4
|
-
export interface AccordionItemTriggerProps
|
5
|
-
extends HtmlIngredientProps<'button', HTMLButtonElement> {}
|
6
|
-
</script>
|
7
|
-
|
8
|
-
<script lang="ts">
|
9
|
-
import {mergeProps} from '@zag-js/svelte';
|
10
|
-
import {
|
11
|
-
getAccordionContext,
|
12
|
-
getAccordionItemPropsContext,
|
13
|
-
} from './accordion-context.svelte.js';
|
14
|
-
|
15
|
-
let {
|
16
|
-
ref = $bindable(null),
|
17
|
-
asChild,
|
18
|
-
children,
|
19
|
-
...props
|
20
|
-
}: AccordionItemTriggerProps = $props();
|
21
|
-
|
22
|
-
let accordion = getAccordionContext();
|
23
|
-
let itemProps = getAccordionItemPropsContext();
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
{
|
31
|
-
|
32
|
-
{
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {HtmlIngredientProps} from '../types.js';
|
3
|
+
|
4
|
+
export interface AccordionItemTriggerProps
|
5
|
+
extends HtmlIngredientProps<'button', HTMLButtonElement> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {
|
11
|
+
getAccordionContext,
|
12
|
+
getAccordionItemPropsContext,
|
13
|
+
} from './accordion-context.svelte.js';
|
14
|
+
|
15
|
+
let {
|
16
|
+
ref = $bindable(null),
|
17
|
+
asChild,
|
18
|
+
children,
|
19
|
+
...props
|
20
|
+
}: AccordionItemTriggerProps = $props();
|
21
|
+
|
22
|
+
let accordion = getAccordionContext();
|
23
|
+
let itemProps = getAccordionItemPropsContext();
|
24
|
+
let mergedProps = $derived(
|
25
|
+
mergeProps(accordion.getItemTriggerProps(itemProps), props),
|
26
|
+
);
|
27
|
+
</script>
|
28
|
+
|
29
|
+
{#if asChild}
|
30
|
+
{@render asChild(mergedProps)}
|
31
|
+
{:else}
|
32
|
+
<button bind:this={ref} {...mergedProps}>
|
33
|
+
{@render children?.()}
|
34
|
+
</button>
|
35
|
+
{/if}
|
@@ -1,63 +1,63 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {ItemProps, ItemState} from '@zag-js/accordion';
|
3
|
-
import type {Assign, HtmlIngredientProps} from '../types.js';
|
4
|
-
|
5
|
-
export interface AccordionItemProps
|
6
|
-
extends Assign<
|
7
|
-
HtmlIngredientProps<'div', HTMLDivElement, ItemState>,
|
8
|
-
ItemProps
|
9
|
-
> {}
|
10
|
-
</script>
|
11
|
-
|
12
|
-
<script lang="ts">
|
13
|
-
import {mergeProps, reflect} from '@zag-js/svelte';
|
14
|
-
import {setCollapsibleContext} from '../collapsible/collapsible-context.svelte.js';
|
15
|
-
import {createCollapsible} from '../collapsible/create-collapsible.svelte.js';
|
16
|
-
import {createSplitProps} from '../create-split-props.js';
|
17
|
-
import {
|
18
|
-
getAccordionContext,
|
19
|
-
setAccordionItemPropsContext,
|
20
|
-
} from './accordion-context.svelte.js';
|
21
|
-
|
22
|
-
let {
|
23
|
-
ref = $bindable(null),
|
24
|
-
asChild,
|
25
|
-
children,
|
26
|
-
...props
|
27
|
-
}: AccordionItemProps = $props();
|
28
|
-
|
29
|
-
let accordion = getAccordionContext();
|
30
|
-
|
31
|
-
let [itemProps, localProps] = $derived(
|
32
|
-
createSplitProps<ItemProps>(['value', 'disabled'])(props),
|
33
|
-
);
|
34
|
-
|
35
|
-
let itemState = $derived(accordion.getItemState(itemProps));
|
36
|
-
let contentProps = $derived(accordion.getItemContentProps(itemProps));
|
37
|
-
let collapsible = createCollapsible(
|
38
|
-
reflect(() => ({
|
39
|
-
ids: {content: contentProps.id},
|
40
|
-
open: itemState.expanded,
|
41
|
-
disabled: itemState.disabled,
|
42
|
-
})),
|
43
|
-
);
|
44
|
-
|
45
|
-
let mergedProps = $derived(
|
46
|
-
mergeProps(
|
47
|
-
collapsible.getRootProps(),
|
48
|
-
accordion.getItemProps(itemProps),
|
49
|
-
localProps,
|
50
|
-
),
|
51
|
-
);
|
52
|
-
|
53
|
-
setCollapsibleContext(collapsible);
|
54
|
-
setAccordionItemPropsContext(() => itemProps);
|
55
|
-
</script>
|
56
|
-
|
57
|
-
{#if asChild}
|
58
|
-
{@render asChild(mergedProps, itemState)}
|
59
|
-
{:else}
|
60
|
-
<div bind:this={ref} {...mergedProps}>
|
61
|
-
{@render children?.(itemState)}
|
62
|
-
</div>
|
63
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {ItemProps, ItemState} from '@zag-js/accordion';
|
3
|
+
import type {Assign, HtmlIngredientProps} from '../types.js';
|
4
|
+
|
5
|
+
export interface AccordionItemProps
|
6
|
+
extends Assign<
|
7
|
+
HtmlIngredientProps<'div', HTMLDivElement, ItemState>,
|
8
|
+
ItemProps
|
9
|
+
> {}
|
10
|
+
</script>
|
11
|
+
|
12
|
+
<script lang="ts">
|
13
|
+
import {mergeProps, reflect} from '@zag-js/svelte';
|
14
|
+
import {setCollapsibleContext} from '../collapsible/collapsible-context.svelte.js';
|
15
|
+
import {createCollapsible} from '../collapsible/create-collapsible.svelte.js';
|
16
|
+
import {createSplitProps} from '../create-split-props.js';
|
17
|
+
import {
|
18
|
+
getAccordionContext,
|
19
|
+
setAccordionItemPropsContext,
|
20
|
+
} from './accordion-context.svelte.js';
|
21
|
+
|
22
|
+
let {
|
23
|
+
ref = $bindable(null),
|
24
|
+
asChild,
|
25
|
+
children,
|
26
|
+
...props
|
27
|
+
}: AccordionItemProps = $props();
|
28
|
+
|
29
|
+
let accordion = getAccordionContext();
|
30
|
+
|
31
|
+
let [itemProps, localProps] = $derived(
|
32
|
+
createSplitProps<ItemProps>(['value', 'disabled'])(props),
|
33
|
+
);
|
34
|
+
|
35
|
+
let itemState = $derived(accordion.getItemState(itemProps));
|
36
|
+
let contentProps = $derived(accordion.getItemContentProps(itemProps));
|
37
|
+
let collapsible = createCollapsible(
|
38
|
+
reflect(() => ({
|
39
|
+
ids: {content: contentProps.id},
|
40
|
+
open: itemState.expanded,
|
41
|
+
disabled: itemState.disabled,
|
42
|
+
})),
|
43
|
+
);
|
44
|
+
|
45
|
+
let mergedProps = $derived(
|
46
|
+
mergeProps(
|
47
|
+
collapsible.getRootProps(),
|
48
|
+
accordion.getItemProps(itemProps),
|
49
|
+
localProps,
|
50
|
+
),
|
51
|
+
);
|
52
|
+
|
53
|
+
setCollapsibleContext(collapsible);
|
54
|
+
setAccordionItemPropsContext(() => itemProps);
|
55
|
+
</script>
|
56
|
+
|
57
|
+
{#if asChild}
|
58
|
+
{@render asChild(mergedProps, itemState)}
|
59
|
+
{:else}
|
60
|
+
<div bind:this={ref} {...mergedProps}>
|
61
|
+
{@render children?.(itemState)}
|
62
|
+
</div>
|
63
|
+
{/if}
|
@@ -1,65 +1,64 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {PresenceStrategyProps} from '../presence/create-presence.svelte.js';
|
3
|
-
import type {Assign, HtmlIngredientProps} from '../types.js';
|
4
|
-
import type {
|
5
|
-
CreateAccordionProps,
|
6
|
-
CreateAccordionReturn,
|
7
|
-
} from './create-accordion.svelte.js';
|
8
|
-
|
9
|
-
export interface AccordionProps
|
10
|
-
extends Assign<
|
11
|
-
HtmlIngredientProps<'div', HTMLDivElement, CreateAccordionReturn>,
|
12
|
-
CreateAccordionProps
|
13
|
-
>,
|
14
|
-
PresenceStrategyProps {}
|
15
|
-
</script>
|
16
|
-
|
17
|
-
<script lang="ts">
|
18
|
-
import {mergeProps, reflect} from '@zag-js/svelte';
|
19
|
-
import {createSplitProps} from '../create-split-props.js';
|
20
|
-
import {setPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
|
21
|
-
import {setAccordionContext} from './accordion-context.svelte.js';
|
22
|
-
import {createAccordion} from './create-accordion.svelte.js';
|
23
|
-
|
24
|
-
let {
|
25
|
-
ref = $bindable(null),
|
26
|
-
asChild,
|
27
|
-
children,
|
28
|
-
...props
|
29
|
-
}: AccordionProps = $props();
|
30
|
-
|
31
|
-
let [presenceStrategyProps, rest] = $derived(
|
32
|
-
createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
|
33
|
-
props,
|
34
|
-
),
|
35
|
-
);
|
36
|
-
|
37
|
-
let [createAccordionProps, localProps] = $derived(
|
38
|
-
createSplitProps<CreateAccordionProps>([
|
39
|
-
'
|
40
|
-
'
|
41
|
-
'
|
42
|
-
'
|
43
|
-
'multiple',
|
44
|
-
'
|
45
|
-
'
|
46
|
-
'
|
47
|
-
'
|
48
|
-
])(rest),
|
49
|
-
);
|
50
|
-
|
51
|
-
let accordion = createAccordion(reflect(() => createAccordionProps));
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
{
|
60
|
-
|
61
|
-
{
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {PresenceStrategyProps} from '../presence/create-presence.svelte.js';
|
3
|
+
import type {Assign, HtmlIngredientProps} from '../types.js';
|
4
|
+
import type {
|
5
|
+
CreateAccordionProps,
|
6
|
+
CreateAccordionReturn,
|
7
|
+
} from './create-accordion.svelte.js';
|
8
|
+
|
9
|
+
export interface AccordionProps
|
10
|
+
extends Assign<
|
11
|
+
HtmlIngredientProps<'div', HTMLDivElement, CreateAccordionReturn>,
|
12
|
+
CreateAccordionProps
|
13
|
+
>,
|
14
|
+
PresenceStrategyProps {}
|
15
|
+
</script>
|
16
|
+
|
17
|
+
<script lang="ts">
|
18
|
+
import {mergeProps, reflect} from '@zag-js/svelte';
|
19
|
+
import {createSplitProps} from '../create-split-props.js';
|
20
|
+
import {setPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
|
21
|
+
import {setAccordionContext} from './accordion-context.svelte.js';
|
22
|
+
import {createAccordion} from './create-accordion.svelte.js';
|
23
|
+
|
24
|
+
let {
|
25
|
+
ref = $bindable(null),
|
26
|
+
asChild,
|
27
|
+
children,
|
28
|
+
...props
|
29
|
+
}: AccordionProps = $props();
|
30
|
+
|
31
|
+
let [presenceStrategyProps, rest] = $derived(
|
32
|
+
createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
|
33
|
+
props,
|
34
|
+
),
|
35
|
+
);
|
36
|
+
|
37
|
+
let [createAccordionProps, localProps] = $derived(
|
38
|
+
createSplitProps<CreateAccordionProps>([
|
39
|
+
'collapsible',
|
40
|
+
'disabled',
|
41
|
+
'id',
|
42
|
+
'ids',
|
43
|
+
'multiple',
|
44
|
+
'onFocusChange',
|
45
|
+
'onValueChange',
|
46
|
+
'orientation',
|
47
|
+
'value',
|
48
|
+
])(rest),
|
49
|
+
);
|
50
|
+
|
51
|
+
let accordion = createAccordion(reflect(() => createAccordionProps));
|
52
|
+
let mergedProps = $derived(mergeProps(accordion.getRootProps(), localProps));
|
53
|
+
|
54
|
+
setAccordionContext(accordion);
|
55
|
+
setPresenceStrategyPropsContext(() => presenceStrategyProps);
|
56
|
+
</script>
|
57
|
+
|
58
|
+
{#if asChild}
|
59
|
+
{@render asChild(mergedProps, accordion)}
|
60
|
+
{:else}
|
61
|
+
<div bind:this={ref} {...mergedProps}>
|
62
|
+
{@render children?.(accordion)}
|
63
|
+
</div>
|
64
|
+
{/if}
|