@gunkin/uiify 0.0.24-alpha → 0.0.26-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agents/index.md +1 -1
- package/agents/reference/components/accordion.md +18 -3
- package/agents/reference/components/alert-modal.md +19 -7
- package/agents/reference/components/alert.md +9 -1
- package/agents/reference/components/aspect-ratio.md +8 -0
- package/agents/reference/components/avatar.md +10 -0
- package/agents/reference/components/breadcrumb.md +22 -4
- package/agents/reference/components/candle-chart.md +51 -3
- package/agents/reference/components/carousel.md +26 -1
- package/agents/reference/components/checkbox.md +3 -1
- package/agents/reference/components/collapsible.md +16 -3
- package/agents/reference/components/color-picker.md +18 -2
- package/agents/reference/components/combobox.md +15 -14
- package/agents/reference/components/context-menu.md +16 -5
- package/agents/reference/components/date-picker.md +2 -1
- package/agents/reference/components/drawer.md +28 -17
- package/agents/reference/components/dropdown-menu.md +3 -3
- package/agents/reference/components/field.md +13 -13
- package/agents/reference/components/form-error-summary.md +11 -1
- package/agents/reference/components/input-group.md +1 -0
- package/agents/reference/components/input.md +1 -0
- package/agents/reference/components/line-chart.md +42 -3
- package/agents/reference/components/modal.md +22 -5
- package/agents/reference/components/number-field.md +1 -1
- package/agents/reference/components/otp-input.md +2 -1
- package/agents/reference/components/pagination.md +15 -4
- package/agents/reference/components/radio-group.md +8 -2
- package/agents/reference/components/rating.md +8 -2
- package/agents/reference/components/segmented-control.md +9 -3
- package/agents/reference/components/select.md +1 -0
- package/agents/reference/components/slider.md +13 -1
- package/agents/reference/components/spinner.md +10 -1
- package/agents/reference/components/table.md +15 -0
- package/agents/reference/components/tabs.md +21 -3
- package/agents/reference/components/tags-input.md +15 -1
- package/agents/reference/components/toast.md +50 -12
- package/agents/reference/components/toggle-group.md +5 -3
- package/agents/reference/components/toggle.md +17 -3
- package/agents/reference/components/toolbar.md +4 -4
- package/agents/reference/components/virtual-scroll.md +32 -4
- package/agents/reference/elements/choice.md +20 -7
- package/agents/reference/elements/details.md +2 -2
- package/agents/reference/elements/popover.md +3 -3
- package/dist/components/accordion/Accordion.d.ts +1 -1
- package/dist/components/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/accordion/Accordion.js +36 -15
- package/dist/components/accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/index.d.ts +1 -1
- package/dist/components/accordion/index.d.ts.map +1 -1
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/accordion/types.d.ts +14 -2
- package/dist/components/accordion/types.d.ts.map +1 -1
- package/dist/components/alert/Alert.d.ts.map +1 -1
- package/dist/components/alert/Alert.js +6 -5
- package/dist/components/alert/Alert.js.map +1 -1
- package/dist/components/alert/index.d.ts +1 -1
- package/dist/components/alert/index.d.ts.map +1 -1
- package/dist/components/alert/index.js.map +1 -1
- package/dist/components/alert/types.d.ts +6 -0
- package/dist/components/alert/types.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModal.d.ts +1 -1
- package/dist/components/alert-modal/AlertModal.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModal.js +18 -8
- package/dist/components/alert-modal/AlertModal.js.map +1 -1
- package/dist/components/alert-modal/AlertModalParts.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModalParts.js +1 -1
- package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
- package/dist/components/alert-modal/index.d.ts +1 -1
- package/dist/components/alert-modal/index.d.ts.map +1 -1
- package/dist/components/alert-modal/index.js.map +1 -1
- package/dist/components/alert-modal/types.d.ts +23 -7
- package/dist/components/alert-modal/types.d.ts.map +1 -1
- package/dist/components/aspect-ratio/AspectRatio.d.ts.map +1 -1
- package/dist/components/aspect-ratio/AspectRatio.js +5 -5
- package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
- package/dist/components/aspect-ratio/types.d.ts +6 -0
- package/dist/components/aspect-ratio/types.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.js +5 -5
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/types.d.ts +8 -0
- package/dist/components/avatar/types.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.d.ts +2 -2
- package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.js +59 -47
- package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb/index.d.ts +1 -1
- package/dist/components/breadcrumb/index.d.ts.map +1 -1
- package/dist/components/breadcrumb/index.js.map +1 -1
- package/dist/components/breadcrumb/types.d.ts +19 -3
- package/dist/components/breadcrumb/types.d.ts.map +1 -1
- package/dist/components/candle-chart/CandleChart.d.ts +1 -1
- package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
- package/dist/components/candle-chart/CandleChart.js +161 -75
- package/dist/components/candle-chart/CandleChart.js.map +1 -1
- package/dist/components/candle-chart/client/CandleChartClient.d.ts.map +1 -1
- package/dist/components/candle-chart/client/CandleChartClient.js +19 -6
- package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
- package/dist/components/candle-chart/client/index.d.ts +1 -1
- package/dist/components/candle-chart/client/index.d.ts.map +1 -1
- package/dist/components/candle-chart/client/index.js.map +1 -1
- package/dist/components/candle-chart/index.d.ts +1 -1
- package/dist/components/candle-chart/index.d.ts.map +1 -1
- package/dist/components/candle-chart/index.js.map +1 -1
- package/dist/components/candle-chart/types.d.ts +56 -2
- package/dist/components/candle-chart/types.d.ts.map +1 -1
- package/dist/components/carousel/Carousel.d.ts +2 -2
- package/dist/components/carousel/Carousel.d.ts.map +1 -1
- package/dist/components/carousel/Carousel.js +2 -1
- package/dist/components/carousel/Carousel.js.map +1 -1
- package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
- package/dist/components/carousel/CarouselMarkup.js +38 -10
- package/dist/components/carousel/CarouselMarkup.js.map +1 -1
- package/dist/components/carousel/client/CarouselClient.d.ts.map +1 -1
- package/dist/components/carousel/client/CarouselClient.js +3 -2
- package/dist/components/carousel/client/CarouselClient.js.map +1 -1
- package/dist/components/carousel/client/carousel-controls.d.ts.map +1 -1
- package/dist/components/carousel/client/carousel-controls.js +2 -2
- package/dist/components/carousel/client/carousel-controls.js.map +1 -1
- package/dist/components/carousel/fade/FadeCarouselClient.d.ts.map +1 -1
- package/dist/components/carousel/fade/FadeCarouselClient.js +3 -2
- package/dist/components/carousel/fade/FadeCarouselClient.js.map +1 -1
- package/dist/components/carousel/index.d.ts +1 -1
- package/dist/components/carousel/index.d.ts.map +1 -1
- package/dist/components/carousel/index.js.map +1 -1
- package/dist/components/carousel/types.d.ts +18 -2
- package/dist/components/carousel/types.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.d.ts +6 -1
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.js +6 -1
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +1 -1
- package/dist/components/checkbox/index.d.ts.map +1 -1
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/types.d.ts +3 -0
- package/dist/components/checkbox/types.d.ts.map +1 -1
- package/dist/components/collapsible/Collapsible.d.ts +2 -6
- package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/Collapsible.js +5 -4
- package/dist/components/collapsible/Collapsible.js.map +1 -1
- package/dist/components/collapsible/index.d.ts +1 -1
- package/dist/components/collapsible/index.d.ts.map +1 -1
- package/dist/components/collapsible/index.js.map +1 -1
- package/dist/components/collapsible/types.d.ts +11 -3
- package/dist/components/collapsible/types.d.ts.map +1 -1
- package/dist/components/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/color-picker/ColorPicker.js +73 -52
- package/dist/components/color-picker/ColorPicker.js.map +1 -1
- package/dist/components/color-picker/index.d.ts +1 -1
- package/dist/components/color-picker/index.d.ts.map +1 -1
- package/dist/components/color-picker/index.js.map +1 -1
- package/dist/components/color-picker/types.d.ts +20 -2
- package/dist/components/color-picker/types.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.js +59 -33
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/index.d.ts +1 -1
- package/dist/components/combobox/index.d.ts.map +1 -1
- package/dist/components/combobox/index.js.map +1 -1
- package/dist/components/combobox/types.d.ts +13 -8
- package/dist/components/combobox/types.d.ts.map +1 -1
- package/dist/components/context-menu/ContextMenu.d.ts.map +1 -1
- package/dist/components/context-menu/ContextMenu.js +33 -19
- package/dist/components/context-menu/ContextMenu.js.map +1 -1
- package/dist/components/context-menu/index.d.ts +1 -1
- package/dist/components/context-menu/index.d.ts.map +1 -1
- package/dist/components/context-menu/index.js.map +1 -1
- package/dist/components/context-menu/types.d.ts +10 -9
- package/dist/components/context-menu/types.d.ts.map +1 -1
- package/dist/components/date-picker/DatePicker.d.ts +1 -1
- package/dist/components/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/date-picker/DatePicker.js +2 -1
- package/dist/components/date-picker/DatePicker.js.map +1 -1
- package/dist/components/date-picker/types.d.ts +4 -1
- package/dist/components/date-picker/types.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.js +17 -13
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/DrawerNative.d.ts +1 -1
- package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
- package/dist/components/drawer/DrawerNative.js +30 -25
- package/dist/components/drawer/DrawerNative.js.map +1 -1
- package/dist/components/drawer/index.d.ts +1 -1
- package/dist/components/drawer/index.d.ts.map +1 -1
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/types.d.ts +31 -11
- package/dist/components/drawer/types.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenu.js +34 -25
- package/dist/components/dropdown-menu/DropdownMenu.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuBar.d.ts.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuBar.js +43 -29
- package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
- package/dist/components/dropdown-menu/types.d.ts +4 -5
- package/dist/components/dropdown-menu/types.d.ts.map +1 -1
- package/dist/components/field/Field.js +7 -7
- package/dist/components/field/Field.js.map +1 -1
- package/dist/components/field/types.d.ts +14 -14
- package/dist/components/field/types.d.ts.map +1 -1
- package/dist/components/form-error-summary/FormErrorSummary.d.ts.map +1 -1
- package/dist/components/form-error-summary/FormErrorSummary.js +23 -5
- package/dist/components/form-error-summary/FormErrorSummary.js.map +1 -1
- package/dist/components/form-error-summary/index.d.ts +1 -1
- package/dist/components/form-error-summary/index.d.ts.map +1 -1
- package/dist/components/form-error-summary/index.js.map +1 -1
- package/dist/components/form-error-summary/types.d.ts +9 -0
- package/dist/components/form-error-summary/types.d.ts.map +1 -1
- package/dist/components/hover-card/HoverCard.d.ts.map +1 -1
- package/dist/components/hover-card/HoverCard.js +9 -9
- package/dist/components/hover-card/HoverCard.js.map +1 -1
- package/dist/components/input/Input.d.ts.map +1 -1
- package/dist/components/input/Input.js +2 -0
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/input/types.d.ts +3 -0
- package/dist/components/input/types.d.ts.map +1 -1
- package/dist/components/input-group/InputGroup.d.ts.map +1 -1
- package/dist/components/input-group/InputGroup.js +2 -1
- package/dist/components/input-group/InputGroup.js.map +1 -1
- package/dist/components/input-group/types.d.ts +3 -0
- package/dist/components/input-group/types.d.ts.map +1 -1
- package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.d.ts +2 -2
- package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.d.ts.map +1 -1
- package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.js +11 -3
- package/dist/components/internal/chart-scrollbar/use-scrollbar-reserve.js.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.d.ts.map +1 -1
- package/dist/components/internal/choice-family/ChoiceGroup.js +25 -12
- package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
- package/dist/components/internal/choice-family/types.d.ts +19 -1
- package/dist/components/internal/choice-family/types.d.ts.map +1 -1
- package/dist/components/internal/control-size/types.d.ts +3 -0
- package/dist/components/internal/control-size/types.d.ts.map +1 -0
- package/dist/components/internal/control-size/types.js +1 -0
- package/dist/components/internal/control-size/types.js.map +1 -0
- package/dist/components/internal/live-chart/types.d.ts +3 -1
- package/dist/components/internal/live-chart/types.d.ts.map +1 -1
- package/dist/components/internal/live-chart/use-live-chart-window.d.ts.map +1 -1
- package/dist/components/internal/live-chart/use-live-chart-window.js +21 -5
- package/dist/components/internal/live-chart/use-live-chart-window.js.map +1 -1
- package/dist/components/internal/menu/menu-parts.d.ts.map +1 -1
- package/dist/components/internal/menu/menu-parts.js +3 -3
- package/dist/components/internal/menu/menu-parts.js.map +1 -1
- package/dist/components/internal/menu/types.d.ts +1 -0
- package/dist/components/internal/menu/types.d.ts.map +1 -1
- package/dist/components/internal/menu/use-menu-surface.d.ts.map +1 -1
- package/dist/components/internal/menu/use-menu-surface.js +2 -1
- package/dist/components/internal/menu/use-menu-surface.js.map +1 -1
- package/dist/components/internal/native-check-control/NativeCheckControl.d.ts.map +1 -1
- package/dist/components/internal/native-check-control/NativeCheckControl.js +12 -4
- package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -1
- package/dist/components/internal/native-check-control/types.d.ts +6 -0
- package/dist/components/internal/native-check-control/types.d.ts.map +1 -1
- package/dist/components/line-chart/LineChart.d.ts +1 -1
- package/dist/components/line-chart/LineChart.d.ts.map +1 -1
- package/dist/components/line-chart/LineChart.js +182 -75
- package/dist/components/line-chart/LineChart.js.map +1 -1
- package/dist/components/line-chart/client/LineChartClient.d.ts.map +1 -1
- package/dist/components/line-chart/client/LineChartClient.js +19 -6
- package/dist/components/line-chart/client/LineChartClient.js.map +1 -1
- package/dist/components/line-chart/client/index.d.ts +1 -1
- package/dist/components/line-chart/client/index.d.ts.map +1 -1
- package/dist/components/line-chart/client/index.js.map +1 -1
- package/dist/components/line-chart/index.d.ts +1 -1
- package/dist/components/line-chart/index.d.ts.map +1 -1
- package/dist/components/line-chart/index.js.map +1 -1
- package/dist/components/line-chart/types.d.ts +47 -2
- package/dist/components/line-chart/types.d.ts.map +1 -1
- package/dist/components/modal/Modal.d.ts +1 -1
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +21 -27
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/ModalAnatomy.js +6 -6
- package/dist/components/modal/ModalAnatomy.js.map +1 -1
- package/dist/components/modal/ModalParts.js +1 -1
- package/dist/components/modal/ModalParts.js.map +1 -1
- package/dist/components/modal/client/ModalClientContent.d.ts.map +1 -1
- package/dist/components/modal/client/ModalClientContent.js +2 -2
- package/dist/components/modal/client/ModalClientContent.js.map +1 -1
- package/dist/components/modal/index.d.ts +1 -1
- package/dist/components/modal/index.d.ts.map +1 -1
- package/dist/components/modal/index.js.map +1 -1
- package/dist/components/modal/types.d.ts +26 -4
- package/dist/components/modal/types.d.ts.map +1 -1
- package/dist/components/number-field/NumberField.d.ts.map +1 -1
- package/dist/components/number-field/NumberField.js +13 -11
- package/dist/components/number-field/NumberField.js.map +1 -1
- package/dist/components/number-field/types.d.ts +1 -1
- package/dist/components/number-field/types.d.ts.map +1 -1
- package/dist/components/otp-input/OtpInput.d.ts.map +1 -1
- package/dist/components/otp-input/OtpInput.js +12 -10
- package/dist/components/otp-input/OtpInput.js.map +1 -1
- package/dist/components/otp-input/types.d.ts +4 -1
- package/dist/components/otp-input/types.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.js +135 -61
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationShell.d.ts.map +1 -1
- package/dist/components/pagination/PaginationShell.js +5 -6
- package/dist/components/pagination/PaginationShell.js.map +1 -1
- package/dist/components/pagination/index.d.ts +1 -1
- package/dist/components/pagination/index.d.ts.map +1 -1
- package/dist/components/pagination/index.js.map +1 -1
- package/dist/components/pagination/types.d.ts +12 -3
- package/dist/components/pagination/types.d.ts.map +1 -1
- package/dist/components/radio-group/RadioGroup.d.ts +1 -1
- package/dist/components/radio-group/RadioGroup.d.ts.map +1 -1
- package/dist/components/radio-group/RadioGroup.js +5 -1
- package/dist/components/radio-group/RadioGroup.js.map +1 -1
- package/dist/components/radio-group/index.d.ts +1 -1
- package/dist/components/radio-group/index.d.ts.map +1 -1
- package/dist/components/radio-group/index.js.map +1 -1
- package/dist/components/radio-group/types.d.ts +4 -2
- package/dist/components/radio-group/types.d.ts.map +1 -1
- package/dist/components/rating/Rating.d.ts +1 -1
- package/dist/components/rating/Rating.d.ts.map +1 -1
- package/dist/components/rating/Rating.js +5 -1
- package/dist/components/rating/Rating.js.map +1 -1
- package/dist/components/rating/client/RatingClient.d.ts +1 -1
- package/dist/components/rating/client/RatingClient.d.ts.map +1 -1
- package/dist/components/rating/client/RatingClient.js +5 -1
- package/dist/components/rating/client/RatingClient.js.map +1 -1
- package/dist/components/rating/index.d.ts +1 -1
- package/dist/components/rating/index.d.ts.map +1 -1
- package/dist/components/rating/index.js.map +1 -1
- package/dist/components/rating/types.d.ts +8 -1
- package/dist/components/rating/types.d.ts.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
- package/dist/components/segmented-control/SegmentedControl.d.ts.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.js +9 -3
- package/dist/components/segmented-control/SegmentedControl.js.map +1 -1
- package/dist/components/segmented-control/client/SegmentedControlClient.d.ts +1 -1
- package/dist/components/segmented-control/client/SegmentedControlClient.d.ts.map +1 -1
- package/dist/components/segmented-control/client/SegmentedControlClient.js +9 -3
- package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -1
- package/dist/components/segmented-control/index.d.ts +1 -1
- package/dist/components/segmented-control/index.d.ts.map +1 -1
- package/dist/components/segmented-control/index.js.map +1 -1
- package/dist/components/segmented-control/types.d.ts +7 -4
- package/dist/components/segmented-control/types.d.ts.map +1 -1
- package/dist/components/select/Select.d.ts.map +1 -1
- package/dist/components/select/Select.js +2 -0
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/select/types.d.ts +3 -0
- package/dist/components/select/types.d.ts.map +1 -1
- package/dist/components/slider/Slider.d.ts.map +1 -1
- package/dist/components/slider/Slider.js +12 -7
- package/dist/components/slider/Slider.js.map +1 -1
- package/dist/components/slider/client/SliderClient.d.ts.map +1 -1
- package/dist/components/slider/client/SliderClient.js +55 -20
- package/dist/components/slider/client/SliderClient.js.map +1 -1
- package/dist/components/slider/client/index.d.ts +1 -1
- package/dist/components/slider/client/index.d.ts.map +1 -1
- package/dist/components/slider/client/index.js.map +1 -1
- package/dist/components/slider/types.d.ts +15 -0
- package/dist/components/slider/types.d.ts.map +1 -1
- package/dist/components/spinner/Spinner.d.ts.map +1 -1
- package/dist/components/spinner/Spinner.js +12 -4
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/spinner/index.d.ts +1 -1
- package/dist/components/spinner/index.d.ts.map +1 -1
- package/dist/components/spinner/index.js.map +1 -1
- package/dist/components/spinner/types.d.ts +7 -0
- package/dist/components/spinner/types.d.ts.map +1 -1
- package/dist/components/table/client/TableColumnHeader.d.ts +3 -3
- package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -1
- package/dist/components/table/client/TableColumnHeader.js +10 -2
- package/dist/components/table/client/TableColumnHeader.js.map +1 -1
- package/dist/components/table/client/TableSelection.d.ts +3 -3
- package/dist/components/table/client/TableSelection.d.ts.map +1 -1
- package/dist/components/table/client/TableSelection.js +6 -4
- package/dist/components/table/client/TableSelection.js.map +1 -1
- package/dist/components/table/client.d.ts +1 -1
- package/dist/components/table/client.d.ts.map +1 -1
- package/dist/components/table/client.js.map +1 -1
- package/dist/components/table/types.d.ts +13 -0
- package/dist/components/table/types.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.d.ts +1 -1
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +12 -2
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tabs/index.d.ts +1 -1
- package/dist/components/tabs/index.d.ts.map +1 -1
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs/types.d.ts +17 -4
- package/dist/components/tabs/types.d.ts.map +1 -1
- package/dist/components/tags-input/TagsInput.d.ts.map +1 -1
- package/dist/components/tags-input/TagsInput.js +45 -11
- package/dist/components/tags-input/TagsInput.js.map +1 -1
- package/dist/components/tags-input/index.d.ts +1 -1
- package/dist/components/tags-input/index.d.ts.map +1 -1
- package/dist/components/tags-input/index.js.map +1 -1
- package/dist/components/tags-input/types.d.ts +12 -4
- package/dist/components/tags-input/types.d.ts.map +1 -1
- package/dist/components/toast/Toast.d.ts +1 -1
- package/dist/components/toast/Toast.d.ts.map +1 -1
- package/dist/components/toast/Toast.js +74 -35
- package/dist/components/toast/Toast.js.map +1 -1
- package/dist/components/toast/ToastElements.d.ts.map +1 -1
- package/dist/components/toast/ToastElements.js +36 -12
- package/dist/components/toast/ToastElements.js.map +1 -1
- package/dist/components/toast/index.d.ts +1 -1
- package/dist/components/toast/index.d.ts.map +1 -1
- package/dist/components/toast/index.js.map +1 -1
- package/dist/components/toast/types.d.ts +32 -26
- package/dist/components/toast/types.d.ts.map +1 -1
- package/dist/components/toggle/Toggle.d.ts +1 -1
- package/dist/components/toggle/Toggle.d.ts.map +1 -1
- package/dist/components/toggle/Toggle.js +13 -4
- package/dist/components/toggle/Toggle.js.map +1 -1
- package/dist/components/toggle/index.d.ts +1 -1
- package/dist/components/toggle/index.d.ts.map +1 -1
- package/dist/components/toggle/index.js.map +1 -1
- package/dist/components/toggle/types.d.ts +12 -3
- package/dist/components/toggle/types.d.ts.map +1 -1
- package/dist/components/toggle-group/ToggleGroup.d.ts +1 -1
- package/dist/components/toggle-group/ToggleGroup.d.ts.map +1 -1
- package/dist/components/toggle-group/ToggleGroup.js +5 -1
- package/dist/components/toggle-group/ToggleGroup.js.map +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.d.ts +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.d.ts.map +1 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.js +15 -1
- package/dist/components/toggle-group/client/ToggleGroupClient.js.map +1 -1
- package/dist/components/toggle-group/index.d.ts +1 -1
- package/dist/components/toggle-group/index.d.ts.map +1 -1
- package/dist/components/toggle-group/index.js.map +1 -1
- package/dist/components/toggle-group/types.d.ts +4 -4
- package/dist/components/toggle-group/types.d.ts.map +1 -1
- package/dist/components/toolbar/Toolbar.d.ts +3 -12
- package/dist/components/toolbar/Toolbar.d.ts.map +1 -1
- package/dist/components/toolbar/Toolbar.js +22 -2
- package/dist/components/toolbar/Toolbar.js.map +1 -1
- package/dist/components/toolbar/types.d.ts +5 -5
- package/dist/components/toolbar/types.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.js +4 -4
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/virtual-scroll/VirtualScroll.d.ts.map +1 -1
- package/dist/components/virtual-scroll/VirtualScroll.js +99 -44
- package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
- package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts +3 -14
- package/dist/components/virtual-scroll/VirtualScrollRowShell.d.ts.map +1 -1
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js +6 -3
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js.map +1 -1
- package/dist/components/virtual-scroll/index.d.ts +1 -1
- package/dist/components/virtual-scroll/index.d.ts.map +1 -1
- package/dist/components/virtual-scroll/index.js.map +1 -1
- package/dist/components/virtual-scroll/types.d.ts +23 -3
- package/dist/components/virtual-scroll/types.d.ts.map +1 -1
- package/dist/components/virtual-scroll/types.js.map +1 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.d.ts +3 -0
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.d.ts.map +1 -1
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js +11 -2
- package/dist/components/virtual-scroll/virtual-scroll-scroll-sync.js.map +1 -1
- package/dist/core/class-names.d.ts +3 -0
- package/dist/core/class-names.d.ts.map +1 -0
- package/dist/core/class-names.js +7 -0
- package/dist/core/class-names.js.map +1 -0
- package/dist/core/part-names.d.ts +8 -0
- package/dist/core/part-names.d.ts.map +1 -0
- package/dist/core/part-names.js +111 -0
- package/dist/core/part-names.js.map +1 -0
- package/dist/core/polymorphic.d.ts +10 -3
- package/dist/core/polymorphic.d.ts.map +1 -1
- package/dist/core/render-native-invoker.d.ts +1 -0
- package/dist/core/render-native-invoker.d.ts.map +1 -1
- package/dist/core/render-native-invoker.js +6 -6
- package/dist/core/render-native-invoker.js.map +1 -1
- package/dist/core/roving-focus.d.ts +2 -2
- package/dist/core/roving-focus.d.ts.map +1 -1
- package/dist/core/roving-focus.js +6 -7
- package/dist/core/roving-focus.js.map +1 -1
- package/dist/core/slot-props.d.ts +21 -0
- package/dist/core/slot-props.d.ts.map +1 -0
- package/dist/core/slot-props.js +49 -0
- package/dist/core/slot-props.js.map +1 -0
- package/dist/core/use-popover.d.ts +2 -1
- package/dist/core/use-popover.d.ts.map +1 -1
- package/dist/core/use-popover.js +3 -1
- package/dist/core/use-popover.js.map +1 -1
- package/dist/elements/choice/Choice.d.ts.map +1 -1
- package/dist/elements/choice/Choice.js +13 -10
- package/dist/elements/choice/Choice.js.map +1 -1
- package/dist/elements/choice/index.d.ts +1 -1
- package/dist/elements/choice/index.d.ts.map +1 -1
- package/dist/elements/choice/index.js.map +1 -1
- package/dist/elements/choice/types.d.ts +18 -10
- package/dist/elements/choice/types.d.ts.map +1 -1
- package/dist/elements/details/Details.d.ts.map +1 -1
- package/dist/elements/details/Details.js +4 -5
- package/dist/elements/details/Details.js.map +1 -1
- package/dist/elements/details/types.d.ts +3 -3
- package/dist/elements/details/types.d.ts.map +1 -1
- package/dist/elements/dialog/Dialog.d.ts.map +1 -1
- package/dist/elements/dialog/Dialog.js +1 -1
- package/dist/elements/dialog/Dialog.js.map +1 -1
- package/dist/elements/invoker/Invoker.js +3 -3
- package/dist/elements/invoker/Invoker.js.map +1 -1
- package/dist/elements/popover/Popover.d.ts.map +1 -1
- package/dist/elements/popover/Popover.js +3 -3
- package/dist/elements/popover/Popover.js.map +1 -1
- package/dist/elements/popover/types.d.ts +6 -4
- package/dist/elements/popover/types.d.ts.map +1 -1
- package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -2
- package/dist/hooks/use-isomorphic-layout-effect.d.ts.map +1 -1
- package/dist/styles/index.css +1 -1
- package/dist/styles/tailwind.css +17 -16
- package/dist/styles/tokens.css +1 -1
- package/package.json +1 -1
- package/skills/uiify/references/elements/accordion.md +1 -1
- package/skills/uiify/references/elements/aspect-ratio.md +1 -1
- package/skills/uiify/references/elements/breadcrumb.md +1 -0
- package/skills/uiify/references/elements/checkbox.md +1 -1
- package/skills/uiify/references/elements/color-picker.md +1 -1
- package/skills/uiify/references/elements/combobox.md +1 -1
- package/skills/uiify/references/elements/context-menu.md +1 -1
- package/skills/uiify/references/elements/dropdown-menu.md +1 -1
- package/skills/uiify/references/elements/field.md +1 -1
- package/skills/uiify/references/elements/form-error-summary.md +5 -0
- package/skills/uiify/references/elements/pagination.md +1 -1
- package/skills/uiify/references/elements/radio-group.md +1 -0
- package/skills/uiify/references/elements/rating.md +1 -1
- package/skills/uiify/references/elements/segmented-control.md +1 -0
- package/skills/uiify/references/elements/spinner.md +1 -1
- package/skills/uiify/references/elements/table.md +1 -1
- package/skills/uiify/references/elements/tabs.md +1 -1
- package/skills/uiify/references/elements/tags-input.md +1 -1
- package/skills/uiify/references/elements/toast.md +1 -0
- package/skills/uiify/references/elements/toggle-group.md +1 -0
- package/skills/uiify/references/elements/toggle.md +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactElement } from \"react\";\nimport { useControllableState } from \"@gunkin/uiify/hooks\";\nimport { ChoiceGroup } from \"../../internal/choice-family/ChoiceGroup.js\";\nimport type { ToggleGroupClientProps, ToggleGroupItem } from \"../types.js\";\n\nfunction normalizeSingle(value: string | readonly string[] | undefined): string | undefined {\n return typeof value === \"string\" ? value : value?.[0];\n}\n\nfunction normalizeMultiple(value: string | readonly string[] | undefined): readonly string[] {\n return value === undefined ? [] : typeof value === \"string\" ? [value] : value;\n}\n\nexport function ToggleGroupClient({\n id,\n items,\n type = \"single\",\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n orientation = \"horizontal\",\n size,\n className,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n}: ToggleGroupClientProps): ReactElement {\n if (type === \"multiple\") {\n return (\n <MultipleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n size={size}\n />\n );\n }\n\n return (\n <SingleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n size={size}\n />\n );\n}\n\ninterface ToggleGroupClientBranchProps {\n readonly ariaLabel?: string | undefined;\n readonly ariaLabelledBy?: string | undefined;\n readonly className?: string | undefined;\n readonly controlledValue?: string | readonly string[] | undefined;\n readonly defaultValue?: string | readonly string[] | undefined;\n readonly disabled: boolean;\n readonly id: string;\n readonly items: readonly ToggleGroupItem[];\n readonly onValueChange?: ((value: string | readonly string[]) => void) | undefined;\n readonly orientation: \"horizontal\" | \"vertical\";\n readonly size?: ToggleGroupClientProps[\"size\"];\n}\n\nfunction SingleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValue, setSelectedValue] = useControllableState<string | undefined>({\n defaultValue: normalizeSingle(defaultValue),\n onChange: (nextValue) => {\n if (nextValue !== undefined) onValueChange?.(nextValue);\n },\n value: normalizeSingle(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => item.value === selectedValue}\n isControlled={controlledValue !== undefined}\n kind=\"single\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) => setSelectedValue(item.value)}\n orientation={orientation}\n rootAttributes={{\n role: \"radiogroup\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nSingleToggleGroupClient.displayName = \"SingleToggleGroupClient\";\n\nfunction MultipleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValues, setSelectedValues] = useControllableState<readonly string[]>({\n defaultValue: normalizeMultiple(defaultValue),\n onChange: onValueChange,\n value: controlledValue === undefined ? undefined : normalizeMultiple(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n id={id}\n items={resolvedItems}\n isChecked={(item) => selectedValues.includes(item.value)}\n isControlled={controlledValue !== undefined}\n kind=\"multiple\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) =>\n setSelectedValues((currentValues) =>\n currentValues.includes(item.value)\n ? currentValues.filter((value) => value !== item.value)\n : [...currentValues, item.value],\n )\n }\n orientation={orientation}\n rootAttributes={{\n role: \"group\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nMultipleToggleGroupClient.displayName = \"MultipleToggleGroupClient\";\nToggleGroupClient.displayName = \"ToggleGroupClient\";\n"],"mappings":";AA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/toggle-group/client/ToggleGroupClient.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactElement } from \"react\";\nimport { useControllableState } from \"@gunkin/uiify/hooks\";\nimport { ChoiceGroup } from \"../../internal/choice-family/ChoiceGroup.js\";\nimport type { ChoiceGroupRootProps } from \"../../internal/choice-family/types.js\";\nimport type { ToggleGroupClientProps, ToggleGroupItem } from \"../types.js\";\n\nfunction normalizeSingle(value: string | readonly string[] | undefined): string | undefined {\n return typeof value === \"string\" ? value : value?.[0];\n}\n\nfunction normalizeMultiple(value: string | readonly string[] | undefined): readonly string[] {\n return value === undefined ? [] : typeof value === \"string\" ? [value] : value;\n}\n\nexport function ToggleGroupClient({\n id,\n items,\n type = \"single\",\n value: controlledValue,\n defaultValue,\n onValueChange,\n disabled = false,\n orientation = \"horizontal\",\n size,\n className,\n slotProps,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n ...rootProps\n}: ToggleGroupClientProps): ReactElement {\n if (type === \"multiple\") {\n return (\n <MultipleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n rootProps={rootProps}\n slotProps={slotProps}\n size={size}\n />\n );\n }\n\n return (\n <SingleToggleGroupClient\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n className={className}\n controlledValue={controlledValue}\n defaultValue={defaultValue}\n disabled={disabled}\n id={id}\n items={items}\n onValueChange={onValueChange}\n orientation={orientation}\n rootProps={rootProps}\n {...(slotProps !== undefined ? { slotProps } : {})}\n size={size}\n />\n );\n}\n\ninterface ToggleGroupClientBranchProps {\n readonly ariaLabel?: string | undefined;\n readonly ariaLabelledBy?: string | undefined;\n readonly className?: string | undefined;\n readonly controlledValue?: string | readonly string[] | undefined;\n readonly defaultValue?: string | readonly string[] | undefined;\n readonly disabled: boolean;\n readonly id: string;\n readonly items: readonly ToggleGroupItem[];\n readonly onValueChange?: ((value: string | readonly string[]) => void) | undefined;\n readonly orientation: \"horizontal\" | \"vertical\";\n readonly rootProps: ChoiceGroupRootProps;\n readonly slotProps?: ToggleGroupClientProps[\"slotProps\"];\n readonly size?: ToggleGroupClientProps[\"size\"];\n}\n\nfunction SingleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n rootProps,\n slotProps,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValue, setSelectedValue] = useControllableState<string | undefined>({\n defaultValue: normalizeSingle(defaultValue),\n onChange: (nextValue) => {\n if (nextValue !== undefined) onValueChange?.(nextValue);\n },\n value: normalizeSingle(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n rootProps={rootProps}\n id={id}\n items={resolvedItems}\n isChecked={(item) => item.value === selectedValue}\n isControlled={controlledValue !== undefined}\n kind=\"single\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) => setSelectedValue(item.value)}\n orientation={orientation}\n {...(slotProps !== undefined ? { slotProps } : {})}\n rootAttributes={{\n role: \"radiogroup\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nSingleToggleGroupClient.displayName = \"SingleToggleGroupClient\";\n\nfunction MultipleToggleGroupClient({\n ariaLabel,\n ariaLabelledBy,\n className,\n controlledValue,\n defaultValue,\n disabled,\n id,\n items,\n onValueChange,\n orientation,\n rootProps,\n slotProps,\n size,\n}: ToggleGroupClientBranchProps): ReactElement {\n const [selectedValues, setSelectedValues] = useControllableState<readonly string[]>({\n defaultValue: normalizeMultiple(defaultValue),\n onChange: onValueChange,\n value: controlledValue === undefined ? undefined : normalizeMultiple(controlledValue),\n });\n const resolvedItems = items.map((item) => ({\n ...item,\n disabled: disabled || item.disabled === true,\n }));\n\n return (\n <ChoiceGroup<ToggleGroupItem>\n {...(className !== undefined ? { className } : {})}\n rootProps={rootProps}\n id={id}\n items={resolvedItems}\n isChecked={(item) => selectedValues.includes(item.value)}\n isControlled={controlledValue !== undefined}\n kind=\"multiple\"\n namespace=\"toggle-group\"\n labelAttributes={{\n \"data-uiify-button\": \"\",\n \"data-variant\": \"outline\",\n ...(size !== undefined ? { \"data-size\": size } : {}),\n }}\n onItemChange={(item) =>\n setSelectedValues((currentValues) =>\n currentValues.includes(item.value)\n ? currentValues.filter((value) => value !== item.value)\n : [...currentValues, item.value],\n )\n }\n orientation={orientation}\n {...(slotProps !== undefined ? { slotProps } : {})}\n rootAttributes={{\n role: \"group\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"data-disabled\": disabled ? \"\" : undefined,\n }}\n />\n );\n}\n\nMultipleToggleGroupClient.displayName = \"MultipleToggleGroupClient\";\nToggleGroupClient.displayName = \"ToggleGroupClient\";\n"],"mappings":"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","names":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { ToggleGroup } from "./ToggleGroup.js";
|
|
2
|
-
export type { ToggleGroupClientProps, ToggleGroupItem, ToggleGroupProps } from "./types.js";
|
|
2
|
+
export type { ToggleGroupClientProps, ToggleGroupItem, ToggleGroupProps, ToggleGroupSlotProps, } from "./types.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/toggle-group/index.ts"],"sourcesContent":["export { ToggleGroup } from \"./ToggleGroup.js\";\nexport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/toggle-group/index.ts"],"sourcesContent":["export { ToggleGroup } from \"./ToggleGroup.js\";\nexport type {\n ToggleGroupClientProps,\n ToggleGroupItem,\n ToggleGroupProps,\n ToggleGroupSlotProps,\n} from \"./types.js\";\n"],"mappings":"AAAA,SAAS,mBAAmB;","names":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { ChoiceItem, ChoiceOrientation } from "../internal/choice-family/types.js";
|
|
1
|
+
import type { ChoiceGroupRootProps, ChoiceOptionSlotProps, ChoiceItem, ChoiceOrientation } from "../internal/choice-family/types.js";
|
|
2
|
+
export type ToggleGroupSlotProps = ChoiceOptionSlotProps;
|
|
2
3
|
export type ToggleGroupItem = ChoiceItem;
|
|
3
|
-
export interface ToggleGroupProps {
|
|
4
|
+
export interface ToggleGroupProps extends ChoiceGroupRootProps {
|
|
4
5
|
readonly id: string;
|
|
5
6
|
readonly type?: "single" | "multiple";
|
|
6
7
|
readonly items: readonly ToggleGroupItem[];
|
|
@@ -10,8 +11,7 @@ export interface ToggleGroupProps {
|
|
|
10
11
|
/** Button size of each item; `md` metrics when omitted. */
|
|
11
12
|
readonly size?: "sm" | "md" | "lg";
|
|
12
13
|
readonly className?: string;
|
|
13
|
-
readonly
|
|
14
|
-
readonly "aria-labelledby"?: string;
|
|
14
|
+
readonly slotProps?: ToggleGroupSlotProps;
|
|
15
15
|
}
|
|
16
16
|
export interface ToggleGroupClientProps extends ToggleGroupProps {
|
|
17
17
|
readonly value?: string | readonly string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toggle-group/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC;AAEzC,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,KAAK,IAAI,CAAC;CACtE"}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import type { ToolbarButtonProps, ToolbarLinkProps, ToolbarSeparatorProps, ToolbarToggleGroupProps } from "./types.js";
|
|
5
|
-
interface ToolbarRootClientProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
-
readonly children?: ReactNode;
|
|
7
|
-
readonly dir?: Direction;
|
|
8
|
-
readonly loop?: boolean;
|
|
9
|
-
readonly orientation?: RovingFocusOrientation;
|
|
10
|
-
}
|
|
11
|
-
export declare function ToolbarRootClient({ children, className, dir: localDir, loop, orientation, ...consumerProps }: ToolbarRootClientProps): ReactElement;
|
|
1
|
+
import type { ReactElement } from "react";
|
|
2
|
+
import type { ToolbarButtonProps, ToolbarLinkProps, ToolbarRootProps, ToolbarSeparatorProps, ToolbarToggleGroupProps } from "./types.js";
|
|
3
|
+
export declare function ToolbarRootClient({ children, className, dir: localDir, loop, orientation, ref, ...consumerProps }: ToolbarRootProps): ReactElement;
|
|
12
4
|
export declare namespace ToolbarRootClient {
|
|
13
5
|
var displayName: string;
|
|
14
6
|
}
|
|
@@ -36,5 +28,4 @@ export declare const Toolbar: {
|
|
|
36
28
|
Separator: typeof ToolbarSeparator;
|
|
37
29
|
ToggleGroup: typeof ToolbarToggleGroup;
|
|
38
30
|
};
|
|
39
|
-
export {};
|
|
40
31
|
//# sourceMappingURL=Toolbar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAU1C,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAqCpB,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,GAAG,EAAE,QAAQ,EACb,IAAW,EACX,WAA0B,EAC1B,GAAG,EACH,GAAG,aAAa,EACjB,EAAE,gBAAgB,GAAG,YAAY,CAqGjC;yBA7Ge,iBAAiB;;;AAgHjC,eAAO,MAAM,WAAW,0BAAoB,CAAC;AAE7C,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAE5E;yBAFe,aAAa;;;AAK7B,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAExE;yBAFe,WAAW;;;AAK3B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAElF;yBAFe,gBAAgB;;;AAKhC,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CAEtF;yBAFe,kBAAkB;;;AAKlC,eAAO,MAAM,OAAO;;;;;;CAMnB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect, useRef } from "react";
|
|
3
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
4
4
|
import { useDirectionOverride } from "@gunkin/uiify/core/direction";
|
|
5
5
|
import { resolveDirection } from "@gunkin/uiify/core/text-direction";
|
|
6
6
|
import {
|
|
@@ -38,11 +38,31 @@ function ToolbarRootClient({
|
|
|
38
38
|
dir: localDir,
|
|
39
39
|
loop = true,
|
|
40
40
|
orientation = "horizontal",
|
|
41
|
+
ref,
|
|
41
42
|
...consumerProps
|
|
42
43
|
}) {
|
|
43
44
|
const dir = useDirectionOverride(localDir);
|
|
44
45
|
const rootRef = useRef(null);
|
|
45
46
|
const currentRef = useRef(null);
|
|
47
|
+
const setRootRef = useCallback(
|
|
48
|
+
(node) => {
|
|
49
|
+
rootRef.current = node;
|
|
50
|
+
if (typeof ref === "function") {
|
|
51
|
+
const cleanup = ref(node);
|
|
52
|
+
if (node) {
|
|
53
|
+
return () => {
|
|
54
|
+
rootRef.current = null;
|
|
55
|
+
if (cleanup) cleanup();
|
|
56
|
+
else ref(null);
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (ref) ref.current = node;
|
|
62
|
+
return;
|
|
63
|
+
},
|
|
64
|
+
[ref]
|
|
65
|
+
);
|
|
46
66
|
useEffect(() => {
|
|
47
67
|
const root = rootRef.current;
|
|
48
68
|
if (!root) return;
|
|
@@ -105,7 +125,7 @@ function ToolbarRootClient({
|
|
|
105
125
|
"data-part": "root",
|
|
106
126
|
"data-uiify-toolbar": "",
|
|
107
127
|
...dir ? { dir } : {},
|
|
108
|
-
ref:
|
|
128
|
+
ref: setRootRef,
|
|
109
129
|
role: "toolbar",
|
|
110
130
|
children
|
|
111
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/toolbar/Toolbar.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef } from \"react\";\nimport type {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/toolbar/Toolbar.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useRef } from \"react\";\nimport type { ReactElement } from \"react\";\nimport { useDirectionOverride } from \"@gunkin/uiify/core/direction\";\nimport { resolveDirection } from \"@gunkin/uiify/core/text-direction\";\n\nimport {\n ToolbarButton as ServerToolbarButton,\n ToolbarLink as ServerToolbarLink,\n ToolbarSeparator as ServerToolbarSeparator,\n ToolbarToggleGroup as ServerToolbarToggleGroup,\n} from \"./ToolbarShell.js\";\nimport type {\n ToolbarButtonProps,\n ToolbarLinkProps,\n ToolbarRootProps,\n ToolbarSeparatorProps,\n ToolbarToggleGroupProps,\n} from \"./types.js\";\n\nfunction getToolbarItems(root: HTMLDivElement): HTMLElement[] {\n return Array.from(root.querySelectorAll<HTMLElement>('[data-uiify-toolbar][data-part=\"item\"]'));\n}\n\nfunction isDisabledItem(item: HTMLElement): boolean {\n return item.getAttribute(\"aria-disabled\") === \"true\" || item.hasAttribute(\"disabled\");\n}\n\nfunction syncTabStops(root: HTMLDivElement, current: HTMLElement | null): HTMLElement | null {\n const items = getToolbarItems(root);\n const enabled = items.filter((item) => !isDisabledItem(item));\n if (enabled.length === 0) return null;\n\n const nextCurrent = current && enabled.includes(current) ? current : (enabled[0] ?? null);\n\n for (const item of items) {\n item.tabIndex = nextCurrent === item ? 0 : -1;\n }\n\n return nextCurrent;\n}\n\nfunction moveIndex(\n currentIndex: number,\n offset: number,\n length: number,\n loop: boolean,\n): number | null {\n if (length === 0) return null;\n if (loop) return (currentIndex + offset + length) % length;\n const nextIndex = currentIndex + offset;\n if (nextIndex < 0 || nextIndex >= length) return null;\n return nextIndex;\n}\n\nexport function ToolbarRootClient({\n children,\n className,\n dir: localDir,\n loop = true,\n orientation = \"horizontal\",\n ref,\n ...consumerProps\n}: ToolbarRootProps): ReactElement {\n const dir = useDirectionOverride(localDir);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const currentRef = useRef<HTMLElement | null>(null);\n const setRootRef = useCallback(\n (node: HTMLDivElement | null) => {\n rootRef.current = node;\n if (typeof ref === \"function\") {\n const cleanup = ref(node);\n if (node) {\n return () => {\n rootRef.current = null;\n if (cleanup) cleanup();\n else ref(null);\n };\n }\n return;\n }\n if (ref) ref.current = node;\n return;\n },\n [ref],\n );\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n currentRef.current = syncTabStops(root, currentRef.current);\n });\n\n useEffect(() => {\n const root = rootRef.current;\n if (!root) return;\n\n const handleFocusIn = (event: FocusEvent) => {\n const target = event.target;\n if (!(target instanceof HTMLElement)) return;\n const item = target.closest<HTMLElement>('[data-uiify-toolbar][data-part=\"item\"]');\n if (!item || !root.contains(item) || isDisabledItem(item)) return;\n currentRef.current = syncTabStops(root, item);\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const target = event.target;\n if (!(target instanceof HTMLElement)) return;\n const item = target.closest<HTMLElement>('[data-uiify-toolbar][data-part=\"item\"]');\n if (!item || !root.contains(item)) return;\n\n const enabled = getToolbarItems(root).filter((entry) => !isDisabledItem(entry));\n const currentIndex = enabled.indexOf(item);\n if (currentIndex === -1) return;\n\n let nextIndex: number | null = null;\n if (event.key === \"Home\") nextIndex = 0;\n if (event.key === \"End\") nextIndex = enabled.length - 1;\n const rtl = resolveDirection(item, dir) === \"rtl\";\n if (orientation !== \"vertical\" && event.key === \"ArrowRight\") {\n nextIndex = moveIndex(currentIndex, rtl ? -1 : 1, enabled.length, loop);\n }\n if (orientation !== \"vertical\" && event.key === \"ArrowLeft\") {\n nextIndex = moveIndex(currentIndex, rtl ? 1 : -1, enabled.length, loop);\n }\n if (orientation !== \"horizontal\" && event.key === \"ArrowDown\") {\n nextIndex = moveIndex(currentIndex, 1, enabled.length, loop);\n }\n if (orientation !== \"horizontal\" && event.key === \"ArrowUp\") {\n nextIndex = moveIndex(currentIndex, -1, enabled.length, loop);\n }\n\n if (nextIndex === null) return;\n\n event.preventDefault();\n const nextItem = enabled[nextIndex];\n if (!nextItem) return;\n currentRef.current = syncTabStops(root, nextItem);\n nextItem.focus();\n };\n\n root.addEventListener(\"focusin\", handleFocusIn);\n root.addEventListener(\"keydown\", handleKeyDown);\n\n return () => {\n root.removeEventListener(\"focusin\", handleFocusIn);\n root.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [dir, loop, orientation]);\n\n return (\n <div\n {...consumerProps}\n className={className}\n data-orientation={orientation}\n data-part=\"root\"\n data-uiify-toolbar=\"\"\n {...(dir ? { dir } : {})}\n ref={setRootRef}\n role=\"toolbar\"\n >\n {children}\n </div>\n );\n}\nToolbarRootClient.displayName = \"ToolbarRootClient\";\n\nexport const ToolbarRoot = ToolbarRootClient;\n\nexport function ToolbarButton(props: ToolbarButtonProps): ReactElement | null {\n return <ServerToolbarButton {...props} />;\n}\nToolbarButton.displayName = \"ToolbarButton\";\n\nexport function ToolbarLink(props: ToolbarLinkProps): ReactElement | null {\n return <ServerToolbarLink {...props} />;\n}\nToolbarLink.displayName = \"ToolbarLink\";\n\nexport function ToolbarSeparator(props: ToolbarSeparatorProps): ReactElement | null {\n return <ServerToolbarSeparator {...props} />;\n}\nToolbarSeparator.displayName = \"ToolbarSeparator\";\n\nexport function ToolbarToggleGroup(props: ToolbarToggleGroupProps): ReactElement | null {\n return <ServerToolbarToggleGroup {...props} />;\n}\nToolbarToggleGroup.displayName = \"ToolbarToggleGroup\";\n\nexport const Toolbar = {\n Button: ToolbarButton,\n Link: ToolbarLink,\n Root: ToolbarRoot,\n Separator: ToolbarSeparator,\n ToggleGroup: ToolbarToggleGroup,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ComponentPropsWithRef, ReactNode } from "react";
|
|
2
2
|
import type { Direction } from "@gunkin/uiify/core/direction";
|
|
3
3
|
import type { RovingFocusOrientation } from "@gunkin/uiify/core/roving-focus";
|
|
4
4
|
import type { ToggleGroupProps } from "../toggle-group/types.js";
|
|
@@ -7,7 +7,7 @@ export interface ToolbarRootOwnProps {
|
|
|
7
7
|
readonly loop?: boolean;
|
|
8
8
|
readonly orientation?: RovingFocusOrientation;
|
|
9
9
|
}
|
|
10
|
-
export interface ToolbarRootProps extends ToolbarRootOwnProps, Omit<
|
|
10
|
+
export interface ToolbarRootProps extends ToolbarRootOwnProps, Omit<ComponentPropsWithRef<"div">, keyof ToolbarRootOwnProps> {
|
|
11
11
|
}
|
|
12
12
|
export interface ToolbarButtonOwnProps {
|
|
13
13
|
/** Toggle state of the button: reported as aria-pressed and styled as selected. */
|
|
@@ -16,19 +16,19 @@ export interface ToolbarButtonOwnProps {
|
|
|
16
16
|
readonly className?: string;
|
|
17
17
|
readonly disabled?: boolean;
|
|
18
18
|
}
|
|
19
|
-
export interface ToolbarButtonProps extends ToolbarButtonOwnProps, Omit<
|
|
19
|
+
export interface ToolbarButtonProps extends ToolbarButtonOwnProps, Omit<ComponentPropsWithRef<"button">, keyof ToolbarButtonOwnProps | "disabled"> {
|
|
20
20
|
}
|
|
21
21
|
export interface ToolbarLinkOwnProps {
|
|
22
22
|
readonly children?: ReactNode;
|
|
23
23
|
readonly className?: string;
|
|
24
24
|
readonly href: string;
|
|
25
25
|
}
|
|
26
|
-
export interface ToolbarLinkProps extends ToolbarLinkOwnProps, Omit<
|
|
26
|
+
export interface ToolbarLinkProps extends ToolbarLinkOwnProps, Omit<ComponentPropsWithRef<"a">, keyof ToolbarLinkOwnProps | "href"> {
|
|
27
27
|
}
|
|
28
28
|
export interface ToolbarSeparatorOwnProps {
|
|
29
29
|
readonly className?: string;
|
|
30
30
|
readonly orientation?: "horizontal" | "vertical";
|
|
31
31
|
}
|
|
32
|
-
export type ToolbarSeparatorProps = ToolbarSeparatorOwnProps & Omit<
|
|
32
|
+
export type ToolbarSeparatorProps = ToolbarSeparatorOwnProps & Omit<ComponentPropsWithRef<"hr">, keyof ToolbarSeparatorOwnProps>;
|
|
33
33
|
export type ToolbarToggleGroupProps = ToggleGroupProps;
|
|
34
34
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC;CAC/C;AAED,MAAM,WAAW,gBACf,SAAQ,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,mBAAmB,CAAC;CAAG;AAE/F,MAAM,WAAW,qBAAqB;IACpC,mFAAmF;IACnF,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,kBACf,SACE,qBAAqB,EACrB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,qBAAqB,GAAG,UAAU,CAAC;CAAG;AAEtF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBACf,SACE,mBAAmB,EACnB,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,MAAM,mBAAmB,GAAG,MAAM,CAAC;CAAG;AAE3E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CAClD;AAED,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,GAC1D,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,wBAAwB,CAAC,CAAC;AAEpE,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/Tooltip.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EAIX,YAAY,EACb,MAAM,OAAO,CAAC;AAgBf,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EAEvB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAoBpB,wBAAgB,eAAe,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CAUnF;yBAVe,eAAe;;;AAY/B,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CA0BxE;yBA1Be,WAAW;;;AA4B3B,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,EAC/D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CAqErB;AACD,wBAAgB,cAAc,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC5D,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC9B,YAAY,GAAG,IAAI,CA+ErB;AACD,eAAO,MAAM,OAAO;;;;;CAKnB,CAAC"}
|
|
@@ -76,11 +76,11 @@ function TooltipTrigger(props) {
|
|
|
76
76
|
as,
|
|
77
77
|
defaultTag: "button",
|
|
78
78
|
props: {
|
|
79
|
-
...consumerProps,
|
|
80
|
-
...anchorProps,
|
|
81
79
|
"aria-describedby": open ? contentId : void 0,
|
|
82
80
|
...nativeButton ? { type: "button", "data-uiify-button": "" } : {},
|
|
83
81
|
...className ? { className } : {},
|
|
82
|
+
...anchorProps,
|
|
83
|
+
...consumerProps,
|
|
84
84
|
onBlur: composeEventHandlers(consumerOnBlur, () => {
|
|
85
85
|
closeTooltip();
|
|
86
86
|
}),
|
|
@@ -146,14 +146,12 @@ function TooltipContent(props) {
|
|
|
146
146
|
as,
|
|
147
147
|
defaultTag: "div",
|
|
148
148
|
props: {
|
|
149
|
-
...domProps,
|
|
150
149
|
...createAnchorPositionerProps({
|
|
151
150
|
align,
|
|
152
151
|
anchorName: anchorNameForId(anchorId),
|
|
153
152
|
side
|
|
154
153
|
}),
|
|
155
154
|
...consumerStyle ? { style: consumerStyle } : {},
|
|
156
|
-
ref: mergedRef,
|
|
157
155
|
popover: "manual",
|
|
158
156
|
// The consumer's own non-empty `id` wins (computed above as `resolvedId`); otherwise the
|
|
159
157
|
// The consumer's own non-empty `id` wins; otherwise the context-generated id is used.
|
|
@@ -163,6 +161,8 @@ function TooltipContent(props) {
|
|
|
163
161
|
"data-uiify-tooltip": "",
|
|
164
162
|
"data-state": open ? "open" : "closed",
|
|
165
163
|
...className ? { className } : {},
|
|
164
|
+
...domProps,
|
|
165
|
+
ref: mergedRef,
|
|
166
166
|
onPointerEnter: composeEventHandlers(consumerOnPointerEnter, () => {
|
|
167
167
|
intent.clearCloseTimer();
|
|
168
168
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport type {\n CSSProperties,\n ElementType,\n FocusEvent,\n KeyboardEvent,\n PointerEvent,\n ReactElement,\n} from \"react\";\nimport { useIsomorphicLayoutEffect, useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport {\n createAnchorPositionerProps,\n createAnchorTriggerProps,\n anchorNameForId,\n} from \"@gunkin/uiify/core/anchor-position\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport {\n createPartContext,\n splitRef,\n useHoverOverlay,\n type HoverIntentStore,\n} from \"@gunkin/uiify/core\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { CONTENT_HOVER_GRACE_MS, createTooltipProviderStore } from \"./tooltip-store.js\";\nimport type {\n TooltipContentProps,\n TooltipProviderOwnProps,\n TooltipProviderStore,\n TooltipRootProps,\n TooltipTriggerProps,\n} from \"./types.js\";\n\ninterface TooltipClientContextValue {\n readonly anchorId: string;\n readonly closeTooltip: () => void;\n readonly contentId: string;\n readonly intent: HoverIntentStore;\n readonly open: boolean;\n readonly openTooltip: (immediate?: boolean) => void;\n readonly pointerFocusRef: React.RefObject<boolean>;\n readonly setContentId: (id: string) => void;\n}\n\nconst [TooltipProviderStoreProvider, useTooltipProviderStore] =\n createPartContext<TooltipProviderStore>(\"Tooltip\", \"Provider\");\n\n// Root name \"Root\" (the default): Trigger/Content require <Tooltip.Root>, a\n// distinct nesting requirement from TooltipRoot itself requiring\n// <Tooltip.Provider> above. Keeping the two contexts' root names accurate\n// (rather than pointing both at \"Provider\") preserves the original's\n// correct, non-misleading error for the \"Trigger without Root\" case.\nconst [TooltipContextProvider, useTooltipContext] =\n createPartContext<TooltipClientContextValue>(\"Tooltip\");\n\nexport function TooltipProvider(props: TooltipProviderOwnProps): ReactElement | null {\n const { children, delayDuration = 300, skipDelayDuration = 300 } = props;\n const storeRef = useRef<TooltipProviderStore | null>(null);\n storeRef.current ??= createTooltipProviderStore({ delayDuration, skipDelayDuration });\n\n useIsomorphicLayoutEffect(() => {\n storeRef.current?.updateOptions({ delayDuration, skipDelayDuration });\n }, [delayDuration, skipDelayDuration]);\n\n return (\n <TooltipProviderStoreProvider value={storeRef.current}>{children}</TooltipProviderStoreProvider>\n );\n}\nTooltipProvider.displayName = \"TooltipProvider\";\n\nexport function TooltipRoot(props: TooltipRootProps): ReactElement | null {\n const { children, defaultOpen = false, id, onOpenChange, open } = props;\n const provider = useTooltipProviderStore(\"Root\");\n const pointerFocusRef = useRef(false);\n const overlay = useHoverOverlay({\n closeDelay: CONTENT_HOVER_GRACE_MS,\n ...(defaultOpen !== undefined ? { defaultOpen } : {}),\n ...(id !== undefined ? { id } : {}),\n idPrefix: \"uiify-tooltip\",\n ...(onOpenChange ? { onOpenChange } : {}),\n onOpened: provider.markOpened,\n ...(open !== undefined ? { open } : {}),\n openDelay: provider.getDelayDuration(),\n shouldSkipDelay: provider.shouldSkipDelay,\n });\n\n const contextValue: TooltipClientContextValue = {\n anchorId: overlay.anchorId,\n closeTooltip: overlay.closeOverlay,\n contentId: overlay.contentId,\n intent: overlay.intent,\n open: overlay.open,\n openTooltip: overlay.openOverlay,\n pointerFocusRef,\n setContentId: overlay.setContentId,\n };\n\n return <TooltipContextProvider value={contextValue}>{children}</TooltipContextProvider>;\n}\nTooltipRoot.displayName = \"TooltipRoot\";\n\nexport function TooltipTrigger<TAs extends ElementType = \"button\">(\n props: TooltipTriggerProps<TAs>,\n): ReactElement | null {\n const { as, render, className, ...consumerProps } = props as TooltipTriggerProps<\"button\">;\n const { anchorId, closeTooltip, contentId, intent, open, openTooltip, pointerFocusRef } =\n useTooltipContext(\"Trigger\");\n const nativeButton = !as || as === \"button\";\n const consumerStyle = (consumerProps as { style?: CSSProperties }).style;\n const anchorProps = {\n ...createAnchorTriggerProps(anchorNameForId(anchorId)),\n ...(consumerStyle ? { style: consumerStyle } : {}),\n };\n const {\n onBlur: consumerOnBlur,\n onFocus: consumerOnFocus,\n onKeyDown: consumerOnKeyDown,\n onPointerDown: consumerOnPointerDown,\n onPointerEnter: consumerOnPointerEnter,\n onPointerLeave: consumerOnPointerLeave,\n } = consumerProps as {\n onBlur?: (event: FocusEvent<HTMLElement>) => void;\n onFocus?: (event: FocusEvent<HTMLElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n onPointerDown?: (event: PointerEvent<HTMLElement>) => void;\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n\n return useRenderElement({\n as,\n defaultTag: \"button\",\n props: {\n ...consumerProps,\n ...anchorProps,\n \"aria-describedby\": open ? contentId : undefined,\n ...(nativeButton ? { type: \"button\", \"data-uiify-button\": \"\" } : {}),\n ...(className ? { className } : {}),\n onBlur: composeEventHandlers(consumerOnBlur, () => {\n closeTooltip();\n }),\n onFocus: composeEventHandlers(consumerOnFocus, () => {\n if (!pointerFocusRef.current) openTooltip(true);\n pointerFocusRef.current = false;\n }),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === \"Escape\") closeTooltip();\n }),\n onPointerDown: composeEventHandlers(consumerOnPointerDown, () => {\n pointerFocusRef.current = true;\n }),\n onPointerEnter: composeEventHandlers(\n consumerOnPointerEnter,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") openTooltip(false);\n },\n ),\n onPointerLeave: composeEventHandlers(\n consumerOnPointerLeave,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") {\n intent.scheduleClose(() => closeTooltip());\n }\n },\n ),\n },\n render,\n state: { open },\n });\n}\n\nexport function TooltipContent<TAs extends ElementType = \"div\">(\n props: TooltipContentProps<TAs>,\n): ReactElement | null {\n const {\n align = \"center\",\n as,\n render,\n className,\n side = \"bottom\",\n ...consumerProps\n } = props as TooltipContentProps<\"div\">;\n const { anchorId, closeTooltip, contentId, intent, open, setContentId } =\n useTooltipContext(\"Content\");\n const [consumerRef, domProps] = splitRef<HTMLElement, typeof consumerProps>(consumerProps);\n const popupRef = useRef<HTMLElement | null>(null);\n const mergedRef = useMergedRefs(popupRef, consumerRef);\n const consumerDomProps = domProps as { id?: string; style?: CSSProperties };\n const resolvedId =\n typeof consumerDomProps.id === \"string\" && consumerDomProps.id.length > 0\n ? consumerDomProps.id\n : contentId;\n const consumerStyle = consumerDomProps.style;\n\n useIsomorphicLayoutEffect(() => {\n setContentId(resolvedId);\n }, [resolvedId, setContentId]);\n\n // Same technique as core/use-popover.ts: guard with .matches(\":popover-open\")\n // so a StrictMode double-invoke or an unrelated re-run doesn't call\n // showPopover/hidePopover on a popover already in that state (both throw).\n // try/catch covers the node having disconnected between render and effect.\n useIsomorphicLayoutEffect(() => {\n const popup = popupRef.current;\n if (!popup) 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 }, [open]);\n\n const { onPointerEnter: consumerOnPointerEnter, onPointerLeave: consumerOnPointerLeave } =\n domProps as {\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...domProps,\n ...createAnchorPositionerProps({\n align,\n anchorName: anchorNameForId(anchorId),\n side,\n }),\n ...(consumerStyle ? { style: consumerStyle } : {}),\n ref: mergedRef,\n popover: \"manual\",\n // The consumer's own non-empty `id` wins (computed above as `resolvedId`); otherwise the\n // The consumer's own non-empty `id` wins; otherwise the context-generated id is used.\n id: resolvedId,\n role: \"tooltip\",\n \"data-part\": \"content\",\n \"data-uiify-tooltip\": \"\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...(className ? { className } : {}),\n onPointerEnter: composeEventHandlers(consumerOnPointerEnter, () => {\n intent.clearCloseTimer();\n }),\n onPointerLeave: composeEventHandlers(\n consumerOnPointerLeave,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") closeTooltip();\n },\n ),\n },\n render,\n state: { open, positioning: \"native\" as const },\n });\n}\n\nexport const Tooltip = {\n Content: TooltipContent,\n Provider: TooltipProvider,\n Root: TooltipRoot,\n Trigger: TooltipTrigger,\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\nimport { useRef } from \"react\";\nimport type {\n CSSProperties,\n ElementType,\n FocusEvent,\n KeyboardEvent,\n PointerEvent,\n ReactElement,\n} from \"react\";\nimport { useIsomorphicLayoutEffect, useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport {\n createAnchorPositionerProps,\n createAnchorTriggerProps,\n anchorNameForId,\n} from \"@gunkin/uiify/core/anchor-position\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport {\n createPartContext,\n splitRef,\n useHoverOverlay,\n type HoverIntentStore,\n} from \"@gunkin/uiify/core\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { CONTENT_HOVER_GRACE_MS, createTooltipProviderStore } from \"./tooltip-store.js\";\nimport type {\n TooltipContentProps,\n TooltipProviderOwnProps,\n TooltipProviderStore,\n TooltipRootProps,\n TooltipTriggerProps,\n} from \"./types.js\";\ninterface TooltipClientContextValue {\n readonly anchorId: string;\n readonly closeTooltip: () => void;\n readonly contentId: string;\n readonly intent: HoverIntentStore;\n readonly open: boolean;\n readonly openTooltip: (immediate?: boolean) => void;\n readonly pointerFocusRef: React.RefObject<boolean>;\n readonly setContentId: (id: string) => void;\n}\nconst [TooltipProviderStoreProvider, useTooltipProviderStore] =\n createPartContext<TooltipProviderStore>(\"Tooltip\", \"Provider\");\n// Root name \"Root\" (the default): Trigger/Content require <Tooltip.Root>, a\n// distinct nesting requirement from TooltipRoot itself requiring\n// <Tooltip.Provider> above. Keeping the two contexts' root names accurate\n// (rather than pointing both at \"Provider\") preserves the original's\n// correct, non-misleading error for the \"Trigger without Root\" case.\nconst [TooltipContextProvider, useTooltipContext] =\n createPartContext<TooltipClientContextValue>(\"Tooltip\");\nexport function TooltipProvider(props: TooltipProviderOwnProps): ReactElement | null {\n const { children, delayDuration = 300, skipDelayDuration = 300 } = props;\n const storeRef = useRef<TooltipProviderStore | null>(null);\n storeRef.current ??= createTooltipProviderStore({ delayDuration, skipDelayDuration });\n useIsomorphicLayoutEffect(() => {\n storeRef.current?.updateOptions({ delayDuration, skipDelayDuration });\n }, [delayDuration, skipDelayDuration]);\n return (\n <TooltipProviderStoreProvider value={storeRef.current}>{children}</TooltipProviderStoreProvider>\n );\n}\nTooltipProvider.displayName = \"TooltipProvider\";\nexport function TooltipRoot(props: TooltipRootProps): ReactElement | null {\n const { children, defaultOpen = false, id, onOpenChange, open } = props;\n const provider = useTooltipProviderStore(\"Root\");\n const pointerFocusRef = useRef(false);\n const overlay = useHoverOverlay({\n closeDelay: CONTENT_HOVER_GRACE_MS,\n ...(defaultOpen !== undefined ? { defaultOpen } : {}),\n ...(id !== undefined ? { id } : {}),\n idPrefix: \"uiify-tooltip\",\n ...(onOpenChange ? { onOpenChange } : {}),\n onOpened: provider.markOpened,\n ...(open !== undefined ? { open } : {}),\n openDelay: provider.getDelayDuration(),\n shouldSkipDelay: provider.shouldSkipDelay,\n });\n const contextValue: TooltipClientContextValue = {\n anchorId: overlay.anchorId,\n closeTooltip: overlay.closeOverlay,\n contentId: overlay.contentId,\n intent: overlay.intent,\n open: overlay.open,\n openTooltip: overlay.openOverlay,\n pointerFocusRef,\n setContentId: overlay.setContentId,\n };\n return <TooltipContextProvider value={contextValue}>{children}</TooltipContextProvider>;\n}\nTooltipRoot.displayName = \"TooltipRoot\";\nexport function TooltipTrigger<TAs extends ElementType = \"button\">(\n props: TooltipTriggerProps<TAs>,\n): ReactElement | null {\n const { as, render, className, ...consumerProps } = props as TooltipTriggerProps<\"button\">;\n const { anchorId, closeTooltip, contentId, intent, open, openTooltip, pointerFocusRef } =\n useTooltipContext(\"Trigger\");\n const nativeButton = !as || as === \"button\";\n const consumerStyle = (\n consumerProps as {\n style?: CSSProperties;\n }\n ).style;\n const anchorProps = {\n ...createAnchorTriggerProps(anchorNameForId(anchorId)),\n ...(consumerStyle ? { style: consumerStyle } : {}),\n };\n const {\n onBlur: consumerOnBlur,\n onFocus: consumerOnFocus,\n onKeyDown: consumerOnKeyDown,\n onPointerDown: consumerOnPointerDown,\n onPointerEnter: consumerOnPointerEnter,\n onPointerLeave: consumerOnPointerLeave,\n } = consumerProps as {\n onBlur?: (event: FocusEvent<HTMLElement>) => void;\n onFocus?: (event: FocusEvent<HTMLElement>) => void;\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n onPointerDown?: (event: PointerEvent<HTMLElement>) => void;\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n return useRenderElement({\n as,\n defaultTag: \"button\",\n props: {\n \"aria-describedby\": open ? contentId : undefined,\n ...(nativeButton ? { type: \"button\", \"data-uiify-button\": \"\" } : {}),\n ...(className ? { className } : {}),\n ...anchorProps,\n ...consumerProps,\n onBlur: composeEventHandlers(consumerOnBlur, () => {\n closeTooltip();\n }),\n onFocus: composeEventHandlers(consumerOnFocus, () => {\n if (!pointerFocusRef.current) openTooltip(true);\n pointerFocusRef.current = false;\n }),\n onKeyDown: composeEventHandlers(consumerOnKeyDown, (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === \"Escape\") closeTooltip();\n }),\n onPointerDown: composeEventHandlers(consumerOnPointerDown, () => {\n pointerFocusRef.current = true;\n }),\n onPointerEnter: composeEventHandlers(\n consumerOnPointerEnter,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") openTooltip(false);\n },\n ),\n onPointerLeave: composeEventHandlers(\n consumerOnPointerLeave,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") {\n intent.scheduleClose(() => closeTooltip());\n }\n },\n ),\n },\n render,\n state: { open },\n });\n}\nexport function TooltipContent<TAs extends ElementType = \"div\">(\n props: TooltipContentProps<TAs>,\n): ReactElement | null {\n const {\n align = \"center\",\n as,\n render,\n className,\n side = \"bottom\",\n ...consumerProps\n } = props as TooltipContentProps<\"div\">;\n const { anchorId, closeTooltip, contentId, intent, open, setContentId } =\n useTooltipContext(\"Content\");\n const [consumerRef, domProps] = splitRef<HTMLElement, typeof consumerProps>(consumerProps);\n const popupRef = useRef<HTMLElement | null>(null);\n const mergedRef = useMergedRefs(popupRef, consumerRef);\n const consumerDomProps = domProps as {\n id?: string;\n style?: CSSProperties;\n };\n const resolvedId =\n typeof consumerDomProps.id === \"string\" && consumerDomProps.id.length > 0\n ? consumerDomProps.id\n : contentId;\n const consumerStyle = consumerDomProps.style;\n useIsomorphicLayoutEffect(() => {\n setContentId(resolvedId);\n }, [resolvedId, setContentId]);\n // Same technique as core/use-popover.ts: guard with .matches(\":popover-open\")\n // so a StrictMode double-invoke or an unrelated re-run doesn't call\n // showPopover/hidePopover on a popover already in that state (both throw).\n // try/catch covers the node having disconnected between render and effect.\n useIsomorphicLayoutEffect(() => {\n const popup = popupRef.current;\n if (!popup) 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 }, [open]);\n const { onPointerEnter: consumerOnPointerEnter, onPointerLeave: consumerOnPointerLeave } =\n domProps as {\n onPointerEnter?: (event: PointerEvent<HTMLElement>) => void;\n onPointerLeave?: (event: PointerEvent<HTMLElement>) => void;\n };\n return useRenderElement({\n as,\n defaultTag: \"div\",\n props: {\n ...createAnchorPositionerProps({\n align,\n anchorName: anchorNameForId(anchorId),\n side,\n }),\n ...(consumerStyle ? { style: consumerStyle } : {}),\n popover: \"manual\",\n // The consumer's own non-empty `id` wins (computed above as `resolvedId`); otherwise the\n // The consumer's own non-empty `id` wins; otherwise the context-generated id is used.\n id: resolvedId,\n role: \"tooltip\",\n \"data-part\": \"content\",\n \"data-uiify-tooltip\": \"\",\n \"data-state\": open ? \"open\" : \"closed\",\n ...(className ? { className } : {}),\n ...domProps,\n ref: mergedRef,\n onPointerEnter: composeEventHandlers(consumerOnPointerEnter, () => {\n intent.clearCloseTimer();\n }),\n onPointerLeave: composeEventHandlers(\n consumerOnPointerLeave,\n (event: PointerEvent<HTMLElement>) => {\n if (event.pointerType === \"mouse\") closeTooltip();\n },\n ),\n },\n render,\n state: { open, positioning: \"native\" as const },\n });\n}\nexport const Tooltip = {\n Content: TooltipContent,\n Provider: TooltipProvider,\n Root: TooltipRoot,\n Trigger: TooltipTrigger,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualScroll.d.ts","sourceRoot":"","sources":["../../../src/components/virtual-scroll/VirtualScroll.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"VirtualScroll.d.ts","sourceRoot":"","sources":["../../../src/components/virtual-scroll/VirtualScroll.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAuCf,OAAO,KAAK,EAEV,iBAAiB,EACjB,qBAAqB,EAItB,MAAM,YAAY,CAAC;AAwBpB,wBAAgB,aAAa,CAAC,CAAC,SAAS,iBAAiB,EACvD,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAC9B,YAAY,CAugBd;yBAzgBe,aAAa"}
|