@gunkin/uiify 0.0.24-alpha → 0.0.26-alpha
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/agents/index.md +1 -1
- package/agents/reference/components/accordion.md +18 -3
- package/agents/reference/components/alert-modal.md +19 -7
- package/agents/reference/components/alert.md +9 -1
- package/agents/reference/components/aspect-ratio.md +8 -0
- package/agents/reference/components/avatar.md +10 -0
- package/agents/reference/components/breadcrumb.md +22 -4
- package/agents/reference/components/candle-chart.md +51 -3
- package/agents/reference/components/carousel.md +26 -1
- package/agents/reference/components/checkbox.md +3 -1
- package/agents/reference/components/collapsible.md +16 -3
- package/agents/reference/components/color-picker.md +18 -2
- package/agents/reference/components/combobox.md +15 -14
- package/agents/reference/components/context-menu.md +16 -5
- package/agents/reference/components/date-picker.md +2 -1
- package/agents/reference/components/drawer.md +28 -17
- package/agents/reference/components/dropdown-menu.md +3 -3
- package/agents/reference/components/field.md +13 -13
- package/agents/reference/components/form-error-summary.md +11 -1
- package/agents/reference/components/input-group.md +1 -0
- package/agents/reference/components/input.md +1 -0
- package/agents/reference/components/line-chart.md +42 -3
- package/agents/reference/components/modal.md +22 -5
- package/agents/reference/components/number-field.md +1 -1
- package/agents/reference/components/otp-input.md +2 -1
- package/agents/reference/components/pagination.md +15 -4
- package/agents/reference/components/radio-group.md +8 -2
- package/agents/reference/components/rating.md +8 -2
- package/agents/reference/components/segmented-control.md +9 -3
- package/agents/reference/components/select.md +1 -0
- package/agents/reference/components/slider.md +13 -1
- package/agents/reference/components/spinner.md +10 -1
- package/agents/reference/components/table.md +15 -0
- package/agents/reference/components/tabs.md +21 -3
- package/agents/reference/components/tags-input.md +15 -1
- package/agents/reference/components/toast.md +50 -12
- package/agents/reference/components/toggle-group.md +5 -3
- package/agents/reference/components/toggle.md +17 -3
- package/agents/reference/components/toolbar.md +4 -4
- package/agents/reference/components/virtual-scroll.md +32 -4
- package/agents/reference/elements/choice.md +20 -7
- package/agents/reference/elements/details.md +2 -2
- package/agents/reference/elements/popover.md +3 -3
- package/dist/components/accordion/Accordion.d.ts +1 -1
- package/dist/components/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/accordion/Accordion.js +36 -15
- package/dist/components/accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/index.d.ts +1 -1
- package/dist/components/accordion/index.d.ts.map +1 -1
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/accordion/types.d.ts +14 -2
- package/dist/components/accordion/types.d.ts.map +1 -1
- package/dist/components/alert/Alert.d.ts.map +1 -1
- package/dist/components/alert/Alert.js +6 -5
- package/dist/components/alert/Alert.js.map +1 -1
- package/dist/components/alert/index.d.ts +1 -1
- package/dist/components/alert/index.d.ts.map +1 -1
- package/dist/components/alert/index.js.map +1 -1
- package/dist/components/alert/types.d.ts +6 -0
- package/dist/components/alert/types.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModal.d.ts +1 -1
- package/dist/components/alert-modal/AlertModal.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModal.js +18 -8
- package/dist/components/alert-modal/AlertModal.js.map +1 -1
- package/dist/components/alert-modal/AlertModalParts.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModalParts.js +1 -1
- package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
- package/dist/components/alert-modal/index.d.ts +1 -1
- package/dist/components/alert-modal/index.d.ts.map +1 -1
- package/dist/components/alert-modal/index.js.map +1 -1
- package/dist/components/alert-modal/types.d.ts +23 -7
- package/dist/components/alert-modal/types.d.ts.map +1 -1
- package/dist/components/aspect-ratio/AspectRatio.d.ts.map +1 -1
- package/dist/components/aspect-ratio/AspectRatio.js +5 -5
- package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
- package/dist/components/aspect-ratio/types.d.ts +6 -0
- package/dist/components/aspect-ratio/types.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.js +5 -5
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/types.d.ts +8 -0
- package/dist/components/avatar/types.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.d.ts +2 -2
- package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.js +59 -47
- package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb/index.d.ts +1 -1
- package/dist/components/breadcrumb/index.d.ts.map +1 -1
- package/dist/components/breadcrumb/index.js.map +1 -1
- package/dist/components/breadcrumb/types.d.ts +19 -3
- package/dist/components/breadcrumb/types.d.ts.map +1 -1
- package/dist/components/candle-chart/CandleChart.d.ts +1 -1
- package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
- package/dist/components/candle-chart/CandleChart.js +161 -75
- package/dist/components/candle-chart/CandleChart.js.map +1 -1
- package/dist/components/candle-chart/client/CandleChartClient.d.ts.map +1 -1
- package/dist/components/candle-chart/client/CandleChartClient.js +19 -6
- package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
- package/dist/components/candle-chart/client/index.d.ts +1 -1
- package/dist/components/candle-chart/client/index.d.ts.map +1 -1
- package/dist/components/candle-chart/client/index.js.map +1 -1
- package/dist/components/candle-chart/index.d.ts +1 -1
- package/dist/components/candle-chart/index.d.ts.map +1 -1
- package/dist/components/candle-chart/index.js.map +1 -1
- package/dist/components/candle-chart/types.d.ts +56 -2
- package/dist/components/candle-chart/types.d.ts.map +1 -1
- package/dist/components/carousel/Carousel.d.ts +2 -2
- package/dist/components/carousel/Carousel.d.ts.map +1 -1
- package/dist/components/carousel/Carousel.js +2 -1
- package/dist/components/carousel/Carousel.js.map +1 -1
- package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
- package/dist/components/carousel/CarouselMarkup.js +38 -10
- package/dist/components/carousel/CarouselMarkup.js.map +1 -1
- package/dist/components/carousel/client/CarouselClient.d.ts.map +1 -1
- package/dist/components/carousel/client/CarouselClient.js +3 -2
- package/dist/components/carousel/client/CarouselClient.js.map +1 -1
- package/dist/components/carousel/client/carousel-controls.d.ts.map +1 -1
- package/dist/components/carousel/client/carousel-controls.js +2 -2
- package/dist/components/carousel/client/carousel-controls.js.map +1 -1
- package/dist/components/carousel/fade/FadeCarouselClient.d.ts.map +1 -1
- package/dist/components/carousel/fade/FadeCarouselClient.js +3 -2
- package/dist/components/carousel/fade/FadeCarouselClient.js.map +1 -1
- package/dist/components/carousel/index.d.ts +1 -1
- package/dist/components/carousel/index.d.ts.map +1 -1
- package/dist/components/carousel/index.js.map +1 -1
- package/dist/components/carousel/types.d.ts +18 -2
- package/dist/components/carousel/types.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.d.ts +6 -1
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.js +6 -1
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +1 -1
- package/dist/components/checkbox/index.d.ts.map +1 -1
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/types.d.ts +3 -0
- package/dist/components/checkbox/types.d.ts.map +1 -1
- package/dist/components/collapsible/Collapsible.d.ts +2 -6
- package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/Collapsible.js +5 -4
- package/dist/components/collapsible/Collapsible.js.map +1 -1
- package/dist/components/collapsible/index.d.ts +1 -1
- package/dist/components/collapsible/index.d.ts.map +1 -1
- package/dist/components/collapsible/index.js.map +1 -1
- package/dist/components/collapsible/types.d.ts +11 -3
- package/dist/components/collapsible/types.d.ts.map +1 -1
- package/dist/components/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/color-picker/ColorPicker.js +73 -52
- package/dist/components/color-picker/ColorPicker.js.map +1 -1
- package/dist/components/color-picker/index.d.ts +1 -1
- package/dist/components/color-picker/index.d.ts.map +1 -1
- package/dist/components/color-picker/index.js.map +1 -1
- package/dist/components/color-picker/types.d.ts +20 -2
- package/dist/components/color-picker/types.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +59 -33
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/index.d.ts +1 -1
- package/dist/components/combobox/index.d.ts.map +1 -1
- package/dist/components/combobox/index.js.map +1 -1
- package/dist/components/combobox/types.d.ts +13 -8
- package/dist/components/combobox/types.d.ts.map +1 -1
- package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
- package/dist/components/context-menu/ContextMenu.js +33 -19
- package/dist/components/context-menu/ContextMenu.js.map +1 -1
- package/dist/components/context-menu/index.d.ts +1 -1
- package/dist/components/context-menu/index.d.ts.map +1 -1
- package/dist/components/context-menu/index.js.map +1 -1
- package/dist/components/context-menu/types.d.ts +10 -9
- package/dist/components/context-menu/types.d.ts.map +1 -1
- package/dist/components/date-picker/DatePicker.d.ts +1 -1
- package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DatePicker.js +2 -1
- package/dist/components/date-picker/DatePicker.js.map +1 -1
- package/dist/components/date-picker/types.d.ts +4 -1
- package/dist/components/date-picker/types.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.js +17 -13
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/DrawerNative.d.ts +1 -1
- package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
- package/dist/components/drawer/DrawerNative.js +30 -25
- package/dist/components/drawer/DrawerNative.js.map +1 -1
- package/dist/components/drawer/index.d.ts +1 -1
- package/dist/components/drawer/index.d.ts.map +1 -1
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/types.d.ts +31 -11
- package/dist/components/drawer/types.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.js +34 -25
- package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuBar.js +43 -29
- package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
- package/dist/components/dropdown-menu/types.d.ts +4 -5
- package/dist/components/dropdown-menu/types.d.ts.map +1 -1
- package/dist/components/field/Field.js +7 -7
- package/dist/components/field/Field.js.map +1 -1
- package/dist/components/field/types.d.ts +14 -14
- package/dist/components/field/types.d.ts.map +1 -1
- package/dist/components/form-error-summary/FormErrorSummary.d.ts.map +1 -1
- package/dist/components/form-error-summary/FormErrorSummary.js +23 -5
- package/dist/components/form-error-summary/FormErrorSummary.js.map +1 -1
- package/dist/components/form-error-summary/index.d.ts +1 -1
- package/dist/components/form-error-summary/index.d.ts.map +1 -1
- package/dist/components/form-error-summary/index.js.map +1 -1
- package/dist/components/form-error-summary/types.d.ts +9 -0
- package/dist/components/form-error-summary/types.d.ts.map +1 -1
- package/dist/components/hover-card/HoverCard.d.ts.map +1 -1
- package/dist/components/hover-card/HoverCard.js +9 -9
- package/dist/components/hover-card/HoverCard.js.map +1 -1
- package/dist/components/input/Input.d.ts.map +1 -1
- package/dist/components/input/Input.js +2 -0
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/input/types.d.ts +3 -0
- package/dist/components/input/types.d.ts.map +1 -1
- package/dist/components/input-group/InputGroup.d.ts.map +1 -1
- package/dist/components/input-group/InputGroup.js +2 -1
- package/dist/components/input-group/InputGroup.js.map +1 -1
- package/dist/components/input-group/types.d.ts +3 -0
- package/dist/components/input-group/types.d.ts.map +1 -1
- package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.d.ts +2 -2
- package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.d.ts.map +1 -1
- package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.js +11 -3
- package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.js.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.js +25 -12
- package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
- package/dist/components/internal/choice-family/types.d.ts +19 -1
- package/dist/components/internal/choice-family/types.d.ts.map +1 -1
- package/dist/components/internal/control-size/types.d.ts +3 -0
- package/dist/components/internal/control-size/types.d.ts.map +1 -0
- package/dist/components/internal/control-size/types.js +1 -0
- package/dist/components/internal/control-size/types.js.map +1 -0
- package/dist/components/internal/live-chart/types.d.ts +3 -1
- package/dist/components/internal/live-chart/types.d.ts.map +1 -1
- package/dist/components/internal/live-chart/use-live-chart-window.d.ts.map +1 -1
- package/dist/components/internal/live-chart/use-live-chart-window.js +21 -5
- package/dist/components/internal/live-chart/use-live-chart-window.js.map +1 -1
- package/dist/components/internal/menu/menu-parts.d.ts.map +1 -1
- package/dist/components/internal/menu/menu-parts.js +3 -3
- package/dist/components/internal/menu/menu-parts.js.map +1 -1
- package/dist/components/internal/menu/types.d.ts +1 -0
- package/dist/components/internal/menu/types.d.ts.map +1 -1
- package/dist/components/internal/menu/use-menu-surface.d.ts.map +1 -1
- package/dist/components/internal/menu/use-menu-surface.js +2 -1
- package/dist/components/internal/menu/use-menu-surface.js.map +1 -1
- package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -1
- package/dist/components/internal/native-check-control/NativeCheckControl.js +12 -4
- package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -1
- package/dist/components/internal/native-check-control/types.d.ts +6 -0
- package/dist/components/internal/native-check-control/types.d.ts.map +1 -1
- package/dist/components/line-chart/LineChart.d.ts +1 -1
- package/dist/components/line-chart/LineChart.d.ts.map +1 -1
- package/dist/components/line-chart/LineChart.js +182 -75
- package/dist/components/line-chart/LineChart.js.map +1 -1
- package/dist/components/line-chart/client/LineChartClient.d.ts.map +1 -1
- package/dist/components/line-chart/client/LineChartClient.js +19 -6
- package/dist/components/line-chart/client/LineChartClient.js.map +1 -1
- package/dist/components/line-chart/client/index.d.ts +1 -1
- package/dist/components/line-chart/client/index.d.ts.map +1 -1
- package/dist/components/line-chart/client/index.js.map +1 -1
- package/dist/components/line-chart/index.d.ts +1 -1
- package/dist/components/line-chart/index.d.ts.map +1 -1
- package/dist/components/line-chart/index.js.map +1 -1
- package/dist/components/line-chart/types.d.ts +47 -2
- package/dist/components/line-chart/types.d.ts.map +1 -1
- package/dist/components/modal/Modal.d.ts +1 -1
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +21 -27
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/ModalAnatomy.js +6 -6
- package/dist/components/modal/ModalAnatomy.js.map +1 -1
- package/dist/components/modal/ModalParts.js +1 -1
- package/dist/components/modal/ModalParts.js.map +1 -1
- package/dist/components/modal/client/ModalClientContent.d.ts.map +1 -1
- package/dist/components/modal/client/ModalClientContent.js +2 -2
- package/dist/components/modal/client/ModalClientContent.js.map +1 -1
- package/dist/components/modal/index.d.ts +1 -1
- package/dist/components/modal/index.d.ts.map +1 -1
- package/dist/components/modal/index.js.map +1 -1
- package/dist/components/modal/types.d.ts +26 -4
- package/dist/components/modal/types.d.ts.map +1 -1
- package/dist/components/number-field/NumberField.d.ts.map +1 -1
- package/dist/components/number-field/NumberField.js +13 -11
- package/dist/components/number-field/NumberField.js.map +1 -1
- package/dist/components/number-field/types.d.ts +1 -1
- package/dist/components/number-field/types.d.ts.map +1 -1
- package/dist/components/otp-input/OtpInput.d.ts.map +1 -1
- package/dist/components/otp-input/OtpInput.js +12 -10
- package/dist/components/otp-input/OtpInput.js.map +1 -1
- package/dist/components/otp-input/types.d.ts +4 -1
- package/dist/components/otp-input/types.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.js +135 -61
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationShell.d.ts.map +1 -1
- package/dist/components/pagination/PaginationShell.js +5 -6
- package/dist/components/pagination/PaginationShell.js.map +1 -1
- package/dist/components/pagination/index.d.ts +1 -1
- package/dist/components/pagination/index.d.ts.map +1 -1
- package/dist/components/pagination/index.js.map +1 -1
- package/dist/components/pagination/types.d.ts +12 -3
- package/dist/components/pagination/types.d.ts.map +1 -1
- package/dist/components/radio-group/RadioGroup.d.ts +1 -1
- package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/components/radio-group/RadioGroup.js +5 -1
- package/dist/components/radio-group/RadioGroup.js.map +1 -1
- package/dist/components/radio-group/index.d.ts +1 -1
- package/dist/components/radio-group/index.d.ts.map +1 -1
- package/dist/components/radio-group/index.js.map +1 -1
- package/dist/components/radio-group/types.d.ts +4 -2
- package/dist/components/radio-group/types.d.ts.map +1 -1
- package/dist/components/rating/Rating.d.ts +1 -1
- package/dist/components/rating/Rating.d.ts.map +1 -1
- package/dist/components/rating/Rating.js +5 -1
- package/dist/components/rating/Rating.js.map +1 -1
- package/dist/components/rating/client/RatingClient.d.ts +1 -1
- package/dist/components/rating/client/RatingClient.d.ts.map +1 -1
- package/dist/components/rating/client/RatingClient.js +5 -1
- package/dist/components/rating/client/RatingClient.js.map +1 -1
- package/dist/components/rating/index.d.ts +1 -1
- package/dist/components/rating/index.d.ts.map +1 -1
- package/dist/components/rating/index.js.map +1 -1
- package/dist/components/rating/types.d.ts +8 -1
- package/dist/components/rating/types.d.ts.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
- package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.js +9 -3
- package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
- package/dist/components/segmented-control/client/SegmentedControlClient.d.ts +1 -1
- package/dist/components/segmented-control/client/SegmentedControlClient.d.ts.map +1 -1
- package/dist/components/segmented-control/client/SegmentedControlClient.js +9 -3
- package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -1
- package/dist/components/segmented-control/index.d.ts +1 -1
- package/dist/components/segmented-control/index.d.ts.map +1 -1
- package/dist/components/segmented-control/index.js.map +1 -1
- package/dist/components/segmented-control/types.d.ts +7 -4
- package/dist/components/segmented-control/types.d.ts.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +2 -0
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/select/types.d.ts +3 -0
- package/dist/components/select/types.d.ts.map +1 -1
- package/dist/components/slider/Slider.d.ts.map +1 -1
- package/dist/components/slider/Slider.js +12 -7
- package/dist/components/slider/Slider.js.map +1 -1
- package/dist/components/slider/client/SliderClient.d.ts.map +1 -1
- package/dist/components/slider/client/SliderClient.js +55 -20
- package/dist/components/slider/client/SliderClient.js.map +1 -1
- package/dist/components/slider/client/index.d.ts +1 -1
- package/dist/components/slider/client/index.d.ts.map +1 -1
- package/dist/components/slider/client/index.js.map +1 -1
- package/dist/components/slider/types.d.ts +15 -0
- package/dist/components/slider/types.d.ts.map +1 -1
- package/dist/components/spinner/Spinner.d.ts.map +1 -1
- package/dist/components/spinner/Spinner.js +12 -4
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/spinner/index.d.ts +1 -1
- package/dist/components/spinner/index.d.ts.map +1 -1
- package/dist/components/spinner/index.js.map +1 -1
- package/dist/components/spinner/types.d.ts +7 -0
- package/dist/components/spinner/types.d.ts.map +1 -1
- package/dist/components/table/client/TableColumnHeader.d.ts +3 -3
- package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -1
- package/dist/components/table/client/TableColumnHeader.js +10 -2
- package/dist/components/table/client/TableColumnHeader.js.map +1 -1
- package/dist/components/table/client/TableSelection.d.ts +3 -3
- package/dist/components/table/client/TableSelection.d.ts.map +1 -1
- package/dist/components/table/client/TableSelection.js +6 -4
- package/dist/components/table/client/TableSelection.js.map +1 -1
- package/dist/components/table/client.d.ts +1 -1
- package/dist/components/table/client.d.ts.map +1 -1
- package/dist/components/table/client.js.map +1 -1
- package/dist/components/table/types.d.ts +13 -0
- package/dist/components/table/types.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.d.ts +1 -1
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +12 -2
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/index.d.ts.map +1 -1
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs/types.d.ts +17 -4
- package/dist/components/tabs/types.d.ts.map +1 -1
- package/dist/components/tags-input/TagsInput.d.ts.map +1 -1
- package/dist/components/tags-input/TagsInput.js +45 -11
- package/dist/components/tags-input/TagsInput.js.map +1 -1
- package/dist/components/tags-input/index.d.ts +1 -1
- package/dist/components/tags-input/index.d.ts.map +1 -1
- package/dist/components/tags-input/index.js.map +1 -1
- package/dist/components/tags-input/types.d.ts +12 -4
- package/dist/components/tags-input/types.d.ts.map +1 -1
- package/dist/components/toast/Toast.d.ts +1 -1
- package/dist/components/toast/Toast.d.ts.map +1 -1
- package/dist/components/toast/Toast.js +74 -35
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/toast/ToastElements.d.ts.map +1 -1
- package/dist/components/toast/ToastElements.js +36 -12
- package/dist/components/toast/ToastElements.js.map +1 -1
- package/dist/components/toast/index.d.ts +1 -1
- package/dist/components/toast/index.d.ts.map +1 -1
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/toast/types.d.ts +32 -26
- package/dist/components/toast/types.d.ts.map +1 -1
- package/dist/components/toggle/Toggle.d.ts +1 -1
- package/dist/components/toggle/Toggle.d.ts.map +1 -1
- package/dist/components/toggle/Toggle.js +13 -4
- package/dist/components/toggle/Toggle.js.map +1 -1
- package/dist/components/toggle/index.d.ts +1 -1
- package/dist/components/toggle/index.d.ts.map +1 -1
- package/dist/components/toggle/index.js.map +1 -1
- package/dist/components/toggle/types.d.ts +12 -3
- package/dist/components/toggle/types.d.ts.map +1 -1
- package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
- package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
- package/dist/components/toggle-group/ToggleGroup.js +5 -1
- package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.d.ts +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.d.ts.map +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.js +15 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
- package/dist/components/toggle-group/index.d.ts +1 -1
- package/dist/components/toggle-group/index.d.ts.map +1 -1
- package/dist/components/toggle-group/index.js.map +1 -1
- package/dist/components/toggle-group/types.d.ts +4 -4
- package/dist/components/toggle-group/types.d.ts.map +1 -1
- package/dist/components/toolbar/Toolbar.d.ts +3 -12
- package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
- package/dist/components/toolbar/Toolbar.js +22 -2
- package/dist/components/toolbar/Toolbar.js.map +1 -1
- package/dist/components/toolbar/types.d.ts +5 -5
- package/dist/components/toolbar/types.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.js +4 -4
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
- package/dist/components/virtual-scroll/VirtualScroll.js +99 -44
- package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
- package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts +3 -14
- package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts.map +1 -1
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js +6 -3
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js.map +1 -1
- package/dist/components/virtual-scroll/index.d.ts +1 -1
- package/dist/components/virtual-scroll/index.d.ts.map +1 -1
- package/dist/components/virtual-scroll/index.js.map +1 -1
- package/dist/components/virtual-scroll/types.d.ts +23 -3
- package/dist/components/virtual-scroll/types.d.ts.map +1 -1
- package/dist/components/virtual-scroll/types.js.map +1 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.d.ts +3 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.d.ts.map +1 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js +11 -2
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js.map +1 -1
- package/dist/core/class-names.d.ts +3 -0
- package/dist/core/class-names.d.ts.map +1 -0
- package/dist/core/class-names.js +7 -0
- package/dist/core/class-names.js.map +1 -0
- package/dist/core/part-names.d.ts +8 -0
- package/dist/core/part-names.d.ts.map +1 -0
- package/dist/core/part-names.js +111 -0
- package/dist/core/part-names.js.map +1 -0
- package/dist/core/polymorphic.d.ts +10 -3
- package/dist/core/polymorphic.d.ts.map +1 -1
- package/dist/core/render-native-invoker.d.ts +1 -0
- package/dist/core/render-native-invoker.d.ts.map +1 -1
- package/dist/core/render-native-invoker.js +6 -6
- package/dist/core/render-native-invoker.js.map +1 -1
- package/dist/core/roving-focus.d.ts +2 -2
- package/dist/core/roving-focus.d.ts.map +1 -1
- package/dist/core/roving-focus.js +6 -7
- package/dist/core/roving-focus.js.map +1 -1
- package/dist/core/slot-props.d.ts +21 -0
- package/dist/core/slot-props.d.ts.map +1 -0
- package/dist/core/slot-props.js +49 -0
- package/dist/core/slot-props.js.map +1 -0
- package/dist/core/use-popover.d.ts +2 -1
- package/dist/core/use-popover.d.ts.map +1 -1
- package/dist/core/use-popover.js +3 -1
- package/dist/core/use-popover.js.map +1 -1
- package/dist/elements/choice/Choice.d.ts.map +1 -1
- package/dist/elements/choice/Choice.js +13 -10
- package/dist/elements/choice/Choice.js.map +1 -1
- package/dist/elements/choice/index.d.ts +1 -1
- package/dist/elements/choice/index.d.ts.map +1 -1
- package/dist/elements/choice/index.js.map +1 -1
- package/dist/elements/choice/types.d.ts +18 -10
- package/dist/elements/choice/types.d.ts.map +1 -1
- package/dist/elements/details/Details.d.ts.map +1 -1
- package/dist/elements/details/Details.js +4 -5
- package/dist/elements/details/Details.js.map +1 -1
- package/dist/elements/details/types.d.ts +3 -3
- package/dist/elements/details/types.d.ts.map +1 -1
- package/dist/elements/dialog/Dialog.d.ts.map +1 -1
- package/dist/elements/dialog/Dialog.js +1 -1
- package/dist/elements/dialog/Dialog.js.map +1 -1
- package/dist/elements/invoker/Invoker.js +3 -3
- package/dist/elements/invoker/Invoker.js.map +1 -1
- package/dist/elements/popover/Popover.d.ts.map +1 -1
- package/dist/elements/popover/Popover.js +3 -3
- package/dist/elements/popover/Popover.js.map +1 -1
- package/dist/elements/popover/types.d.ts +6 -4
- package/dist/elements/popover/types.d.ts.map +1 -1
- package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -2
- package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/tailwind.css +17 -16
- package/dist/styles/tokens.css +1 -1
- package/package.json +1 -1
- package/skills/uiify/references/elements/accordion.md +1 -1
- package/skills/uiify/references/elements/aspect-ratio.md +1 -1
- package/skills/uiify/references/elements/breadcrumb.md +1 -0
- package/skills/uiify/references/elements/checkbox.md +1 -1
- package/skills/uiify/references/elements/color-picker.md +1 -1
- package/skills/uiify/references/elements/combobox.md +1 -1
- package/skills/uiify/references/elements/context-menu.md +1 -1
- package/skills/uiify/references/elements/dropdown-menu.md +1 -1
- package/skills/uiify/references/elements/field.md +1 -1
- package/skills/uiify/references/elements/form-error-summary.md +5 -0
- package/skills/uiify/references/elements/pagination.md +1 -1
- package/skills/uiify/references/elements/radio-group.md +1 -0
- package/skills/uiify/references/elements/rating.md +1 -1
- package/skills/uiify/references/elements/segmented-control.md +1 -0
- package/skills/uiify/references/elements/spinner.md +1 -1
- package/skills/uiify/references/elements/table.md +1 -1
- package/skills/uiify/references/elements/tabs.md +1 -1
- package/skills/uiify/references/elements/tags-input.md +1 -1
- package/skills/uiify/references/elements/toast.md +1 -0
- package/skills/uiify/references/elements/toggle-group.md +1 -0
- package/skills/uiify/references/elements/toggle.md +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/candle-chart/client/index.ts"],"sourcesContent":["export { CandleChartClient } from \"./CandleChartClient.js\";\nexport type {
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/candle-chart/client/index.ts"],"sourcesContent":["export { CandleChartClient } from \"./CandleChartClient.js\";\nexport type {\n CandleChartClientOwnProps,\n CandleChartClientProps,\n CandleChartSlotProps,\n} from \"../types.js\";\n"],"mappings":"AAAA,SAAS,yBAAyB;","names":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { CandleChart } from "./CandleChart.js";
|
|
2
|
-
export type { CandleChartAxisLabel, CandleChartLabels, CandleChartData, CandleChartOwnProps, CandleChartPointerPosition, CandleChartProps, } from "./types.js";
|
|
2
|
+
export type { CandleChartAxisLabel, CandleChartLabels, CandleChartData, CandleChartOwnProps, CandleChartPointerPosition, CandleChartProps, CandleChartSlotProps, } from "./types.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/candle-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/candle-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/candle-chart/index.ts"],"sourcesContent":["export { CandleChart } from \"./CandleChart.js\";\nexport type {\n CandleChartAxisLabel,\n CandleChartLabels,\n CandleChartData,\n CandleChartOwnProps,\n CandleChartPointerPosition,\n CandleChartProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,mBAAmB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/candle-chart/index.ts"],"sourcesContent":["export { CandleChart } from \"./CandleChart.js\";\nexport type {\n CandleChartAxisLabel,\n CandleChartLabels,\n CandleChartData,\n CandleChartOwnProps,\n CandleChartPointerPosition,\n CandleChartProps,\n CandleChartSlotProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,mBAAmB;","names":[]}
|
|
@@ -1,5 +1,56 @@
|
|
|
1
|
-
import type { ElementType, ReactNode } from "react";
|
|
1
|
+
import type { ElementType, DOMAttributes, ReactNode, Ref } from "react";
|
|
2
2
|
import type { RenderableProps } from "@gunkin/uiify/core/render";
|
|
3
|
+
import type { SlotProps } from "../../core/slot-props.js";
|
|
4
|
+
type CandleChartIndexedSlotProps<TProps extends object> = TProps & {
|
|
5
|
+
readonly byItemIndex?: Readonly<Record<number, TProps>>;
|
|
6
|
+
};
|
|
7
|
+
type CandleChartRepeatedSlotProps<TTag extends ElementType> = CandleChartIndexedSlotProps<SlotProps<TTag>>;
|
|
8
|
+
type CandleChartCandleElementProps = Omit<SlotProps<"div">, keyof DOMAttributes<HTMLElement> | "ref"> & Omit<DOMAttributes<HTMLElement>, "children" | "dangerouslySetInnerHTML"> & {
|
|
9
|
+
readonly ref?: Ref<HTMLElement> | undefined;
|
|
10
|
+
};
|
|
11
|
+
export interface CandleChartSlotProps {
|
|
12
|
+
readonly caption?: SlotProps<"figcaption">;
|
|
13
|
+
readonly readout?: SlotProps<"div">;
|
|
14
|
+
readonly readoutTime?: SlotProps<"span">;
|
|
15
|
+
readonly readoutOpen?: SlotProps<"span">;
|
|
16
|
+
readonly readoutHigh?: SlotProps<"span">;
|
|
17
|
+
readonly readoutLow?: SlotProps<"span">;
|
|
18
|
+
readonly readoutClose?: SlotProps<"span">;
|
|
19
|
+
readonly plot?: SlotProps<"div">;
|
|
20
|
+
readonly scrollViewport?: SlotProps<"div">;
|
|
21
|
+
readonly canvas?: SlotProps<"div">;
|
|
22
|
+
readonly viewport?: SlotProps<"div">;
|
|
23
|
+
readonly candles?: SlotProps<"ol">;
|
|
24
|
+
readonly candle?: CandleChartIndexedSlotProps<CandleChartCandleElementProps>;
|
|
25
|
+
readonly candleHit?: CandleChartRepeatedSlotProps<"button">;
|
|
26
|
+
readonly crosshair?: SlotProps<"div">;
|
|
27
|
+
readonly crosshairMarker?: SlotProps<"span">;
|
|
28
|
+
readonly timeViewport?: SlotProps<"div">;
|
|
29
|
+
readonly timeAxis?: SlotProps<"ol">;
|
|
30
|
+
readonly timeAxisLabel?: CandleChartRepeatedSlotProps<"li">;
|
|
31
|
+
readonly crosshairTime?: SlotProps<"li">;
|
|
32
|
+
readonly priceAxis?: SlotProps<"ol">;
|
|
33
|
+
readonly priceAxisLabel?: CandleChartRepeatedSlotProps<"li">;
|
|
34
|
+
readonly crosshairPrice?: SlotProps<"li">;
|
|
35
|
+
readonly liveScrollport?: SlotProps<"div">;
|
|
36
|
+
readonly liveSpacer?: SlotProps<"div">;
|
|
37
|
+
readonly liveCandleRow?: CandleChartRepeatedSlotProps<"div">;
|
|
38
|
+
readonly dataTable?: SlotProps<"table">;
|
|
39
|
+
readonly dataTableHead?: SlotProps<"thead">;
|
|
40
|
+
readonly dataTableHeaderRow?: SlotProps<"tr">;
|
|
41
|
+
readonly dataTableTimeHeader?: SlotProps<"th">;
|
|
42
|
+
readonly dataTableOpenHeader?: SlotProps<"th">;
|
|
43
|
+
readonly dataTableHighHeader?: SlotProps<"th">;
|
|
44
|
+
readonly dataTableLowHeader?: SlotProps<"th">;
|
|
45
|
+
readonly dataTableCloseHeader?: SlotProps<"th">;
|
|
46
|
+
readonly dataTableBody?: SlotProps<"tbody">;
|
|
47
|
+
readonly dataTableRow?: CandleChartRepeatedSlotProps<"tr">;
|
|
48
|
+
readonly dataTableTimeCell?: CandleChartRepeatedSlotProps<"th">;
|
|
49
|
+
readonly dataTableOpenCell?: CandleChartRepeatedSlotProps<"td">;
|
|
50
|
+
readonly dataTableHighCell?: CandleChartRepeatedSlotProps<"td">;
|
|
51
|
+
readonly dataTableLowCell?: CandleChartRepeatedSlotProps<"td">;
|
|
52
|
+
readonly dataTableCloseCell?: CandleChartRepeatedSlotProps<"td">;
|
|
53
|
+
}
|
|
3
54
|
export interface CandleChartData {
|
|
4
55
|
readonly time: string | number;
|
|
5
56
|
readonly open: number;
|
|
@@ -18,7 +69,7 @@ export interface CandleChartPointerPosition {
|
|
|
18
69
|
readonly offsetY: number;
|
|
19
70
|
}
|
|
20
71
|
export interface CandleChartOwnProps {
|
|
21
|
-
readonly "aria-label"?: string;
|
|
72
|
+
readonly "aria-label"?: string | undefined;
|
|
22
73
|
readonly labels?: Partial<CandleChartLabels>;
|
|
23
74
|
readonly activeCandleIndex?: number;
|
|
24
75
|
readonly cursorY?: number;
|
|
@@ -30,6 +81,7 @@ export interface CandleChartOwnProps {
|
|
|
30
81
|
readonly onCandlePointerLeave?: () => void;
|
|
31
82
|
readonly onCandlePointerMove?: (position: CandleChartPointerPosition) => void;
|
|
32
83
|
readonly selectedCandleIndex?: number;
|
|
84
|
+
readonly slotProps?: CandleChartSlotProps;
|
|
33
85
|
readonly xAxis?: readonly CandleChartAxisLabel[];
|
|
34
86
|
readonly yAxis?: readonly CandleChartAxisLabel[];
|
|
35
87
|
}
|
|
@@ -86,5 +138,7 @@ export interface CandleChartCandleProps {
|
|
|
86
138
|
readonly onCandleClick?: ((index: number) => void) | undefined;
|
|
87
139
|
readonly onCandlePointerLeave?: (() => void) | undefined;
|
|
88
140
|
readonly onCandlePointerMove?: ((position: CandleChartPointerPosition) => void) | undefined;
|
|
141
|
+
readonly slotProps?: Pick<CandleChartSlotProps, "candle" | "candleHit"> | undefined;
|
|
89
142
|
}
|
|
143
|
+
export {};
|
|
90
144
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/candle-chart/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/candle-chart/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CarouselWithRefProps } from "./types.js";
|
|
3
3
|
/** Native scrolling and fragment navigation; no client behavior required. */
|
|
4
|
-
export declare function Carousel(props:
|
|
4
|
+
export declare function Carousel(props: CarouselWithRefProps): ReactElement | null;
|
|
5
5
|
export declare namespace Carousel {
|
|
6
6
|
var displayName: string;
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,GAAG,IAAI,CAGzE;yBAHe,QAAQ"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { CarouselMarkup } from "./CarouselMarkup.js";
|
|
3
3
|
function Carousel(props) {
|
|
4
|
-
|
|
4
|
+
const { ref, ...base } = props;
|
|
5
|
+
return /* @__PURE__ */ jsx(CarouselMarkup, { base, ...ref ? { rootRef: ref } : {} });
|
|
5
6
|
}
|
|
6
7
|
Carousel.displayName = "Carousel";
|
|
7
8
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/carousel/Carousel.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { CarouselMarkup } from \"./CarouselMarkup.js\";\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/carousel/Carousel.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { CarouselMarkup } from \"./CarouselMarkup.js\";\nimport type { CarouselWithRefProps } from \"./types.js\";\n\n/** Native scrolling and fragment navigation; no client behavior required. */\nexport function Carousel(props: CarouselWithRefProps): ReactElement | null {\n const { ref, ...base } = props;\n return <CarouselMarkup base={base} {...(ref ? { rootRef: ref } : {})} />;\n}\nCarousel.displayName = \"Carousel\";\n"],"mappings":"AAOS;AANT,SAAS,sBAAsB;AAIxB,SAAS,SAAS,OAAkD;AACzE,QAAM,EAAE,KAAK,GAAG,KAAK,IAAI;AACzB,SAAO,oBAAC,kBAAe,MAAa,GAAI,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,GAAI;AACxE;AACA,SAAS,cAAc;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselMarkup.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/CarouselMarkup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CarouselMarkup.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/CarouselMarkup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK1C,OAAO,KAAK,EAAuB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAE3E,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EAAE,OAAO,EACb,OAAO,EACP,YAAY,GACb,EAAE,mBAAmB,GAAG,YAAY,GAAG,IAAI,CA4L3C;yBAhMe,cAAc"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { formatLabel } from "@gunkin/uiify/core/format-label";
|
|
3
|
+
import { cn } from "../../core/class-names.js";
|
|
4
|
+
import { resolveRepeatedSlotProps } from "../../core/slot-props.js";
|
|
3
5
|
import { carouselFragment, carouselSlideId, normalizeCarouselProps } from "./carousel-markup.js";
|
|
4
6
|
function CarouselMarkup({
|
|
5
7
|
base: rawBase,
|
|
@@ -7,7 +9,28 @@ function CarouselMarkup({
|
|
|
7
9
|
presentation
|
|
8
10
|
}) {
|
|
9
11
|
const base = normalizeCarouselProps(rawBase);
|
|
10
|
-
const { items, labels } = base;
|
|
12
|
+
const { items, labels, slotProps } = base;
|
|
13
|
+
const {
|
|
14
|
+
items: _items,
|
|
15
|
+
labels: _labels,
|
|
16
|
+
slotProps: _slotProps,
|
|
17
|
+
axis: _axis,
|
|
18
|
+
locale: _locale,
|
|
19
|
+
icons: _icons,
|
|
20
|
+
navigation: _navigation,
|
|
21
|
+
pagination: _pagination,
|
|
22
|
+
autoplay: _autoplay,
|
|
23
|
+
afterChange: _afterChange,
|
|
24
|
+
beforeChange: _beforeChange,
|
|
25
|
+
defaultValue: _defaultValue,
|
|
26
|
+
mouseDrag: _mouseDrag,
|
|
27
|
+
onSelect: _onSelect,
|
|
28
|
+
onSwipe: _onSwipe,
|
|
29
|
+
rewind: _rewind,
|
|
30
|
+
swipe: _swipe,
|
|
31
|
+
value: _value,
|
|
32
|
+
...rootProps
|
|
33
|
+
} = base;
|
|
11
34
|
const hasControls = items.length > 1;
|
|
12
35
|
if (items.length === 0) return null;
|
|
13
36
|
const enhanced = presentation?.snapshot.ready === true;
|
|
@@ -20,17 +43,13 @@ function CarouselMarkup({
|
|
|
20
43
|
return /* @__PURE__ */ jsxs(
|
|
21
44
|
"section",
|
|
22
45
|
{
|
|
23
|
-
ref: rootRef,
|
|
24
|
-
id: base.id,
|
|
25
|
-
"aria-label": base["aria-label"],
|
|
26
46
|
"aria-roledescription": "carousel",
|
|
27
47
|
"data-uiify-carousel": "",
|
|
28
48
|
"data-axis": base.axis,
|
|
29
49
|
...presentation ? { "data-mode": presentation.mode } : {},
|
|
30
50
|
...enhanced ? { "data-enhanced": "" } : {},
|
|
31
|
-
...
|
|
32
|
-
|
|
33
|
-
...base.style ? { style: base.style } : {},
|
|
51
|
+
...rootProps,
|
|
52
|
+
ref: rootRef,
|
|
34
53
|
children: [
|
|
35
54
|
presentation && hasControls && presentation.autoplay ? /* @__PURE__ */ jsx(
|
|
36
55
|
"button",
|
|
@@ -41,6 +60,7 @@ function CarouselMarkup({
|
|
|
41
60
|
"data-uiify-button": "",
|
|
42
61
|
"data-variant": "outline",
|
|
43
62
|
hidden: !enhanced,
|
|
63
|
+
...resolveRepeatedSlotProps(slotProps?.rotationControl, "rotation"),
|
|
44
64
|
children: presentation.autoplay.requested ? labels.stop : labels.start
|
|
45
65
|
}
|
|
46
66
|
) : null,
|
|
@@ -52,8 +72,11 @@ function CarouselMarkup({
|
|
|
52
72
|
role: "group",
|
|
53
73
|
"aria-label": base["aria-label"],
|
|
54
74
|
"data-part": "viewport",
|
|
75
|
+
...slotProps?.viewport,
|
|
55
76
|
children: items.map((item, index) => {
|
|
56
77
|
const slideId = carouselSlideId(base.id, item.id);
|
|
78
|
+
const slideProps = resolveRepeatedSlotProps(slotProps?.slide, item.id);
|
|
79
|
+
const slideContentProps = resolveRepeatedSlotProps(slotProps?.slideContent, item.id);
|
|
57
80
|
return /* @__PURE__ */ jsx(
|
|
58
81
|
"div",
|
|
59
82
|
{
|
|
@@ -69,12 +92,13 @@ function CarouselMarkup({
|
|
|
69
92
|
},
|
|
70
93
|
base.locale
|
|
71
94
|
),
|
|
72
|
-
className: item.className,
|
|
73
95
|
"data-part": "slide",
|
|
74
96
|
"data-carousel-index": index,
|
|
75
97
|
...enhanced ? { "data-state": index === presentedIndex ? "active" : "inactive" } : {},
|
|
76
98
|
...fade && index !== presentedIndex ? { inert: true, "aria-hidden": true } : {},
|
|
77
|
-
|
|
99
|
+
...slideProps,
|
|
100
|
+
className: cn(item.className, slideProps.className),
|
|
101
|
+
children: /* @__PURE__ */ jsx("div", { "data-part": "slide-content", ...slideContentProps, children: item.children })
|
|
78
102
|
},
|
|
79
103
|
item.id
|
|
80
104
|
);
|
|
@@ -93,10 +117,11 @@ function CarouselMarkup({
|
|
|
93
117
|
"data-variant": "outline",
|
|
94
118
|
hidden: !enhanced,
|
|
95
119
|
disabled: enhanced ? presentation.snapshot.atStart : void 0,
|
|
120
|
+
...resolveRepeatedSlotProps(slotProps?.previousControl, "previous"),
|
|
96
121
|
children: base.icons?.previous
|
|
97
122
|
}
|
|
98
123
|
) : null,
|
|
99
|
-
base.pagination && hasControls ? /* @__PURE__ */ jsx("nav", { "aria-label": labels.navigation, "data-part": "dots", children: dotIndices.map((itemIndex) => {
|
|
124
|
+
base.pagination && hasControls ? /* @__PURE__ */ jsx("nav", { "aria-label": labels.navigation, "data-part": "dots", ...slotProps?.dots, children: dotIndices.map((itemIndex) => {
|
|
100
125
|
const item = items[itemIndex];
|
|
101
126
|
if (!item) return null;
|
|
102
127
|
return /* @__PURE__ */ jsx(
|
|
@@ -107,6 +132,7 @@ function CarouselMarkup({
|
|
|
107
132
|
"aria-current": showActiveDot && itemIndex === activeIndex ? "true" : void 0,
|
|
108
133
|
"data-part": "dot",
|
|
109
134
|
"data-carousel-index": itemIndex,
|
|
135
|
+
...resolveRepeatedSlotProps(slotProps?.dot, item.id),
|
|
110
136
|
children: itemIndex + 1
|
|
111
137
|
},
|
|
112
138
|
item.id
|
|
@@ -124,6 +150,7 @@ function CarouselMarkup({
|
|
|
124
150
|
"data-variant": "outline",
|
|
125
151
|
hidden: !enhanced,
|
|
126
152
|
disabled: enhanced ? presentation.snapshot.atEnd : void 0,
|
|
153
|
+
...resolveRepeatedSlotProps(slotProps?.nextControl, "next"),
|
|
127
154
|
children: base.icons?.next
|
|
128
155
|
}
|
|
129
156
|
) : null,
|
|
@@ -133,6 +160,7 @@ function CarouselMarkup({
|
|
|
133
160
|
"aria-live": presentation.autoplay?.playing ? "off" : "polite",
|
|
134
161
|
"aria-atomic": "true",
|
|
135
162
|
"data-part": "status",
|
|
163
|
+
...slotProps?.status,
|
|
136
164
|
children: enhanced && announcedIndex !== void 0 ? formatLabel(
|
|
137
165
|
labels.slide,
|
|
138
166
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/carousel/CarouselMarkup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { formatLabel } from \"@gunkin/uiify/core/format-label\";\nimport { carouselFragment, carouselSlideId, normalizeCarouselProps } from \"./carousel-markup.js\";\nimport type { CarouselMarkupProps } from \"./types.js\";\n\nexport function CarouselMarkup({\n base: rawBase,\n rootRef,\n presentation,\n}: CarouselMarkupProps): ReactElement | null {\n const base = normalizeCarouselProps(rawBase);\n const { items, labels } = base;\n const hasControls = items.length > 1;\n\n if (items.length === 0) return null;\n\n const enhanced = presentation?.snapshot.ready === true;\n // Pagination claims a current slide as soon as the client has mounted, even before\n // the controller reports `ready` — SSR/pre-hydration markup still claims nothing.\n const showActiveDot = enhanced || presentation?.mounted === true;\n const activeIndex = presentation?.snapshot.index;\n const announcedIndex = presentation?.snapshot.settledIndex;\n const fade = enhanced && presentation.mode === \"fade\";\n const presentedIndex = fade ? (presentation.snapshot.requestedIndex ?? activeIndex) : activeIndex;\n const dotIndices =\n enhanced && !presentation.preserveFallbackFocus\n ? presentation.snapshot.pages.map((page) => page.index)\n : items.map((_, index) => index);\n\n return (\n <section\n ref={rootRef}\n id={base.id}\n aria-label={base[\"aria-label\"]}\n aria-roledescription=\"carousel\"\n data-uiify-carousel=\"\"\n data-axis={base.axis}\n {...(presentation ? { \"data-mode\": presentation.mode } : {})}\n {...(enhanced ? { \"data-enhanced\": \"\" } : {})}\n {...(base.dir ? { dir: base.dir } : {})}\n {...(base.className ? { className: base.className } : {})}\n {...(base.style ? { style: base.style } : {})}\n >\n {presentation && hasControls && presentation.autoplay ? (\n <button\n type=\"button\"\n data-part=\"controls\"\n data-carousel-action=\"rotation\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n >\n {presentation.autoplay.requested ? labels.stop : labels.start}\n </button>\n ) : null}\n\n <div\n id={`${base.id}--viewport`}\n tabIndex={0}\n role=\"group\"\n aria-label={base[\"aria-label\"]}\n data-part=\"viewport\"\n >\n {items.map((item, index) => {\n const slideId = carouselSlideId(base.id, item.id);\n return (\n <div\n key={item.id}\n id={slideId}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-label={formatLabel(\n labels.slide,\n {\n label: item.label,\n index: base.locale === undefined ? String(index + 1) : index + 1,\n count: base.locale === undefined ? String(items.length) : items.length,\n },\n base.locale,\n )}\n className={item.className}\n data-part=\"slide\"\n data-carousel-index={index}\n {...(enhanced\n ? { \"data-state\": index === presentedIndex ? \"active\" : \"inactive\" }\n : {})}\n {...(fade && index !== presentedIndex ? { inert: true, \"aria-hidden\": true } : {})}\n >\n <div data-part=\"slide-content\">{item.children}</div>\n </div>\n );\n })}\n </div>\n\n {presentation && hasControls && base.navigation ? (\n <button\n type=\"button\"\n aria-label={labels.previous}\n data-part=\"controls\"\n data-carousel-action=\"previous\"\n data-size=\"icon\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n disabled={enhanced ? presentation.snapshot.atStart : undefined}\n >\n {base.icons?.previous}\n </button>\n ) : null}\n\n {base.pagination && hasControls ? (\n <nav aria-label={labels.navigation} data-part=\"dots\">\n {dotIndices.map((itemIndex) => {\n const item = items[itemIndex];\n if (!item) return null;\n return (\n <a\n key={item.id}\n href={carouselFragment(carouselSlideId(base.id, item.id))}\n aria-label={formatLabel(labels.goToSlide, { label: item.label }, base.locale)}\n aria-current={showActiveDot && itemIndex === activeIndex ? \"true\" : undefined}\n data-part=\"dot\"\n data-carousel-index={itemIndex}\n >\n {itemIndex + 1}\n </a>\n );\n })}\n </nav>\n ) : null}\n\n {presentation && hasControls && base.navigation ? (\n <button\n type=\"button\"\n aria-label={labels.next}\n data-part=\"controls\"\n data-carousel-action=\"next\"\n data-size=\"icon\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n disabled={enhanced ? presentation.snapshot.atEnd : undefined}\n >\n {base.icons?.next}\n </button>\n ) : null}\n\n {presentation ? (\n <div\n aria-live={presentation.autoplay?.playing ? \"off\" : \"polite\"}\n aria-atomic=\"true\"\n data-part=\"status\"\n >\n {enhanced && announcedIndex !== undefined\n ? formatLabel(\n labels.slide,\n {\n label: items[announcedIndex]?.label ?? \"\",\n index:\n base.locale === undefined ? String(announcedIndex + 1) : announcedIndex + 1,\n count: base.locale === undefined ? String(items.length) : items.length,\n },\n base.locale,\n )\n : null}\n </div>\n ) : null}\n </section>\n );\n}\nCarouselMarkup.displayName = \"CarouselMarkup\";\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/carousel/CarouselMarkup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { formatLabel } from \"@gunkin/uiify/core/format-label\";\nimport { cn } from \"../../core/class-names.js\";\nimport { resolveRepeatedSlotProps } from \"../../core/slot-props.js\";\nimport { carouselFragment, carouselSlideId, normalizeCarouselProps } from \"./carousel-markup.js\";\nimport type { CarouselClientProps, CarouselMarkupProps } from \"./types.js\";\n\nexport function CarouselMarkup({\n base: rawBase,\n rootRef,\n presentation,\n}: CarouselMarkupProps): ReactElement | null {\n const base = normalizeCarouselProps(rawBase);\n const { items, labels, slotProps } = base;\n const {\n items: _items,\n labels: _labels,\n slotProps: _slotProps,\n axis: _axis,\n locale: _locale,\n icons: _icons,\n navigation: _navigation,\n pagination: _pagination,\n autoplay: _autoplay,\n afterChange: _afterChange,\n beforeChange: _beforeChange,\n defaultValue: _defaultValue,\n mouseDrag: _mouseDrag,\n onSelect: _onSelect,\n onSwipe: _onSwipe,\n rewind: _rewind,\n swipe: _swipe,\n value: _value,\n ...rootProps\n } = base as typeof base & Partial<CarouselClientProps> & { readonly swipe?: boolean };\n const hasControls = items.length > 1;\n\n if (items.length === 0) return null;\n\n const enhanced = presentation?.snapshot.ready === true;\n // Pagination claims a current slide as soon as the client has mounted, even before\n // the controller reports `ready` — SSR/pre-hydration markup still claims nothing.\n const showActiveDot = enhanced || presentation?.mounted === true;\n const activeIndex = presentation?.snapshot.index;\n const announcedIndex = presentation?.snapshot.settledIndex;\n const fade = enhanced && presentation.mode === \"fade\";\n const presentedIndex = fade ? (presentation.snapshot.requestedIndex ?? activeIndex) : activeIndex;\n const dotIndices =\n enhanced && !presentation.preserveFallbackFocus\n ? presentation.snapshot.pages.map((page) => page.index)\n : items.map((_, index) => index);\n\n return (\n <section\n aria-roledescription=\"carousel\"\n data-uiify-carousel=\"\"\n data-axis={base.axis}\n {...(presentation ? { \"data-mode\": presentation.mode } : {})}\n {...(enhanced ? { \"data-enhanced\": \"\" } : {})}\n {...rootProps}\n ref={rootRef}\n >\n {presentation && hasControls && presentation.autoplay ? (\n <button\n type=\"button\"\n data-part=\"controls\"\n data-carousel-action=\"rotation\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n {...resolveRepeatedSlotProps(slotProps?.rotationControl, \"rotation\")}\n >\n {presentation.autoplay.requested ? labels.stop : labels.start}\n </button>\n ) : null}\n\n <div\n id={`${base.id}--viewport`}\n tabIndex={0}\n role=\"group\"\n aria-label={base[\"aria-label\"]}\n data-part=\"viewport\"\n {...slotProps?.viewport}\n >\n {items.map((item, index) => {\n const slideId = carouselSlideId(base.id, item.id);\n const slideProps = resolveRepeatedSlotProps(slotProps?.slide, item.id);\n const slideContentProps = resolveRepeatedSlotProps(slotProps?.slideContent, item.id);\n return (\n <div\n key={item.id}\n id={slideId}\n role=\"group\"\n aria-roledescription=\"slide\"\n aria-label={formatLabel(\n labels.slide,\n {\n label: item.label,\n index: base.locale === undefined ? String(index + 1) : index + 1,\n count: base.locale === undefined ? String(items.length) : items.length,\n },\n base.locale,\n )}\n data-part=\"slide\"\n data-carousel-index={index}\n {...(enhanced\n ? { \"data-state\": index === presentedIndex ? \"active\" : \"inactive\" }\n : {})}\n {...(fade && index !== presentedIndex ? { inert: true, \"aria-hidden\": true } : {})}\n {...slideProps}\n className={cn(item.className, slideProps.className)}\n >\n <div data-part=\"slide-content\" {...slideContentProps}>\n {item.children}\n </div>\n </div>\n );\n })}\n </div>\n\n {presentation && hasControls && base.navigation ? (\n <button\n type=\"button\"\n aria-label={labels.previous}\n data-part=\"controls\"\n data-carousel-action=\"previous\"\n data-size=\"icon\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n disabled={enhanced ? presentation.snapshot.atStart : undefined}\n {...resolveRepeatedSlotProps(slotProps?.previousControl, \"previous\")}\n >\n {base.icons?.previous}\n </button>\n ) : null}\n\n {base.pagination && hasControls ? (\n <nav aria-label={labels.navigation} data-part=\"dots\" {...slotProps?.dots}>\n {dotIndices.map((itemIndex) => {\n const item = items[itemIndex];\n if (!item) return null;\n return (\n <a\n key={item.id}\n href={carouselFragment(carouselSlideId(base.id, item.id))}\n aria-label={formatLabel(labels.goToSlide, { label: item.label }, base.locale)}\n aria-current={showActiveDot && itemIndex === activeIndex ? \"true\" : undefined}\n data-part=\"dot\"\n data-carousel-index={itemIndex}\n {...resolveRepeatedSlotProps(slotProps?.dot, item.id)}\n >\n {itemIndex + 1}\n </a>\n );\n })}\n </nav>\n ) : null}\n\n {presentation && hasControls && base.navigation ? (\n <button\n type=\"button\"\n aria-label={labels.next}\n data-part=\"controls\"\n data-carousel-action=\"next\"\n data-size=\"icon\"\n data-uiify-button=\"\"\n data-variant=\"outline\"\n hidden={!enhanced}\n disabled={enhanced ? presentation.snapshot.atEnd : undefined}\n {...resolveRepeatedSlotProps(slotProps?.nextControl, \"next\")}\n >\n {base.icons?.next}\n </button>\n ) : null}\n\n {presentation ? (\n <div\n aria-live={presentation.autoplay?.playing ? \"off\" : \"polite\"}\n aria-atomic=\"true\"\n data-part=\"status\"\n {...slotProps?.status}\n >\n {enhanced && announcedIndex !== undefined\n ? formatLabel(\n labels.slide,\n {\n label: items[announcedIndex]?.label ?? \"\",\n index:\n base.locale === undefined ? String(announcedIndex + 1) : announcedIndex + 1,\n count: base.locale === undefined ? String(items.length) : items.length,\n },\n base.locale,\n )\n : null}\n </div>\n ) : null}\n </section>\n );\n}\nCarouselMarkup.displayName = \"CarouselMarkup\";\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselClient.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/client/CarouselClient.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAWrB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"CarouselClient.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/client/CarouselClient.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,aAAa,CAAC;AAWrB,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,GAAG,IAAI,CA4F9E;yBA5Fe,cAAc"}
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
subscribeToNothing
|
|
18
18
|
} from "./CarouselClientView.js";
|
|
19
19
|
function CarouselClient(props) {
|
|
20
|
+
const { ref: clientRef, ...base } = props;
|
|
20
21
|
const [root, setRoot] = useState(null);
|
|
21
22
|
const [controller, setController] = useState();
|
|
22
23
|
const [autoplay, setAutoplay] = useState();
|
|
@@ -81,7 +82,7 @@ function CarouselClient(props) {
|
|
|
81
82
|
return attachCarouselDrag(root, controller);
|
|
82
83
|
}, [root, controller, props.mouseDrag]);
|
|
83
84
|
useImperativeHandle(
|
|
84
|
-
|
|
85
|
+
clientRef,
|
|
85
86
|
() => ({
|
|
86
87
|
next: () => controller?.next("next"),
|
|
87
88
|
previous: () => controller?.previous("previous"),
|
|
@@ -95,7 +96,7 @@ function CarouselClient(props) {
|
|
|
95
96
|
return /* @__PURE__ */ jsx(
|
|
96
97
|
CarouselClientView,
|
|
97
98
|
{
|
|
98
|
-
base
|
|
99
|
+
base,
|
|
99
100
|
rootRef: setRoot,
|
|
100
101
|
mode: "scroll",
|
|
101
102
|
...controller ? { controller } : {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/carousel/client/CarouselClient.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useEffectEvent,\n useImperativeHandle,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ReactElement } from \"react\";\nimport type {\n CarouselAutoplayController,\n CarouselClientProps,\n CarouselController,\n} from \"../types.js\";\nimport { createCarouselAutoplay } from \"./carousel-autoplay.js\";\nimport { attachCarouselDrag } from \"./carousel-drag.js\";\nimport { createCarouselController } from \"./carousel-controller.js\";\nimport { attachCarouselControls } from \"./carousel-controls.js\";\nimport {\n CarouselClientView,\n getCarouselServerSnapshot,\n subscribeToNothing,\n} from \"./CarouselClientView.js\";\n\nexport function CarouselClient(props: CarouselClientProps): ReactElement | null {\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const [controller, setController] = useState<CarouselController>();\n const [autoplay, setAutoplay] = useState<CarouselAutoplayController>();\n // Also rerender this owner so controlled values reconcile after a settled native change.\n useSyncExternalStore(\n controller?.subscribe ?? subscribeToNothing,\n controller?.getSnapshot ?? getCarouselServerSnapshot,\n getCarouselServerSnapshot,\n );\n for (const [name, index] of [\n [\"defaultValue\", props.defaultValue],\n [\"value\", props.value],\n ] as const) {\n if (\n index !== undefined &&\n (!Number.isInteger(index) ||\n index < 0 ||\n (props.items.length > 0 && index >= props.items.length))\n )\n throw new RangeError(`Carousel ${name} must be a valid item index`);\n }\n const options = useEffectEvent(() => ({\n defaultValue: props.defaultValue ?? 0,\n rewind: props.rewind ?? false,\n ...(props.value === undefined ? {} : { value: props.value }),\n ...(props.onSelect ? { onSelect: props.onSelect } : {}),\n ...(props.beforeChange ? { beforeChange: props.beforeChange } : {}),\n ...(props.afterChange ? { afterChange: props.afterChange } : {}),\n ...(props.onSwipe ? { onSwipe: props.onSwipe } : {}),\n }));\n const rotationOptions = useEffectEvent(() =>\n typeof props.autoplay === \"object\" ? props.autoplay : {},\n );\n const autoplayEnabled = Boolean(props.autoplay);\n useEffect(() => {\n if (!root) return;\n const attached = createCarouselController(root, options());\n setController(attached);\n return () => {\n attached.destroy();\n setController(undefined);\n };\n }, [root]);\n useEffect(() => {\n controller?.update(options());\n });\n useEffect(() => {\n controller?.refresh();\n }, [controller, props.items, props.axis, props.dir]);\n useEffect(() => {\n if (!root || !controller || !autoplayEnabled) return;\n const rotation = createCarouselAutoplay(root, controller, rotationOptions());\n setAutoplay(rotation);\n return () => {\n rotation.destroy();\n setAutoplay(undefined);\n };\n }, [root, controller, autoplayEnabled]);\n useEffect(() => {\n autoplay?.update(rotationOptions());\n });\n useEffect(() => {\n if (!root || !controller) return;\n return attachCarouselControls(root, controller, autoplay);\n }, [root, controller, autoplay]);\n useEffect(() => {\n if (!root || !controller || !props.mouseDrag) return;\n return attachCarouselDrag(root, controller);\n }, [root, controller, props.mouseDrag]);\n useImperativeHandle(\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/carousel/client/CarouselClient.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useEffectEvent,\n useImperativeHandle,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ReactElement } from \"react\";\nimport type {\n CarouselAutoplayController,\n CarouselClientProps,\n CarouselController,\n} from \"../types.js\";\nimport { createCarouselAutoplay } from \"./carousel-autoplay.js\";\nimport { attachCarouselDrag } from \"./carousel-drag.js\";\nimport { createCarouselController } from \"./carousel-controller.js\";\nimport { attachCarouselControls } from \"./carousel-controls.js\";\nimport {\n CarouselClientView,\n getCarouselServerSnapshot,\n subscribeToNothing,\n} from \"./CarouselClientView.js\";\n\nexport function CarouselClient(props: CarouselClientProps): ReactElement | null {\n const { ref: clientRef, ...base } = props;\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const [controller, setController] = useState<CarouselController>();\n const [autoplay, setAutoplay] = useState<CarouselAutoplayController>();\n // Also rerender this owner so controlled values reconcile after a settled native change.\n useSyncExternalStore(\n controller?.subscribe ?? subscribeToNothing,\n controller?.getSnapshot ?? getCarouselServerSnapshot,\n getCarouselServerSnapshot,\n );\n for (const [name, index] of [\n [\"defaultValue\", props.defaultValue],\n [\"value\", props.value],\n ] as const) {\n if (\n index !== undefined &&\n (!Number.isInteger(index) ||\n index < 0 ||\n (props.items.length > 0 && index >= props.items.length))\n )\n throw new RangeError(`Carousel ${name} must be a valid item index`);\n }\n const options = useEffectEvent(() => ({\n defaultValue: props.defaultValue ?? 0,\n rewind: props.rewind ?? false,\n ...(props.value === undefined ? {} : { value: props.value }),\n ...(props.onSelect ? { onSelect: props.onSelect } : {}),\n ...(props.beforeChange ? { beforeChange: props.beforeChange } : {}),\n ...(props.afterChange ? { afterChange: props.afterChange } : {}),\n ...(props.onSwipe ? { onSwipe: props.onSwipe } : {}),\n }));\n const rotationOptions = useEffectEvent(() =>\n typeof props.autoplay === \"object\" ? props.autoplay : {},\n );\n const autoplayEnabled = Boolean(props.autoplay);\n useEffect(() => {\n if (!root) return;\n const attached = createCarouselController(root, options());\n setController(attached);\n return () => {\n attached.destroy();\n setController(undefined);\n };\n }, [root]);\n useEffect(() => {\n controller?.update(options());\n });\n useEffect(() => {\n controller?.refresh();\n }, [controller, props.items, props.axis, props.dir]);\n useEffect(() => {\n if (!root || !controller || !autoplayEnabled) return;\n const rotation = createCarouselAutoplay(root, controller, rotationOptions());\n setAutoplay(rotation);\n return () => {\n rotation.destroy();\n setAutoplay(undefined);\n };\n }, [root, controller, autoplayEnabled]);\n useEffect(() => {\n autoplay?.update(rotationOptions());\n });\n useEffect(() => {\n if (!root || !controller) return;\n return attachCarouselControls(root, controller, autoplay);\n }, [root, controller, autoplay]);\n useEffect(() => {\n if (!root || !controller || !props.mouseDrag) return;\n return attachCarouselDrag(root, controller);\n }, [root, controller, props.mouseDrag]);\n useImperativeHandle(\n clientRef,\n () => ({\n next: () => controller?.next(\"next\"),\n previous: () => controller?.previous(\"previous\"),\n goTo: (index) => controller?.goTo(index, \"command\"),\n start: () => autoplay?.start(),\n stop: () => autoplay?.stop(),\n reset: () => autoplay?.reset(),\n }),\n [controller, autoplay],\n );\n return (\n <CarouselClientView\n base={base}\n rootRef={setRoot}\n mode=\"scroll\"\n {...(controller ? { controller } : {})}\n {...(autoplay ? { autoplay } : {})}\n />\n );\n}\nCarouselClient.displayName = \"CarouselClient\";\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel-controls.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/client/carousel-controls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElF,0FAA0F;AAC1F,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,GACnC,MAAM,IAAI,CAiBZ;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,CAAC,EAAE,0BAA0B,GACpC,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"carousel-controls.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/client/carousel-controls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAElF,0FAA0F;AAC1F,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,GACnC,MAAM,IAAI,CAiBZ;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,CAAC,EAAE,0BAA0B,GACpC,MAAM,IAAI,CAyDZ"}
|
|
@@ -45,8 +45,8 @@ function attachCarouselControls(root, controller, autoplay) {
|
|
|
45
45
|
event.preventDefault();
|
|
46
46
|
controller.goTo(index, "dot");
|
|
47
47
|
}
|
|
48
|
-
root.addEventListener("click", click);
|
|
49
|
-
return () => root.removeEventListener("click", click);
|
|
48
|
+
root.ownerDocument.addEventListener("click", click);
|
|
49
|
+
return () => root.ownerDocument.removeEventListener("click", click);
|
|
50
50
|
}
|
|
51
51
|
export {
|
|
52
52
|
attachCarouselControls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/carousel/client/carousel-controls.ts"],"sourcesContent":["import type { CarouselAutoplayController, CarouselController } from \"../types.js\";\n\n/** Keep a focused dot addressable, including duplicate end-page dots awaiting removal. */\nexport function attachCarouselFocus(\n root: HTMLElement,\n receive: (preserve: boolean) => void,\n): () => void {\n function preserve(target: EventTarget | null) {\n receive(\n target instanceof Element &&\n target.closest(\"[data-uiify-carousel]\") === root &&\n target.closest('[data-part=\"dot\"]') !== null,\n );\n }\n const focusIn = (event: FocusEvent) => preserve(event.target);\n const focusOut = (event: FocusEvent) => preserve(event.relatedTarget);\n preserve(root.ownerDocument.activeElement);\n root.addEventListener(\"focusin\", focusIn);\n root.addEventListener(\"focusout\", focusOut);\n return () => {\n root.removeEventListener(\"focusin\", focusIn);\n root.removeEventListener(\"focusout\", focusOut);\n };\n}\n\n/** Delegate only this carousel's own controls; ordinary links keep browser behavior. */\nexport function attachCarouselControls(\n root: HTMLElement,\n controller: CarouselController,\n autoplay?: CarouselAutoplayController,\n): () => void {\n function click(event: MouseEvent) {\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.shiftKey ||\n !controller.getSnapshot().ready ||\n !(event.target instanceof Element) ||\n event.target.closest(\"[data-uiify-carousel]\") !== root\n )\n return;\n const control = event.target.closest<HTMLElement>('[data-carousel-action], [data-part=\"dot\"]');\n if (!control || !root.contains(control)) return;\n if (control instanceof HTMLButtonElement) {\n if (control.disabled) return;\n switch (control.dataset.carouselAction) {\n case \"previous\":\n controller.previous(\"previous\");\n break;\n case \"next\":\n controller.next(\"next\");\n break;\n case \"rotation\":\n if (autoplay?.getSnapshot().requested) autoplay.stop();\n else autoplay?.start();\n break;\n }\n return;\n }\n if (\n !(control instanceof HTMLAnchorElement) ||\n control.hasAttribute(\"download\") ||\n (control.target !== \"\" && control.target !== \"_self\")\n )\n return;\n const index = Number(control.dataset.carouselIndex);\n const slide = root.querySelector<HTMLElement>(':scope > [data-part=\"viewport\"]')?.children[\n index\n ];\n if (\n !Number.isInteger(index) ||\n index < 0 ||\n !slide ||\n control.getAttribute(\"href\") !== `#${encodeURIComponent(slide.id)}`\n )\n return;\n event.preventDefault();\n controller.goTo(index, \"dot\");\n }\n root.addEventListener(\"click\", click);\n return () => root.removeEventListener(\"click\", click);\n}\n"],"mappings":"AAGO,SAAS,oBACd,MACA,SACY;AACZ,WAAS,SAAS,QAA4B;AAC5C;AAAA,MACE,kBAAkB,WAChB,OAAO,QAAQ,uBAAuB,MAAM,QAC5C,OAAO,QAAQ,mBAAmB,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,QAAM,UAAU,CAAC,UAAsB,SAAS,MAAM,MAAM;AAC5D,QAAM,WAAW,CAAC,UAAsB,SAAS,MAAM,aAAa;AACpE,WAAS,KAAK,cAAc,aAAa;AACzC,OAAK,iBAAiB,WAAW,OAAO;AACxC,OAAK,iBAAiB,YAAY,QAAQ;AAC1C,SAAO,MAAM;AACX,SAAK,oBAAoB,WAAW,OAAO;AAC3C,SAAK,oBAAoB,YAAY,QAAQ;AAAA,EAC/C;AACF;AAGO,SAAS,uBACd,MACA,YACA,UACY;AACZ,WAAS,MAAM,OAAmB;AAChC,QACE,MAAM,oBACN,MAAM,WAAW,KACjB,MAAM,UACN,MAAM,WACN,MAAM,WACN,MAAM,YACN,CAAC,WAAW,YAAY,EAAE,SAC1B,EAAE,MAAM,kBAAkB,YAC1B,MAAM,OAAO,QAAQ,uBAAuB,MAAM;AAElD;AACF,UAAM,UAAU,MAAM,OAAO,QAAqB,2CAA2C;AAC7F,QAAI,CAAC,WAAW,CAAC,KAAK,SAAS,OAAO,EAAG;AACzC,QAAI,mBAAmB,mBAAmB;AACxC,UAAI,QAAQ,SAAU;AACtB,cAAQ,QAAQ,QAAQ,gBAAgB;AAAA,QACtC,KAAK;AACH,qBAAW,SAAS,UAAU;AAC9B;AAAA,QACF,KAAK;AACH,qBAAW,KAAK,MAAM;AACtB;AAAA,QACF,KAAK;AACH,cAAI,UAAU,YAAY,EAAE,UAAW,UAAS,KAAK;AAAA,cAChD,WAAU,MAAM;AACrB;AAAA,MACJ;AACA;AAAA,IACF;AACA,QACE,EAAE,mBAAmB,sBACrB,QAAQ,aAAa,UAAU,KAC9B,QAAQ,WAAW,MAAM,QAAQ,WAAW;AAE7C;AACF,UAAM,QAAQ,OAAO,QAAQ,QAAQ,aAAa;AAClD,UAAM,QAAQ,KAAK,cAA2B,iCAAiC,GAAG,SAChF,KACF;AACA,QACE,CAAC,OAAO,UAAU,KAAK,KACvB,QAAQ,KACR,CAAC,SACD,QAAQ,aAAa,MAAM,MAAM,IAAI,mBAAmB,MAAM,EAAE,CAAC;AAEjE;AACF,UAAM,eAAe;AACrB,eAAW,KAAK,OAAO,KAAK;AAAA,EAC9B;
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/carousel/client/carousel-controls.ts"],"sourcesContent":["import type { CarouselAutoplayController, CarouselController } from \"../types.js\";\n\n/** Keep a focused dot addressable, including duplicate end-page dots awaiting removal. */\nexport function attachCarouselFocus(\n root: HTMLElement,\n receive: (preserve: boolean) => void,\n): () => void {\n function preserve(target: EventTarget | null) {\n receive(\n target instanceof Element &&\n target.closest(\"[data-uiify-carousel]\") === root &&\n target.closest('[data-part=\"dot\"]') !== null,\n );\n }\n const focusIn = (event: FocusEvent) => preserve(event.target);\n const focusOut = (event: FocusEvent) => preserve(event.relatedTarget);\n preserve(root.ownerDocument.activeElement);\n root.addEventListener(\"focusin\", focusIn);\n root.addEventListener(\"focusout\", focusOut);\n return () => {\n root.removeEventListener(\"focusin\", focusIn);\n root.removeEventListener(\"focusout\", focusOut);\n };\n}\n\n/** Delegate only this carousel's own controls; ordinary links keep browser behavior. */\nexport function attachCarouselControls(\n root: HTMLElement,\n controller: CarouselController,\n autoplay?: CarouselAutoplayController,\n): () => void {\n function click(event: MouseEvent) {\n if (\n event.defaultPrevented ||\n event.button !== 0 ||\n event.altKey ||\n event.ctrlKey ||\n event.metaKey ||\n event.shiftKey ||\n !controller.getSnapshot().ready ||\n !(event.target instanceof Element) ||\n event.target.closest(\"[data-uiify-carousel]\") !== root\n )\n return;\n const control = event.target.closest<HTMLElement>('[data-carousel-action], [data-part=\"dot\"]');\n if (!control || !root.contains(control)) return;\n if (control instanceof HTMLButtonElement) {\n if (control.disabled) return;\n switch (control.dataset.carouselAction) {\n case \"previous\":\n controller.previous(\"previous\");\n break;\n case \"next\":\n controller.next(\"next\");\n break;\n case \"rotation\":\n if (autoplay?.getSnapshot().requested) autoplay.stop();\n else autoplay?.start();\n break;\n }\n return;\n }\n if (\n !(control instanceof HTMLAnchorElement) ||\n control.hasAttribute(\"download\") ||\n (control.target !== \"\" && control.target !== \"_self\")\n )\n return;\n const index = Number(control.dataset.carouselIndex);\n const slide = root.querySelector<HTMLElement>(':scope > [data-part=\"viewport\"]')?.children[\n index\n ];\n if (\n !Number.isInteger(index) ||\n index < 0 ||\n !slide ||\n control.getAttribute(\"href\") !== `#${encodeURIComponent(slide.id)}`\n )\n return;\n event.preventDefault();\n controller.goTo(index, \"dot\");\n }\n // React delegates consumer slot clicks at its root container, which can be outside\n // this section. Handle the native event after that dispatch so preventDefault() from\n // a slot's onClick can cancel the built-in action reliably.\n root.ownerDocument.addEventListener(\"click\", click);\n return () => root.ownerDocument.removeEventListener(\"click\", click);\n}\n"],"mappings":"AAGO,SAAS,oBACd,MACA,SACY;AACZ,WAAS,SAAS,QAA4B;AAC5C;AAAA,MACE,kBAAkB,WAChB,OAAO,QAAQ,uBAAuB,MAAM,QAC5C,OAAO,QAAQ,mBAAmB,MAAM;AAAA,IAC5C;AAAA,EACF;AACA,QAAM,UAAU,CAAC,UAAsB,SAAS,MAAM,MAAM;AAC5D,QAAM,WAAW,CAAC,UAAsB,SAAS,MAAM,aAAa;AACpE,WAAS,KAAK,cAAc,aAAa;AACzC,OAAK,iBAAiB,WAAW,OAAO;AACxC,OAAK,iBAAiB,YAAY,QAAQ;AAC1C,SAAO,MAAM;AACX,SAAK,oBAAoB,WAAW,OAAO;AAC3C,SAAK,oBAAoB,YAAY,QAAQ;AAAA,EAC/C;AACF;AAGO,SAAS,uBACd,MACA,YACA,UACY;AACZ,WAAS,MAAM,OAAmB;AAChC,QACE,MAAM,oBACN,MAAM,WAAW,KACjB,MAAM,UACN,MAAM,WACN,MAAM,WACN,MAAM,YACN,CAAC,WAAW,YAAY,EAAE,SAC1B,EAAE,MAAM,kBAAkB,YAC1B,MAAM,OAAO,QAAQ,uBAAuB,MAAM;AAElD;AACF,UAAM,UAAU,MAAM,OAAO,QAAqB,2CAA2C;AAC7F,QAAI,CAAC,WAAW,CAAC,KAAK,SAAS,OAAO,EAAG;AACzC,QAAI,mBAAmB,mBAAmB;AACxC,UAAI,QAAQ,SAAU;AACtB,cAAQ,QAAQ,QAAQ,gBAAgB;AAAA,QACtC,KAAK;AACH,qBAAW,SAAS,UAAU;AAC9B;AAAA,QACF,KAAK;AACH,qBAAW,KAAK,MAAM;AACtB;AAAA,QACF,KAAK;AACH,cAAI,UAAU,YAAY,EAAE,UAAW,UAAS,KAAK;AAAA,cAChD,WAAU,MAAM;AACrB;AAAA,MACJ;AACA;AAAA,IACF;AACA,QACE,EAAE,mBAAmB,sBACrB,QAAQ,aAAa,UAAU,KAC9B,QAAQ,WAAW,MAAM,QAAQ,WAAW;AAE7C;AACF,UAAM,QAAQ,OAAO,QAAQ,QAAQ,aAAa;AAClD,UAAM,QAAQ,KAAK,cAA2B,iCAAiC,GAAG,SAChF,KACF;AACA,QACE,CAAC,OAAO,UAAU,KAAK,KACvB,QAAQ,KACR,CAAC,SACD,QAAQ,aAAa,MAAM,MAAM,IAAI,mBAAmB,MAAM,EAAE,CAAC;AAEjE;AACF,UAAM,eAAe;AACrB,eAAW,KAAK,OAAO,KAAK;AAAA,EAC9B;AAIA,OAAK,cAAc,iBAAiB,SAAS,KAAK;AAClD,SAAO,MAAM,KAAK,cAAc,oBAAoB,SAAS,KAAK;AACpE;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FadeCarouselClient.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/fade/FadeCarouselClient.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAGV,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAYrB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"FadeCarouselClient.d.ts","sourceRoot":"","sources":["../../../../src/components/carousel/fade/FadeCarouselClient.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAGV,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAYrB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CA4FtF;yBA5Fe,kBAAkB"}
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
import { createFadeController } from "./fade-controller.js";
|
|
19
19
|
import { attachFadeSwipe } from "./fade-swipe.js";
|
|
20
20
|
function FadeCarouselClient(props) {
|
|
21
|
+
const { ref: clientRef, ...base } = props;
|
|
21
22
|
const [root, setRoot] = useState(null);
|
|
22
23
|
const [controller, setController] = useState();
|
|
23
24
|
const [autoplay, setAutoplay] = useState();
|
|
@@ -79,7 +80,7 @@ function FadeCarouselClient(props) {
|
|
|
79
80
|
return attachFadeSwipe(root, controller, props.mouseDrag ?? false);
|
|
80
81
|
}, [root, controller, props.swipe, props.mouseDrag]);
|
|
81
82
|
useImperativeHandle(
|
|
82
|
-
|
|
83
|
+
clientRef,
|
|
83
84
|
() => ({
|
|
84
85
|
next: () => controller?.next("next"),
|
|
85
86
|
previous: () => controller?.previous("previous"),
|
|
@@ -93,7 +94,7 @@ function FadeCarouselClient(props) {
|
|
|
93
94
|
return /* @__PURE__ */ jsx(
|
|
94
95
|
CarouselClientView,
|
|
95
96
|
{
|
|
96
|
-
base
|
|
97
|
+
base,
|
|
97
98
|
rootRef: setRoot,
|
|
98
99
|
mode: "fade",
|
|
99
100
|
...controller ? { controller } : {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/carousel/fade/FadeCarouselClient.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useEffectEvent,\n useImperativeHandle,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ReactElement } from \"react\";\nimport type {\n CarouselAutoplayController,\n CarouselController,\n FadeCarouselClientProps,\n} from \"../types.js\";\nimport { useIsomorphicLayoutEffect } from \"../../../hooks/use-isomorphic-layout-effect.js\";\nimport { createCarouselAutoplay } from \"../client/carousel-autoplay.js\";\nimport { attachCarouselControls } from \"../client/carousel-controls.js\";\nimport {\n CarouselClientView,\n getCarouselServerSnapshot,\n subscribeToNothing,\n} from \"../client/CarouselClientView.js\";\nimport { createFadeController } from \"./fade-controller.js\";\nimport { attachFadeSwipe } from \"./fade-swipe.js\";\n\nexport function FadeCarouselClient(props: FadeCarouselClientProps): ReactElement | null {\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const [controller, setController] = useState<CarouselController>();\n const [autoplay, setAutoplay] = useState<CarouselAutoplayController>();\n useSyncExternalStore(\n controller?.subscribe ?? subscribeToNothing,\n controller?.getSnapshot ?? getCarouselServerSnapshot,\n getCarouselServerSnapshot,\n );\n for (const index of [props.defaultValue, props.value]) {\n if (\n index !== undefined &&\n (!Number.isInteger(index) ||\n index < 0 ||\n (props.items.length > 0 && index >= props.items.length))\n )\n throw new RangeError(\"Carousel value must be a valid item index\");\n }\n const options = () => ({\n defaultValue: props.defaultValue ?? 0,\n rewind: props.rewind ?? false,\n ...(props.value === undefined ? {} : { value: props.value }),\n ...(props.onSelect ? { onSelect: props.onSelect } : {}),\n ...(props.beforeChange ? { beforeChange: props.beforeChange } : {}),\n ...(props.afterChange ? { afterChange: props.afterChange } : {}),\n ...(props.onSwipe ? { onSwipe: props.onSwipe } : {}),\n });\n const rotationOptions = useEffectEvent(() =>\n typeof props.autoplay === \"object\" ? props.autoplay : {},\n );\n const autoplayEnabled = Boolean(props.autoplay);\n // Layout effect: fade's readiness is synchronous, so creating the controller\n // before paint (rather than after, like the native scroll controller) avoids a\n // visible frame where fallback links are still shown but persistent controls\n // are hidden, waiting on an effect that has already run.\n useIsomorphicLayoutEffect(() => {\n if (!root) return;\n const attached = createFadeController(root, options());\n setController(attached);\n return () => {\n attached.destroy();\n setController(undefined);\n };\n }, [root]);\n useEffect(() => {\n controller?.update(options());\n });\n useEffect(() => {\n controller?.refresh();\n }, [controller, props.items]);\n useEffect(() => {\n if (!root || !controller || !autoplayEnabled) return;\n const rotation = createCarouselAutoplay(root, controller, rotationOptions());\n setAutoplay(rotation);\n return () => {\n rotation.destroy();\n setAutoplay(undefined);\n };\n }, [root, controller, autoplayEnabled]);\n useEffect(() => {\n autoplay?.update(rotationOptions());\n });\n useEffect(() => {\n if (!root || !controller) return;\n return attachCarouselControls(root, controller, autoplay);\n }, [root, controller, autoplay]);\n useEffect(() => {\n if (!root || !controller || props.swipe === false) return;\n return attachFadeSwipe(root, controller, props.mouseDrag ?? false);\n }, [root, controller, props.swipe, props.mouseDrag]);\n useImperativeHandle(\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/carousel/fade/FadeCarouselClient.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n useEffect,\n useEffectEvent,\n useImperativeHandle,\n useState,\n useSyncExternalStore,\n} from \"react\";\nimport type { ReactElement } from \"react\";\nimport type {\n CarouselAutoplayController,\n CarouselController,\n FadeCarouselClientProps,\n} from \"../types.js\";\nimport { useIsomorphicLayoutEffect } from \"../../../hooks/use-isomorphic-layout-effect.js\";\nimport { createCarouselAutoplay } from \"../client/carousel-autoplay.js\";\nimport { attachCarouselControls } from \"../client/carousel-controls.js\";\nimport {\n CarouselClientView,\n getCarouselServerSnapshot,\n subscribeToNothing,\n} from \"../client/CarouselClientView.js\";\nimport { createFadeController } from \"./fade-controller.js\";\nimport { attachFadeSwipe } from \"./fade-swipe.js\";\n\nexport function FadeCarouselClient(props: FadeCarouselClientProps): ReactElement | null {\n const { ref: clientRef, ...base } = props;\n const [root, setRoot] = useState<HTMLElement | null>(null);\n const [controller, setController] = useState<CarouselController>();\n const [autoplay, setAutoplay] = useState<CarouselAutoplayController>();\n useSyncExternalStore(\n controller?.subscribe ?? subscribeToNothing,\n controller?.getSnapshot ?? getCarouselServerSnapshot,\n getCarouselServerSnapshot,\n );\n for (const index of [props.defaultValue, props.value]) {\n if (\n index !== undefined &&\n (!Number.isInteger(index) ||\n index < 0 ||\n (props.items.length > 0 && index >= props.items.length))\n )\n throw new RangeError(\"Carousel value must be a valid item index\");\n }\n const options = () => ({\n defaultValue: props.defaultValue ?? 0,\n rewind: props.rewind ?? false,\n ...(props.value === undefined ? {} : { value: props.value }),\n ...(props.onSelect ? { onSelect: props.onSelect } : {}),\n ...(props.beforeChange ? { beforeChange: props.beforeChange } : {}),\n ...(props.afterChange ? { afterChange: props.afterChange } : {}),\n ...(props.onSwipe ? { onSwipe: props.onSwipe } : {}),\n });\n const rotationOptions = useEffectEvent(() =>\n typeof props.autoplay === \"object\" ? props.autoplay : {},\n );\n const autoplayEnabled = Boolean(props.autoplay);\n // Layout effect: fade's readiness is synchronous, so creating the controller\n // before paint (rather than after, like the native scroll controller) avoids a\n // visible frame where fallback links are still shown but persistent controls\n // are hidden, waiting on an effect that has already run.\n useIsomorphicLayoutEffect(() => {\n if (!root) return;\n const attached = createFadeController(root, options());\n setController(attached);\n return () => {\n attached.destroy();\n setController(undefined);\n };\n }, [root]);\n useEffect(() => {\n controller?.update(options());\n });\n useEffect(() => {\n controller?.refresh();\n }, [controller, props.items]);\n useEffect(() => {\n if (!root || !controller || !autoplayEnabled) return;\n const rotation = createCarouselAutoplay(root, controller, rotationOptions());\n setAutoplay(rotation);\n return () => {\n rotation.destroy();\n setAutoplay(undefined);\n };\n }, [root, controller, autoplayEnabled]);\n useEffect(() => {\n autoplay?.update(rotationOptions());\n });\n useEffect(() => {\n if (!root || !controller) return;\n return attachCarouselControls(root, controller, autoplay);\n }, [root, controller, autoplay]);\n useEffect(() => {\n if (!root || !controller || props.swipe === false) return;\n return attachFadeSwipe(root, controller, props.mouseDrag ?? false);\n }, [root, controller, props.swipe, props.mouseDrag]);\n useImperativeHandle(\n clientRef,\n () => ({\n next: () => controller?.next(\"next\"),\n previous: () => controller?.previous(\"previous\"),\n goTo: (index) => controller?.goTo(index, \"command\"),\n start: () => autoplay?.start(),\n stop: () => autoplay?.stop(),\n reset: () => autoplay?.reset(),\n }),\n [controller, autoplay],\n );\n return (\n <CarouselClientView\n base={base}\n rootRef={setRoot}\n mode=\"fade\"\n {...(controller ? { controller } : {})}\n {...(autoplay ? { autoplay } : {})}\n />\n );\n}\nFadeCarouselClient.displayName = \"FadeCarouselClient\";\n"],"mappings":"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","names":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { Carousel } from "./Carousel.js";
|
|
2
|
-
export type { CarouselAxis, CarouselItem, CarouselLabels, CarouselProps, CarouselStyle, } from "./types.js";
|
|
2
|
+
export type { CarouselAxis, CarouselItem, CarouselLabels, CarouselProps, CarouselSlotProps, CarouselStyle, CarouselWithRefProps, } from "./types.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/carousel/index.ts"],"sourcesContent":["export { Carousel } from \"./Carousel.js\";\nexport type {\n CarouselAxis,\n CarouselItem,\n CarouselLabels,\n CarouselProps,\n CarouselStyle,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,gBAAgB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/carousel/index.ts"],"sourcesContent":["export { Carousel } from \"./Carousel.js\";\nexport type {\n CarouselAxis,\n CarouselItem,\n CarouselLabels,\n CarouselProps,\n CarouselSlotProps,\n CarouselStyle,\n CarouselWithRefProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,gBAAgB;","names":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { CSSProperties, ReactNode, Ref } from "react";
|
|
1
|
+
import type { ComponentPropsWithoutRef, CSSProperties, ReactNode, Ref } from "react";
|
|
2
|
+
import type { ConsumerDataAttributes, RepeatedSlotProps, SlotProps } from "../../core/slot-props.js";
|
|
2
3
|
export type CarouselAxis = "inline" | "block";
|
|
3
4
|
export type CarouselReason = "previous" | "next" | "dot" | "command" | "scroll" | "drag" | "autoplay" | "controlled" | "items";
|
|
4
5
|
export interface CarouselItem {
|
|
@@ -30,7 +31,18 @@ export interface CarouselStyle extends CSSProperties {
|
|
|
30
31
|
readonly "--uiify-carousel-gap"?: string;
|
|
31
32
|
readonly "--uiify-carousel-fade-duration"?: string;
|
|
32
33
|
}
|
|
33
|
-
export interface
|
|
34
|
+
export interface CarouselSlotProps {
|
|
35
|
+
readonly viewport?: SlotProps<"div">;
|
|
36
|
+
readonly slide?: RepeatedSlotProps<SlotProps<"div">>;
|
|
37
|
+
readonly slideContent?: RepeatedSlotProps<SlotProps<"div">>;
|
|
38
|
+
readonly rotationControl?: RepeatedSlotProps<SlotProps<"button">>;
|
|
39
|
+
readonly previousControl?: RepeatedSlotProps<SlotProps<"button">>;
|
|
40
|
+
readonly nextControl?: RepeatedSlotProps<SlotProps<"button">>;
|
|
41
|
+
readonly dots?: SlotProps<"nav">;
|
|
42
|
+
readonly dot?: RepeatedSlotProps<SlotProps<"a">>;
|
|
43
|
+
readonly status?: SlotProps<"div">;
|
|
44
|
+
}
|
|
45
|
+
export interface CarouselProps extends Omit<ComponentPropsWithoutRef<"section">, "aria-label" | "children" | "className" | "dangerouslySetInnerHTML" | "defaultValue" | "dir" | "id" | "autoplay" | "afterChange" | "beforeChange" | "mouseDrag" | "onSelect" | "onSwipe" | "rewind" | "swipe" | "style" | "value">, ConsumerDataAttributes {
|
|
34
46
|
readonly id: string;
|
|
35
47
|
readonly items: readonly CarouselItem[];
|
|
36
48
|
readonly "aria-label": string;
|
|
@@ -43,6 +55,10 @@ export interface CarouselProps {
|
|
|
43
55
|
readonly style?: CarouselStyle;
|
|
44
56
|
readonly labels?: Partial<CarouselLabels>;
|
|
45
57
|
readonly icons?: CarouselIcons;
|
|
58
|
+
readonly slotProps?: CarouselSlotProps;
|
|
59
|
+
}
|
|
60
|
+
export interface CarouselWithRefProps extends CarouselProps {
|
|
61
|
+
readonly ref?: Ref<HTMLElement>;
|
|
46
62
|
}
|
|
47
63
|
export interface CarouselChange {
|
|
48
64
|
readonly previousIndex: number;
|