@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
|
@@ -2,7 +2,10 @@ function applyVirtualScrollRangeToDom(scrollport, range, options) {
|
|
|
2
2
|
const spacer = scrollport.querySelector('[data-part="spacer"]');
|
|
3
3
|
if (!(spacer instanceof HTMLElement)) return;
|
|
4
4
|
if (!options.dynamicLayout) {
|
|
5
|
-
|
|
5
|
+
const style = { "--uiify-range-start": String(range.start), ...options.spacerStyle };
|
|
6
|
+
const value = style["--uiify-range-start"];
|
|
7
|
+
if (value === void 0) spacer.style.removeProperty("--uiify-range-start");
|
|
8
|
+
else spacer.style.setProperty("--uiify-range-start", value);
|
|
6
9
|
return;
|
|
7
10
|
}
|
|
8
11
|
const rows = spacer.querySelectorAll('[data-part="row"]');
|
|
@@ -10,7 +13,13 @@ function applyVirtualScrollRangeToDom(scrollport, range, options) {
|
|
|
10
13
|
const row = rows[slotIndex];
|
|
11
14
|
if (!(row instanceof HTMLElement)) continue;
|
|
12
15
|
const index = range.start + slotIndex;
|
|
13
|
-
|
|
16
|
+
const style = {
|
|
17
|
+
"--uiify-row-offset": `${options.getRowOffset(index)}px`,
|
|
18
|
+
...options.getRowStyle?.(index)
|
|
19
|
+
};
|
|
20
|
+
const value = style["--uiify-row-offset"];
|
|
21
|
+
if (value === void 0) row.style.removeProperty("--uiify-row-offset");
|
|
22
|
+
else row.style.setProperty("--uiify-row-offset", value);
|
|
14
23
|
}
|
|
15
24
|
}
|
|
16
25
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/virtual-scroll/virtual-scroll-scroll-sync.ts"],"sourcesContent":["import type { VirtualScrollRange } from \"./virtual-scroll-range.js\";\n\n/** Imperatively update row positions from scrollTop so the viewport stays filled before React paints. */\nexport function applyVirtualScrollRangeToDom(\n scrollport: HTMLElement,\n range: VirtualScrollRange,\n options: {\n readonly dynamicLayout: boolean;\n readonly slotCount: number;\n readonly getRowOffset: (index: number) => number;\n },\n): void {\n const spacer = scrollport.querySelector('[data-part=\"spacer\"]');\n if (!(spacer instanceof HTMLElement)) return;\n\n if (!options.dynamicLayout) {\n spacer.style.
|
|
1
|
+
{"version":3,"sources":["../../../src/components/virtual-scroll/virtual-scroll-scroll-sync.ts"],"sourcesContent":["import type { CSSProperties } from \"react\";\nimport type { VirtualScrollRange } from \"./virtual-scroll-range.js\";\n\n/** Imperatively update row positions from scrollTop so the viewport stays filled before React paints. */\nexport function applyVirtualScrollRangeToDom(\n scrollport: HTMLElement,\n range: VirtualScrollRange,\n options: {\n readonly dynamicLayout: boolean;\n readonly slotCount: number;\n readonly getRowOffset: (index: number) => number;\n readonly spacerStyle?: CSSProperties | undefined;\n readonly getRowStyle?: (index: number) => CSSProperties | undefined;\n },\n): void {\n const spacer = scrollport.querySelector('[data-part=\"spacer\"]');\n if (!(spacer instanceof HTMLElement)) return;\n\n if (!options.dynamicLayout) {\n const style = { \"--uiify-range-start\": String(range.start), ...options.spacerStyle };\n const value = style[\"--uiify-range-start\"];\n if (value === undefined) spacer.style.removeProperty(\"--uiify-range-start\");\n else spacer.style.setProperty(\"--uiify-range-start\", value);\n return;\n }\n\n const rows = spacer.querySelectorAll('[data-part=\"row\"]');\n for (let slotIndex = 0; slotIndex < options.slotCount; slotIndex++) {\n const row = rows[slotIndex];\n if (!(row instanceof HTMLElement)) continue;\n const index = range.start + slotIndex;\n const style = {\n \"--uiify-row-offset\": `${options.getRowOffset(index)}px`,\n ...options.getRowStyle?.(index),\n };\n const value = style[\"--uiify-row-offset\"];\n if (value === undefined) row.style.removeProperty(\"--uiify-row-offset\");\n else row.style.setProperty(\"--uiify-row-offset\", value);\n }\n}\n"],"mappings":"AAIO,SAAS,6BACd,YACA,OACA,SAOM;AACN,QAAM,SAAS,WAAW,cAAc,sBAAsB;AAC9D,MAAI,EAAE,kBAAkB,aAAc;AAEtC,MAAI,CAAC,QAAQ,eAAe;AAC1B,UAAM,QAAQ,EAAE,uBAAuB,OAAO,MAAM,KAAK,GAAG,GAAG,QAAQ,YAAY;AACnF,UAAM,QAAQ,MAAM,qBAAqB;AACzC,QAAI,UAAU,OAAW,QAAO,MAAM,eAAe,qBAAqB;AAAA,QACrE,QAAO,MAAM,YAAY,uBAAuB,KAAK;AAC1D;AAAA,EACF;AAEA,QAAM,OAAO,OAAO,iBAAiB,mBAAmB;AACxD,WAAS,YAAY,GAAG,YAAY,QAAQ,WAAW,aAAa;AAClE,UAAM,MAAM,KAAK,SAAS;AAC1B,QAAI,EAAE,eAAe,aAAc;AACnC,UAAM,QAAQ,MAAM,QAAQ;AAC5B,UAAM,QAAQ;AAAA,MACZ,sBAAsB,GAAG,QAAQ,aAAa,KAAK,CAAC;AAAA,MACpD,GAAG,QAAQ,cAAc,KAAK;AAAA,IAChC;AACA,UAAM,QAAQ,MAAM,oBAAoB;AACxC,QAAI,UAAU,OAAW,KAAI,MAAM,eAAe,oBAAoB;AAAA,QACjE,KAAI,MAAM,YAAY,sBAAsB,KAAK;AAAA,EACxD;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-names.d.ts","sourceRoot":"","sources":["../../src/core/class-names.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,wBAAgB,EAAE,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAEzF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/class-names.ts"],"sourcesContent":["/** Join library and consumer class names; empty input yields no `class` attribute. */\nexport function cn(...parts: Array<string | false | null | undefined>): string | undefined {\n return parts.filter(Boolean).join(\" \") || undefined;\n}\n"],"mappings":"AACO,SAAS,MAAM,OAAqE;AACzF,SAAO,MAAM,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAC5C;","names":[]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every `data-part` value the library renders or styles. `naming.test.ts` fails when a TSX or
|
|
3
|
+
* CSS file uses a name that is not listed here. Import the type with `import type` only, so the
|
|
4
|
+
* array never reaches a bundle. Consumers may still pass any `data-part` of their own.
|
|
5
|
+
*/
|
|
6
|
+
export declare const PART_NAMES: readonly ["action", "actions", "addon", "append", "body", "candle", "candle-hit", "candles", "canvas", "cell", "checkbox-item", "close", "column-header", "content", "control", "controls", "crosshair", "crosshair-marker", "crosshair-price", "crosshair-time", "crosshair-value", "data", "decrement", "description", "details", "dot", "dots", "dropzone", "ellipsis", "empty", "error", "expand-trigger", "expanded-row", "fallback", "file-info", "footer", "grabber", "group", "handle", "header", "image", "increment", "indicator", "input", "input-slot", "item", "item-description", "item-icon", "item-indicator", "item-text", "label", "legend", "link", "list", "mark", "media", "metadata", "native-input", "panel", "plot", "point", "point-hit", "points", "price-axis", "radio-group", "radio-item", "rail", "range", "readout", "readout-time", "remove", "root", "row", "row-header", "scroll-viewport", "separator", "shortcut", "slide", "slide-content", "slot", "sort-button", "spacer", "status", "story", "story-body", "story-eyebrow", "story-footer", "story-topline", "sub-content", "sub-trigger", "surface", "symbol", "tag", "tag-remove", "tags", "term", "thumb", "time-axis", "time-viewport", "title", "track", "trigger", "value-axis", "viewport", "visual-thumb"];
|
|
7
|
+
export type PartName = (typeof PART_NAMES)[number];
|
|
8
|
+
//# sourceMappingURL=part-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"part-names.d.ts","sourceRoot":"","sources":["../../src/core/part-names.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,UAAU,4uCA0Gb,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
const PART_NAMES = [
|
|
2
|
+
"action",
|
|
3
|
+
"actions",
|
|
4
|
+
"addon",
|
|
5
|
+
"append",
|
|
6
|
+
"body",
|
|
7
|
+
"candle",
|
|
8
|
+
"candle-hit",
|
|
9
|
+
"candles",
|
|
10
|
+
"canvas",
|
|
11
|
+
"cell",
|
|
12
|
+
"checkbox-item",
|
|
13
|
+
"close",
|
|
14
|
+
"column-header",
|
|
15
|
+
"content",
|
|
16
|
+
"control",
|
|
17
|
+
"controls",
|
|
18
|
+
"crosshair",
|
|
19
|
+
"crosshair-marker",
|
|
20
|
+
"crosshair-price",
|
|
21
|
+
"crosshair-time",
|
|
22
|
+
"crosshair-value",
|
|
23
|
+
"data",
|
|
24
|
+
"decrement",
|
|
25
|
+
"description",
|
|
26
|
+
"details",
|
|
27
|
+
"dot",
|
|
28
|
+
"dots",
|
|
29
|
+
"dropzone",
|
|
30
|
+
"ellipsis",
|
|
31
|
+
"empty",
|
|
32
|
+
"error",
|
|
33
|
+
"expand-trigger",
|
|
34
|
+
"expanded-row",
|
|
35
|
+
"fallback",
|
|
36
|
+
"file-info",
|
|
37
|
+
"footer",
|
|
38
|
+
"grabber",
|
|
39
|
+
"group",
|
|
40
|
+
"handle",
|
|
41
|
+
"header",
|
|
42
|
+
"image",
|
|
43
|
+
"increment",
|
|
44
|
+
"indicator",
|
|
45
|
+
"input",
|
|
46
|
+
"input-slot",
|
|
47
|
+
"item",
|
|
48
|
+
"item-description",
|
|
49
|
+
"item-icon",
|
|
50
|
+
"item-indicator",
|
|
51
|
+
"item-text",
|
|
52
|
+
"label",
|
|
53
|
+
"legend",
|
|
54
|
+
"link",
|
|
55
|
+
"list",
|
|
56
|
+
"mark",
|
|
57
|
+
"media",
|
|
58
|
+
"metadata",
|
|
59
|
+
"native-input",
|
|
60
|
+
"panel",
|
|
61
|
+
"plot",
|
|
62
|
+
"point",
|
|
63
|
+
"point-hit",
|
|
64
|
+
"points",
|
|
65
|
+
"price-axis",
|
|
66
|
+
"radio-group",
|
|
67
|
+
"radio-item",
|
|
68
|
+
"rail",
|
|
69
|
+
"range",
|
|
70
|
+
"readout",
|
|
71
|
+
"readout-time",
|
|
72
|
+
"remove",
|
|
73
|
+
"root",
|
|
74
|
+
"row",
|
|
75
|
+
"row-header",
|
|
76
|
+
"scroll-viewport",
|
|
77
|
+
"separator",
|
|
78
|
+
"shortcut",
|
|
79
|
+
"slide",
|
|
80
|
+
"slide-content",
|
|
81
|
+
"slot",
|
|
82
|
+
"sort-button",
|
|
83
|
+
"spacer",
|
|
84
|
+
"status",
|
|
85
|
+
"story",
|
|
86
|
+
"story-body",
|
|
87
|
+
"story-eyebrow",
|
|
88
|
+
"story-footer",
|
|
89
|
+
"story-topline",
|
|
90
|
+
"sub-content",
|
|
91
|
+
"sub-trigger",
|
|
92
|
+
"surface",
|
|
93
|
+
"symbol",
|
|
94
|
+
"tag",
|
|
95
|
+
"tag-remove",
|
|
96
|
+
"tags",
|
|
97
|
+
"term",
|
|
98
|
+
"thumb",
|
|
99
|
+
"time-axis",
|
|
100
|
+
"time-viewport",
|
|
101
|
+
"title",
|
|
102
|
+
"track",
|
|
103
|
+
"trigger",
|
|
104
|
+
"value-axis",
|
|
105
|
+
"viewport",
|
|
106
|
+
"visual-thumb"
|
|
107
|
+
];
|
|
108
|
+
export {
|
|
109
|
+
PART_NAMES
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=part-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/part-names.ts"],"sourcesContent":["/**\n * Every `data-part` value the library renders or styles. `naming.test.ts` fails when a TSX or\n * CSS file uses a name that is not listed here. Import the type with `import type` only, so the\n * array never reaches a bundle. Consumers may still pass any `data-part` of their own.\n */\nexport const PART_NAMES = [\n \"action\",\n \"actions\",\n \"addon\",\n \"append\",\n \"body\",\n \"candle\",\n \"candle-hit\",\n \"candles\",\n \"canvas\",\n \"cell\",\n \"checkbox-item\",\n \"close\",\n \"column-header\",\n \"content\",\n \"control\",\n \"controls\",\n \"crosshair\",\n \"crosshair-marker\",\n \"crosshair-price\",\n \"crosshair-time\",\n \"crosshair-value\",\n \"data\",\n \"decrement\",\n \"description\",\n \"details\",\n \"dot\",\n \"dots\",\n \"dropzone\",\n \"ellipsis\",\n \"empty\",\n \"error\",\n \"expand-trigger\",\n \"expanded-row\",\n \"fallback\",\n \"file-info\",\n \"footer\",\n \"grabber\",\n \"group\",\n \"handle\",\n \"header\",\n \"image\",\n \"increment\",\n \"indicator\",\n \"input\",\n \"input-slot\",\n \"item\",\n \"item-description\",\n \"item-icon\",\n \"item-indicator\",\n \"item-text\",\n \"label\",\n \"legend\",\n \"link\",\n \"list\",\n \"mark\",\n \"media\",\n \"metadata\",\n \"native-input\",\n \"panel\",\n \"plot\",\n \"point\",\n \"point-hit\",\n \"points\",\n \"price-axis\",\n \"radio-group\",\n \"radio-item\",\n \"rail\",\n \"range\",\n \"readout\",\n \"readout-time\",\n \"remove\",\n \"root\",\n \"row\",\n \"row-header\",\n \"scroll-viewport\",\n \"separator\",\n \"shortcut\",\n \"slide\",\n \"slide-content\",\n \"slot\",\n \"sort-button\",\n \"spacer\",\n \"status\",\n \"story\",\n \"story-body\",\n \"story-eyebrow\",\n \"story-footer\",\n \"story-topline\",\n \"sub-content\",\n \"sub-trigger\",\n \"surface\",\n \"symbol\",\n \"tag\",\n \"tag-remove\",\n \"tags\",\n \"term\",\n \"thumb\",\n \"time-axis\",\n \"time-viewport\",\n \"title\",\n \"track\",\n \"trigger\",\n \"value-axis\",\n \"viewport\",\n \"visual-thumb\",\n] as const;\n\nexport type PartName = (typeof PART_NAMES)[number];\n"],"mappings":"AAKO,MAAM,aAAa;AAAA,EACxB;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;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;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;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;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;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;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;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;AACF;","names":[]}
|
|
@@ -19,12 +19,19 @@ export type RenderableProps<TAs extends ElementType, OwnProps extends object, TS
|
|
|
19
19
|
*/
|
|
20
20
|
export type NativeButtonAs<TAs extends ElementType> = TAs extends keyof JSX.IntrinsicElements ? Extract<TAs, "button"> : TAs;
|
|
21
21
|
/**
|
|
22
|
-
* Props of a part that renders a native invoker button. The library
|
|
23
|
-
* and
|
|
22
|
+
* Props of a part that renders a native invoker button. The library writes `type="button"`,
|
|
23
|
+
* `command` and `commandfor` by default; consumer props replace them. Popover invoker
|
|
24
|
+
* attributes are not part of a command invoker.
|
|
24
25
|
*/
|
|
25
|
-
export type NativeButtonProps<TAs extends ElementType, OwnProps extends object> = OwnProps & Omit<ComponentPropsWithRef<TAs>, keyof OwnProps | "as" | "render" | "
|
|
26
|
+
export type NativeButtonProps<TAs extends ElementType, OwnProps extends object> = OwnProps & Omit<ComponentPropsWithRef<TAs>, keyof OwnProps | "as" | "render" | "popoverTarget" | "popoverTargetAction"> & Omit<NativeInvokerAttributes, keyof OwnProps> & {
|
|
26
27
|
/** `"button"` (default) or a component that forwards props and ref to a native <button>. */
|
|
27
28
|
readonly as?: TAs & NativeButtonAs<TAs>;
|
|
28
29
|
readonly render?: never;
|
|
29
30
|
};
|
|
31
|
+
/** Invoker attributes that @types/react 19.2 does not declare yet. */
|
|
32
|
+
interface NativeInvokerAttributes {
|
|
33
|
+
readonly command?: string | undefined;
|
|
34
|
+
readonly commandfor?: string | undefined;
|
|
35
|
+
}
|
|
36
|
+
export {};
|
|
30
37
|
//# sourceMappingURL=polymorphic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"polymorphic.d.ts","sourceRoot":"","sources":["../../src/core/polymorphic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAExF,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,WAAW,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAC/E,GAAG,CAAC,MAAM,QAAQ,CAAC,GACnB,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,WAAW,EAAE,QAAQ,SAAS,MAAM,IAAI,QAAQ,GACvF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,MAAM,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAAC,GAAG;IACnE,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEJ,MAAM,WAAW,mBAAmB,CAAC,MAAM,EAAE,QAAQ,SAAS,OAAO;IACnE,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;KAAE,EACxD,KAAK,EAAE,MAAM,KACV,YAAY,GAAG,IAAI,CAAC;IACzB,EAAE,CAAC,EAAE,KAAK,CAAC;CACZ;AAED,MAAM,MAAM,eAAe,CACzB,GAAG,SAAS,WAAW,EACvB,QAAQ,SAAS,MAAM,EACvB,MAAM,EACN,QAAQ,SAAS,OAAO,IACtB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,GAAG,SAAS,WAAW,IAAI,GAAG,SAAS,MAAM,GAAG,CAAC,iBAAiB,GACzF,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,GACtB,GAAG,CAAC;AAER
|
|
1
|
+
{"version":3,"file":"polymorphic.d.ts","sourceRoot":"","sources":["../../src/core/polymorphic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAExF,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,WAAW,IAAI,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,SAC/E,GAAG,CAAC,MAAM,QAAQ,CAAC,GACnB,SAAS,GACT,QAAQ,GACR,WAAW,CAAC;AAEhB,MAAM,MAAM,gBAAgB,CAAC,GAAG,SAAS,WAAW,EAAE,QAAQ,SAAS,MAAM,IAAI,QAAQ,GACvF,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,MAAM,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAAC,GAAG;IACnE,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEJ,MAAM,WAAW,mBAAmB,CAAC,MAAM,EAAE,QAAQ,SAAS,OAAO;IACnE,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;KAAE,EACxD,KAAK,EAAE,MAAM,KACV,YAAY,GAAG,IAAI,CAAC;IACzB,EAAE,CAAC,EAAE,KAAK,CAAC;CACZ;AAED,MAAM,MAAM,eAAe,CACzB,GAAG,SAAS,WAAW,EACvB,QAAQ,SAAS,MAAM,EACvB,MAAM,EACN,QAAQ,SAAS,OAAO,IACtB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,MAAM,cAAc,CAAC,GAAG,SAAS,WAAW,IAAI,GAAG,SAAS,MAAM,GAAG,CAAC,iBAAiB,GACzF,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,GACtB,GAAG,CAAC;AAER;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAAC,GAAG,SAAS,WAAW,EAAE,QAAQ,SAAS,MAAM,IAAI,QAAQ,GACxF,IAAI,CACF,qBAAqB,CAAC,GAAG,CAAC,EAC1B,MAAM,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,eAAe,GAAG,qBAAqB,CAC3E,GACD,IAAI,CAAC,uBAAuB,EAAE,MAAM,QAAQ,CAAC,GAAG;IAC9C,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;CACzB,CAAC;AAEJ,sEAAsE;AACtE,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C"}
|
|
@@ -13,6 +13,7 @@ interface NativeInvokerOptions {
|
|
|
13
13
|
* command semantics; Popup uses `popoverTarget`/`popoverTargetAction` instead
|
|
14
14
|
* and keeps its own renderer (see popup/PopupParts.tsx).
|
|
15
15
|
*
|
|
16
|
+
* The invoker attributes, `type="button"` and markers are defaults: consumer props replace them.
|
|
16
17
|
*/
|
|
17
18
|
export declare function renderNativeInvoker(as: ElementType | undefined, marker: string, part: string, command: NativeInvokerCommand, target: string, consumerProps: Record<string, unknown>, options?: NativeInvokerOptions): ReactElement;
|
|
18
19
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-native-invoker.d.ts","sourceRoot":"","sources":["../../src/core/render-native-invoker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,eAAe,CAAC;AAElE,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;CAC1D;AAED
|
|
1
|
+
{"version":3,"file":"render-native-invoker.d.ts","sourceRoot":"","sources":["../../src/core/render-native-invoker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,eAAe,CAAC;AAElE,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,GAAG,aAAa,CAAC;CAC1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,WAAW,GAAG,SAAS,EAC3B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,oBAAoB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtC,OAAO,GAAE,oBAAyB,GACjC,YAAY,CAWd"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { createElement } from "react";
|
|
2
2
|
function renderNativeInvoker(as, marker, part, command, target, consumerProps, options = {}) {
|
|
3
3
|
return createElement(as ?? "button", {
|
|
4
|
-
|
|
5
|
-
...options.button ? { "data-uiify-button": "" } : {},
|
|
6
|
-
[marker]: "",
|
|
7
|
-
"data-part": part,
|
|
8
|
-
...options.variant ? { "data-variant": options.variant } : {},
|
|
4
|
+
type: "button",
|
|
9
5
|
command,
|
|
10
6
|
commandfor: target,
|
|
11
|
-
|
|
7
|
+
"data-part": part,
|
|
8
|
+
[marker]: "",
|
|
9
|
+
...options.button ? { "data-uiify-button": "" } : {},
|
|
10
|
+
...options.variant ? { "data-variant": options.variant } : {},
|
|
11
|
+
...consumerProps
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/render-native-invoker.ts"],"sourcesContent":["import { createElement } from \"react\";\nimport type { ElementType, ReactElement } from \"react\";\n\nexport type NativeInvokerCommand = \"show-modal\" | \"request-close\";\n\ninterface NativeInvokerOptions {\n readonly button?: boolean;\n readonly variant?: \"secondary\" | \"ghost\" | \"destructive\";\n}\n\n/**\n * Render a native invoker button. `command`/`commandfor` are lowercase HTML\n * attributes that React 19.2 passes through untouched; @types/react 19.2 does\n * not declare them and the lint rule react/no-unknown-property rejects them in\n * JSX, so they travel as a props object through createElement. Shared by the\n * Modal and AlertModal parts, which use identical `show-modal`/`request-close`\n * command semantics; Popup uses `popoverTarget`/`popoverTargetAction` instead\n * and keeps its own renderer (see popup/PopupParts.tsx).\n *\n */\nexport function renderNativeInvoker(\n as: ElementType | undefined,\n marker: string,\n part: string,\n command: NativeInvokerCommand,\n target: string,\n consumerProps: Record<string, unknown>,\n options: NativeInvokerOptions = {},\n): ReactElement {\n return createElement(as ?? \"button\", {\n
|
|
1
|
+
{"version":3,"sources":["../../src/core/render-native-invoker.ts"],"sourcesContent":["import { createElement } from \"react\";\nimport type { ElementType, ReactElement } from \"react\";\n\nexport type NativeInvokerCommand = \"show-modal\" | \"request-close\";\n\ninterface NativeInvokerOptions {\n readonly button?: boolean;\n readonly variant?: \"secondary\" | \"ghost\" | \"destructive\";\n}\n\n/**\n * Render a native invoker button. `command`/`commandfor` are lowercase HTML\n * attributes that React 19.2 passes through untouched; @types/react 19.2 does\n * not declare them and the lint rule react/no-unknown-property rejects them in\n * JSX, so they travel as a props object through createElement. Shared by the\n * Modal and AlertModal parts, which use identical `show-modal`/`request-close`\n * command semantics; Popup uses `popoverTarget`/`popoverTargetAction` instead\n * and keeps its own renderer (see popup/PopupParts.tsx).\n *\n * The invoker attributes, `type=\"button\"` and markers are defaults: consumer props replace them.\n */\nexport function renderNativeInvoker(\n as: ElementType | undefined,\n marker: string,\n part: string,\n command: NativeInvokerCommand,\n target: string,\n consumerProps: Record<string, unknown>,\n options: NativeInvokerOptions = {},\n): ReactElement {\n return createElement(as ?? \"button\", {\n type: \"button\",\n command,\n commandfor: target,\n \"data-part\": part,\n [marker]: \"\",\n ...(options.button ? { \"data-uiify-button\": \"\" } : {}),\n ...(options.variant ? { \"data-variant\": options.variant } : {}),\n ...consumerProps,\n });\n}\n"],"mappings":"AAAA,SAAS,qBAAqB;AAqBvB,SAAS,oBACd,IACA,QACA,MACA,SACA,QACA,eACA,UAAgC,CAAC,GACnB;AACd,SAAO,cAAc,MAAM,UAAU;AAAA,IACnC,MAAM;AAAA,IACN;AAAA,IACA,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,CAAC,MAAM,GAAG;AAAA,IACV,GAAI,QAAQ,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAAC;AAAA,IACpD,GAAI,QAAQ,UAAU,EAAE,gBAAgB,QAAQ,QAAQ,IAAI,CAAC;AAAA,IAC7D,GAAG;AAAA,EACL,CAAC;AACH;","names":[]}
|
|
@@ -15,9 +15,9 @@ export declare namespace RovingFocusRoot {
|
|
|
15
15
|
var displayName: string;
|
|
16
16
|
}
|
|
17
17
|
export interface RovingFocusItemOwnProps {
|
|
18
|
-
readonly ref?: Ref<HTMLElement
|
|
18
|
+
readonly ref?: Ref<HTMLElement> | undefined;
|
|
19
19
|
readonly disabled?: boolean;
|
|
20
|
-
readonly id?: string;
|
|
20
|
+
readonly id?: string | undefined;
|
|
21
21
|
readonly textValue?: string;
|
|
22
22
|
}
|
|
23
23
|
export type RovingFocusItemProps<TAs extends ElementType = "div"> = RenderableProps<TAs, RovingFocusItemOwnProps, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roving-focus.d.ts","sourceRoot":"","sources":["../../src/core/roving-focus.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"roving-focus.d.ts","sourceRoot":"","sources":["../../src/core/roving-focus.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,WAAW,EAGX,YAAY,EACZ,GAAG,EACJ,MAAM,OAAO,CAAC;AAEf,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACtB,MAAM,yBAAyB,CAAC;AAIjC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AACD,MAAM,MAAM,oBAAoB,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CACjF,GAAG,EACH,uBAAuB,EACvB;IACE,WAAW,EAAE,sBAAsB,CAAC;CACrC,EACD,WAAW,CACZ,CAAC;AACF,wBAAgB,eAAe,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC7D,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAC/B,YAAY,GAAG,IAAI,CAyBrB;yBA3Be,eAAe;;;AA6B/B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AACD,MAAM,MAAM,oBAAoB,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,IAAI,eAAe,CACjF,GAAG,EACH,uBAAuB,EACvB;IACE,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB,EACD,WAAW,CACZ,CAAC;AACF,wBAAgB,eAAe,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC7D,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAC/B,YAAY,GAAG,IAAI,CA8ErB;AACD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,YAAY,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -28,9 +28,9 @@ function RovingFocusRoot(props) {
|
|
|
28
28
|
as,
|
|
29
29
|
defaultTag: "div",
|
|
30
30
|
props: {
|
|
31
|
-
...consumerProps,
|
|
32
31
|
...direction ? { dir: direction } : {},
|
|
33
|
-
"data-orientation": orientation
|
|
32
|
+
"data-orientation": orientation,
|
|
33
|
+
...consumerProps
|
|
34
34
|
},
|
|
35
35
|
render,
|
|
36
36
|
state: { orientation }
|
|
@@ -42,7 +42,6 @@ function RovingFocusItem(props) {
|
|
|
42
42
|
const {
|
|
43
43
|
as,
|
|
44
44
|
disabled = false,
|
|
45
|
-
id: providedId,
|
|
46
45
|
ref: consumerRef,
|
|
47
46
|
render,
|
|
48
47
|
textValue = "",
|
|
@@ -50,7 +49,7 @@ function RovingFocusItem(props) {
|
|
|
50
49
|
} = props;
|
|
51
50
|
const { onFocus: consumerOnFocus, onKeyDown: consumerOnKeyDown } = consumerProps;
|
|
52
51
|
const generatedId = useId();
|
|
53
|
-
const id =
|
|
52
|
+
const id = props.id ?? generatedId;
|
|
54
53
|
const store = useContext(RovingFocusContext);
|
|
55
54
|
if (!store) throw new Error("RovingFocusItem must be used inside RovingFocusRoot");
|
|
56
55
|
const elementRef = useRef(null);
|
|
@@ -97,16 +96,16 @@ function RovingFocusItem(props) {
|
|
|
97
96
|
as,
|
|
98
97
|
defaultTag: "div",
|
|
99
98
|
props: {
|
|
100
|
-
...consumerProps,
|
|
101
99
|
id,
|
|
102
100
|
"aria-disabled": disabled || void 0,
|
|
103
101
|
"data-current": current ? "" : void 0,
|
|
104
102
|
"data-disabled": disabled ? "" : void 0,
|
|
105
103
|
...nativeButton ? { disabled: disabled || void 0 } : {},
|
|
104
|
+
tabIndex: current && !disabled ? 0 : -1,
|
|
105
|
+
...consumerProps,
|
|
106
106
|
onFocus: composeEventHandlers(consumerOnFocus, handleFocus),
|
|
107
107
|
onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),
|
|
108
|
-
ref: mergedRef
|
|
109
|
-
tabIndex: current && !disabled ? 0 : -1
|
|
108
|
+
ref: mergedRef
|
|
110
109
|
},
|
|
111
110
|
render,
|
|
112
111
|
state: { current, disabled }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/roving-focus.tsx"],"sourcesContent":["\"use client\";\
|
|
1
|
+
{"version":3,"sources":["../../src/core/roving-focus.tsx"],"sourcesContent":["\"use client\";\nimport { createContext, useCallback, useContext, useRef, useSyncExternalStore } from \"react\";\nimport { useId, useIsomorphicLayoutEffect, useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport type {\n ElementType,\n FocusEvent as ReactFocusEvent,\n KeyboardEvent as ReactKeyboardEvent,\n ReactElement,\n Ref,\n} from \"react\";\nimport { composeEventHandlers } from \"./compose-event-handlers.js\";\nimport { useDirectionOverride, type Direction } from \"./direction.js\";\nimport { isComposingKeyEvent } from \"./ime.js\";\nimport type { RenderableProps } from \"./polymorphic.js\";\nimport {\n createRovingFocusStore,\n type RovingFocusOrientation,\n type RovingFocusStore,\n} from \"./roving-focus-store.js\";\nimport { resolveDirection } from \"./text-direction.js\";\nimport { useRenderElement } from \"./use-render-element.js\";\nconst RovingFocusContext = createContext<RovingFocusStore | null>(null);\nexport interface RovingFocusRootOwnProps {\n readonly direction?: Direction;\n readonly loop?: boolean;\n readonly orientation?: RovingFocusOrientation;\n}\nexport type RovingFocusRootProps<TAs extends ElementType = \"div\"> = RenderableProps<\n TAs,\n RovingFocusRootOwnProps,\n {\n orientation: RovingFocusOrientation;\n },\n HTMLElement\n>;\nexport function RovingFocusRoot<TAs extends ElementType = \"div\">(\n props: RovingFocusRootProps<TAs>,\n): ReactElement | null {\n const {\n as,\n direction: localDirection,\n loop = true,\n orientation = \"both\",\n render,\n ...consumerProps\n } = props as RovingFocusRootProps<ElementType>;\n const direction = useDirectionOverride(localDirection);\n const storeRef = useRef<RovingFocusStore | null>(null);\n storeRef.current ??= createRovingFocusStore({ direction, loop, orientation });\n storeRef.current.updateConfig({ direction, loop, orientation });\n const element = useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...(direction ? { dir: direction } : {}),\n \"data-orientation\": orientation,\n ...consumerProps,\n },\n render,\n state: { orientation },\n });\n return <RovingFocusContext value={storeRef.current}>{element}</RovingFocusContext>;\n}\nRovingFocusRoot.displayName = \"RovingFocusRoot\";\nexport interface RovingFocusItemOwnProps {\n readonly ref?: Ref<HTMLElement> | undefined;\n readonly disabled?: boolean;\n readonly id?: string | undefined;\n readonly textValue?: string;\n}\nexport type RovingFocusItemProps<TAs extends ElementType = \"div\"> = RenderableProps<\n TAs,\n RovingFocusItemOwnProps,\n {\n current: boolean;\n disabled: boolean;\n },\n HTMLElement\n>;\nexport function RovingFocusItem<TAs extends ElementType = \"div\">(\n props: RovingFocusItemProps<TAs>,\n): ReactElement | null {\n const {\n as,\n disabled = false,\n ref: consumerRef,\n render,\n textValue = \"\",\n ...consumerProps\n } = props as RovingFocusItemProps<ElementType> & {\n ref?: Ref<HTMLElement>;\n };\n const { onFocus: consumerOnFocus, onKeyDown: consumerOnKeyDown } = consumerProps as {\n onFocus?: (event: ReactFocusEvent<HTMLElement>) => void;\n onKeyDown?: (event: ReactKeyboardEvent<HTMLElement>) => void;\n };\n const generatedId = useId();\n const id = props.id ?? generatedId;\n const store = useContext(RovingFocusContext);\n if (!store) throw new Error(\"RovingFocusItem must be used inside RovingFocusRoot\");\n const elementRef = useRef<HTMLElement | null>(null);\n const current = useSyncExternalStore(\n (listener) => store.subscribeItem(id, listener),\n () => store.getCurrentId() === id,\n () => false,\n );\n const setElement = useCallback(\n (element: HTMLElement | null) => store.setElement(id, element),\n [id, store],\n );\n const mergedRef = useMergedRefs(elementRef, consumerRef, setElement);\n useIsomorphicLayoutEffect(\n () =>\n store.register({\n disabled,\n element: elementRef.current,\n id,\n textValue: textValue || elementRef.current?.textContent?.trim() || \"\",\n }),\n [id, store],\n );\n useIsomorphicLayoutEffect(() => {\n store.updateItem(id, {\n disabled,\n textValue: textValue || elementRef.current?.textContent?.trim() || \"\",\n });\n }, [disabled, id, store, textValue]);\n const nativeButton = as === \"button\";\n const handleFocus = () => {\n if (!disabled) store.setCurrentId(id);\n };\n const handleKeyDown = (event: ReactKeyboardEvent<HTMLElement>) => {\n if (isComposingKeyEvent(event)) return;\n if (event.key === \"Home\" || event.key === \"End\" || event.key.startsWith(\"Arrow\")) {\n if (store.move(id, event.key, resolveDirection(event.currentTarget, store.getDirection()))) {\n event.preventDefault();\n }\n } else if (event.key.length === 1 && !event.altKey && !event.ctrlKey && !event.metaKey) {\n store.search(event.key);\n }\n };\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n id,\n \"aria-disabled\": disabled || undefined,\n \"data-current\": current ? \"\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n ...(nativeButton ? { disabled: disabled || undefined } : {}),\n tabIndex: current && !disabled ? 0 : -1,\n ...consumerProps,\n onFocus: composeEventHandlers(consumerOnFocus, handleFocus),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, handleKeyDown),\n ref: mergedRef,\n },\n render,\n state: { current, disabled },\n });\n}\nexport { createRovingFocusStore };\nexport type { RovingFocusOrientation, RovingFocusStore };\n"],"mappings":";AA6DS;AA5DT,SAAS,eAAe,aAAa,YAAY,QAAQ,4BAA4B;AACrF,SAAS,OAAO,2BAA2B,qBAAqB;AAQhE,SAAS,4BAA4B;AACrC,SAAS,4BAA4C;AACrD,SAAS,2BAA2B;AAEpC;AAAA,EACE;AAAA,OAGK;AACP,SAAS,wBAAwB;AACjC,SAAS,wBAAwB;AACjC,MAAM,qBAAqB,cAAuC,IAAI;AAc/D,SAAS,gBACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA,WAAW;AAAA,IACX,OAAO;AAAA,IACP,cAAc;AAAA,IACd;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,YAAY,qBAAqB,cAAc;AACrD,QAAM,WAAW,OAAgC,IAAI;AACrD,WAAS,YAAY,uBAAuB,EAAE,WAAW,MAAM,YAAY,CAAC;AAC5E,WAAS,QAAQ,aAAa,EAAE,WAAW,MAAM,YAAY,CAAC;AAC9D,QAAM,UAAU,iBAAiB;AAAA,IAC/B;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL,GAAI,YAAY,EAAE,KAAK,UAAU,IAAI,CAAC;AAAA,MACtC,oBAAoB;AAAA,MACpB,GAAG;AAAA,IACL;AAAA,IACA;AAAA,IACA,OAAO,EAAE,YAAY;AAAA,EACvB,CAAC;AACD,SAAO,oBAAC,sBAAmB,OAAO,SAAS,SAAU,mBAAQ;AAC/D;AACA,gBAAgB,cAAc;AAgBvB,SAAS,gBACd,OACqB;AACrB,QAAM;AAAA,IACJ;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,IACL;AAAA,IACA,YAAY;AAAA,IACZ,GAAG;AAAA,EACL,IAAI;AAGJ,QAAM,EAAE,SAAS,iBAAiB,WAAW,kBAAkB,IAAI;AAInE,QAAM,cAAc,MAAM;AAC1B,QAAM,KAAK,MAAM,MAAM;AACvB,QAAM,QAAQ,WAAW,kBAAkB;AAC3C,MAAI,CAAC,MAAO,OAAM,IAAI,MAAM,qDAAqD;AACjF,QAAM,aAAa,OAA2B,IAAI;AAClD,QAAM,UAAU;AAAA,IACd,CAAC,aAAa,MAAM,cAAc,IAAI,QAAQ;AAAA,IAC9C,MAAM,MAAM,aAAa,MAAM;AAAA,IAC/B,MAAM;AAAA,EACR;AACA,QAAM,aAAa;AAAA,IACjB,CAAC,YAAgC,MAAM,WAAW,IAAI,OAAO;AAAA,IAC7D,CAAC,IAAI,KAAK;AAAA,EACZ;AACA,QAAM,YAAY,cAAc,YAAY,aAAa,UAAU;AACnE;AAAA,IACE,MACE,MAAM,SAAS;AAAA,MACb;AAAA,MACA,SAAS,WAAW;AAAA,MACpB;AAAA,MACA,WAAW,aAAa,WAAW,SAAS,aAAa,KAAK,KAAK;AAAA,IACrE,CAAC;AAAA,IACH,CAAC,IAAI,KAAK;AAAA,EACZ;AACA,4BAA0B,MAAM;AAC9B,UAAM,WAAW,IAAI;AAAA,MACnB;AAAA,MACA,WAAW,aAAa,WAAW,SAAS,aAAa,KAAK,KAAK;AAAA,IACrE,CAAC;AAAA,EACH,GAAG,CAAC,UAAU,IAAI,OAAO,SAAS,CAAC;AACnC,QAAM,eAAe,OAAO;AAC5B,QAAM,cAAc,MAAM;AACxB,QAAI,CAAC,SAAU,OAAM,aAAa,EAAE;AAAA,EACtC;AACA,QAAM,gBAAgB,CAAC,UAA2C;AAChE,QAAI,oBAAoB,KAAK,EAAG;AAChC,QAAI,MAAM,QAAQ,UAAU,MAAM,QAAQ,SAAS,MAAM,IAAI,WAAW,OAAO,GAAG;AAChF,UAAI,MAAM,KAAK,IAAI,MAAM,KAAK,iBAAiB,MAAM,eAAe,MAAM,aAAa,CAAC,CAAC,GAAG;AAC1F,cAAM,eAAe;AAAA,MACvB;AAAA,IACF,WAAW,MAAM,IAAI,WAAW,KAAK,CAAC,MAAM,UAAU,CAAC,MAAM,WAAW,CAAC,MAAM,SAAS;AACtF,YAAM,OAAO,MAAM,GAAG;AAAA,IACxB;AAAA,EACF;AACA,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,MACL;AAAA,MACA,iBAAiB,YAAY;AAAA,MAC7B,gBAAgB,UAAU,KAAK;AAAA,MAC/B,iBAAiB,WAAW,KAAK;AAAA,MACjC,GAAI,eAAe,EAAE,UAAU,YAAY,OAAU,IAAI,CAAC;AAAA,MAC1D,UAAU,WAAW,CAAC,WAAW,IAAI;AAAA,MACrC,GAAG;AAAA,MACH,SAAS,qBAAqB,iBAAiB,WAAW;AAAA,MAC1D,WAAW,qBAAqB,mBAAmB,aAAa;AAAA,MAChE,KAAK;AAAA,IACP;AAAA,IACA;AAAA,IACA,OAAO,EAAE,SAAS,SAAS;AAAA,EAC7B,CAAC;AACH;","names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ComponentPropsWithRef, ElementType } from "react";
|
|
2
|
+
/** Native custom data attributes are accepted by slot objects as well as JSX. */
|
|
3
|
+
export interface ConsumerDataAttributes {
|
|
4
|
+
readonly [attribute: `data-${string}`]: string | number | boolean | undefined;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Native props for an element whose content the component renders. Consumer values replace the
|
|
8
|
+
* component's defaults, ids, ARIA and markers included; only the content itself is not a slot prop.
|
|
9
|
+
*/
|
|
10
|
+
export type SlotProps<T extends ElementType> = Omit<ComponentPropsWithRef<T>, "children" | "dangerouslySetInnerHTML"> & ConsumerDataAttributes;
|
|
11
|
+
/**
|
|
12
|
+
* Props for a repeated internal part. Common props apply to each instance;
|
|
13
|
+
* `byItemValue` adds props to the item with the matching stable `value`.
|
|
14
|
+
*/
|
|
15
|
+
export type RepeatedSlotProps<TProps extends object> = TProps & {
|
|
16
|
+
readonly byItemValue?: Readonly<Record<string, TProps>>;
|
|
17
|
+
} & ConsumerDataAttributes;
|
|
18
|
+
/** Merge consumer props without losing common/item classes, styles, or event handlers. */
|
|
19
|
+
export declare function mergeRepeatedSlotProps<TProps extends object>(common: TProps | undefined, byItemValue: TProps | undefined): TProps;
|
|
20
|
+
export declare function resolveRepeatedSlotProps<TProps extends object>(props: RepeatedSlotProps<TProps> | undefined, itemValue: string): TProps;
|
|
21
|
+
//# sourceMappingURL=slot-props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot-props.d.ts","sourceRoot":"","sources":["../../src/core/slot-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAO,MAAM,OAAO,CAAC;AAGrE,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,EAAE,QAAQ,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAC/E;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,WAAW,IAAI,IAAI,CACjD,qBAAqB,CAAC,CAAC,CAAC,EACxB,UAAU,GAAG,yBAAyB,CACvC,GACC,sBAAsB,CAAC;AAOzB;;;GAGG;AACH,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,MAAM,IAAI,MAAM,GAAG;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzD,GAAG,sBAAsB,CAAC;AAE3B,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,MAAM,SAAS,MAAM,EAC1D,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,GAC9B,MAAM,CA0CR;AAED,wBAAgB,wBAAwB,CAAC,MAAM,SAAS,MAAM,EAC5D,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,SAAS,EAC5C,SAAS,EAAE,MAAM,GAChB,MAAM,CAGR"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { cn } from "./class-names.js";
|
|
2
|
+
function mergeRepeatedSlotProps(common, byItemValue) {
|
|
3
|
+
const commonRecord = common;
|
|
4
|
+
const itemRecord = byItemValue;
|
|
5
|
+
const merged = { ...commonRecord, ...itemRecord };
|
|
6
|
+
if (commonRecord?.className !== void 0 || itemRecord?.className !== void 0) {
|
|
7
|
+
merged.className = cn(commonRecord?.className, itemRecord?.className);
|
|
8
|
+
}
|
|
9
|
+
if (commonRecord?.style !== void 0 || itemRecord?.style !== void 0) {
|
|
10
|
+
merged.style = { ...commonRecord?.style, ...itemRecord?.style };
|
|
11
|
+
}
|
|
12
|
+
for (const [key, first] of Object.entries(commonRecord ?? {})) {
|
|
13
|
+
const second = itemRecord?.[key];
|
|
14
|
+
if (key.startsWith("on") && typeof first === "function" && typeof second === "function") {
|
|
15
|
+
merged[key] = (...args) => {
|
|
16
|
+
first(...args);
|
|
17
|
+
second(...args);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
if (commonRecord?.ref !== void 0 && itemRecord?.ref !== void 0) {
|
|
22
|
+
const refs = [commonRecord.ref, itemRecord.ref];
|
|
23
|
+
merged.ref = (node) => {
|
|
24
|
+
const cleanups = refs.map((ref) => {
|
|
25
|
+
if (typeof ref === "function") {
|
|
26
|
+
const cleanup = ref(node);
|
|
27
|
+
return typeof cleanup === "function" ? cleanup : () => ref(null);
|
|
28
|
+
}
|
|
29
|
+
if (ref !== null) ref.current = node;
|
|
30
|
+
return () => {
|
|
31
|
+
if (ref !== null) ref.current = null;
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
return () => {
|
|
35
|
+
for (const cleanup of cleanups.reverse()) cleanup();
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return merged;
|
|
40
|
+
}
|
|
41
|
+
function resolveRepeatedSlotProps(props, itemValue) {
|
|
42
|
+
const { byItemValue, ...common } = props ?? {};
|
|
43
|
+
return mergeRepeatedSlotProps(common, byItemValue?.[itemValue]);
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
mergeRepeatedSlotProps,
|
|
47
|
+
resolveRepeatedSlotProps
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=slot-props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/core/slot-props.ts"],"sourcesContent":["import type { ComponentPropsWithRef, ElementType, Ref } from \"react\";\nimport { cn } from \"./class-names.js\";\n\n/** Native custom data attributes are accepted by slot objects as well as JSX. */\nexport interface ConsumerDataAttributes {\n readonly [attribute: `data-${string}`]: string | number | boolean | undefined;\n}\n\n/**\n * Native props for an element whose content the component renders. Consumer values replace the\n * component's defaults, ids, ARIA and markers included; only the content itself is not a slot prop.\n */\nexport type SlotProps<T extends ElementType> = Omit<\n ComponentPropsWithRef<T>,\n \"children\" | \"dangerouslySetInnerHTML\"\n> &\n ConsumerDataAttributes;\n\ntype NativeSlotObject = Record<string, unknown> & {\n readonly className?: string;\n readonly style?: object;\n};\n\n/**\n * Props for a repeated internal part. Common props apply to each instance;\n * `byItemValue` adds props to the item with the matching stable `value`.\n */\nexport type RepeatedSlotProps<TProps extends object> = TProps & {\n readonly byItemValue?: Readonly<Record<string, TProps>>;\n} & ConsumerDataAttributes;\n\n/** Merge consumer props without losing common/item classes, styles, or event handlers. */\nexport function mergeRepeatedSlotProps<TProps extends object>(\n common: TProps | undefined,\n byItemValue: TProps | undefined,\n): TProps {\n const commonRecord = common as NativeSlotObject | undefined;\n const itemRecord = byItemValue as NativeSlotObject | undefined;\n const merged: Record<string, unknown> = { ...commonRecord, ...itemRecord };\n\n if (commonRecord?.className !== undefined || itemRecord?.className !== undefined) {\n merged.className = cn(commonRecord?.className, itemRecord?.className);\n }\n if (commonRecord?.style !== undefined || itemRecord?.style !== undefined) {\n merged.style = { ...commonRecord?.style, ...itemRecord?.style };\n }\n\n for (const [key, first] of Object.entries(commonRecord ?? {})) {\n const second = itemRecord?.[key];\n if (key.startsWith(\"on\") && typeof first === \"function\" && typeof second === \"function\") {\n merged[key] = (...args: unknown[]) => {\n (first as (...values: unknown[]) => unknown)(...args);\n (second as (...values: unknown[]) => unknown)(...args);\n };\n }\n }\n\n if (commonRecord?.ref !== undefined && itemRecord?.ref !== undefined) {\n const refs = [commonRecord.ref, itemRecord.ref] as Array<Ref<unknown>>;\n merged.ref = (node: unknown) => {\n const cleanups = refs.map((ref) => {\n if (typeof ref === \"function\") {\n const cleanup = ref(node);\n return typeof cleanup === \"function\" ? cleanup : () => ref(null);\n }\n if (ref !== null) ref.current = node;\n return () => {\n if (ref !== null) ref.current = null;\n };\n });\n return () => {\n for (const cleanup of cleanups.reverse()) cleanup();\n };\n };\n }\n\n return merged as TProps;\n}\n\nexport function resolveRepeatedSlotProps<TProps extends object>(\n props: RepeatedSlotProps<TProps> | undefined,\n itemValue: string,\n): TProps {\n const { byItemValue, ...common } = props ?? {};\n return mergeRepeatedSlotProps(common as TProps, byItemValue?.[itemValue]);\n}\n"],"mappings":"AACA,SAAS,UAAU;AA+BZ,SAAS,uBACd,QACA,aACQ;AACR,QAAM,eAAe;AACrB,QAAM,aAAa;AACnB,QAAM,SAAkC,EAAE,GAAG,cAAc,GAAG,WAAW;AAEzE,MAAI,cAAc,cAAc,UAAa,YAAY,cAAc,QAAW;AAChF,WAAO,YAAY,GAAG,cAAc,WAAW,YAAY,SAAS;AAAA,EACtE;AACA,MAAI,cAAc,UAAU,UAAa,YAAY,UAAU,QAAW;AACxE,WAAO,QAAQ,EAAE,GAAG,cAAc,OAAO,GAAG,YAAY,MAAM;AAAA,EAChE;AAEA,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,gBAAgB,CAAC,CAAC,GAAG;AAC7D,UAAM,SAAS,aAAa,GAAG;AAC/B,QAAI,IAAI,WAAW,IAAI,KAAK,OAAO,UAAU,cAAc,OAAO,WAAW,YAAY;AACvF,aAAO,GAAG,IAAI,IAAI,SAAoB;AACpC,QAAC,MAA4C,GAAG,IAAI;AACpD,QAAC,OAA6C,GAAG,IAAI;AAAA,MACvD;AAAA,IACF;AAAA,EACF;AAEA,MAAI,cAAc,QAAQ,UAAa,YAAY,QAAQ,QAAW;AACpE,UAAM,OAAO,CAAC,aAAa,KAAK,WAAW,GAAG;AAC9C,WAAO,MAAM,CAAC,SAAkB;AAC9B,YAAM,WAAW,KAAK,IAAI,CAAC,QAAQ;AACjC,YAAI,OAAO,QAAQ,YAAY;AAC7B,gBAAM,UAAU,IAAI,IAAI;AACxB,iBAAO,OAAO,YAAY,aAAa,UAAU,MAAM,IAAI,IAAI;AAAA,QACjE;AACA,YAAI,QAAQ,KAAM,KAAI,UAAU;AAChC,eAAO,MAAM;AACX,cAAI,QAAQ,KAAM,KAAI,UAAU;AAAA,QAClC;AAAA,MACF,CAAC;AACD,aAAO,MAAM;AACX,mBAAW,WAAW,SAAS,QAAQ,EAAG,SAAQ;AAAA,MACpD;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,yBACd,OACA,WACQ;AACR,QAAM,EAAE,aAAa,GAAG,OAAO,IAAI,SAAS,CAAC;AAC7C,SAAO,uBAAuB,QAAkB,cAAc,SAAS,CAAC;AAC1E;","names":[]}
|
|
@@ -3,6 +3,7 @@ import { type UseControllableOpenChangeOptions } from "./use-controllable-open-c
|
|
|
3
3
|
export type PopoverMode = "auto" | "manual" | "hint";
|
|
4
4
|
export type PopoverChangeHandler = UseControllableOpenChangeOptions["onOpenChange"];
|
|
5
5
|
export interface UsePopoverOptions extends UseControllableOpenChangeOptions {
|
|
6
|
+
readonly id?: string;
|
|
6
7
|
readonly mode?: PopoverMode;
|
|
7
8
|
}
|
|
8
9
|
export interface UsePopoverReturn {
|
|
@@ -16,5 +17,5 @@ export interface UsePopoverReturn {
|
|
|
16
17
|
readonly triggerProps: ButtonHTMLAttributes<HTMLButtonElement>;
|
|
17
18
|
readonly triggerRef: RefCallback<HTMLButtonElement>;
|
|
18
19
|
}
|
|
19
|
-
export declare function usePopover({ defaultOpen, mode, onOpenChange, open: controlledOpen, }?: UsePopoverOptions): UsePopoverReturn;
|
|
20
|
+
export declare function usePopover({ defaultOpen, id: requestedId, mode, onOpenChange, open: controlledOpen, }?: UsePopoverOptions): UsePopoverReturn;
|
|
20
21
|
//# sourceMappingURL=use-popover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-popover.d.ts","sourceRoot":"","sources":["../../src/core/use-popover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EAEd,WAAW,EACZ,MAAM,OAAO,CAAC;AAGf,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AACrD,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,CAAC,cAAc,CAAC,CAAC;AAEpF,MAAM,WAAW,iBAAkB,SAAQ,gCAAgC;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;CACrD;AAMD,wBAAgB,UAAU,CAAC,EACzB,WAAmB,EACnB,IAAa,EACb,YAAY,EACZ,IAAI,EAAE,cAAc,GACrB,GAAE,iBAAsB,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"use-popover.d.ts","sourceRoot":"","sources":["../../src/core/use-popover.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EAEd,WAAW,EACZ,MAAM,OAAO,CAAC;AAGf,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,mCAAmC,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AACrD,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,CAAC,cAAc,CAAC,CAAC;AAEpF,MAAM,WAAW,iBAAkB,SAAQ,gCAAgC;IACzE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;CACrD;AAMD,wBAAgB,UAAU,CAAC,EACzB,WAAmB,EACnB,EAAE,EAAE,WAAW,EACf,IAAa,EACb,YAAY,EACZ,IAAI,EAAE,cAAc,GACrB,GAAE,iBAAsB,GAAG,gBAAgB,CA6E3C"}
|
package/dist/core/use-popover.js
CHANGED
|
@@ -7,11 +7,13 @@ import {
|
|
|
7
7
|
} from "./use-controllable-open-change.js";
|
|
8
8
|
function usePopover({
|
|
9
9
|
defaultOpen = false,
|
|
10
|
+
id: requestedId,
|
|
10
11
|
mode = "auto",
|
|
11
12
|
onOpenChange,
|
|
12
13
|
open: controlledOpen
|
|
13
14
|
} = {}) {
|
|
14
|
-
const
|
|
15
|
+
const generatedId = useId();
|
|
16
|
+
const id = requestedId ?? generatedId;
|
|
15
17
|
const [popup, setPopup] = useState(null);
|
|
16
18
|
const { open, requestChange } = useControllableOpenChange({
|
|
17
19
|
defaultOpen,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/core/use-popover.ts"],"sourcesContent":["\"use client\";\n\nimport { useRef, useState, useSyncExternalStore } from \"react\";\nimport type {\n ButtonHTMLAttributes,\n HTMLAttributes,\n MouseEvent as ReactMouseEvent,\n RefCallback,\n} from \"react\";\nimport { useId, useIsomorphicLayoutEffect } from \"@gunkin/uiify/hooks\";\nimport { supportsPopover } from \"./platform.js\";\nimport {\n useControllableOpenChange,\n type UseControllableOpenChangeOptions,\n} from \"./use-controllable-open-change.js\";\n\nexport type PopoverMode = \"auto\" | \"manual\" | \"hint\";\nexport type PopoverChangeHandler = UseControllableOpenChangeOptions[\"onOpenChange\"];\n\nexport interface UsePopoverOptions extends UseControllableOpenChangeOptions {\n readonly mode?: PopoverMode;\n}\n\nexport interface UsePopoverReturn {\n readonly close: () => void;\n readonly isNative: boolean;\n readonly open: boolean;\n readonly openPopover: () => void;\n readonly popupProps: HTMLAttributes<HTMLElement>;\n readonly popupRef: RefCallback<HTMLElement>;\n readonly toggle: () => void;\n readonly triggerProps: ButtonHTMLAttributes<HTMLButtonElement>;\n readonly triggerRef: RefCallback<HTMLButtonElement>;\n}\n\ninterface ToggleEventLike extends Event {\n readonly newState?: \"closed\" | \"open\";\n}\n\nexport function usePopover({\n defaultOpen = false,\n mode = \"auto\",\n onOpenChange,\n open: controlledOpen,\n}: UsePopoverOptions = {}): UsePopoverReturn {\n const
|
|
1
|
+
{"version":3,"sources":["../../src/core/use-popover.ts"],"sourcesContent":["\"use client\";\n\nimport { useRef, useState, useSyncExternalStore } from \"react\";\nimport type {\n ButtonHTMLAttributes,\n HTMLAttributes,\n MouseEvent as ReactMouseEvent,\n RefCallback,\n} from \"react\";\nimport { useId, useIsomorphicLayoutEffect } from \"@gunkin/uiify/hooks\";\nimport { supportsPopover } from \"./platform.js\";\nimport {\n useControllableOpenChange,\n type UseControllableOpenChangeOptions,\n} from \"./use-controllable-open-change.js\";\n\nexport type PopoverMode = \"auto\" | \"manual\" | \"hint\";\nexport type PopoverChangeHandler = UseControllableOpenChangeOptions[\"onOpenChange\"];\n\nexport interface UsePopoverOptions extends UseControllableOpenChangeOptions {\n readonly id?: string;\n readonly mode?: PopoverMode;\n}\n\nexport interface UsePopoverReturn {\n readonly close: () => void;\n readonly isNative: boolean;\n readonly open: boolean;\n readonly openPopover: () => void;\n readonly popupProps: HTMLAttributes<HTMLElement>;\n readonly popupRef: RefCallback<HTMLElement>;\n readonly toggle: () => void;\n readonly triggerProps: ButtonHTMLAttributes<HTMLButtonElement>;\n readonly triggerRef: RefCallback<HTMLButtonElement>;\n}\n\ninterface ToggleEventLike extends Event {\n readonly newState?: \"closed\" | \"open\";\n}\n\nexport function usePopover({\n defaultOpen = false,\n id: requestedId,\n mode = \"auto\",\n onOpenChange,\n open: controlledOpen,\n}: UsePopoverOptions = {}): UsePopoverReturn {\n const generatedId = useId();\n const id = requestedId ?? generatedId;\n const [popup, setPopup] = useState<HTMLElement | null>(null);\n const { open, requestChange } = useControllableOpenChange({\n defaultOpen,\n onOpenChange,\n open: controlledOpen,\n });\n const openRef = useRef(open);\n openRef.current = open;\n // SSR markup matches the initial open state so pre-hydration toggling works.\n const isNative = useSyncExternalStore(\n () => () => {},\n () => supportsPopover(),\n () => true,\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!popup || !isNative) return;\n\n const onBeforeToggle = (event: Event) => {\n const next = (event as ToggleEventLike).newState === \"open\";\n if (next !== openRef.current && !requestChange(next, \"native-toggle\", event)) {\n event.preventDefault();\n }\n };\n popup.addEventListener(\"beforetoggle\", onBeforeToggle);\n return () => popup.removeEventListener(\"beforetoggle\", onBeforeToggle);\n }, [isNative, popup, requestChange]);\n\n useIsomorphicLayoutEffect(() => {\n if (!popup || !isNative) return;\n try {\n if (open && !popup.matches(\":popover-open\")) popup.showPopover();\n if (!open && popup.matches(\":popover-open\")) popup.hidePopover();\n } catch {\n // The node may have disconnected between render and layout effect.\n }\n }, [isNative, open, popup]);\n\n const triggerProps = {\n \"aria-controls\": id,\n \"aria-expanded\": open,\n onClick(event: ReactMouseEvent<HTMLButtonElement>) {\n const accepted = requestChange(\n !open,\n isNative ? \"native-toggle\" : \"trigger-press\",\n event.nativeEvent,\n );\n // Commit the React state first, then open from the layout effect. Letting\n // the invoker open it first exposes the surface before its state/styles settle.\n if (isNative || !accepted) event.preventDefault();\n },\n type: \"button\",\n ...(isNative ? { command: \"toggle-popover\", commandfor: id } : {}),\n } as ButtonHTMLAttributes<HTMLButtonElement>;\n\n const popupProps = {\n \"data-native\": isNative ? \"\" : undefined,\n hidden: isNative ? undefined : !open,\n id,\n ...(isNative ? { popover: mode } : {}),\n ...(isNative && open ? { open: true } : {}),\n } as HTMLAttributes<HTMLElement>;\n\n return {\n close: () => requestChange(false, \"programmatic\"),\n isNative,\n open,\n openPopover: () => requestChange(true, \"programmatic\"),\n popupProps,\n popupRef: setPopup,\n toggle: () => requestChange(!open, \"programmatic\"),\n triggerProps,\n triggerRef() {},\n };\n}\n"],"mappings":";AAEA,SAAS,QAAQ,UAAU,4BAA4B;AAOvD,SAAS,OAAO,iCAAiC;AACjD,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,OAEK;AA0BA,SAAS,WAAW;AAAA,EACzB,cAAc;AAAA,EACd,IAAI;AAAA,EACJ,OAAO;AAAA,EACP;AAAA,EACA,MAAM;AACR,IAAuB,CAAC,GAAqB;AAC3C,QAAM,cAAc,MAAM;AAC1B,QAAM,KAAK,eAAe;AAC1B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA6B,IAAI;AAC3D,QAAM,EAAE,MAAM,cAAc,IAAI,0BAA0B;AAAA,IACxD;AAAA,IACA;AAAA,IACA,MAAM;AAAA,EACR,CAAC;AACD,QAAM,UAAU,OAAO,IAAI;AAC3B,UAAQ,UAAU;AAElB,QAAM,WAAW;AAAA,IACf,MAAM,MAAM;AAAA,IAAC;AAAA,IACb,MAAM,gBAAgB;AAAA,IACtB,MAAM;AAAA,EACR;AAEA,4BAA0B,MAAM;AAC9B,QAAI,CAAC,SAAS,CAAC,SAAU;AAEzB,UAAM,iBAAiB,CAAC,UAAiB;AACvC,YAAM,OAAQ,MAA0B,aAAa;AACrD,UAAI,SAAS,QAAQ,WAAW,CAAC,cAAc,MAAM,iBAAiB,KAAK,GAAG;AAC5E,cAAM,eAAe;AAAA,MACvB;AAAA,IACF;AACA,UAAM,iBAAiB,gBAAgB,cAAc;AACrD,WAAO,MAAM,MAAM,oBAAoB,gBAAgB,cAAc;AAAA,EACvE,GAAG,CAAC,UAAU,OAAO,aAAa,CAAC;AAEnC,4BAA0B,MAAM;AAC9B,QAAI,CAAC,SAAS,CAAC,SAAU;AACzB,QAAI;AACF,UAAI,QAAQ,CAAC,MAAM,QAAQ,eAAe,EAAG,OAAM,YAAY;AAC/D,UAAI,CAAC,QAAQ,MAAM,QAAQ,eAAe,EAAG,OAAM,YAAY;AAAA,IACjE,QAAQ;AAAA,IAER;AAAA,EACF,GAAG,CAAC,UAAU,MAAM,KAAK,CAAC;AAE1B,QAAM,eAAe;AAAA,IACnB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,QAAQ,OAA2C;AACjD,YAAM,WAAW;AAAA,QACf,CAAC;AAAA,QACD,WAAW,kBAAkB;AAAA,QAC7B,MAAM;AAAA,MACR;AAGA,UAAI,YAAY,CAAC,SAAU,OAAM,eAAe;AAAA,IAClD;AAAA,IACA,MAAM;AAAA,IACN,GAAI,WAAW,EAAE,SAAS,kBAAkB,YAAY,GAAG,IAAI,CAAC;AAAA,EAClE;AAEA,QAAM,aAAa;AAAA,IACjB,eAAe,WAAW,KAAK;AAAA,IAC/B,QAAQ,WAAW,SAAY,CAAC;AAAA,IAChC;AAAA,IACA,GAAI,WAAW,EAAE,SAAS,KAAK,IAAI,CAAC;AAAA,IACpC,GAAI,YAAY,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAAA,EAC3C;AAEA,SAAO;AAAA,IACL,OAAO,MAAM,cAAc,OAAO,cAAc;AAAA,IAChD;AAAA,IACA;AAAA,IACA,aAAa,MAAM,cAAc,MAAM,cAAc;AAAA,IACrD;AAAA,IACA,UAAU;AAAA,IACV,QAAQ,MAAM,cAAc,CAAC,MAAM,cAAc;AAAA,IACjD;AAAA,IACA,aAAa;AAAA,IAAC;AAAA,EAChB;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Choice.d.ts","sourceRoot":"","sources":["../../../src/elements/choice/Choice.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CAajE;yBAbe,WAAW;;;AAgB3B;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"Choice.d.ts","sourceRoot":"","sources":["../../../src/elements/choice/Choice.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEpE;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CAajE;yBAbe,WAAW;;;AAgB3B;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CA0D/D;yBA1De,UAAU;;;AA6D1B,eAAO,MAAM,MAAM;;;CAGlB,CAAC"}
|