@gunkin/uiify 0.0.25-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/reference/components/accordion.md +4 -4
- package/agents/reference/components/alert-modal.md +10 -10
- package/agents/reference/components/alert.md +1 -1
- package/agents/reference/components/aspect-ratio.md +1 -1
- package/agents/reference/components/avatar.md +2 -2
- package/agents/reference/components/breadcrumb.md +9 -10
- package/agents/reference/components/candle-chart.md +35 -35
- package/agents/reference/components/carousel.md +10 -14
- package/agents/reference/components/collapsible.md +3 -3
- package/agents/reference/components/color-picker.md +6 -6
- package/agents/reference/components/combobox.md +7 -17
- package/agents/reference/components/context-menu.md +5 -26
- package/agents/reference/components/date-picker.md +2 -1
- package/agents/reference/components/drawer.md +17 -31
- package/agents/reference/components/dropdown-menu.md +2 -3
- package/agents/reference/components/field.md +11 -11
- package/agents/reference/components/form-error-summary.md +4 -4
- package/agents/reference/components/input-group.md +1 -0
- package/agents/reference/components/input.md +1 -0
- package/agents/reference/components/line-chart.md +29 -29
- package/agents/reference/components/modal.md +13 -15
- package/agents/reference/components/number-field.md +1 -1
- package/agents/reference/components/otp-input.md +2 -1
- package/agents/reference/components/pagination.md +7 -8
- package/agents/reference/components/rating.md +1 -1
- package/agents/reference/components/segmented-control.md +1 -0
- package/agents/reference/components/select.md +1 -0
- package/agents/reference/components/slider.md +4 -4
- package/agents/reference/components/spinner.md +1 -1
- package/agents/reference/components/table.md +1 -1
- package/agents/reference/components/tabs.md +6 -6
- package/agents/reference/components/tags-input.md +5 -12
- package/agents/reference/components/toast.md +8 -15
- package/agents/reference/components/toggle.md +4 -3
- package/agents/reference/components/virtual-scroll.md +4 -5
- package/agents/reference/elements/choice.md +3 -3
- package/agents/reference/elements/details.md +2 -2
- package/agents/reference/elements/popover.md +3 -3
- package/dist/components/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/accordion/Accordion.js +20 -46
- package/dist/components/accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/types.d.ts +6 -15
- 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 +5 -14
- package/dist/components/alert/Alert.js.map +1 -1
- package/dist/components/alert/types.d.ts +3 -7
- package/dist/components/alert/types.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModal.d.ts.map +1 -1
- package/dist/components/alert-modal/AlertModal.js +28 -137
- 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 +4 -37
- package/dist/components/alert-modal/AlertModalParts.js.map +1 -1
- package/dist/components/alert-modal/types.d.ts +15 -33
- 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 +4 -12
- package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
- package/dist/components/aspect-ratio/types.d.ts +3 -6
- 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 +4 -21
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/types.d.ts +4 -14
- package/dist/components/avatar/types.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.js +43 -123
- package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb/types.d.ts +12 -35
- package/dist/components/breadcrumb/types.d.ts.map +1 -1
- package/dist/components/candle-chart/CandleChart.d.ts.map +1 -1
- package/dist/components/candle-chart/CandleChart.js +122 -186
- 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 +8 -15
- package/dist/components/candle-chart/client/CandleChartClient.js.map +1 -1
- package/dist/components/candle-chart/types.d.ts +42 -116
- package/dist/components/candle-chart/types.d.ts.map +1 -1
- package/dist/components/carousel/CarouselMarkup.d.ts.map +1 -1
- package/dist/components/carousel/CarouselMarkup.js +55 -142
- package/dist/components/carousel/CarouselMarkup.js.map +1 -1
- package/dist/components/carousel/types.d.ts +13 -80
- package/dist/components/carousel/types.d.ts.map +1 -1
- package/dist/components/collapsible/Collapsible.d.ts +1 -5
- package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
- package/dist/components/collapsible/Collapsible.js +3 -33
- package/dist/components/collapsible/Collapsible.js.map +1 -1
- package/dist/components/collapsible/types.d.ts +4 -18
- 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 +28 -123
- package/dist/components/color-picker/ColorPicker.js.map +1 -1
- package/dist/components/color-picker/types.d.ts +11 -30
- 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 +30 -23
- package/dist/components/combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/types.d.ts +9 -29
- 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 +30 -53
- package/dist/components/context-menu/ContextMenu.js.map +1 -1
- package/dist/components/context-menu/types.d.ts +6 -31
- 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 +12 -12
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/DrawerNative.d.ts.map +1 -1
- package/dist/components/drawer/DrawerNative.js +47 -252
- package/dist/components/drawer/DrawerNative.js.map +1 -1
- package/dist/components/drawer/types.d.ts +25 -30
- 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 +30 -27
- 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 +3 -7
- package/dist/components/dropdown-menu/DropdownMenuBar.js.map +1 -1
- package/dist/components/dropdown-menu/types.d.ts +2 -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 +11 -11
- 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 +20 -34
- package/dist/components/form-error-summary/FormErrorSummary.js.map +1 -1
- package/dist/components/form-error-summary/types.d.ts +6 -16
- 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 +14 -51
- package/dist/components/internal/choice-family/ChoiceGroup.js.map +1 -1
- package/dist/components/internal/choice-family/types.d.ts +8 -40
- 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/native-check-control/NativeCheckControl.d.ts.map +1 -1
- package/dist/components/internal/native-check-control/NativeCheckControl.js +8 -32
- package/dist/components/internal/native-check-control/NativeCheckControl.js.map +1 -1
- package/dist/components/internal/native-check-control/types.d.ts +4 -18
- package/dist/components/internal/native-check-control/types.d.ts.map +1 -1
- package/dist/components/line-chart/LineChart.d.ts.map +1 -1
- package/dist/components/line-chart/LineChart.js +134 -208
- 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 +8 -15
- package/dist/components/line-chart/client/LineChartClient.js.map +1 -1
- package/dist/components/line-chart/types.d.ts +36 -103
- package/dist/components/line-chart/types.d.ts.map +1 -1
- package/dist/components/modal/Modal.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +34 -115
- 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/types.d.ts +19 -19
- 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 +9 -9
- 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 +26 -69
- 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/types.d.ts +9 -32
- package/dist/components/pagination/types.d.ts.map +1 -1
- package/dist/components/rating/types.d.ts +1 -5
- 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 +4 -2
- 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 +4 -2
- package/dist/components/segmented-control/client/SegmentedControlClient.js.map +1 -1
- package/dist/components/segmented-control/types.d.ts +3 -0
- 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 +53 -100
- package/dist/components/slider/client/SliderClient.js.map +1 -1
- package/dist/components/slider/types.d.ts +8 -38
- 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 +2 -10
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/spinner/types.d.ts +3 -6
- package/dist/components/spinner/types.d.ts.map +1 -1
- package/dist/components/table/client/TableColumnHeader.d.ts.map +1 -1
- package/dist/components/table/client/TableColumnHeader.js +1 -15
- package/dist/components/table/client/TableColumnHeader.js.map +1 -1
- package/dist/components/table/types.d.ts +2 -6
- package/dist/components/table/types.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +9 -43
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tabs/types.d.ts +8 -21
- 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 +16 -27
- package/dist/components/tags-input/TagsInput.js.map +1 -1
- package/dist/components/tags-input/types.d.ts +8 -23
- package/dist/components/tags-input/types.d.ts.map +1 -1
- package/dist/components/toast/Toast.d.ts.map +1 -1
- package/dist/components/toast/Toast.js +13 -62
- 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 +20 -57
- package/dist/components/toast/ToastElements.js.map +1 -1
- package/dist/components/toast/types.d.ts +9 -36
- 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 +36 -61
- package/dist/components/toggle/Toggle.js.map +1 -1
- package/dist/components/toggle/types.d.ts +5 -24
- package/dist/components/toggle/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 +65 -43
- package/dist/components/virtual-scroll/VirtualScroll.js.map +1 -1
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js +2 -2
- package/dist/components/virtual-scroll/VirtualScrollRowShell.js.map +1 -1
- package/dist/components/virtual-scroll/types.d.ts +7 -20
- 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 +9 -7
- package/dist/core/slot-props.d.ts.map +1 -1
- package/dist/core/slot-props.js +4 -14
- package/dist/core/slot-props.js.map +1 -1
- package/dist/elements/choice/Choice.d.ts.map +1 -1
- package/dist/elements/choice/Choice.js +5 -42
- package/dist/elements/choice/Choice.js.map +1 -1
- package/dist/elements/choice/types.d.ts +4 -11
- 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/styles/index.css +1 -1
- package/dist/styles/tailwind.css +2 -2
- package/dist/styles/tokens.css +1 -1
- package/package.json +1 -1
- package/skills/uiify/references/elements/aspect-ratio.md +1 -1
- package/skills/uiify/references/elements/field.md +1 -1
- package/skills/uiify/references/elements/toggle.md +1 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ComponentPropsWithRef, ElementType, ReactNode } from "react";
|
|
2
2
|
import type { RenderableProps } from "@gunkin/uiify/core/render";
|
|
3
|
-
import type { ConsumerDataAttributes } from "../../core/slot-props.js";
|
|
3
|
+
import type { ConsumerDataAttributes, SlotProps } from "../../core/slot-props.js";
|
|
4
4
|
export interface TagsInputStoreOptions {
|
|
5
5
|
readonly allowDuplicates?: boolean;
|
|
6
6
|
readonly maxTags?: number;
|
|
@@ -28,9 +28,7 @@ export interface TagsInputContextValue {
|
|
|
28
28
|
readonly setInputValue: (value: string) => void;
|
|
29
29
|
readonly store: TagsInputStore;
|
|
30
30
|
}
|
|
31
|
-
export interface TagsInputRootShellOwnProps extends Omit<ComponentPropsWithRef<"div">, "children" | "className" | "
|
|
32
|
-
readonly "data-disabled"?: never;
|
|
33
|
-
readonly "data-uiify-tags-input"?: never;
|
|
31
|
+
export interface TagsInputRootShellOwnProps extends Omit<ComponentPropsWithRef<"div">, "children" | "className" | "dangerouslySetInnerHTML">, ConsumerDataAttributes {
|
|
34
32
|
readonly className?: string;
|
|
35
33
|
readonly addOnPaste?: boolean;
|
|
36
34
|
readonly allowDuplicates?: boolean;
|
|
@@ -59,22 +57,13 @@ export interface TagsInputInputOwnProps {
|
|
|
59
57
|
export type TagsInputInputProps<TAs extends ElementType = "input"> = RenderableProps<TAs, TagsInputInputOwnProps, {
|
|
60
58
|
disabled: boolean;
|
|
61
59
|
}, HTMLInputElement>;
|
|
62
|
-
type TagsInputPartSlotProps<TTag extends ElementType> = Omit<ComponentPropsWithRef<TTag>, "children" | "dangerouslySetInnerHTML" | "data-part"> & ConsumerDataAttributes & {
|
|
63
|
-
readonly "data-part"?: never;
|
|
64
|
-
};
|
|
65
|
-
type TagsInputIndexedSlotProps<TTag extends ElementType, TOwned extends object = object> = TagsInputPartSlotProps<TTag> & TOwned & {
|
|
66
|
-
readonly byItemIndex?: Readonly<Record<number, TagsInputPartSlotProps<TTag> & TOwned>>;
|
|
67
|
-
};
|
|
68
60
|
export interface TagsInputListSlotProps {
|
|
69
|
-
readonly input?:
|
|
70
|
-
readonly tag?:
|
|
71
|
-
readonly "
|
|
72
|
-
|
|
73
|
-
}>;
|
|
61
|
+
readonly input?: SlotProps<"li">;
|
|
62
|
+
readonly tag?: SlotProps<"li"> & {
|
|
63
|
+
readonly byItemIndex?: Readonly<Record<number, SlotProps<"li">>>;
|
|
64
|
+
};
|
|
74
65
|
}
|
|
75
|
-
export interface TagsInputListOwnProps extends Omit<ComponentPropsWithRef<"ul">, "children" | "className" | "
|
|
76
|
-
readonly "data-orientation"?: never;
|
|
77
|
-
readonly "data-part"?: never;
|
|
66
|
+
export interface TagsInputListOwnProps extends Omit<ComponentPropsWithRef<"ul">, "children" | "className" | "dangerouslySetInnerHTML">, ConsumerDataAttributes {
|
|
78
67
|
readonly children?: ReactNode;
|
|
79
68
|
readonly className?: string;
|
|
80
69
|
readonly slotProps?: TagsInputListSlotProps;
|
|
@@ -88,12 +77,8 @@ export interface TagsInputTagOwnProps {
|
|
|
88
77
|
export type TagsInputTagProps<TAs extends ElementType = "li"> = RenderableProps<TAs, TagsInputTagOwnProps, {
|
|
89
78
|
current: boolean;
|
|
90
79
|
}, HTMLElement>;
|
|
91
|
-
export interface TagsInputTagRemoveOwnProps extends
|
|
80
|
+
export interface TagsInputTagRemoveOwnProps extends ComponentPropsWithRef<"button">, ConsumerDataAttributes {
|
|
92
81
|
readonly className?: string;
|
|
93
|
-
readonly "data-part"?: never;
|
|
94
|
-
readonly disabled?: never;
|
|
95
82
|
readonly index: number;
|
|
96
|
-
readonly type?: never;
|
|
97
83
|
}
|
|
98
|
-
export {};
|
|
99
84
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tags-input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/tags-input/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/Toast.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAA2C,YAAY,EAAE,MAAM,OAAO,CAAC;AAOnF,OAAO,EAGL,gBAAgB,EAChB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,UAAU,EAGV,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAgBpB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAExC,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/Toast.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAA2C,YAAY,EAAE,MAAM,OAAO,CAAC;AAOnF,OAAO,EAGL,gBAAgB,EAChB,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,UAAU,EAGV,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,WAAW,EACX,aAAa,EACb,qBAAqB,EACrB,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAgBpB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAExC,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAuC/E;yBAvCe,aAAa;;;AA0C7B,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAoD/E;yBApDe,aAAa;;;AAuD7B,wBAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,GAAG,IAAI,CAuFvE;yBAvFe,SAAS;;;AA0FzB,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAExE;yBAFe,WAAW;;;AAK3B,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAEtE;yBAFe,UAAU;;;AAK1B,wBAAgB,QAAQ;;iBAIP,UAAU;EAI1B;AAED,eAAO,MAAM,KAAK;;;;;;;;CAQjB,CAAC"}
|
|
@@ -15,7 +15,7 @@ import { useIsomorphicLayoutEffect, useMergedRefs } from "@gunkin/uiify/hooks";
|
|
|
15
15
|
import { createPartContext, splitRef } from "@gunkin/uiify/core";
|
|
16
16
|
import { VisuallyHidden } from "@gunkin/uiify/core/visually-hidden";
|
|
17
17
|
import { composeEventHandlers } from "@gunkin/uiify/core/compose-event-handlers";
|
|
18
|
-
import {
|
|
18
|
+
import { resolveRepeatedSlotProps } from "../../core/slot-props.js";
|
|
19
19
|
import { createToastStore } from "./toast-store.js";
|
|
20
20
|
import {
|
|
21
21
|
ToastAction as ToastActionElement,
|
|
@@ -57,22 +57,12 @@ function ToastProvider(props) {
|
|
|
57
57
|
() => ({ dismiss, pause, resume, store, labels: resolvedLabels }),
|
|
58
58
|
[dismiss, pause, resume, store, resolvedLabels]
|
|
59
59
|
);
|
|
60
|
-
const politeLiveRegionProps =
|
|
61
|
-
|
|
62
|
-
"aria-live",
|
|
63
|
-
"children",
|
|
64
|
-
"dangerouslySetInnerHTML"
|
|
65
|
-
]);
|
|
66
|
-
const assertiveLiveRegionProps = omitProps(slotProps?.assertiveLiveRegion, [
|
|
67
|
-
"aria-atomic",
|
|
68
|
-
"aria-live",
|
|
69
|
-
"children",
|
|
70
|
-
"dangerouslySetInnerHTML"
|
|
71
|
-
]);
|
|
60
|
+
const politeLiveRegionProps = slotProps?.politeLiveRegion;
|
|
61
|
+
const assertiveLiveRegionProps = slotProps?.assertiveLiveRegion;
|
|
72
62
|
return /* @__PURE__ */ jsxs(ToastStoreProvider, { value: contextValue, children: [
|
|
73
63
|
children,
|
|
74
|
-
/* @__PURE__ */ jsx(VisuallyHidden, {
|
|
75
|
-
/* @__PURE__ */ jsx(VisuallyHidden, {
|
|
64
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { "aria-atomic": "true", "aria-live": "polite", ...politeLiveRegionProps, children: announcement }),
|
|
65
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { "aria-atomic": "true", "aria-live": "assertive", ...assertiveLiveRegionProps, children: assertiveAnnouncement })
|
|
76
66
|
] });
|
|
77
67
|
}
|
|
78
68
|
ToastProvider.displayName = "ToastProvider";
|
|
@@ -105,17 +95,10 @@ function ToastViewport(props) {
|
|
|
105
95
|
} catch {
|
|
106
96
|
}
|
|
107
97
|
}, [hasToasts]);
|
|
108
|
-
return /* @__PURE__ */ jsx(ToastViewportElement, { ...domProps, labels: resolvedLabels,
|
|
98
|
+
return /* @__PURE__ */ jsx(ToastViewportElement, { popover: "manual", ...domProps, labels: resolvedLabels, ref: mergedRef, children: toasts.map((toast) => /* @__PURE__ */ jsx(ViewTransition, { default: TOAST_TRANSITION, children: /* @__PURE__ */ jsx(
|
|
109
99
|
ToastRoot,
|
|
110
100
|
{
|
|
111
|
-
...resolveRepeatedSlotProps(itemSlotProps, toast.id,
|
|
112
|
-
"aria-label",
|
|
113
|
-
"data-part",
|
|
114
|
-
"data-state",
|
|
115
|
-
"data-uiify-toast",
|
|
116
|
-
"role",
|
|
117
|
-
"tabIndex"
|
|
118
|
-
]),
|
|
101
|
+
...resolveRepeatedSlotProps(itemSlotProps, toast.id),
|
|
119
102
|
toast,
|
|
120
103
|
slotProps: rootSlotProps
|
|
121
104
|
}
|
|
@@ -130,53 +113,21 @@ function ToastRoot(props) {
|
|
|
130
113
|
const endSwipe = (event) => {
|
|
131
114
|
if (swipeRef.current?.pointerId === event.pointerId) swipeRef.current = null;
|
|
132
115
|
};
|
|
133
|
-
const rootProps =
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
"data-state",
|
|
139
|
-
"data-uiify-toast",
|
|
140
|
-
"role",
|
|
141
|
-
"tabIndex"
|
|
142
|
-
]);
|
|
143
|
-
const titleProps = resolveRepeatedSlotProps(slotProps?.title, toast.id, [
|
|
144
|
-
"children",
|
|
145
|
-
"dangerouslySetInnerHTML",
|
|
146
|
-
"data-part",
|
|
147
|
-
"data-uiify-toast"
|
|
148
|
-
]);
|
|
149
|
-
const descriptionProps = resolveRepeatedSlotProps(slotProps?.description, toast.id, [
|
|
150
|
-
"children",
|
|
151
|
-
"dangerouslySetInnerHTML",
|
|
152
|
-
"data-part",
|
|
153
|
-
"data-uiify-toast"
|
|
154
|
-
]);
|
|
155
|
-
const actionProps = resolveRepeatedSlotProps(slotProps?.action, toast.id, [
|
|
156
|
-
"children",
|
|
157
|
-
"dangerouslySetInnerHTML",
|
|
158
|
-
"type",
|
|
159
|
-
"data-part",
|
|
160
|
-
"data-uiify-toast"
|
|
161
|
-
]);
|
|
162
|
-
const closeProps = resolveRepeatedSlotProps(slotProps?.close, toast.id, [
|
|
163
|
-
"aria-label",
|
|
164
|
-
"children",
|
|
165
|
-
"dangerouslySetInnerHTML",
|
|
166
|
-
"type",
|
|
167
|
-
"data-part",
|
|
168
|
-
"data-uiify-toast"
|
|
169
|
-
]);
|
|
116
|
+
const rootProps = consumerRootProps;
|
|
117
|
+
const titleProps = resolveRepeatedSlotProps(slotProps?.title, toast.id);
|
|
118
|
+
const descriptionProps = resolveRepeatedSlotProps(slotProps?.description, toast.id);
|
|
119
|
+
const actionProps = resolveRepeatedSlotProps(slotProps?.action, toast.id);
|
|
120
|
+
const closeProps = resolveRepeatedSlotProps(slotProps?.close, toast.id);
|
|
170
121
|
return /* @__PURE__ */ jsxs(
|
|
171
122
|
"div",
|
|
172
123
|
{
|
|
173
|
-
...rootProps,
|
|
174
124
|
"aria-label": typeof toast.title === "string" ? toast.title : labels.notification,
|
|
175
125
|
"data-state": "open",
|
|
176
126
|
"data-part": "item",
|
|
177
127
|
"data-uiify-toast": "",
|
|
178
128
|
role: "group",
|
|
179
129
|
tabIndex: 0,
|
|
130
|
+
...rootProps,
|
|
180
131
|
onFocus: composeEventHandlers(rootProps.onFocus, () => pause(toast.id)),
|
|
181
132
|
onBlur: composeEventHandlers(rootProps.onBlur, (event) => {
|
|
182
133
|
if (!event.currentTarget.matches(":hover, :focus-within")) resume(toast.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/toast/Toast.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n addTransitionType,\n startTransition,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n ViewTransition,\n} from \"react\";\nimport type { FocusEvent, KeyboardEvent, PointerEvent, ReactElement } from \"react\";\nimport { useIsomorphicLayoutEffect, useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport { createPartContext, splitRef } from \"@gunkin/uiify/core\";\nimport { VisuallyHidden } from \"@gunkin/uiify/core/visually-hidden\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { omitProps, resolveRepeatedSlotProps } from \"../../core/slot-props.js\";\nimport { createToastStore } from \"./toast-store.js\";\nimport {\n ToastAction as ToastActionElement,\n ToastClose as ToastCloseElement,\n ToastDescription,\n ToastTitle,\n ToastViewport as ToastViewportElement,\n} from \"./ToastElements.js\";\nimport type {\n ToastInput,\n ToastStore,\n ToastContextValue,\n ToastProviderOwnProps,\n ToastViewportOwnProps,\n ToastRootOwnProps,\n ToastActionProps,\n ToastCloseProps,\n ToastLabels,\n} from \"./types.js\";\n\nexport type {\n ToastActionProps,\n ToastCloseProps,\n ToastDescriptionOwnProps,\n ToastInput,\n ToastLabels,\n ToastPriority,\n ToastProviderOwnProps,\n ToastRecord,\n ToastRootOwnProps,\n ToastStore,\n ToastTitleOwnProps,\n ToastViewportOwnProps,\n ToastProviderSlotProps,\n ToastRootSlotProps,\n ToastItemSlotProps,\n ToastTitleSlotProps,\n ToastDescriptionSlotProps,\n ToastActionSlotProps,\n ToastCloseSlotProps,\n ToastViewportSlotProps,\n} from \"./types.js\";\n\nconst DEFAULT_TOAST_LABELS: ToastLabels = {\n region: \"Notifications\",\n notification: \"Notification\",\n close: \"Close\",\n};\n\n/** Transition type and view-transition-class shared with behavior.css and styles/toast.css. */\nconst TOAST_TRANSITION = \"uiify-toast\";\n\nconst [ToastStoreProvider, useToastStoreContext] = createPartContext<ToastContextValue>(\n \"Toast\",\n \"Provider\",\n);\n\nexport { ToastDescription, ToastTitle };\n\nexport function ToastProvider(props: ToastProviderOwnProps): ReactElement | null {\n const { children, limit = 3, labels, slotProps } = props;\n const resolvedLabels = useMemo(() => ({ ...DEFAULT_TOAST_LABELS, ...labels }), [labels]);\n const storeRef = useRef<ToastStore | null>(null);\n storeRef.current ??= createToastStore({ limit });\n const store = storeRef.current;\n\n const dismiss = useCallback((id: string) => store.dismiss(id), [store]);\n const pause = useCallback((id: string) => store.pause(id), [store]);\n const resume = useCallback((id: string) => store.resume(id), [store]);\n\n const announcement = useSyncExternalStore(\n store.subscribe,\n () => store.getAnnouncement(),\n () => \"\",\n );\n const assertiveAnnouncement = useSyncExternalStore(\n store.subscribe,\n () => store.getAssertiveAnnouncement(),\n () => \"\",\n );\n const contextValue = useMemo(\n () => ({ dismiss, pause, resume, store, labels: resolvedLabels }),\n [dismiss, pause, resume, store, resolvedLabels],\n );\n const politeLiveRegionProps = omitProps(slotProps?.politeLiveRegion, [\n \"aria-atomic\",\n \"aria-live\",\n \"children\",\n \"dangerouslySetInnerHTML\",\n ]);\n const assertiveLiveRegionProps = omitProps(slotProps?.assertiveLiveRegion, [\n \"aria-atomic\",\n \"aria-live\",\n \"children\",\n \"dangerouslySetInnerHTML\",\n ]);\n\n return (\n <ToastStoreProvider value={contextValue}>\n {children}\n <VisuallyHidden {...politeLiveRegionProps} aria-atomic=\"true\" aria-live=\"polite\">\n {announcement}\n </VisuallyHidden>\n <VisuallyHidden {...assertiveLiveRegionProps} aria-atomic=\"true\" aria-live=\"assertive\">\n {assertiveAnnouncement}\n </VisuallyHidden>\n </ToastStoreProvider>\n );\n}\nToastProvider.displayName = \"ToastProvider\";\n\nexport function ToastViewport(props: ToastViewportOwnProps): ReactElement | null {\n const { store } = useToastStoreContext(\"Viewport\");\n // Not useSyncExternalStore: a store read there always commits synchronously, and\n // <ViewTransition> only animates commits made inside a Transition.\n const [toasts, setToasts] = useState(store.getServerSnapshot);\n useEffect(() => {\n const sync = () =>\n startTransition(() => {\n addTransitionType(TOAST_TRANSITION);\n setToasts(store.getSnapshot());\n });\n const unsubscribe = store.subscribe(sync);\n sync();\n return unsubscribe;\n }, [store]);\n const { slotProps, ...viewportProps } = props;\n const [consumerRef, domProps] = splitRef<HTMLElement, ToastViewportOwnProps>(viewportProps);\n const { labels } = useToastStoreContext(\"Viewport\");\n const resolvedLabels = { ...labels, ...props.labels };\n const { item: itemSlotProps, ...rootSlotProps } = slotProps ?? {};\n const viewportRef = useRef<HTMLElement | null>(null);\n const mergedRef = useMergedRefs(viewportRef, consumerRef);\n const hasToasts = toasts.length > 0;\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 viewport = viewportRef.current;\n if (!viewport) return;\n try {\n if (hasToasts && !viewport.matches(\":popover-open\")) viewport.showPopover();\n if (!hasToasts && viewport.matches(\":popover-open\")) viewport.hidePopover();\n } catch {\n // The node may have disconnected between render and layout effect.\n }\n }, [hasToasts]);\n\n return (\n <ToastViewportElement {...domProps} labels={resolvedLabels} popover=\"manual\" ref={mergedRef}>\n {toasts.map((toast) => (\n <ViewTransition default={TOAST_TRANSITION} key={toast.id}>\n <ToastRoot\n {...resolveRepeatedSlotProps(itemSlotProps, toast.id, [\n \"aria-label\",\n \"data-part\",\n \"data-state\",\n \"data-uiify-toast\",\n \"role\",\n \"tabIndex\",\n ])}\n toast={toast}\n slotProps={rootSlotProps}\n />\n </ViewTransition>\n ))}\n </ToastViewportElement>\n );\n}\nToastViewport.displayName = \"ToastViewport\";\n\nexport function ToastRoot(props: ToastRootOwnProps): ReactElement | null {\n const { toast, labels: labelOverrides, slotProps, ...consumerRootProps } = props;\n const { dismiss, pause, resume, labels: providerLabels } = useToastStoreContext(\"Root\");\n const labels = { ...providerLabels, ...labelOverrides };\n const swipeRef = useRef<PointerEvent<HTMLDivElement> | null>(null);\n const endSwipe = (event: PointerEvent<HTMLDivElement>) => {\n if (swipeRef.current?.pointerId === event.pointerId) swipeRef.current = null;\n };\n const rootProps = omitProps(consumerRootProps, [\n \"aria-label\",\n \"children\",\n \"dangerouslySetInnerHTML\",\n \"data-part\",\n \"data-state\",\n \"data-uiify-toast\",\n \"role\",\n \"tabIndex\",\n ]);\n const titleProps = resolveRepeatedSlotProps(slotProps?.title, toast.id, [\n \"children\",\n \"dangerouslySetInnerHTML\",\n \"data-part\",\n \"data-uiify-toast\",\n ]);\n const descriptionProps = resolveRepeatedSlotProps(slotProps?.description, toast.id, [\n \"children\",\n \"dangerouslySetInnerHTML\",\n \"data-part\",\n \"data-uiify-toast\",\n ]);\n const actionProps = resolveRepeatedSlotProps(slotProps?.action, toast.id, [\n \"children\",\n \"dangerouslySetInnerHTML\",\n \"type\",\n \"data-part\",\n \"data-uiify-toast\",\n ]);\n const closeProps = resolveRepeatedSlotProps(slotProps?.close, toast.id, [\n \"aria-label\",\n \"children\",\n \"dangerouslySetInnerHTML\",\n \"type\",\n \"data-part\",\n \"data-uiify-toast\",\n ]);\n\n /* oxlint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/no-noninteractive-tabindex, jsx-a11y/prefer-tag-over-role -- pause/swipe on toast card */\n return (\n <div\n {...rootProps}\n aria-label={typeof toast.title === \"string\" ? toast.title : labels.notification}\n data-state=\"open\"\n data-part=\"item\"\n data-uiify-toast=\"\"\n role=\"group\"\n tabIndex={0}\n onFocus={composeEventHandlers(rootProps.onFocus, () => pause(toast.id))}\n onBlur={composeEventHandlers(rootProps.onBlur, (event: FocusEvent<HTMLDivElement>) => {\n if (!event.currentTarget.matches(\":hover, :focus-within\")) resume(toast.id);\n })}\n onKeyDown={composeEventHandlers(\n rootProps.onKeyDown,\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n dismiss(toast.id);\n }\n },\n )}\n onPointerEnter={composeEventHandlers(rootProps.onPointerEnter, () => pause(toast.id))}\n onPointerLeave={composeEventHandlers(\n rootProps.onPointerLeave,\n (event: PointerEvent<HTMLDivElement>) => {\n if (!event.currentTarget.matches(\":focus-within\")) resume(toast.id);\n },\n )}\n onPointerCancel={composeEventHandlers(rootProps.onPointerCancel, endSwipe)}\n onPointerDown={composeEventHandlers(\n rootProps.onPointerDown,\n (event: PointerEvent<HTMLDivElement>) => {\n if (!swipeRef.current && event.isPrimary) swipeRef.current = event;\n },\n )}\n onPointerMove={composeEventHandlers(\n rootProps.onPointerMove,\n (event: PointerEvent<HTMLDivElement>) => {\n const swipe = swipeRef.current;\n if (swipe?.pointerId !== event.pointerId) return;\n const deltaX = event.clientX - swipe.clientX;\n const deltaY = event.clientY - swipe.clientY;\n if (Math.abs(deltaX) <= 80 || Math.abs(deltaX) <= Math.abs(deltaY)) return;\n dismiss(toast.id);\n },\n )}\n onPointerUp={composeEventHandlers(rootProps.onPointerUp, endSwipe)}\n >\n {toast.title ? <ToastTitle {...titleProps}>{toast.title}</ToastTitle> : null}\n {toast.description ? (\n <ToastDescription {...descriptionProps}>{toast.description}</ToastDescription>\n ) : null}\n {toast.action ? (\n <ToastAction\n {...actionProps}\n onClick={composeEventHandlers(actionProps?.onClick, () => {\n toast.action?.onClick();\n dismiss(toast.id);\n })}\n >\n {toast.action.label}\n </ToastAction>\n ) : null}\n <ToastClose\n {...closeProps}\n labels={labels}\n onClick={composeEventHandlers(closeProps?.onClick, () => dismiss(toast.id))}\n />\n </div>\n );\n /* oxlint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/no-noninteractive-tabindex, jsx-a11y/prefer-tag-over-role */\n}\nToastRoot.displayName = \"ToastRoot\";\n\nexport function ToastAction(props: ToastActionProps): ReactElement | null {\n return <ToastActionElement {...props} />;\n}\nToastAction.displayName = \"ToastAction\";\n\nexport function ToastClose(props: ToastCloseProps): ReactElement | null {\n return <ToastCloseElement {...props} />;\n}\nToastClose.displayName = \"ToastClose\";\n\nexport function useToast() {\n const { dismiss, store } = useToastStoreContext(\"useToast\");\n return {\n dismiss,\n toast(input: ToastInput) {\n return store.enqueue(input);\n },\n };\n}\n\nexport const Toast = {\n Action: ToastAction,\n Close: ToastClose,\n Description: ToastDescription,\n Provider: ToastProvider,\n Root: ToastRoot,\n Title: ToastTitle,\n Viewport: ToastViewport,\n};\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/toast/Toast.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n addTransitionType,\n startTransition,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n ViewTransition,\n} from \"react\";\nimport type { FocusEvent, KeyboardEvent, PointerEvent, ReactElement } from \"react\";\nimport { useIsomorphicLayoutEffect, useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport { createPartContext, splitRef } from \"@gunkin/uiify/core\";\nimport { VisuallyHidden } from \"@gunkin/uiify/core/visually-hidden\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { resolveRepeatedSlotProps } from \"../../core/slot-props.js\";\nimport { createToastStore } from \"./toast-store.js\";\nimport {\n ToastAction as ToastActionElement,\n ToastClose as ToastCloseElement,\n ToastDescription,\n ToastTitle,\n ToastViewport as ToastViewportElement,\n} from \"./ToastElements.js\";\nimport type {\n ToastInput,\n ToastStore,\n ToastContextValue,\n ToastProviderOwnProps,\n ToastViewportOwnProps,\n ToastRootOwnProps,\n ToastActionProps,\n ToastCloseProps,\n ToastLabels,\n} from \"./types.js\";\n\nexport type {\n ToastActionProps,\n ToastCloseProps,\n ToastDescriptionOwnProps,\n ToastInput,\n ToastLabels,\n ToastPriority,\n ToastProviderOwnProps,\n ToastRecord,\n ToastRootOwnProps,\n ToastStore,\n ToastTitleOwnProps,\n ToastViewportOwnProps,\n ToastProviderSlotProps,\n ToastRootSlotProps,\n ToastItemSlotProps,\n ToastTitleSlotProps,\n ToastDescriptionSlotProps,\n ToastActionSlotProps,\n ToastCloseSlotProps,\n ToastViewportSlotProps,\n} from \"./types.js\";\n\nconst DEFAULT_TOAST_LABELS: ToastLabels = {\n region: \"Notifications\",\n notification: \"Notification\",\n close: \"Close\",\n};\n\n/** Transition type and view-transition-class shared with behavior.css and styles/toast.css. */\nconst TOAST_TRANSITION = \"uiify-toast\";\n\nconst [ToastStoreProvider, useToastStoreContext] = createPartContext<ToastContextValue>(\n \"Toast\",\n \"Provider\",\n);\n\nexport { ToastDescription, ToastTitle };\n\nexport function ToastProvider(props: ToastProviderOwnProps): ReactElement | null {\n const { children, limit = 3, labels, slotProps } = props;\n const resolvedLabels = useMemo(() => ({ ...DEFAULT_TOAST_LABELS, ...labels }), [labels]);\n const storeRef = useRef<ToastStore | null>(null);\n storeRef.current ??= createToastStore({ limit });\n const store = storeRef.current;\n\n const dismiss = useCallback((id: string) => store.dismiss(id), [store]);\n const pause = useCallback((id: string) => store.pause(id), [store]);\n const resume = useCallback((id: string) => store.resume(id), [store]);\n\n const announcement = useSyncExternalStore(\n store.subscribe,\n () => store.getAnnouncement(),\n () => \"\",\n );\n const assertiveAnnouncement = useSyncExternalStore(\n store.subscribe,\n () => store.getAssertiveAnnouncement(),\n () => \"\",\n );\n const contextValue = useMemo(\n () => ({ dismiss, pause, resume, store, labels: resolvedLabels }),\n [dismiss, pause, resume, store, resolvedLabels],\n );\n const politeLiveRegionProps = slotProps?.politeLiveRegion;\n const assertiveLiveRegionProps = slotProps?.assertiveLiveRegion;\n\n return (\n <ToastStoreProvider value={contextValue}>\n {children}\n <VisuallyHidden aria-atomic=\"true\" aria-live=\"polite\" {...politeLiveRegionProps}>\n {announcement}\n </VisuallyHidden>\n <VisuallyHidden aria-atomic=\"true\" aria-live=\"assertive\" {...assertiveLiveRegionProps}>\n {assertiveAnnouncement}\n </VisuallyHidden>\n </ToastStoreProvider>\n );\n}\nToastProvider.displayName = \"ToastProvider\";\n\nexport function ToastViewport(props: ToastViewportOwnProps): ReactElement | null {\n const { store } = useToastStoreContext(\"Viewport\");\n // Not useSyncExternalStore: a store read there always commits synchronously, and\n // <ViewTransition> only animates commits made inside a Transition.\n const [toasts, setToasts] = useState(store.getServerSnapshot);\n useEffect(() => {\n const sync = () =>\n startTransition(() => {\n addTransitionType(TOAST_TRANSITION);\n setToasts(store.getSnapshot());\n });\n const unsubscribe = store.subscribe(sync);\n sync();\n return unsubscribe;\n }, [store]);\n const { slotProps, ...viewportProps } = props;\n const [consumerRef, domProps] = splitRef<HTMLElement, ToastViewportOwnProps>(viewportProps);\n const { labels } = useToastStoreContext(\"Viewport\");\n const resolvedLabels = { ...labels, ...props.labels };\n const { item: itemSlotProps, ...rootSlotProps } = slotProps ?? {};\n const viewportRef = useRef<HTMLElement | null>(null);\n const mergedRef = useMergedRefs(viewportRef, consumerRef);\n const hasToasts = toasts.length > 0;\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 viewport = viewportRef.current;\n if (!viewport) return;\n try {\n if (hasToasts && !viewport.matches(\":popover-open\")) viewport.showPopover();\n if (!hasToasts && viewport.matches(\":popover-open\")) viewport.hidePopover();\n } catch {\n // The node may have disconnected between render and layout effect.\n }\n }, [hasToasts]);\n\n return (\n <ToastViewportElement popover=\"manual\" {...domProps} labels={resolvedLabels} ref={mergedRef}>\n {toasts.map((toast) => (\n <ViewTransition default={TOAST_TRANSITION} key={toast.id}>\n <ToastRoot\n {...resolveRepeatedSlotProps(itemSlotProps, toast.id)}\n toast={toast}\n slotProps={rootSlotProps}\n />\n </ViewTransition>\n ))}\n </ToastViewportElement>\n );\n}\nToastViewport.displayName = \"ToastViewport\";\n\nexport function ToastRoot(props: ToastRootOwnProps): ReactElement | null {\n const { toast, labels: labelOverrides, slotProps, ...consumerRootProps } = props;\n const { dismiss, pause, resume, labels: providerLabels } = useToastStoreContext(\"Root\");\n const labels = { ...providerLabels, ...labelOverrides };\n const swipeRef = useRef<PointerEvent<HTMLDivElement> | null>(null);\n const endSwipe = (event: PointerEvent<HTMLDivElement>) => {\n if (swipeRef.current?.pointerId === event.pointerId) swipeRef.current = null;\n };\n const rootProps = consumerRootProps;\n const titleProps = resolveRepeatedSlotProps(slotProps?.title, toast.id);\n const descriptionProps = resolveRepeatedSlotProps(slotProps?.description, toast.id);\n const actionProps = resolveRepeatedSlotProps(slotProps?.action, toast.id);\n const closeProps = resolveRepeatedSlotProps(slotProps?.close, toast.id);\n\n /* oxlint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/no-noninteractive-tabindex, jsx-a11y/prefer-tag-over-role -- pause/swipe on toast card */\n return (\n <div\n aria-label={typeof toast.title === \"string\" ? toast.title : labels.notification}\n data-state=\"open\"\n data-part=\"item\"\n data-uiify-toast=\"\"\n role=\"group\"\n tabIndex={0}\n {...rootProps}\n onFocus={composeEventHandlers(rootProps.onFocus, () => pause(toast.id))}\n onBlur={composeEventHandlers(rootProps.onBlur, (event: FocusEvent<HTMLDivElement>) => {\n if (!event.currentTarget.matches(\":hover, :focus-within\")) resume(toast.id);\n })}\n onKeyDown={composeEventHandlers(\n rootProps.onKeyDown,\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n dismiss(toast.id);\n }\n },\n )}\n onPointerEnter={composeEventHandlers(rootProps.onPointerEnter, () => pause(toast.id))}\n onPointerLeave={composeEventHandlers(\n rootProps.onPointerLeave,\n (event: PointerEvent<HTMLDivElement>) => {\n if (!event.currentTarget.matches(\":focus-within\")) resume(toast.id);\n },\n )}\n onPointerCancel={composeEventHandlers(rootProps.onPointerCancel, endSwipe)}\n onPointerDown={composeEventHandlers(\n rootProps.onPointerDown,\n (event: PointerEvent<HTMLDivElement>) => {\n if (!swipeRef.current && event.isPrimary) swipeRef.current = event;\n },\n )}\n onPointerMove={composeEventHandlers(\n rootProps.onPointerMove,\n (event: PointerEvent<HTMLDivElement>) => {\n const swipe = swipeRef.current;\n if (swipe?.pointerId !== event.pointerId) return;\n const deltaX = event.clientX - swipe.clientX;\n const deltaY = event.clientY - swipe.clientY;\n if (Math.abs(deltaX) <= 80 || Math.abs(deltaX) <= Math.abs(deltaY)) return;\n dismiss(toast.id);\n },\n )}\n onPointerUp={composeEventHandlers(rootProps.onPointerUp, endSwipe)}\n >\n {toast.title ? <ToastTitle {...titleProps}>{toast.title}</ToastTitle> : null}\n {toast.description ? (\n <ToastDescription {...descriptionProps}>{toast.description}</ToastDescription>\n ) : null}\n {toast.action ? (\n <ToastAction\n {...actionProps}\n onClick={composeEventHandlers(actionProps?.onClick, () => {\n toast.action?.onClick();\n dismiss(toast.id);\n })}\n >\n {toast.action.label}\n </ToastAction>\n ) : null}\n <ToastClose\n {...closeProps}\n labels={labels}\n onClick={composeEventHandlers(closeProps?.onClick, () => dismiss(toast.id))}\n />\n </div>\n );\n /* oxlint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/no-noninteractive-tabindex, jsx-a11y/prefer-tag-over-role */\n}\nToastRoot.displayName = \"ToastRoot\";\n\nexport function ToastAction(props: ToastActionProps): ReactElement | null {\n return <ToastActionElement {...props} />;\n}\nToastAction.displayName = \"ToastAction\";\n\nexport function ToastClose(props: ToastCloseProps): ReactElement | null {\n return <ToastCloseElement {...props} />;\n}\nToastClose.displayName = \"ToastClose\";\n\nexport function useToast() {\n const { dismiss, store } = useToastStoreContext(\"useToast\");\n return {\n dismiss,\n toast(input: ToastInput) {\n return store.enqueue(input);\n },\n };\n}\n\nexport const Toast = {\n Action: ToastAction,\n Close: ToastClose,\n Description: ToastDescription,\n Provider: ToastProvider,\n Root: ToastRoot,\n Title: ToastTitle,\n Viewport: ToastViewport,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToastElements.d.ts","sourceRoot":"","sources":["../../../src/components/toast/ToastElements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAQpB,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAE/E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ToastElements.d.ts","sourceRoot":"","sources":["../../../src/components/toast/ToastElements.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EAEhB,MAAM,YAAY,CAAC;AAQpB,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CAE/E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CA2B/E;yBA3Be,aAAa;;;AA8B7B,wBAAgB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,GAAG,IAAI,CA4BvE;yBA5Be,SAAS;;;AA+BzB,wBAAgB,UAAU,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI,CAazE;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,GAAG,YAAY,GAAG,IAAI,CAarF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAexE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAkBtE;AAED,eAAO,MAAM,KAAK;;;;;;;;CAQjB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useRenderElement } from "@gunkin/uiify/core/render";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveRepeatedSlotProps } from "../../core/slot-props.js";
|
|
4
4
|
const DEFAULT_TOAST_LABELS = {
|
|
5
5
|
region: "Notifications",
|
|
6
6
|
notification: "Notification",
|
|
@@ -13,27 +13,22 @@ function ToastViewport(props) {
|
|
|
13
13
|
const {
|
|
14
14
|
children,
|
|
15
15
|
className,
|
|
16
|
-
"aria-label": ariaLabel,
|
|
17
16
|
labels,
|
|
18
17
|
popover,
|
|
19
18
|
ref,
|
|
19
|
+
slotProps: _slotProps,
|
|
20
20
|
...consumerProps
|
|
21
21
|
} = props;
|
|
22
22
|
const resolvedLabels = { ...DEFAULT_TOAST_LABELS, ...labels };
|
|
23
|
-
const safeConsumerProps =
|
|
24
|
-
"dangerouslySetInnerHTML",
|
|
25
|
-
"data-part",
|
|
26
|
-
"slotProps",
|
|
27
|
-
"data-uiify-toast"
|
|
28
|
-
]);
|
|
23
|
+
const safeConsumerProps = consumerProps;
|
|
29
24
|
return /* @__PURE__ */ jsx(
|
|
30
25
|
"section",
|
|
31
26
|
{
|
|
32
|
-
|
|
33
|
-
"aria-label": ariaLabel ?? resolvedLabels.region,
|
|
27
|
+
"aria-label": resolvedLabels.region,
|
|
34
28
|
"data-part": "viewport",
|
|
35
|
-
"data-testid":
|
|
29
|
+
"data-testid": "toast-viewport",
|
|
36
30
|
"data-uiify-toast": "",
|
|
31
|
+
...safeConsumerProps,
|
|
37
32
|
ref,
|
|
38
33
|
...popover ? { popover } : {},
|
|
39
34
|
...className ? { className } : {},
|
|
@@ -45,52 +40,20 @@ ToastViewport.displayName = "ToastViewport";
|
|
|
45
40
|
function ToastRoot(props) {
|
|
46
41
|
const { toast, labels, slotProps, ...consumerRootProps } = props;
|
|
47
42
|
const resolvedLabels = { ...DEFAULT_TOAST_LABELS, ...labels };
|
|
48
|
-
const rootProps =
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"data-state",
|
|
54
|
-
"data-uiify-toast",
|
|
55
|
-
"role",
|
|
56
|
-
"tabIndex"
|
|
57
|
-
]);
|
|
58
|
-
const titleProps = resolveRepeatedSlotProps(slotProps?.title, toast.id, [
|
|
59
|
-
"children",
|
|
60
|
-
"dangerouslySetInnerHTML",
|
|
61
|
-
"data-part",
|
|
62
|
-
"data-uiify-toast"
|
|
63
|
-
]);
|
|
64
|
-
const descriptionProps = resolveRepeatedSlotProps(slotProps?.description, toast.id, [
|
|
65
|
-
"children",
|
|
66
|
-
"dangerouslySetInnerHTML",
|
|
67
|
-
"data-part",
|
|
68
|
-
"data-uiify-toast"
|
|
69
|
-
]);
|
|
70
|
-
const actionProps = resolveRepeatedSlotProps(slotProps?.action, toast.id, [
|
|
71
|
-
"children",
|
|
72
|
-
"dangerouslySetInnerHTML",
|
|
73
|
-
"type",
|
|
74
|
-
"data-part",
|
|
75
|
-
"data-uiify-toast"
|
|
76
|
-
]);
|
|
77
|
-
const closeProps = resolveRepeatedSlotProps(slotProps?.close, toast.id, [
|
|
78
|
-
"aria-label",
|
|
79
|
-
"children",
|
|
80
|
-
"dangerouslySetInnerHTML",
|
|
81
|
-
"type",
|
|
82
|
-
"data-part",
|
|
83
|
-
"data-uiify-toast"
|
|
84
|
-
]);
|
|
43
|
+
const rootProps = consumerRootProps;
|
|
44
|
+
const titleProps = resolveRepeatedSlotProps(slotProps?.title, toast.id);
|
|
45
|
+
const descriptionProps = resolveRepeatedSlotProps(slotProps?.description, toast.id);
|
|
46
|
+
const actionProps = resolveRepeatedSlotProps(slotProps?.action, toast.id);
|
|
47
|
+
const closeProps = resolveRepeatedSlotProps(slotProps?.close, toast.id);
|
|
85
48
|
return /* @__PURE__ */ jsxs(
|
|
86
49
|
"div",
|
|
87
50
|
{
|
|
88
|
-
...rootProps,
|
|
89
51
|
"aria-label": typeof toast.title === "string" ? toast.title : resolvedLabels.notification,
|
|
90
52
|
"data-part": "item",
|
|
91
53
|
"data-state": "open",
|
|
92
54
|
"data-uiify-toast": "",
|
|
93
55
|
role: "group",
|
|
56
|
+
...rootProps,
|
|
94
57
|
children: [
|
|
95
58
|
toast.title ? /* @__PURE__ */ jsx(ToastTitle, { ...titleProps, children: toast.title }) : null,
|
|
96
59
|
toast.description ? /* @__PURE__ */ jsx(ToastDescription, { ...descriptionProps, children: toast.description }) : null,
|
|
@@ -103,12 +66,12 @@ function ToastRoot(props) {
|
|
|
103
66
|
ToastRoot.displayName = "ToastRoot";
|
|
104
67
|
function ToastTitle(props) {
|
|
105
68
|
const { children, className, ...consumerProps } = props;
|
|
106
|
-
const safeConsumerProps =
|
|
69
|
+
const safeConsumerProps = consumerProps;
|
|
107
70
|
return useRenderElement({
|
|
108
71
|
defaultTag: "div",
|
|
109
72
|
props: {
|
|
110
|
-
...safeConsumerProps,
|
|
111
73
|
"data-part": "title",
|
|
74
|
+
...safeConsumerProps,
|
|
112
75
|
className,
|
|
113
76
|
children
|
|
114
77
|
},
|
|
@@ -117,12 +80,12 @@ function ToastTitle(props) {
|
|
|
117
80
|
}
|
|
118
81
|
function ToastDescription(props) {
|
|
119
82
|
const { children, className, ...consumerProps } = props;
|
|
120
|
-
const safeConsumerProps =
|
|
83
|
+
const safeConsumerProps = consumerProps;
|
|
121
84
|
return useRenderElement({
|
|
122
85
|
defaultTag: "div",
|
|
123
86
|
props: {
|
|
124
|
-
...safeConsumerProps,
|
|
125
87
|
"data-part": "description",
|
|
88
|
+
...safeConsumerProps,
|
|
126
89
|
className,
|
|
127
90
|
children
|
|
128
91
|
},
|
|
@@ -131,13 +94,13 @@ function ToastDescription(props) {
|
|
|
131
94
|
}
|
|
132
95
|
function ToastAction(props) {
|
|
133
96
|
const { children, className, onClick, ...consumerProps } = props;
|
|
134
|
-
const safeConsumerProps =
|
|
97
|
+
const safeConsumerProps = consumerProps;
|
|
135
98
|
return useRenderElement({
|
|
136
99
|
defaultTag: "button",
|
|
137
100
|
props: {
|
|
138
|
-
...safeConsumerProps,
|
|
139
101
|
type: "button",
|
|
140
102
|
"data-part": "action",
|
|
103
|
+
...safeConsumerProps,
|
|
141
104
|
className,
|
|
142
105
|
onClick,
|
|
143
106
|
children
|
|
@@ -147,15 +110,15 @@ function ToastAction(props) {
|
|
|
147
110
|
}
|
|
148
111
|
function ToastClose(props) {
|
|
149
112
|
const { children, className, labels, onClick, ...consumerProps } = props;
|
|
150
|
-
const safeConsumerProps =
|
|
113
|
+
const safeConsumerProps = consumerProps;
|
|
151
114
|
const resolvedChildren = children ?? labels?.close ?? DEFAULT_TOAST_LABELS.close;
|
|
152
115
|
return useRenderElement({
|
|
153
116
|
defaultTag: "button",
|
|
154
117
|
props: {
|
|
155
|
-
...safeConsumerProps,
|
|
156
118
|
type: "button",
|
|
157
119
|
"aria-label": typeof resolvedChildren === "string" ? resolvedChildren : DEFAULT_TOAST_LABELS.close,
|
|
158
120
|
"data-part": "close",
|
|
121
|
+
...safeConsumerProps,
|
|
159
122
|
className,
|
|
160
123
|
onClick,
|
|
161
124
|
children: resolvedChildren
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/toast/ToastElements.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/components/toast/ToastElements.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport { resolveRepeatedSlotProps } from \"../../core/slot-props.js\";\nimport type {\n ToastProviderOwnProps,\n ToastViewportOwnProps,\n ToastRootOwnProps,\n ToastTitleOwnProps,\n ToastDescriptionOwnProps,\n ToastActionProps,\n ToastCloseProps,\n ToastLabels,\n} from \"./types.js\";\n\nconst DEFAULT_TOAST_LABELS: ToastLabels = {\n region: \"Notifications\",\n notification: \"Notification\",\n close: \"Close\",\n};\n\nexport function ToastProvider(props: ToastProviderOwnProps): ReactElement | null {\n return (props.children ?? null) as ReactElement | null;\n}\n\nexport function ToastViewport(props: ToastViewportOwnProps): ReactElement | null {\n const {\n children,\n className,\n labels,\n popover,\n ref,\n slotProps: _slotProps,\n ...consumerProps\n } = props;\n const resolvedLabels = { ...DEFAULT_TOAST_LABELS, ...labels };\n const safeConsumerProps = consumerProps;\n\n return (\n <section\n aria-label={resolvedLabels.region}\n data-part=\"viewport\"\n data-testid=\"toast-viewport\"\n data-uiify-toast=\"\"\n {...safeConsumerProps}\n ref={ref}\n {...(popover ? { popover } : {})}\n {...(className ? { className } : {})}\n >\n {children}\n </section>\n );\n}\nToastViewport.displayName = \"ToastViewport\";\n\nexport function ToastRoot(props: ToastRootOwnProps): ReactElement | null {\n const { toast, labels, slotProps, ...consumerRootProps } = props;\n const resolvedLabels = { ...DEFAULT_TOAST_LABELS, ...labels };\n const rootProps = consumerRootProps;\n const titleProps = resolveRepeatedSlotProps(slotProps?.title, toast.id);\n const descriptionProps = resolveRepeatedSlotProps(slotProps?.description, toast.id);\n const actionProps = resolveRepeatedSlotProps(slotProps?.action, toast.id);\n const closeProps = resolveRepeatedSlotProps(slotProps?.close, toast.id);\n\n /* oxlint-disable jsx-a11y/prefer-tag-over-role -- a toast is a labeled group, not a fieldset for form controls */\n return (\n <div\n aria-label={typeof toast.title === \"string\" ? toast.title : resolvedLabels.notification}\n data-part=\"item\"\n data-state=\"open\"\n data-uiify-toast=\"\"\n role=\"group\"\n {...rootProps}\n >\n {toast.title ? <ToastTitle {...titleProps}>{toast.title}</ToastTitle> : null}\n {toast.description ? (\n <ToastDescription {...descriptionProps}>{toast.description}</ToastDescription>\n ) : null}\n {toast.action ? <ToastAction {...actionProps}>{toast.action.label}</ToastAction> : null}\n <ToastClose {...closeProps} labels={resolvedLabels} />\n </div>\n );\n /* oxlint-enable jsx-a11y/prefer-tag-over-role */\n}\nToastRoot.displayName = \"ToastRoot\";\n\nexport function ToastTitle(props: ToastTitleOwnProps): ReactElement | null {\n const { children, className, ...consumerProps } = props;\n const safeConsumerProps = consumerProps;\n return useRenderElement({\n defaultTag: \"div\",\n props: {\n \"data-part\": \"title\",\n ...safeConsumerProps,\n className,\n children,\n },\n state: {},\n });\n}\n\nexport function ToastDescription(props: ToastDescriptionOwnProps): ReactElement | null {\n const { children, className, ...consumerProps } = props;\n const safeConsumerProps = consumerProps;\n return useRenderElement({\n defaultTag: \"div\",\n props: {\n \"data-part\": \"description\",\n ...safeConsumerProps,\n className,\n children,\n },\n state: {},\n });\n}\n\nexport function ToastAction(props: ToastActionProps): ReactElement | null {\n const { children, className, onClick, ...consumerProps } = props;\n const safeConsumerProps = consumerProps;\n return useRenderElement({\n defaultTag: \"button\",\n props: {\n type: \"button\",\n \"data-part\": \"action\",\n ...safeConsumerProps,\n className,\n onClick,\n children,\n },\n state: {},\n });\n}\n\nexport function ToastClose(props: ToastCloseProps): ReactElement | null {\n const { children, className, labels, onClick, ...consumerProps } = props;\n const safeConsumerProps = consumerProps;\n const resolvedChildren = children ?? labels?.close ?? DEFAULT_TOAST_LABELS.close;\n return useRenderElement({\n defaultTag: \"button\",\n props: {\n type: \"button\",\n \"aria-label\":\n typeof resolvedChildren === \"string\" ? resolvedChildren : DEFAULT_TOAST_LABELS.close,\n \"data-part\": \"close\",\n ...safeConsumerProps,\n className,\n onClick,\n children: resolvedChildren,\n },\n state: {},\n });\n}\n\nexport const Toast = {\n Action: ToastAction,\n Close: ToastClose,\n Description: ToastDescription,\n Provider: ToastProvider,\n Root: ToastRoot,\n Title: ToastTitle,\n Viewport: ToastViewport,\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComponentPropsWithRef, MouseEvent, ReactNode } from "react";
|
|
2
|
-
import type { ConsumerDataAttributes, RepeatedSlotProps } from "../../core/slot-props.js";
|
|
2
|
+
import type { ConsumerDataAttributes, RepeatedSlotProps, SlotProps } from "../../core/slot-props.js";
|
|
3
3
|
export type ToastPriority = "polite" | "assertive";
|
|
4
4
|
export interface ToastLabels {
|
|
5
5
|
readonly region: string;
|
|
@@ -52,23 +52,11 @@ export interface ToastContextValue {
|
|
|
52
52
|
readonly store: ToastStore;
|
|
53
53
|
readonly labels: ToastLabels;
|
|
54
54
|
}
|
|
55
|
-
type
|
|
56
|
-
|
|
57
|
-
readonly "data-uiify-toast"?: never;
|
|
58
|
-
};
|
|
59
|
-
type ToastItemOwnedAttributes = ToastPartOwnedAttributes & {
|
|
60
|
-
readonly "data-state"?: never;
|
|
61
|
-
readonly "aria-label"?: never;
|
|
62
|
-
readonly role?: never;
|
|
63
|
-
readonly tabIndex?: never;
|
|
64
|
-
};
|
|
65
|
-
export type ToastItemSlotProps = RepeatedSlotProps<Omit<ComponentPropsWithRef<"div">, "children" | "dangerouslySetInnerHTML" | "data-part" | "data-state" | "data-uiify-toast" | "aria-label" | "role" | "tabIndex">, ToastItemOwnedAttributes>;
|
|
66
|
-
export type ToastTitleSlotProps = RepeatedSlotProps<Omit<ComponentPropsWithRef<"div">, "children" | "dangerouslySetInnerHTML" | "data-part" | "data-uiify-toast">, ToastPartOwnedAttributes>;
|
|
55
|
+
export type ToastItemSlotProps = RepeatedSlotProps<SlotProps<"div">>;
|
|
56
|
+
export type ToastTitleSlotProps = RepeatedSlotProps<SlotProps<"div">>;
|
|
67
57
|
export type ToastDescriptionSlotProps = ToastTitleSlotProps;
|
|
68
|
-
export type ToastActionSlotProps = RepeatedSlotProps<
|
|
69
|
-
export type ToastCloseSlotProps = RepeatedSlotProps<
|
|
70
|
-
readonly "aria-label"?: never;
|
|
71
|
-
}>;
|
|
58
|
+
export type ToastActionSlotProps = RepeatedSlotProps<SlotProps<"button">>;
|
|
59
|
+
export type ToastCloseSlotProps = RepeatedSlotProps<SlotProps<"button">>;
|
|
72
60
|
export interface ToastRootSlotProps {
|
|
73
61
|
readonly title?: ToastTitleSlotProps;
|
|
74
62
|
readonly description?: ToastDescriptionSlotProps;
|
|
@@ -79,8 +67,8 @@ export interface ToastViewportSlotProps extends ToastRootSlotProps {
|
|
|
79
67
|
readonly item?: ToastItemSlotProps;
|
|
80
68
|
}
|
|
81
69
|
export interface ToastProviderSlotProps {
|
|
82
|
-
readonly politeLiveRegion?:
|
|
83
|
-
readonly assertiveLiveRegion?:
|
|
70
|
+
readonly politeLiveRegion?: SlotProps<"span">;
|
|
71
|
+
readonly assertiveLiveRegion?: SlotProps<"span">;
|
|
84
72
|
}
|
|
85
73
|
export interface ToastProviderOwnProps {
|
|
86
74
|
readonly children?: ReactNode;
|
|
@@ -88,25 +76,11 @@ export interface ToastProviderOwnProps {
|
|
|
88
76
|
readonly limit?: number;
|
|
89
77
|
readonly slotProps?: ToastProviderSlotProps;
|
|
90
78
|
}
|
|
91
|
-
export interface ToastViewportOwnProps extends Omit<ComponentPropsWithRef<"section">, "
|
|
92
|
-
readonly "data-part"?: never;
|
|
93
|
-
readonly "data-uiify-toast"?: never;
|
|
94
|
-
readonly children?: ReactNode;
|
|
79
|
+
export interface ToastViewportOwnProps extends Omit<ComponentPropsWithRef<"section">, "dangerouslySetInnerHTML">, ConsumerDataAttributes {
|
|
95
80
|
readonly labels?: Partial<ToastLabels>;
|
|
96
|
-
/**
|
|
97
|
-
* Set by the live client viewport (@gunkin/uiify/components/toast/Toast.js) to
|
|
98
|
-
* `"manual"` so the queue's rendered surface sits in the top layer. The
|
|
99
|
-
* structural shell (this file's own re-exported ToastViewport, used
|
|
100
|
-
* directly by "Toast server shell" tests and any no-JS render) leaves it
|
|
101
|
-
* unset, since there is no queue-driven show/hide to wire up there.
|
|
102
|
-
*/
|
|
103
|
-
readonly popover?: "manual";
|
|
104
81
|
readonly slotProps?: ToastViewportSlotProps;
|
|
105
82
|
}
|
|
106
|
-
export interface ToastRootOwnProps extends Omit<ComponentPropsWithRef<"div">, "children" | "dangerouslySetInnerHTML"
|
|
107
|
-
readonly "data-part"?: never;
|
|
108
|
-
readonly "data-state"?: never;
|
|
109
|
-
readonly "data-uiify-toast"?: never;
|
|
83
|
+
export interface ToastRootOwnProps extends Omit<ComponentPropsWithRef<"div">, "children" | "dangerouslySetInnerHTML">, ConsumerDataAttributes {
|
|
110
84
|
readonly labels?: Partial<ToastLabels>;
|
|
111
85
|
readonly slotProps?: ToastRootSlotProps;
|
|
112
86
|
readonly toast: ToastRecord;
|
|
@@ -130,5 +104,4 @@ export interface ToastCloseOwnProps extends Omit<ComponentPropsWithRef<"button">
|
|
|
130
104
|
export interface ToastCloseProps extends ToastCloseOwnProps {
|
|
131
105
|
readonly onClick?: ((event: MouseEvent<HTMLButtonElement>) => void) | undefined;
|
|
132
106
|
}
|
|
133
|
-
export {};
|
|
134
107
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toast/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/toast/types.ts"],"names":[],"mappings":"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"}
|