@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,5 +1,47 @@
|
|
|
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 LineChartIndexedSlotProps<TProps extends object> = TProps & {
|
|
5
|
+
readonly byItemIndex?: Readonly<Record<number, TProps>>;
|
|
6
|
+
};
|
|
7
|
+
type LineChartRepeatedSlotProps<TTag extends ElementType> = LineChartIndexedSlotProps<SlotProps<TTag>>;
|
|
8
|
+
type LineChartPointElementProps = Omit<SlotProps<"div">, keyof DOMAttributes<HTMLElement> | "ref"> & Omit<DOMAttributes<HTMLElement>, "children" | "dangerouslySetInnerHTML"> & {
|
|
9
|
+
readonly ref?: Ref<HTMLElement> | undefined;
|
|
10
|
+
};
|
|
11
|
+
export interface LineChartSlotProps {
|
|
12
|
+
readonly caption?: SlotProps<"figcaption">;
|
|
13
|
+
readonly readout?: SlotProps<"div">;
|
|
14
|
+
readonly readoutTime?: SlotProps<"span">;
|
|
15
|
+
readonly readoutValue?: SlotProps<"span">;
|
|
16
|
+
readonly plot?: SlotProps<"div">;
|
|
17
|
+
readonly scrollViewport?: SlotProps<"div">;
|
|
18
|
+
readonly canvas?: SlotProps<"div">;
|
|
19
|
+
readonly viewport?: SlotProps<"div">;
|
|
20
|
+
readonly points?: SlotProps<"ol">;
|
|
21
|
+
readonly point?: LineChartIndexedSlotProps<LineChartPointElementProps>;
|
|
22
|
+
readonly pointHit?: LineChartRepeatedSlotProps<"button">;
|
|
23
|
+
readonly crosshair?: SlotProps<"div">;
|
|
24
|
+
readonly crosshairMarker?: SlotProps<"span">;
|
|
25
|
+
readonly timeViewport?: SlotProps<"div">;
|
|
26
|
+
readonly timeAxis?: SlotProps<"ol">;
|
|
27
|
+
readonly timeAxisLabel?: LineChartRepeatedSlotProps<"li">;
|
|
28
|
+
readonly crosshairTime?: SlotProps<"li">;
|
|
29
|
+
readonly valueAxis?: SlotProps<"ol">;
|
|
30
|
+
readonly valueAxisLabel?: LineChartRepeatedSlotProps<"li">;
|
|
31
|
+
readonly crosshairValue?: SlotProps<"li">;
|
|
32
|
+
readonly liveScrollport?: SlotProps<"div">;
|
|
33
|
+
readonly liveSpacer?: SlotProps<"div">;
|
|
34
|
+
readonly livePointRow?: LineChartRepeatedSlotProps<"div">;
|
|
35
|
+
readonly dataTable?: SlotProps<"table">;
|
|
36
|
+
readonly dataTableHead?: SlotProps<"thead">;
|
|
37
|
+
readonly dataTableHeaderRow?: SlotProps<"tr">;
|
|
38
|
+
readonly dataTableTimeHeader?: SlotProps<"th">;
|
|
39
|
+
readonly dataTableValueHeader?: SlotProps<"th">;
|
|
40
|
+
readonly dataTableBody?: SlotProps<"tbody">;
|
|
41
|
+
readonly dataTableRow?: LineChartRepeatedSlotProps<"tr">;
|
|
42
|
+
readonly dataTableTimeCell?: LineChartRepeatedSlotProps<"th">;
|
|
43
|
+
readonly dataTableValueCell?: LineChartRepeatedSlotProps<"td">;
|
|
44
|
+
}
|
|
3
45
|
export interface LineChartData {
|
|
4
46
|
readonly time: string | number;
|
|
5
47
|
readonly value: number;
|
|
@@ -15,7 +57,7 @@ export interface LineChartPointerPosition {
|
|
|
15
57
|
readonly offsetY: number;
|
|
16
58
|
}
|
|
17
59
|
export interface LineChartOwnProps {
|
|
18
|
-
readonly "aria-label"?: string;
|
|
60
|
+
readonly "aria-label"?: string | undefined;
|
|
19
61
|
readonly activePointIndex?: number;
|
|
20
62
|
readonly cursorY?: number;
|
|
21
63
|
readonly data: readonly LineChartData[];
|
|
@@ -26,6 +68,7 @@ export interface LineChartOwnProps {
|
|
|
26
68
|
readonly onPointPointerLeave?: () => void;
|
|
27
69
|
readonly onPointPointerMove?: (position: LineChartPointerPosition) => void;
|
|
28
70
|
readonly selectedPointIndex?: number;
|
|
71
|
+
readonly slotProps?: LineChartSlotProps;
|
|
29
72
|
readonly xAxis?: readonly LineChartAxisLabel[];
|
|
30
73
|
readonly yAxis?: readonly LineChartAxisLabel[];
|
|
31
74
|
}
|
|
@@ -71,5 +114,7 @@ export interface LineChartPointProps {
|
|
|
71
114
|
readonly onPointClick?: ((index: number) => void) | undefined;
|
|
72
115
|
readonly onPointPointerLeave?: (() => void) | undefined;
|
|
73
116
|
readonly onPointPointerMove?: ((position: LineChartPointerPosition) => void) | undefined;
|
|
117
|
+
readonly slotProps?: Pick<LineChartSlotProps, "point" | "pointHit"> | undefined;
|
|
74
118
|
}
|
|
119
|
+
export {};
|
|
75
120
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/line-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/line-chart/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { ModalProps } from "./types.js";
|
|
|
6
6
|
* Controlled or initially open dialogs use `ModalClientContent` from
|
|
7
7
|
* `@gunkin/uiify/components/modal/client`.
|
|
8
8
|
*/
|
|
9
|
-
export declare function Modal({ id, trigger, title, description, children, closeLabel, labels, footer,
|
|
9
|
+
export declare function Modal({ id, trigger, title, description, children, closeLabel, labels, footer, slotProps, align, backdrop, dismiss, size, ...rootProps }: ModalProps): ReactElement;
|
|
10
10
|
export declare namespace Modal {
|
|
11
11
|
var displayName: string;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAYrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAYrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAS7C;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,EACpB,EAAE,EACF,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,GAAG,SAAS,EACb,EAAE,UAAU,GAAG,YAAY,CA0C3B;yBAzDe,KAAK"}
|
|
@@ -11,21 +11,6 @@ import {
|
|
|
11
11
|
ModalTrigger
|
|
12
12
|
} from "./ModalParts.js";
|
|
13
13
|
const DEFAULT_MODAL_LABELS = { close: "Close" };
|
|
14
|
-
const CLOSE_ICON = /* @__PURE__ */ jsx(
|
|
15
|
-
"svg",
|
|
16
|
-
{
|
|
17
|
-
"aria-hidden": "true",
|
|
18
|
-
fill: "none",
|
|
19
|
-
focusable: "false",
|
|
20
|
-
height: "14",
|
|
21
|
-
stroke: "currentColor",
|
|
22
|
-
strokeLinecap: "round",
|
|
23
|
-
strokeWidth: "1.75",
|
|
24
|
-
viewBox: "0 0 16 16",
|
|
25
|
-
width: "14",
|
|
26
|
-
children: /* @__PURE__ */ jsx("path", { d: "M3 3l10 10M13 3L3 13" })
|
|
27
|
-
}
|
|
28
|
-
);
|
|
29
14
|
function isAbsent(node) {
|
|
30
15
|
return node === null || node === void 0;
|
|
31
16
|
}
|
|
@@ -38,17 +23,18 @@ function Modal({
|
|
|
38
23
|
closeLabel,
|
|
39
24
|
labels,
|
|
40
25
|
footer,
|
|
41
|
-
|
|
26
|
+
slotProps,
|
|
42
27
|
align,
|
|
43
28
|
backdrop,
|
|
44
29
|
dismiss,
|
|
45
|
-
size
|
|
30
|
+
size,
|
|
31
|
+
...rootProps
|
|
46
32
|
}) {
|
|
47
33
|
const titleId = `${id}-title`;
|
|
48
34
|
const descriptionId = `${id}-description`;
|
|
49
35
|
const effectiveCloseLabel = closeLabel ?? labels?.close ?? DEFAULT_MODAL_LABELS.close;
|
|
50
|
-
return /* @__PURE__ */ jsxs("div", { "data-part": "root", "data-uiify-modal": "", children: [
|
|
51
|
-
/* @__PURE__ */ jsx(ModalTrigger, { target: id, children: trigger }),
|
|
36
|
+
return /* @__PURE__ */ jsxs("div", { "data-part": "root", "data-uiify-modal": "", ...rootProps, children: [
|
|
37
|
+
/* @__PURE__ */ jsx(ModalTrigger, { target: id, ...slotProps?.trigger, children: trigger }),
|
|
52
38
|
/* @__PURE__ */ jsxs(
|
|
53
39
|
ModalContent,
|
|
54
40
|
{
|
|
@@ -56,19 +42,27 @@ function Modal({
|
|
|
56
42
|
"aria-describedby": isAbsent(description) ? void 0 : descriptionId,
|
|
57
43
|
"aria-labelledby": titleId,
|
|
58
44
|
backdrop,
|
|
59
|
-
className,
|
|
60
45
|
dismiss,
|
|
61
46
|
id,
|
|
62
47
|
size,
|
|
48
|
+
...slotProps?.content,
|
|
63
49
|
children: [
|
|
64
|
-
/* @__PURE__ */ jsx(ModalGrabber, {}),
|
|
65
|
-
/* @__PURE__ */ jsxs(ModalHeader, { children: [
|
|
66
|
-
/* @__PURE__ */ jsx(ModalTitle, { id: titleId, children: title }),
|
|
67
|
-
isAbsent(description) ? null : /* @__PURE__ */ jsx(ModalDescription, { id: descriptionId, children: description }),
|
|
68
|
-
/* @__PURE__ */ jsx(
|
|
50
|
+
/* @__PURE__ */ jsx(ModalGrabber, { ...slotProps?.grabber }),
|
|
51
|
+
/* @__PURE__ */ jsxs(ModalHeader, { ...slotProps?.header, children: [
|
|
52
|
+
/* @__PURE__ */ jsx(ModalTitle, { id: titleId, ...slotProps?.title, children: title }),
|
|
53
|
+
isAbsent(description) ? null : /* @__PURE__ */ jsx(ModalDescription, { id: descriptionId, ...slotProps?.description, children: description }),
|
|
54
|
+
/* @__PURE__ */ jsx(
|
|
55
|
+
ModalClose,
|
|
56
|
+
{
|
|
57
|
+
"aria-label": effectiveCloseLabel,
|
|
58
|
+
"data-size": "icon",
|
|
59
|
+
target: id,
|
|
60
|
+
...slotProps?.close
|
|
61
|
+
}
|
|
62
|
+
)
|
|
69
63
|
] }),
|
|
70
|
-
isAbsent(children) ? null : /* @__PURE__ */ jsx(ModalBody, { children }),
|
|
71
|
-
isAbsent(footer) ? null : /* @__PURE__ */ jsx(ModalFooter, { children: footer })
|
|
64
|
+
isAbsent(children) ? null : /* @__PURE__ */ jsx(ModalBody, { ...slotProps?.body, children }),
|
|
65
|
+
isAbsent(footer) ? null : /* @__PURE__ */ jsx(ModalFooter, { ...slotProps?.footer, children: footer })
|
|
72
66
|
]
|
|
73
67
|
}
|
|
74
68
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/modal/Modal.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from \"react\";\nimport {\n ModalBody,\n ModalClose,\n ModalContent,\n ModalDescription,\n ModalFooter,\n ModalGrabber,\n ModalHeader,\n ModalTitle,\n ModalTrigger,\n} from \"./ModalParts.js\";\nimport type { ModalProps } from \"./types.js\";\n\nconst DEFAULT_MODAL_LABELS = { close: \"Close\" } as const;\n\
|
|
1
|
+
{"version":3,"sources":["../../../src/components/modal/Modal.tsx"],"sourcesContent":["import type { ReactElement, ReactNode } from \"react\";\nimport {\n ModalBody,\n ModalClose,\n ModalContent,\n ModalDescription,\n ModalFooter,\n ModalGrabber,\n ModalHeader,\n ModalTitle,\n ModalTrigger,\n} from \"./ModalParts.js\";\nimport type { ModalProps } from \"./types.js\";\n\nconst DEFAULT_MODAL_LABELS = { close: \"Close\" } as const;\n\n/** `null` and `undefined` both mean \"not given\": no empty part, no dangling `aria-describedby`. */\nfunction isAbsent(node: ReactNode): node is null | undefined {\n return node === null || node === undefined;\n}\n\n/**\n * Convenience shell over the native parts: one trigger and one modal `<dialog>`\n * with a header (title, description, close icon), a body and an optional footer.\n * Controlled or initially open dialogs use `ModalClientContent` from\n * `@gunkin/uiify/components/modal/client`.\n */\nexport function Modal({\n id,\n trigger,\n title,\n description,\n children,\n closeLabel,\n labels,\n footer,\n slotProps,\n align,\n backdrop,\n dismiss,\n size,\n ...rootProps\n}: ModalProps): ReactElement {\n const titleId = `${id}-title`;\n const descriptionId = `${id}-description`;\n const effectiveCloseLabel = closeLabel ?? labels?.close ?? DEFAULT_MODAL_LABELS.close;\n\n return (\n <div data-part=\"root\" data-uiify-modal=\"\" {...rootProps}>\n <ModalTrigger target={id} {...slotProps?.trigger}>\n {trigger}\n </ModalTrigger>\n <ModalContent\n align={align}\n aria-describedby={isAbsent(description) ? undefined : descriptionId}\n aria-labelledby={titleId}\n backdrop={backdrop}\n dismiss={dismiss}\n id={id}\n size={size}\n {...slotProps?.content}\n >\n <ModalGrabber {...slotProps?.grabber} />\n <ModalHeader {...slotProps?.header}>\n <ModalTitle id={titleId} {...slotProps?.title}>\n {title}\n </ModalTitle>\n {isAbsent(description) ? null : (\n <ModalDescription id={descriptionId} {...slotProps?.description}>\n {description}\n </ModalDescription>\n )}\n <ModalClose\n aria-label={effectiveCloseLabel}\n data-size=\"icon\"\n target={id}\n {...slotProps?.close}\n />\n </ModalHeader>\n {isAbsent(children) ? null : <ModalBody {...slotProps?.body}>{children}</ModalBody>}\n {isAbsent(footer) ? null : <ModalFooter {...slotProps?.footer}>{footer}</ModalFooter>}\n </ModalContent>\n </div>\n );\n}\nModal.displayName = \"Modal\";\n"],"mappings":"AAiDM,cAcE,YAdF;AAhDN;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,MAAM,uBAAuB,EAAE,OAAO,QAAQ;AAG9C,SAAS,SAAS,MAA2C;AAC3D,SAAO,SAAS,QAAQ,SAAS;AACnC;AAQO,SAAS,MAAM;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA6B;AAC3B,QAAM,UAAU,GAAG,EAAE;AACrB,QAAM,gBAAgB,GAAG,EAAE;AAC3B,QAAM,sBAAsB,cAAc,QAAQ,SAAS,qBAAqB;AAEhF,SACE,qBAAC,SAAI,aAAU,QAAO,oBAAiB,IAAI,GAAG,WAC5C;AAAA,wBAAC,gBAAa,QAAQ,IAAK,GAAG,WAAW,SACtC,mBACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,oBAAkB,SAAS,WAAW,IAAI,SAAY;AAAA,QACtD,mBAAiB;AAAA,QACjB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACC,GAAG,WAAW;AAAA,QAEf;AAAA,8BAAC,gBAAc,GAAG,WAAW,SAAS;AAAA,UACtC,qBAAC,eAAa,GAAG,WAAW,QAC1B;AAAA,gCAAC,cAAW,IAAI,SAAU,GAAG,WAAW,OACrC,iBACH;AAAA,YACC,SAAS,WAAW,IAAI,OACvB,oBAAC,oBAAiB,IAAI,eAAgB,GAAG,WAAW,aACjD,uBACH;AAAA,YAEF;AAAA,cAAC;AAAA;AAAA,gBACC,cAAY;AAAA,gBACZ,aAAU;AAAA,gBACV,QAAQ;AAAA,gBACP,GAAG,WAAW;AAAA;AAAA,YACjB;AAAA,aACF;AAAA,UACC,SAAS,QAAQ,IAAI,OAAO,oBAAC,aAAW,GAAG,WAAW,MAAO,UAAS;AAAA,UACtE,SAAS,MAAM,IAAI,OAAO,oBAAC,eAAa,GAAG,WAAW,QAAS,kBAAO;AAAA;AAAA;AAAA,IACzE;AAAA,KACF;AAEJ;AACA,MAAM,cAAc;","names":[]}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
function ModalHeader(props) {
|
|
3
|
-
return /* @__PURE__ */ jsx("div", {
|
|
3
|
+
return /* @__PURE__ */ jsx("div", { "data-part": "header", "data-uiify-modal": "", ...props });
|
|
4
4
|
}
|
|
5
5
|
ModalHeader.displayName = "ModalHeader";
|
|
6
6
|
function ModalTitle(props) {
|
|
7
|
-
return /* @__PURE__ */ jsx("h2", {
|
|
7
|
+
return /* @__PURE__ */ jsx("h2", { "data-part": "title", "data-uiify-modal": "", ...props });
|
|
8
8
|
}
|
|
9
9
|
ModalTitle.displayName = "ModalTitle";
|
|
10
10
|
function ModalDescription(props) {
|
|
11
|
-
return /* @__PURE__ */ jsx("p", {
|
|
11
|
+
return /* @__PURE__ */ jsx("p", { "data-part": "description", "data-uiify-modal": "", ...props });
|
|
12
12
|
}
|
|
13
13
|
ModalDescription.displayName = "ModalDescription";
|
|
14
14
|
function ModalBody(props) {
|
|
15
|
-
return /* @__PURE__ */ jsx("div", {
|
|
15
|
+
return /* @__PURE__ */ jsx("div", { "data-part": "body", "data-uiify-modal": "", ...props });
|
|
16
16
|
}
|
|
17
17
|
ModalBody.displayName = "ModalBody";
|
|
18
18
|
function ModalFooter(props) {
|
|
19
|
-
return /* @__PURE__ */ jsx("div", {
|
|
19
|
+
return /* @__PURE__ */ jsx("div", { "data-part": "footer", "data-uiify-modal": "", ...props });
|
|
20
20
|
}
|
|
21
21
|
ModalFooter.displayName = "ModalFooter";
|
|
22
22
|
function ModalGrabber(props) {
|
|
23
|
-
return /* @__PURE__ */ jsx("div", {
|
|
23
|
+
return /* @__PURE__ */ jsx("div", { "aria-hidden": "true", "data-part": "grabber", "data-uiify-modal": "", ...props });
|
|
24
24
|
}
|
|
25
25
|
ModalGrabber.displayName = "ModalGrabber";
|
|
26
26
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/modal/ModalAnatomy.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport type {\n ModalBodyProps,\n ModalDescriptionProps,\n ModalFooterProps,\n ModalGrabberProps,\n ModalHeaderProps,\n ModalTitleProps,\n} from \"./types.js\";\n\n// Kept apart from ModalParts.tsx: each `displayName` assignment is a top-level side effect, so\n// parts sharing a module with ModalTrigger/ModalContent/ModalClose would ship with them even\n// when unused. As their own module, a bundler drops them whole, because package.json declares\n// `\"sideEffects\": [\"**/*.css\"]`; widening that field would bring the unused parts back.\n\n/** Pinned top row: title, description and the close control. */\nexport function ModalHeader(props: ModalHeaderProps): ReactElement {\n return <div
|
|
1
|
+
{"version":3,"sources":["../../../src/components/modal/ModalAnatomy.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport type {\n ModalBodyProps,\n ModalDescriptionProps,\n ModalFooterProps,\n ModalGrabberProps,\n ModalHeaderProps,\n ModalTitleProps,\n} from \"./types.js\";\n\n// Kept apart from ModalParts.tsx: each `displayName` assignment is a top-level side effect, so\n// parts sharing a module with ModalTrigger/ModalContent/ModalClose would ship with them even\n// when unused. As their own module, a bundler drops them whole, because package.json declares\n// `\"sideEffects\": [\"**/*.css\"]`; widening that field would bring the unused parts back.\n\n/** Pinned top row: title, description and the close control. */\nexport function ModalHeader(props: ModalHeaderProps): ReactElement {\n return <div data-part=\"header\" data-uiify-modal=\"\" {...props} />;\n}\nModalHeader.displayName = \"ModalHeader\";\n\n/** Accessible name of the dialog; reference its `id` from `aria-labelledby`. */\nexport function ModalTitle(props: ModalTitleProps): ReactElement {\n return <h2 data-part=\"title\" data-uiify-modal=\"\" {...props} />;\n}\nModalTitle.displayName = \"ModalTitle\";\n\n/** Supporting text; reference its `id` from `aria-describedby`. */\nexport function ModalDescription(props: ModalDescriptionProps): ReactElement {\n return <p data-part=\"description\" data-uiify-modal=\"\" {...props} />;\n}\nModalDescription.displayName = \"ModalDescription\";\n\n/** The scrolling region between header and footer. */\nexport function ModalBody(props: ModalBodyProps): ReactElement {\n return <div data-part=\"body\" data-uiify-modal=\"\" {...props} />;\n}\nModalBody.displayName = \"ModalBody\";\n\n/** Actions row pinned under the body. */\nexport function ModalFooter(props: ModalFooterProps): ReactElement {\n return <div data-part=\"footer\" data-uiify-modal=\"\" {...props} />;\n}\nModalFooter.displayName = \"ModalFooter\";\n\n/** Decorative drag handle shown on the mobile sheet; the swipe enhancement starts here. */\nexport function ModalGrabber(props: ModalGrabberProps): ReactElement {\n return <div aria-hidden=\"true\" data-part=\"grabber\" data-uiify-modal=\"\" {...props} />;\n}\nModalGrabber.displayName = \"ModalGrabber\";\n"],"mappings":"AAiBS;AADF,SAAS,YAAY,OAAuC;AACjE,SAAO,oBAAC,SAAI,aAAU,UAAS,oBAAiB,IAAI,GAAG,OAAO;AAChE;AACA,YAAY,cAAc;AAGnB,SAAS,WAAW,OAAsC;AAC/D,SAAO,oBAAC,QAAG,aAAU,SAAQ,oBAAiB,IAAI,GAAG,OAAO;AAC9D;AACA,WAAW,cAAc;AAGlB,SAAS,iBAAiB,OAA4C;AAC3E,SAAO,oBAAC,OAAE,aAAU,eAAc,oBAAiB,IAAI,GAAG,OAAO;AACnE;AACA,iBAAiB,cAAc;AAGxB,SAAS,UAAU,OAAqC;AAC7D,SAAO,oBAAC,SAAI,aAAU,QAAO,oBAAiB,IAAI,GAAG,OAAO;AAC9D;AACA,UAAU,cAAc;AAGjB,SAAS,YAAY,OAAuC;AACjE,SAAO,oBAAC,SAAI,aAAU,UAAS,oBAAiB,IAAI,GAAG,OAAO;AAChE;AACA,YAAY,cAAc;AAGnB,SAAS,aAAa,OAAwC;AACnE,SAAO,oBAAC,SAAI,eAAY,QAAO,aAAU,WAAU,oBAAiB,IAAI,GAAG,OAAO;AACpF;AACA,aAAa,cAAc;","names":[]}
|
|
@@ -27,10 +27,10 @@ function ModalContent(props) {
|
|
|
27
27
|
return /* @__PURE__ */ jsx(
|
|
28
28
|
"dialog",
|
|
29
29
|
{
|
|
30
|
-
...dialogProps,
|
|
31
30
|
...modalAppearanceAttributes({ align, backdrop, dismiss, size }),
|
|
32
31
|
"data-part": "content",
|
|
33
32
|
"data-uiify-modal": "",
|
|
33
|
+
...dialogProps,
|
|
34
34
|
children
|
|
35
35
|
}
|
|
36
36
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/modal/ModalParts.tsx"],"sourcesContent":["import type { ElementType, ReactElement } from \"react\";\nimport { renderNativeInvoker } from \"@gunkin/uiify/core/render\";\nimport { modalAppearanceAttributes } from \"./attributes.js\";\nimport type { ModalCloseProps, ModalContentProps, ModalTriggerProps } from \"./types.js\";\n\nexport {\n ModalBody,\n ModalDescription,\n ModalFooter,\n ModalGrabber,\n ModalHeader,\n ModalTitle,\n} from \"./ModalAnatomy.js\";\n\n/** Native modal invoker with modal identity and trigger anatomy. */\nexport function ModalTrigger<TAs extends ElementType = \"button\">(\n props: ModalTriggerProps<TAs>,\n): ReactElement {\n const { as, target, ...consumerProps } = props as ModalTriggerProps<\"button\">;\n return renderNativeInvoker(\n as,\n \"data-uiify-modal\",\n \"trigger\",\n \"show-modal\",\n target,\n consumerProps as Record<string, unknown>,\n { button: true },\n );\n}\nModalTrigger.displayName = \"ModalTrigger\";\n\n/** Native modal dialog content with modal identity and content anatomy. */\nexport function ModalContent(props: ModalContentProps): ReactElement {\n const { align, backdrop, children, dismiss, size, ...dialogProps } = props;\n return (\n <dialog\n {...
|
|
1
|
+
{"version":3,"sources":["../../../src/components/modal/ModalParts.tsx"],"sourcesContent":["import type { ElementType, ReactElement } from \"react\";\nimport { renderNativeInvoker } from \"@gunkin/uiify/core/render\";\nimport { modalAppearanceAttributes } from \"./attributes.js\";\nimport type { ModalCloseProps, ModalContentProps, ModalTriggerProps } from \"./types.js\";\n\nexport {\n ModalBody,\n ModalDescription,\n ModalFooter,\n ModalGrabber,\n ModalHeader,\n ModalTitle,\n} from \"./ModalAnatomy.js\";\n\n/** Native modal invoker with modal identity and trigger anatomy. */\nexport function ModalTrigger<TAs extends ElementType = \"button\">(\n props: ModalTriggerProps<TAs>,\n): ReactElement {\n const { as, target, ...consumerProps } = props as ModalTriggerProps<\"button\">;\n return renderNativeInvoker(\n as,\n \"data-uiify-modal\",\n \"trigger\",\n \"show-modal\",\n target,\n consumerProps as Record<string, unknown>,\n { button: true },\n );\n}\nModalTrigger.displayName = \"ModalTrigger\";\n\n/** Native modal dialog content with modal identity and content anatomy. */\nexport function ModalContent(props: ModalContentProps): ReactElement {\n const { align, backdrop, children, dismiss, size, ...dialogProps } = props;\n return (\n <dialog\n {...modalAppearanceAttributes({ align, backdrop, dismiss, size })}\n data-part=\"content\"\n data-uiify-modal=\"\"\n {...dialogProps}\n >\n {children}\n </dialog>\n );\n}\nModalContent.displayName = \"ModalContent\";\n\n/** Native modal close invoker. */\nexport function ModalClose<TAs extends ElementType = \"button\">(\n props: ModalCloseProps<TAs>,\n): ReactElement {\n const { as, target, ...consumerProps } = props as ModalCloseProps<\"button\">;\n return renderNativeInvoker(\n as,\n \"data-uiify-modal\",\n \"close\",\n \"request-close\",\n target,\n consumerProps as Record<string, unknown>,\n { button: true, variant: \"ghost\" },\n );\n}\nModalClose.displayName = \"ModalClose\";\n"],"mappings":"AAmCI;AAlCJ,SAAS,2BAA2B;AACpC,SAAS,iCAAiC;AAG1C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGA,SAAS,aACd,OACc;AACd,QAAM,EAAE,IAAI,QAAQ,GAAG,cAAc,IAAI;AACzC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAE,QAAQ,KAAK;AAAA,EACjB;AACF;AACA,aAAa,cAAc;AAGpB,SAAS,aAAa,OAAwC;AACnE,QAAM,EAAE,OAAO,UAAU,UAAU,SAAS,MAAM,GAAG,YAAY,IAAI;AACrE,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG,0BAA0B,EAAE,OAAO,UAAU,SAAS,KAAK,CAAC;AAAA,MAChE,aAAU;AAAA,MACV,oBAAiB;AAAA,MAChB,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAEJ;AACA,aAAa,cAAc;AAGpB,SAAS,WACd,OACc;AACd,QAAM,EAAE,IAAI,QAAQ,GAAG,cAAc,IAAI;AACzC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,EAAE,QAAQ,MAAM,SAAS,QAAQ;AAAA,EACnC;AACF;AACA,WAAW,cAAc;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalClientContent.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/client/ModalClientContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModalClientContent.d.ts","sourceRoot":"","sources":["../../../../src/components/modal/client/ModalClientContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAwB3D;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,CAuG/E;yBAvGe,kBAAkB"}
|
|
@@ -89,12 +89,12 @@ function ModalClientContent(props) {
|
|
|
89
89
|
return /* @__PURE__ */ jsx(
|
|
90
90
|
"dialog",
|
|
91
91
|
{
|
|
92
|
-
...dialogProps,
|
|
93
92
|
...modalAppearanceAttributes({ align, backdrop, dismiss, size }),
|
|
94
93
|
"data-part": "content",
|
|
95
94
|
"data-uiify-modal": "",
|
|
96
|
-
ref: mergedRef,
|
|
97
95
|
suppressHydrationWarning: true,
|
|
96
|
+
...dialogProps,
|
|
97
|
+
ref: mergedRef,
|
|
98
98
|
children
|
|
99
99
|
}
|
|
100
100
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/modal/client/ModalClientContent.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/modal/client/ModalClientContent.tsx"],"sourcesContent":["\"use client\";\nimport { useEffect, useReducer, useRef, useState } from \"react\";\nimport type { ReactElement } from \"react\";\nimport { useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport { modalAppearanceAttributes } from \"../attributes.js\";\nimport type { ModalClientContentProps } from \"../types.js\";\nfunction increment(count: number): number {\n return count + 1;\n}\n/** A dialog nested in this one would stay open (and invisible) after its parent closes. */\nfunction closeNestedDialogs(dialog: HTMLDialogElement): void {\n for (const nested of dialog.querySelectorAll<HTMLDialogElement>(\"dialog[open]\")) {\n nested.close();\n }\n}\n/**\n * Runs `done` once the dialog's own transitions have finished; at once when there are none.\n * An `infinite` animation inside (a Spinner or Skeleton) never finishes, so it is not waited on.\n */\nfunction afterMotion(dialog: HTMLDialogElement, done: () => void): void {\n requestAnimationFrame(() => {\n const running = dialog.getAnimations?.({ subtree: true }) ?? [];\n void Promise.allSettled(\n running.map((animation) =>\n animation.effect?.getComputedTiming().endTime === Infinity ? 0 : animation.finished,\n ),\n ).then(done);\n });\n}\n/**\n * Controlled/initially-open adapter over a native modal `<dialog>`.\n *\n * The browser stays the owner of modality: opening is `showModal()`, closing is\n * `close()`, and every change — invoker command, Escape, `requestClose()`,\n * `form method=\"dialog\"`, programmatic — is observed through the single native\n * `toggle` event (Chrome 132, Firefox 133, Safari 26). SSR never emits `open`;\n * `defaultOpen` and controlled `open` are applied after mount.\n */\nexport function ModalClientContent(props: ModalClientContentProps): ReactElement {\n const {\n align,\n backdrop,\n children,\n defaultOpen = false,\n dismiss,\n onOpenChange,\n onOpenChangeComplete,\n open,\n ref,\n size,\n ...dialogProps\n } = props;\n const elementRef = useRef<HTMLDialogElement | null>(null);\n const mergedRef = useMergedRefs<HTMLDialogElement>(elementRef, ref);\n const [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n // Bumped on every native toggle so the sync effect re-runs after the parent\n // has had its render: a controlling parent that rejected the change is then\n // reconciled by reverting the element.\n const [nativeVersion, recordNativeToggle] = useReducer(increment, 0);\n const controlled = open !== undefined;\n const wantOpen = controlled ? open : uncontrolledOpen;\n const wantOpenRef = useRef(wantOpen);\n wantOpenRef.current = wantOpen;\n const onOpenChangeRef = useRef(onOpenChange);\n onOpenChangeRef.current = onOpenChange;\n const onOpenChangeCompleteRef = useRef(onOpenChangeComplete);\n onOpenChangeCompleteRef.current = onOpenChangeComplete;\n // One-shot: has the first-mount reconciliation below already run?\n const reconciledRef = useRef(false);\n useEffect(() => {\n const dialog = elementRef.current;\n if (!dialog) return;\n if (!reconciledRef.current) {\n reconciledRef.current = true;\n // SSR markup is always closed. If the dialog is already open at mount,\n // that can only mean a native invoker command opened it in the window\n // between initial paint and this effect running — the `toggle` event\n // fired with no listener attached yet, and that notification is\n // otherwise lost forever. Recover it exactly like a native toggle.\n //\n // The reverse (closed at mount) is never reconciled: it's indistinguishable\n // from \"nothing happened\" versus a pre-hydration open+close cycle that\n // netted back to closed, and it's also the normal starting shape for\n // defaultOpen (open before hydration) is reconciled when the DOM catches up.\n if (dialog.open && !wantOpenRef.current) {\n if (!controlled) setUncontrolledOpen(true);\n onOpenChangeRef.current?.(true);\n // Defer enacting show/close to the next pass, once the controlling\n // parent (if any) has had a chance to react to the report above —\n // the DOM already matches what was just reported, so there is\n // nothing to enact this pass regardless.\n recordNativeToggle();\n return;\n }\n }\n if (wantOpen && !dialog.open) dialog.showModal();\n else if (!wantOpen && dialog.open) {\n closeNestedDialogs(dialog);\n dialog.close();\n }\n // `controlled` is read above (line 66) and must be a dependency; the sibling\n // `toggle`-listener effect below lists it for the same reason.\n }, [nativeVersion, wantOpen, controlled]);\n useEffect(() => {\n const dialog = elementRef.current;\n if (!dialog) return;\n let disposed = false;\n const onToggle = (event: Event): void => {\n const next = (event as ToggleEvent).newState === \"open\";\n afterMotion(dialog, () => {\n if (!disposed) onOpenChangeCompleteRef.current?.(next);\n });\n // Programmatic changes already match the desired state; only report\n // changes the browser initiated.\n if (next === wantOpenRef.current) return;\n if (!controlled) setUncontrolledOpen(next);\n onOpenChangeRef.current?.(next);\n recordNativeToggle();\n };\n dialog.addEventListener(\"toggle\", onToggle);\n return () => {\n disposed = true;\n dialog.removeEventListener(\"toggle\", onToggle);\n };\n }, [controlled]);\n return (\n <dialog\n {...modalAppearanceAttributes({ align, backdrop, dismiss, size })}\n data-part=\"content\"\n data-uiify-modal=\"\"\n // SSR markup is always closed, but the browser may have already opened this\n // dialog via a native invoker command before hydration (see the effect above,\n // which reconciles exactly that). React's hydration diff otherwise flags the\n // resulting `open` mismatch as an error; it is the documented recovery path.\n suppressHydrationWarning\n {...dialogProps}\n ref={mergedRef}\n >\n {children}\n </dialog>\n );\n}\nModalClientContent.displayName = \"ModalClientContent\";\n"],"mappings":";AA8HI;AA7HJ,SAAS,WAAW,YAAY,QAAQ,gBAAgB;AAExD,SAAS,qBAAqB;AAC9B,SAAS,iCAAiC;AAE1C,SAAS,UAAU,OAAuB;AACxC,SAAO,QAAQ;AACjB;AAEA,SAAS,mBAAmB,QAAiC;AAC3D,aAAW,UAAU,OAAO,iBAAoC,cAAc,GAAG;AAC/E,WAAO,MAAM;AAAA,EACf;AACF;AAKA,SAAS,YAAY,QAA2B,MAAwB;AACtE,wBAAsB,MAAM;AAC1B,UAAM,UAAU,OAAO,gBAAgB,EAAE,SAAS,KAAK,CAAC,KAAK,CAAC;AAC9D,SAAK,QAAQ;AAAA,MACX,QAAQ;AAAA,QAAI,CAAC,cACX,UAAU,QAAQ,kBAAkB,EAAE,YAAY,WAAW,IAAI,UAAU;AAAA,MAC7E;AAAA,IACF,EAAE,KAAK,IAAI;AAAA,EACb,CAAC;AACH;AAUO,SAAS,mBAAmB,OAA8C;AAC/E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,aAAa,OAAiC,IAAI;AACxD,QAAM,YAAY,cAAiC,YAAY,GAAG;AAClE,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,WAAW;AAIpE,QAAM,CAAC,eAAe,kBAAkB,IAAI,WAAW,WAAW,CAAC;AACnE,QAAM,aAAa,SAAS;AAC5B,QAAM,WAAW,aAAa,OAAO;AACrC,QAAM,cAAc,OAAO,QAAQ;AACnC,cAAY,UAAU;AACtB,QAAM,kBAAkB,OAAO,YAAY;AAC3C,kBAAgB,UAAU;AAC1B,QAAM,0BAA0B,OAAO,oBAAoB;AAC3D,0BAAwB,UAAU;AAElC,QAAM,gBAAgB,OAAO,KAAK;AAClC,YAAU,MAAM;AACd,UAAM,SAAS,WAAW;AAC1B,QAAI,CAAC,OAAQ;AACb,QAAI,CAAC,cAAc,SAAS;AAC1B,oBAAc,UAAU;AAWxB,UAAI,OAAO,QAAQ,CAAC,YAAY,SAAS;AACvC,YAAI,CAAC,WAAY,qBAAoB,IAAI;AACzC,wBAAgB,UAAU,IAAI;AAK9B,2BAAmB;AACnB;AAAA,MACF;AAAA,IACF;AACA,QAAI,YAAY,CAAC,OAAO,KAAM,QAAO,UAAU;AAAA,aACtC,CAAC,YAAY,OAAO,MAAM;AACjC,yBAAmB,MAAM;AACzB,aAAO,MAAM;AAAA,IACf;AAAA,EAGF,GAAG,CAAC,eAAe,UAAU,UAAU,CAAC;AACxC,YAAU,MAAM;AACd,UAAM,SAAS,WAAW;AAC1B,QAAI,CAAC,OAAQ;AACb,QAAI,WAAW;AACf,UAAM,WAAW,CAAC,UAAuB;AACvC,YAAM,OAAQ,MAAsB,aAAa;AACjD,kBAAY,QAAQ,MAAM;AACxB,YAAI,CAAC,SAAU,yBAAwB,UAAU,IAAI;AAAA,MACvD,CAAC;AAGD,UAAI,SAAS,YAAY,QAAS;AAClC,UAAI,CAAC,WAAY,qBAAoB,IAAI;AACzC,sBAAgB,UAAU,IAAI;AAC9B,yBAAmB;AAAA,IACrB;AACA,WAAO,iBAAiB,UAAU,QAAQ;AAC1C,WAAO,MAAM;AACX,iBAAW;AACX,aAAO,oBAAoB,UAAU,QAAQ;AAAA,IAC/C;AAAA,EACF,GAAG,CAAC,UAAU,CAAC;AACf,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG,0BAA0B,EAAE,OAAO,UAAU,SAAS,KAAK,CAAC;AAAA,MAChE,aAAU;AAAA,MACV,oBAAiB;AAAA,MAKjB,0BAAwB;AAAA,MACvB,GAAG;AAAA,MACJ,KAAK;AAAA,MAEJ;AAAA;AAAA,EACH;AAEJ;AACA,mBAAmB,cAAc;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { Modal } from "./Modal.js";
|
|
2
2
|
export { ModalBody, ModalClose, ModalContent, ModalDescription, ModalFooter, ModalGrabber, ModalHeader, ModalTitle, ModalTrigger, } from "./ModalParts.js";
|
|
3
|
-
export type { ModalAlign, ModalAppearanceProps, ModalBackdrop, ModalBodyProps, ModalCloseOwnProps, ModalCloseProps, ModalContentOwnProps, ModalContentProps, ModalDescriptionProps, ModalDismiss, ModalFooterProps, ModalGrabberProps, ModalHeaderProps, ModalProps, ModalLabels, ModalSize, ModalTitleProps, ModalTriggerOwnProps, ModalTriggerProps, } from "./types.js";
|
|
3
|
+
export type { ModalAlign, ModalAppearanceProps, ModalBackdrop, ModalBodyProps, ModalCloseOwnProps, ModalCloseProps, ModalContentOwnProps, ModalContentProps, ModalDescriptionProps, ModalDismiss, ModalFooterProps, ModalGrabberProps, ModalHeaderProps, ModalProps, ModalLabels, ModalOwnProps, ModalSlotProps, ModalSize, ModalTitleProps, ModalTriggerOwnProps, ModalTriggerProps, } from "./types.js";
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,EACd,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/modal/index.ts"],"sourcesContent":["export { Modal } from \"./Modal.js\";\nexport {\n ModalBody,\n ModalClose,\n ModalContent,\n ModalDescription,\n ModalFooter,\n ModalGrabber,\n ModalHeader,\n ModalTitle,\n ModalTrigger,\n} from \"./ModalParts.js\";\nexport type {\n ModalAlign,\n ModalAppearanceProps,\n ModalBackdrop,\n ModalBodyProps,\n ModalCloseOwnProps,\n ModalCloseProps,\n ModalContentOwnProps,\n ModalContentProps,\n ModalDescriptionProps,\n ModalDismiss,\n ModalFooterProps,\n ModalGrabberProps,\n ModalHeaderProps,\n ModalProps,\n ModalLabels,\n ModalSize,\n ModalTitleProps,\n ModalTriggerOwnProps,\n ModalTriggerProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,aAAa;AACtB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/modal/index.ts"],"sourcesContent":["export { Modal } from \"./Modal.js\";\nexport {\n ModalBody,\n ModalClose,\n ModalContent,\n ModalDescription,\n ModalFooter,\n ModalGrabber,\n ModalHeader,\n ModalTitle,\n ModalTrigger,\n} from \"./ModalParts.js\";\nexport type {\n ModalAlign,\n ModalAppearanceProps,\n ModalBackdrop,\n ModalBodyProps,\n ModalCloseOwnProps,\n ModalCloseProps,\n ModalContentOwnProps,\n ModalContentProps,\n ModalDescriptionProps,\n ModalDismiss,\n ModalFooterProps,\n ModalGrabberProps,\n ModalHeaderProps,\n ModalProps,\n ModalLabels,\n ModalOwnProps,\n ModalSlotProps,\n ModalSize,\n ModalTitleProps,\n ModalTriggerOwnProps,\n ModalTriggerProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,aAAa;AACtB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;","names":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ComponentPropsWithRef, ElementType, ReactNode } from "react";
|
|
2
2
|
import type { NativeButtonProps } from "@gunkin/uiify/core/render";
|
|
3
|
+
import type { SlotProps } from "../../core/slot-props.js";
|
|
3
4
|
export type ModalSize = "sm" | "md" | "lg" | "full";
|
|
4
5
|
export type ModalAlign = "center" | "start";
|
|
5
6
|
export type ModalDismiss = "any" | "closerequest" | "none";
|
|
@@ -22,7 +23,7 @@ export interface ModalAppearanceProps {
|
|
|
22
23
|
/** Backdrop treatment. Default `opaque`. */
|
|
23
24
|
readonly backdrop?: ModalBackdrop | undefined;
|
|
24
25
|
}
|
|
25
|
-
export interface
|
|
26
|
+
export interface ModalOwnProps extends ModalAppearanceProps {
|
|
26
27
|
readonly id: string;
|
|
27
28
|
readonly trigger: ReactNode;
|
|
28
29
|
readonly title: ReactNode;
|
|
@@ -33,8 +34,28 @@ export interface ModalProps extends ModalAppearanceProps {
|
|
|
33
34
|
readonly labels?: Partial<ModalLabels>;
|
|
34
35
|
/** Actions row pinned under the body. */
|
|
35
36
|
readonly footer?: ReactNode;
|
|
36
|
-
|
|
37
|
+
/** Native props for the elements created by this convenience component. */
|
|
38
|
+
readonly slotProps?: ModalSlotProps;
|
|
37
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Popover attributes contradict a command invoker; `open`/`popover` contradict a modal dialog; the
|
|
42
|
+
* dialog `id` is the Modal's own `id` prop, which the trigger and close `target` reference.
|
|
43
|
+
*/
|
|
44
|
+
type CommandInvokerSlotProps = Omit<SlotProps<"button">, "popoverTarget" | "popoverTargetAction">;
|
|
45
|
+
/** Native props for Modal's generated inner elements; consumer values replace the defaults. */
|
|
46
|
+
export interface ModalSlotProps {
|
|
47
|
+
readonly trigger?: CommandInvokerSlotProps;
|
|
48
|
+
readonly content?: Omit<SlotProps<"dialog">, "id" | "open" | "popover">;
|
|
49
|
+
readonly grabber?: SlotProps<"div">;
|
|
50
|
+
readonly header?: SlotProps<"div">;
|
|
51
|
+
readonly title?: SlotProps<"h2">;
|
|
52
|
+
readonly description?: SlotProps<"p">;
|
|
53
|
+
readonly close?: CommandInvokerSlotProps;
|
|
54
|
+
readonly body?: SlotProps<"div">;
|
|
55
|
+
readonly footer?: SlotProps<"div">;
|
|
56
|
+
}
|
|
57
|
+
/** Native props for Modal's root div plus its dialog and trigger contract. */
|
|
58
|
+
export type ModalProps = ModalOwnProps & Omit<SlotProps<"div">, keyof ModalOwnProps>;
|
|
38
59
|
export interface ModalLabels {
|
|
39
60
|
readonly close: string;
|
|
40
61
|
}
|
|
@@ -58,7 +79,7 @@ export interface ModalContentOwnProps extends ModalAppearanceProps {
|
|
|
58
79
|
readonly id: string;
|
|
59
80
|
}
|
|
60
81
|
/** A plain, initially closed `<dialog>`: `open` and `popover` are not part of the native contract. */
|
|
61
|
-
export type ModalContentProps = ModalContentOwnProps & Omit<ComponentPropsWithRef<"dialog">, keyof ModalContentOwnProps | "open" | "popover"
|
|
82
|
+
export type ModalContentProps = ModalContentOwnProps & Omit<ComponentPropsWithRef<"dialog">, keyof ModalContentOwnProps | "open" | "popover">;
|
|
62
83
|
export interface ModalClientContentOwnProps extends ModalAppearanceProps {
|
|
63
84
|
readonly children?: ReactNode;
|
|
64
85
|
/** Uncontrolled initial state, applied with `showModal()` after hydration; SSR markup stays closed. */
|
|
@@ -82,11 +103,12 @@ export interface ModalClientContentOwnProps extends ModalAppearanceProps {
|
|
|
82
103
|
readonly open?: boolean;
|
|
83
104
|
}
|
|
84
105
|
/** Props of the client adapter; `popover` is excluded because the adapter is always modal. */
|
|
85
|
-
export type ModalClientContentProps = ModalClientContentOwnProps & Omit<ComponentPropsWithRef<"dialog">, keyof ModalClientContentOwnProps | "popover"
|
|
106
|
+
export type ModalClientContentProps = ModalClientContentOwnProps & Omit<ComponentPropsWithRef<"dialog">, keyof ModalClientContentOwnProps | "popover">;
|
|
86
107
|
export type ModalHeaderProps = ComponentPropsWithRef<"div">;
|
|
87
108
|
export type ModalTitleProps = ComponentPropsWithRef<"h2">;
|
|
88
109
|
export type ModalDescriptionProps = ComponentPropsWithRef<"p">;
|
|
89
110
|
export type ModalBodyProps = ComponentPropsWithRef<"div">;
|
|
90
111
|
export type ModalFooterProps = ComponentPropsWithRef<"div">;
|
|
91
112
|
export type ModalGrabberProps = Omit<ComponentPropsWithRef<"div">, "children">;
|
|
113
|
+
export {};
|
|
92
114
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/modal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/modal/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../src/components/number-field/NumberField.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,WAAW,EAIhB,KAAK,YAAY,EAGlB,MAAM,OAAO,CAAC;AAef,OAAO,KAAK,EAEV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAKpB,wBAAgB,eAAe,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC7D,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAC/B,YAAY,GAAG,IAAI,CAqIrB;yBAvIe,eAAe;;;AA0I/B,wBAAgB,gBAAgB,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC9D,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAChC,YAAY,GAAG,IAAI,CAerB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EAChE,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAChC,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../src/components/number-field/NumberField.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,WAAW,EAIhB,KAAK,YAAY,EAGlB,MAAM,OAAO,CAAC;AAef,OAAO,KAAK,EAEV,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAKpB,wBAAgB,eAAe,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC7D,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAC/B,YAAY,GAAG,IAAI,CAqIrB;yBAvIe,eAAe;;;AA0I/B,wBAAgB,gBAAgB,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC9D,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAChC,YAAY,GAAG,IAAI,CAerB;AAED,wBAAgB,gBAAgB,CAAC,GAAG,SAAS,WAAW,GAAG,OAAO,EAChE,KAAK,EAAE,qBAAqB,CAAC,GAAG,CAAC,GAChC,YAAY,GAAG,IAAI,CA4FrB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,EACrE,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,GACpC,YAAY,GAAG,IAAI,CAuCrB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,EACrE,KAAK,EAAE,yBAAyB,CAAC,GAAG,CAAC,GACpC,YAAY,GAAG,IAAI,CAuCrB;AAED,eAAO,MAAM,WAAW;;;;;;CAMvB,CAAC"}
|
|
@@ -6,8 +6,8 @@ import {
|
|
|
6
6
|
useRef,
|
|
7
7
|
useState
|
|
8
8
|
} from "react";
|
|
9
|
-
import { useControllableState, useId } from "@gunkin/uiify/hooks";
|
|
10
|
-
import { createPartContext } from "@gunkin/uiify/core";
|
|
9
|
+
import { useControllableState, useId, useMergedRefs } from "@gunkin/uiify/hooks";
|
|
10
|
+
import { createPartContext, splitRef } from "@gunkin/uiify/core";
|
|
11
11
|
import { isComposingKeyEvent } from "@gunkin/uiify/core/ime";
|
|
12
12
|
import { composeEventHandlers } from "@gunkin/uiify/core/compose-event-handlers";
|
|
13
13
|
import { useRenderElement } from "@gunkin/uiify/core/render";
|
|
@@ -132,9 +132,9 @@ function NumberFieldRoot(props) {
|
|
|
132
132
|
as,
|
|
133
133
|
defaultTag: "div",
|
|
134
134
|
props: {
|
|
135
|
-
...consumerProps,
|
|
136
135
|
"data-disabled": disabled ? "" : void 0,
|
|
137
|
-
"data-uiify-number-field": ""
|
|
136
|
+
"data-uiify-number-field": "",
|
|
137
|
+
...consumerProps
|
|
138
138
|
},
|
|
139
139
|
render,
|
|
140
140
|
state: { disabled, readOnly, required }
|
|
@@ -149,9 +149,9 @@ function NumberFieldGroup(props) {
|
|
|
149
149
|
as,
|
|
150
150
|
defaultTag: "div",
|
|
151
151
|
props: {
|
|
152
|
-
...consumerProps,
|
|
153
152
|
"data-disabled": disabled ? "" : void 0,
|
|
154
|
-
"data-part": "group"
|
|
153
|
+
"data-part": "group",
|
|
154
|
+
...consumerProps
|
|
155
155
|
},
|
|
156
156
|
render,
|
|
157
157
|
state: { disabled }
|
|
@@ -176,6 +176,8 @@ function NumberFieldInput(props) {
|
|
|
176
176
|
setDisplayValue,
|
|
177
177
|
setEditing
|
|
178
178
|
} = useNumberFieldContext("Input");
|
|
179
|
+
const [consumerRef] = splitRef(consumerProps);
|
|
180
|
+
const mergedRef = useMergedRefs(inputRef, consumerRef);
|
|
179
181
|
const onKeyDown = (event) => {
|
|
180
182
|
if (isComposingKeyEvent(event)) return;
|
|
181
183
|
if (disabled || readOnly) return;
|
|
@@ -212,9 +214,7 @@ function NumberFieldInput(props) {
|
|
|
212
214
|
as,
|
|
213
215
|
defaultTag: "input",
|
|
214
216
|
props: {
|
|
215
|
-
|
|
216
|
-
id: consumerProps.id ?? inputId,
|
|
217
|
-
ref: inputRef,
|
|
217
|
+
id: inputId,
|
|
218
218
|
role: "spinbutton",
|
|
219
219
|
"data-part": "input",
|
|
220
220
|
inputMode: "decimal",
|
|
@@ -228,6 +228,8 @@ function NumberFieldInput(props) {
|
|
|
228
228
|
readOnly: readOnly || void 0,
|
|
229
229
|
required: required || void 0,
|
|
230
230
|
value: displayValue,
|
|
231
|
+
...consumerProps,
|
|
232
|
+
ref: mergedRef,
|
|
231
233
|
onFocus: composeEventHandlers(consumerProps.onFocus, () => setEditing(true)),
|
|
232
234
|
onBlur: composeEventHandlers(consumerProps.onBlur, (event) => {
|
|
233
235
|
setEditing(false);
|
|
@@ -255,12 +257,12 @@ function NumberFieldIncrement(props) {
|
|
|
255
257
|
as,
|
|
256
258
|
defaultTag: "button",
|
|
257
259
|
props: {
|
|
258
|
-
...consumerProps,
|
|
259
260
|
type: "button",
|
|
260
261
|
tabIndex: -1,
|
|
261
262
|
"data-part": "increment",
|
|
262
263
|
"data-disabled": inactive ? "" : void 0,
|
|
263
264
|
disabled: inactive || void 0,
|
|
265
|
+
...consumerProps,
|
|
264
266
|
onClick: composeEventHandlers(
|
|
265
267
|
consumerProps.onClick,
|
|
266
268
|
(event) => {
|
|
@@ -291,12 +293,12 @@ function NumberFieldDecrement(props) {
|
|
|
291
293
|
as,
|
|
292
294
|
defaultTag: "button",
|
|
293
295
|
props: {
|
|
294
|
-
...consumerProps,
|
|
295
296
|
type: "button",
|
|
296
297
|
tabIndex: -1,
|
|
297
298
|
"data-part": "decrement",
|
|
298
299
|
"data-disabled": inactive ? "" : void 0,
|
|
299
300
|
disabled: inactive || void 0,
|
|
301
|
+
...consumerProps,
|
|
300
302
|
onClick: composeEventHandlers(
|
|
301
303
|
consumerProps.onClick,
|
|
302
304
|
(event) => {
|