@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,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { createElement } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { cn } from "../../../core/class-names.js";
|
|
4
|
+
import { resolveRepeatedSlotProps } from "../../../core/slot-props.js";
|
|
4
5
|
import {
|
|
5
6
|
ChoiceGroup as ElementChoiceGroup,
|
|
6
7
|
ChoiceItem as ElementChoiceItem
|
|
@@ -23,8 +24,6 @@ function ChoiceGroup(props) {
|
|
|
23
24
|
rootAttributes,
|
|
24
25
|
labelAttributes,
|
|
25
26
|
itemInputClassName,
|
|
26
|
-
itemProps,
|
|
27
|
-
itemSlotProps,
|
|
28
27
|
slotProps,
|
|
29
28
|
onItemChange,
|
|
30
29
|
renderPanel,
|
|
@@ -36,53 +35,21 @@ function ChoiceGroup(props) {
|
|
|
36
35
|
return /* @__PURE__ */ jsxs(
|
|
37
36
|
ElementChoiceGroup,
|
|
38
37
|
{
|
|
39
|
-
...
|
|
38
|
+
...{ [`data-uiify-${namespace}`]: "" },
|
|
40
39
|
...rootAttributes,
|
|
40
|
+
...rootProps,
|
|
41
41
|
className,
|
|
42
42
|
id,
|
|
43
43
|
kind,
|
|
44
44
|
orientation,
|
|
45
|
-
...{ [`data-uiify-${namespace}`]: "" },
|
|
46
45
|
children: [
|
|
47
46
|
items.map((item) => {
|
|
48
|
-
const
|
|
49
|
-
const itemSlots = itemSlotProps?.(item);
|
|
50
|
-
const inputSlotProps = mergeRepeatedSlotProps(
|
|
51
|
-
resolveRepeatedSlotProps(slotProps?.input, item.value, ["data-part", "data-uiify-radio"]),
|
|
52
|
-
itemSlots?.input
|
|
53
|
-
);
|
|
54
|
-
const controlClassName = [inputSlotProps.className, itemInputClassName?.(item)].filter(Boolean).join(" ");
|
|
55
|
-
const itemPropsForValue = mergeRepeatedSlotProps(
|
|
56
|
-
resolveRepeatedSlotProps(slotProps?.item, item.value, [
|
|
57
|
-
"checked",
|
|
58
|
-
"defaultChecked",
|
|
59
|
-
"disabled",
|
|
60
|
-
"groupId",
|
|
61
|
-
"kind",
|
|
62
|
-
"label",
|
|
63
|
-
"labelPart",
|
|
64
|
-
"name",
|
|
65
|
-
"onValueChange",
|
|
66
|
-
"panel",
|
|
67
|
-
"part",
|
|
68
|
-
"slotProps",
|
|
69
|
-
"value"
|
|
70
|
-
]),
|
|
71
|
-
itemProps?.(item)
|
|
72
|
-
);
|
|
73
|
-
const labelPropsForValue = mergeRepeatedSlotProps(
|
|
74
|
-
resolveRepeatedSlotProps(slotProps?.label, item.value),
|
|
75
|
-
itemSlots?.label
|
|
76
|
-
);
|
|
77
|
-
const panelPropsForValue = mergeRepeatedSlotProps(
|
|
78
|
-
resolveRepeatedSlotProps(slotProps?.panel, item.value),
|
|
79
|
-
itemSlots?.panel
|
|
80
|
-
);
|
|
47
|
+
const inputSlotProps = resolveRepeatedSlotProps(slotProps?.input, item.value);
|
|
81
48
|
return /* @__PURE__ */ createElement(
|
|
82
49
|
ElementChoiceItem,
|
|
83
50
|
{
|
|
84
|
-
...
|
|
85
|
-
...
|
|
51
|
+
...resolveRepeatedSlotProps(slotProps?.item, item.value),
|
|
52
|
+
...renderPanel ? { panel: renderPanel(item) } : {},
|
|
86
53
|
...isControlled ? { checked: isChecked(item) } : { defaultChecked: isChecked(item) },
|
|
87
54
|
disabled: item.disabled ?? false,
|
|
88
55
|
groupId: id,
|
|
@@ -91,21 +58,17 @@ function ChoiceGroup(props) {
|
|
|
91
58
|
label: renderLabel ? renderLabel(item) : item.label,
|
|
92
59
|
labelPart: labelPart ? "trigger" : "label",
|
|
93
60
|
slotProps: {
|
|
94
|
-
...itemSlots,
|
|
95
61
|
input: {
|
|
96
|
-
...inputSlotProps,
|
|
97
|
-
...controlClassName ? { className: controlClassName } : {},
|
|
98
62
|
"data-part": "control",
|
|
99
|
-
...kind === "single" ? { "data-uiify-radio": "" } : {}
|
|
63
|
+
...kind === "single" ? { "data-uiify-radio": "" } : {},
|
|
64
|
+
...inputSlotProps,
|
|
65
|
+
className: cn(inputSlotProps.className, itemInputClassName?.(item))
|
|
100
66
|
},
|
|
101
67
|
label: {
|
|
102
|
-
...
|
|
103
|
-
...
|
|
68
|
+
...labelAttributes,
|
|
69
|
+
...resolveRepeatedSlotProps(slotProps?.label, item.value)
|
|
104
70
|
},
|
|
105
|
-
panel:
|
|
106
|
-
...panelPropsForValue,
|
|
107
|
-
"data-part": "panel"
|
|
108
|
-
}
|
|
71
|
+
panel: resolveRepeatedSlotProps(slotProps?.panel, item.value)
|
|
109
72
|
},
|
|
110
73
|
name: groupName,
|
|
111
74
|
...onItemChange ? { onValueChange: () => onItemChange(item) } : {},
|
|
@@ -114,7 +77,7 @@ function ChoiceGroup(props) {
|
|
|
114
77
|
}
|
|
115
78
|
);
|
|
116
79
|
}),
|
|
117
|
-
append ? /* @__PURE__ */ jsx("div", {
|
|
80
|
+
append ? /* @__PURE__ */ jsx("div", { "data-part": "append", ...appendProps, children: append }) : null
|
|
118
81
|
]
|
|
119
82
|
}
|
|
120
83
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/internal/choice-family/ChoiceGroup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/internal/choice-family/ChoiceGroup.tsx"],"sourcesContent":["import type { ReactElement } from \"react\";\nimport { cn } from \"../../../core/class-names.js\";\nimport { resolveRepeatedSlotProps } from \"../../../core/slot-props.js\";\nimport {\n ChoiceGroup as ElementChoiceGroup,\n ChoiceItem as ElementChoiceItem,\n} from \"../../../elements/choice/index.js\";\nimport { getChoiceGroupName } from \"./ids.js\";\nimport type { ChoiceGroupProps, ChoiceItem } from \"./types.js\";\n\n/**\n * Built on `@gunkin/uiify/elements/choice`: this component\n * stays the ergonomic, items-array API six components share, now implemented as a thin map\n * from `items` onto `Choice.Item` with canonical `data-part` anatomy.\n */\nexport function ChoiceGroup<TItem extends ChoiceItem>(\n props: ChoiceGroupProps<TItem>,\n): ReactElement {\n const {\n id,\n items,\n namespace,\n kind,\n isChecked,\n isControlled = false,\n name,\n orientation,\n className,\n rootProps,\n itemPart = \"item\",\n labelPart = false,\n rootAttributes,\n labelAttributes,\n itemInputClassName,\n slotProps,\n onItemChange,\n renderPanel,\n renderLabel,\n append,\n appendProps,\n } = props;\n const groupName = name ?? getChoiceGroupName(id, kind);\n\n return (\n <ElementChoiceGroup\n {...{ [`data-uiify-${namespace}`]: \"\" }}\n {...rootAttributes}\n {...rootProps}\n className={className}\n id={id}\n kind={kind}\n orientation={orientation}\n >\n {items.map((item) => {\n const inputSlotProps = resolveRepeatedSlotProps(slotProps?.input, item.value);\n return (\n <ElementChoiceItem\n {...resolveRepeatedSlotProps(slotProps?.item, item.value)}\n {...(renderPanel ? { panel: renderPanel(item) } : {})}\n {...(isControlled ? { checked: isChecked(item) } : { defaultChecked: isChecked(item) })}\n disabled={item.disabled ?? false}\n groupId={id}\n key={item.value}\n kind={kind}\n label={renderLabel ? renderLabel(item) : item.label}\n labelPart={labelPart ? \"trigger\" : \"label\"}\n slotProps={{\n input: {\n \"data-part\": \"control\",\n ...(kind === \"single\" ? { \"data-uiify-radio\": \"\" } : {}),\n ...inputSlotProps,\n className: cn(inputSlotProps.className, itemInputClassName?.(item)),\n },\n label: {\n ...labelAttributes,\n ...resolveRepeatedSlotProps(slotProps?.label, item.value),\n },\n panel: resolveRepeatedSlotProps(slotProps?.panel, item.value),\n }}\n name={groupName}\n {...(onItemChange ? { onValueChange: () => onItemChange(item) } : {})}\n part={itemPart}\n value={item.value}\n />\n );\n })}\n {append ? (\n <div data-part=\"append\" {...appendProps}>\n {append}\n </div>\n ) : null}\n </ElementChoiceGroup>\n );\n}\nChoiceGroup.displayName = \"ChoiceGroup\";\n"],"mappings":"AA4CI,SA2CI,KA3CJ;AAYM;AAvDV,SAAS,UAAU;AACnB,SAAS,gCAAgC;AACzC;AAAA,EACE,eAAe;AAAA,EACf,cAAc;AAAA,OACT;AACP,SAAS,0BAA0B;AAQ5B,SAAS,YACd,OACc;AACd,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,YAAY,QAAQ,mBAAmB,IAAI,IAAI;AAErD,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG,EAAE,CAAC,cAAc,SAAS,EAAE,GAAG,GAAG;AAAA,MACrC,GAAG;AAAA,MACH,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEC;AAAA,cAAM,IAAI,CAAC,SAAS;AACnB,gBAAM,iBAAiB,yBAAyB,WAAW,OAAO,KAAK,KAAK;AAC5E,iBACE;AAAA,YAAC;AAAA;AAAA,cACE,GAAG,yBAAyB,WAAW,MAAM,KAAK,KAAK;AAAA,cACvD,GAAI,cAAc,EAAE,OAAO,YAAY,IAAI,EAAE,IAAI,CAAC;AAAA,cAClD,GAAI,eAAe,EAAE,SAAS,UAAU,IAAI,EAAE,IAAI,EAAE,gBAAgB,UAAU,IAAI,EAAE;AAAA,cACrF,UAAU,KAAK,YAAY;AAAA,cAC3B,SAAS;AAAA,cACT,KAAK,KAAK;AAAA,cACV;AAAA,cACA,OAAO,cAAc,YAAY,IAAI,IAAI,KAAK;AAAA,cAC9C,WAAW,YAAY,YAAY;AAAA,cACnC,WAAW;AAAA,gBACT,OAAO;AAAA,kBACL,aAAa;AAAA,kBACb,GAAI,SAAS,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC;AAAA,kBACtD,GAAG;AAAA,kBACH,WAAW,GAAG,eAAe,WAAW,qBAAqB,IAAI,CAAC;AAAA,gBACpE;AAAA,gBACA,OAAO;AAAA,kBACL,GAAG;AAAA,kBACH,GAAG,yBAAyB,WAAW,OAAO,KAAK,KAAK;AAAA,gBAC1D;AAAA,gBACA,OAAO,yBAAyB,WAAW,OAAO,KAAK,KAAK;AAAA,cAC9D;AAAA,cACA,MAAM;AAAA,cACL,GAAI,eAAe,EAAE,eAAe,MAAM,aAAa,IAAI,EAAE,IAAI,CAAC;AAAA,cACnE,MAAM;AAAA,cACN,OAAO,KAAK;AAAA;AAAA,UACd;AAAA,QAEJ,CAAC;AAAA,QACA,SACC,oBAAC,SAAI,aAAU,UAAU,GAAG,aACzB,kBACH,IACE;AAAA;AAAA;AAAA,EACN;AAEJ;AACA,YAAY,cAAc;","names":[]}
|
|
@@ -1,40 +1,12 @@
|
|
|
1
1
|
import type { ComponentPropsWithRef, ReactNode } from "react";
|
|
2
|
-
import type { ConsumerDataAttributes } from "../../../core/slot-props.js";
|
|
3
|
-
import type { ChoiceInputSlotProps, ChoiceItemOwnProps,
|
|
4
|
-
type ChoiceItemWrapperSlotProps = Omit<ComponentPropsWithRef<"div">, keyof ChoiceItemOwnProps | "children" | "dangerouslySetInnerHTML"
|
|
5
|
-
readonly "data-part"?: never;
|
|
6
|
-
readonly "data-uiify-choice"?: never;
|
|
7
|
-
} & ConsumerDataAttributes;
|
|
8
|
-
type ChoiceInputProtectedProps = {
|
|
9
|
-
readonly "aria-labelledby"?: never;
|
|
10
|
-
readonly checked?: never;
|
|
11
|
-
readonly defaultChecked?: never;
|
|
12
|
-
readonly disabled?: never;
|
|
13
|
-
readonly id?: never;
|
|
14
|
-
readonly name?: never;
|
|
15
|
-
readonly type?: never;
|
|
16
|
-
readonly value?: never;
|
|
17
|
-
readonly "data-part"?: never;
|
|
18
|
-
readonly "data-uiify-choice"?: never;
|
|
19
|
-
readonly "data-uiify-radio"?: never;
|
|
20
|
-
};
|
|
21
|
-
type ChoiceLabelProtectedProps = {
|
|
22
|
-
readonly htmlFor?: never;
|
|
23
|
-
readonly id?: never;
|
|
24
|
-
readonly "data-part"?: never;
|
|
25
|
-
};
|
|
26
|
-
type ChoicePanelProtectedProps = {
|
|
27
|
-
readonly id?: never;
|
|
28
|
-
readonly "data-part"?: never;
|
|
29
|
-
};
|
|
30
|
-
type ChoiceRepeatedSlotProps<TProps extends object, TProtected extends object> = TProps & TProtected & {
|
|
31
|
-
readonly byItemValue?: Readonly<Record<string, TProps & TProtected>>;
|
|
32
|
-
};
|
|
2
|
+
import type { ConsumerDataAttributes, RepeatedSlotProps, SlotProps } from "../../../core/slot-props.js";
|
|
3
|
+
import type { ChoiceInputSlotProps, ChoiceItemOwnProps, ChoiceLabelSlotProps, ChoicePanelSlotProps } from "../../../elements/choice/types.js";
|
|
4
|
+
type ChoiceItemWrapperSlotProps = Omit<ComponentPropsWithRef<"div">, keyof ChoiceItemOwnProps | "children" | "dangerouslySetInnerHTML"> & ConsumerDataAttributes;
|
|
33
5
|
export interface ChoiceGroupSlotProps {
|
|
34
|
-
readonly item?:
|
|
35
|
-
readonly input?:
|
|
36
|
-
readonly label?:
|
|
37
|
-
readonly panel?:
|
|
6
|
+
readonly item?: RepeatedSlotProps<ChoiceItemWrapperSlotProps> | undefined;
|
|
7
|
+
readonly input?: RepeatedSlotProps<ChoiceInputSlotProps> | undefined;
|
|
8
|
+
readonly label?: RepeatedSlotProps<ChoiceLabelSlotProps> | undefined;
|
|
9
|
+
readonly panel?: RepeatedSlotProps<ChoicePanelSlotProps> | undefined;
|
|
38
10
|
}
|
|
39
11
|
export type ChoiceOptionSlotProps = Omit<ChoiceGroupSlotProps, "panel">;
|
|
40
12
|
export interface ChoiceItem {
|
|
@@ -73,10 +45,6 @@ export interface ChoiceGroupProps<TItem extends ChoiceItem = ChoiceItem> {
|
|
|
73
45
|
readonly labelAttributes?: Record<string, string>;
|
|
74
46
|
/** Per-item `className` hook for the input, e.g. RadioGroup's `item.className`. */
|
|
75
47
|
readonly itemInputClassName?: (item: TItem) => string | undefined;
|
|
76
|
-
/** Native props for each generated Choice.Item wrapper. */
|
|
77
|
-
readonly itemProps?: (item: TItem) => Omit<ComponentPropsWithRef<"div">, keyof ChoiceItemOwnProps | "children">;
|
|
78
|
-
/** Native props for generated Choice.Item subparts. */
|
|
79
|
-
readonly itemSlotProps?: (item: TItem) => ChoiceItemSlotProps;
|
|
80
48
|
/** Props for generated item parts. Repeated values can target one item by value. */
|
|
81
49
|
readonly slotProps?: ChoiceGroupSlotProps;
|
|
82
50
|
/** Fires on the input's native `change` event, e.g. a client wrapper syncing
|
|
@@ -89,7 +57,7 @@ export interface ChoiceGroupProps<TItem extends ChoiceItem = ChoiceItem> {
|
|
|
89
57
|
/** Trailing content rendered inside the root after the mapped items, e.g. Tabs' `append`. */
|
|
90
58
|
readonly append?: ReactNode;
|
|
91
59
|
/** Props for the generated append wrapper. */
|
|
92
|
-
readonly appendProps?:
|
|
60
|
+
readonly appendProps?: SlotProps<"div">;
|
|
93
61
|
}
|
|
94
62
|
export {};
|
|
95
63
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/choice-family/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/choice-family/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/control-size/types.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ReactNode, RefObject } from "react";
|
|
1
|
+
import type { CSSProperties, ReactNode, RefObject } from "react";
|
|
2
2
|
import type { VirtualScrollHandle, VirtualScrollRangeChange } from "../../virtual-scroll/types.js";
|
|
3
3
|
export interface LiveChartAxisLabel {
|
|
4
4
|
readonly label: ReactNode;
|
|
@@ -16,6 +16,8 @@ export interface UseLiveChartWindowOptions {
|
|
|
16
16
|
readonly figureHeight: number | undefined;
|
|
17
17
|
/** Custom property that receives the scroll offset, e.g. `--candle-scroll-x`. */
|
|
18
18
|
readonly scrollVariable: `--${string}`;
|
|
19
|
+
/** Native root styles override the computed scroll custom property, including removal. */
|
|
20
|
+
readonly consumerStyle?: CSSProperties | undefined;
|
|
19
21
|
}
|
|
20
22
|
export interface UseLiveChartWindowResult {
|
|
21
23
|
readonly live: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/live-chart/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/live-chart/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEnG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,sDAAsD;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,iFAAiF;IACjF,QAAQ,CAAC,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IACvC,0FAA0F;IAC1F,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAC1D,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjD,yDAAyD;IACzD,QAAQ,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAClE,wFAAwF;IACxF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-live-chart-window.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/live-chart/use-live-chart-window.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-live-chart-window.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/live-chart/use-live-chart-window.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAQpB;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,SAAS;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,EACnD,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,kBAAkB,EAAE,CAYtB;AAiBD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,wBAAwB,CA4E/F"}
|
|
@@ -17,8 +17,24 @@ function liveTimeAxis(data, start, end, visibleCount) {
|
|
|
17
17
|
}
|
|
18
18
|
return labels;
|
|
19
19
|
}
|
|
20
|
+
function writeScrollVariable(chart, scrollVariable, offset, consumerStyle) {
|
|
21
|
+
const style = {
|
|
22
|
+
[scrollVariable]: `${offset}px`,
|
|
23
|
+
...consumerStyle
|
|
24
|
+
};
|
|
25
|
+
const value = style[scrollVariable];
|
|
26
|
+
if (value === void 0) chart.style.removeProperty(scrollVariable);
|
|
27
|
+
else chart.style.setProperty(scrollVariable, String(value));
|
|
28
|
+
}
|
|
20
29
|
function useLiveChartWindow(options) {
|
|
21
|
-
const {
|
|
30
|
+
const {
|
|
31
|
+
count,
|
|
32
|
+
visibleCount = 0,
|
|
33
|
+
itemWidth,
|
|
34
|
+
figureHeight,
|
|
35
|
+
scrollVariable,
|
|
36
|
+
consumerStyle
|
|
37
|
+
} = options;
|
|
22
38
|
const live = visibleCount > 0;
|
|
23
39
|
const scrollRef = useRef(null);
|
|
24
40
|
const chartRef = useRef(null);
|
|
@@ -26,8 +42,8 @@ function useLiveChartWindow(options) {
|
|
|
26
42
|
const [following, setFollowing] = useState(true);
|
|
27
43
|
const contentSize = count * itemWidth;
|
|
28
44
|
const viewportWidth = itemWidth * visibleCount;
|
|
29
|
-
const layoutRef = useRef({ contentSize, itemWidth, viewportWidth });
|
|
30
|
-
layoutRef.current = { contentSize, itemWidth, viewportWidth };
|
|
45
|
+
const layoutRef = useRef({ contentSize, itemWidth, viewportWidth, consumerStyle });
|
|
46
|
+
layoutRef.current = { contentSize, itemWidth, viewportWidth, consumerStyle };
|
|
31
47
|
useEffect(() => {
|
|
32
48
|
if (!live) return;
|
|
33
49
|
const element = scrollRef.current?.element;
|
|
@@ -35,8 +51,8 @@ function useLiveChartWindow(options) {
|
|
|
35
51
|
if (!element || !chart) return;
|
|
36
52
|
const onScroll = () => {
|
|
37
53
|
const offset = element.scrollLeft;
|
|
38
|
-
chart.style.setProperty(scrollVariable, `${offset}px`);
|
|
39
54
|
const layout = layoutRef.current;
|
|
55
|
+
writeScrollVariable(chart, scrollVariable, offset, layout.consumerStyle);
|
|
40
56
|
setFollowing(
|
|
41
57
|
offset + layout.viewportWidth >= layout.contentSize - Math.max(1, layout.itemWidth)
|
|
42
58
|
);
|
|
@@ -51,7 +67,7 @@ function useLiveChartWindow(options) {
|
|
|
51
67
|
if (!element || !chart) return;
|
|
52
68
|
const end = Math.max(0, contentSize - viewportWidth);
|
|
53
69
|
element.scrollLeft = end;
|
|
54
|
-
chart
|
|
70
|
+
writeScrollVariable(chart, scrollVariable, end, layoutRef.current.consumerStyle);
|
|
55
71
|
}, [live, following, contentSize, viewportWidth, scrollVariable]);
|
|
56
72
|
const tail = following || !visibleRange;
|
|
57
73
|
const sliceStart = tail ? Math.max(0, count - visibleCount) : Math.min(visibleRange.startIndex, Math.max(0, count - 1));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/internal/live-chart/use-live-chart-window.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"../../../hooks/use-isomorphic-layout-effect.js\";\nimport type { VirtualScrollHandle, VirtualScrollRangeChange } from \"../../virtual-scroll/types.js\";\nimport type {\n LiveChartAxisLabel,\n UseLiveChartWindowOptions,\n UseLiveChartWindowResult,\n} from \"./types.js\";\n\n/** The plot's 1.5rem time-axis row below the item viewport (candle-chart.css, line-chart.css). */\nconst TIME_AXIS_ROW_HEIGHT = 24;\n/** The item viewport's 18rem minimum block size, used until the figure is measured. */\nconst MIN_PLOT_HEIGHT = 288;\nconst LIVE_TIME_TICKS = 4;\n\n/**\n * Time ticks pinned to absolute item indices and positioned at slot centers\n * across the whole scrolled content, so labels scroll with their items. Only\n * ticks near the visible slice are returned.\n */\nexport function liveTimeAxis(\n data: readonly { readonly time: string | number }[],\n start: number,\n end: number,\n visibleCount: number,\n): LiveChartAxisLabel[] {\n const step = Math.max(1, Math.ceil(visibleCount / LIVE_TIME_TICKS));\n const labels: LiveChartAxisLabel[] = [];\n const first = Math.max(0, Math.floor(start / step) - 1) * step;\n const last = Math.min(data.length, end + step);\n for (let index = first; index < last; index += step) {\n labels.push({\n label: String(data[index]?.time),\n position: ((index + 0.5) / data.length) * 100,\n });\n }\n return labels;\n}\n\n/**\n * Live chart window over a horizontal VirtualScroll: follows appends while the\n * reader is at the newest item, leaves a scrolled-back reader in place, and\n * reports the visible slice. The chart pins the scroll position itself rather\n * than using VirtualScroll's `anchor`, and publishes the offset as a CSS\n * variable so axes and crosshairs scroll without re-rendering.\n */\nexport function useLiveChartWindow(options: UseLiveChartWindowOptions): UseLiveChartWindowResult {\n const {
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/internal/live-chart/use-live-chart-window.ts"],"sourcesContent":["\"use client\";\n\nimport type { CSSProperties } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useIsomorphicLayoutEffect } from \"../../../hooks/use-isomorphic-layout-effect.js\";\nimport type { VirtualScrollHandle, VirtualScrollRangeChange } from \"../../virtual-scroll/types.js\";\nimport type {\n LiveChartAxisLabel,\n UseLiveChartWindowOptions,\n UseLiveChartWindowResult,\n} from \"./types.js\";\n\n/** The plot's 1.5rem time-axis row below the item viewport (candle-chart.css, line-chart.css). */\nconst TIME_AXIS_ROW_HEIGHT = 24;\n/** The item viewport's 18rem minimum block size, used until the figure is measured. */\nconst MIN_PLOT_HEIGHT = 288;\nconst LIVE_TIME_TICKS = 4;\n\n/**\n * Time ticks pinned to absolute item indices and positioned at slot centers\n * across the whole scrolled content, so labels scroll with their items. Only\n * ticks near the visible slice are returned.\n */\nexport function liveTimeAxis(\n data: readonly { readonly time: string | number }[],\n start: number,\n end: number,\n visibleCount: number,\n): LiveChartAxisLabel[] {\n const step = Math.max(1, Math.ceil(visibleCount / LIVE_TIME_TICKS));\n const labels: LiveChartAxisLabel[] = [];\n const first = Math.max(0, Math.floor(start / step) - 1) * step;\n const last = Math.min(data.length, end + step);\n for (let index = first; index < last; index += step) {\n labels.push({\n label: String(data[index]?.time),\n position: ((index + 0.5) / data.length) * 100,\n });\n }\n return labels;\n}\n\nfunction writeScrollVariable(\n chart: HTMLElement,\n scrollVariable: `--${string}`,\n offset: number,\n consumerStyle: CSSProperties | undefined,\n): void {\n const style: CSSProperties & Record<`--${string}`, string | number | undefined> = {\n [scrollVariable]: `${offset}px`,\n ...consumerStyle,\n };\n const value = style[scrollVariable];\n if (value === undefined) chart.style.removeProperty(scrollVariable);\n else chart.style.setProperty(scrollVariable, String(value));\n}\n\n/**\n * Live chart window over a horizontal VirtualScroll: follows appends while the\n * reader is at the newest item, leaves a scrolled-back reader in place, and\n * reports the visible slice. The chart pins the scroll position itself rather\n * than using VirtualScroll's `anchor`, and publishes the offset as a CSS\n * variable so axes and crosshairs scroll without re-rendering.\n */\nexport function useLiveChartWindow(options: UseLiveChartWindowOptions): UseLiveChartWindowResult {\n const {\n count,\n visibleCount = 0,\n itemWidth,\n figureHeight,\n scrollVariable,\n consumerStyle,\n } = options;\n const live = visibleCount > 0;\n const scrollRef = useRef<VirtualScrollHandle>(null);\n const chartRef = useRef<HTMLElement | null>(null);\n const [visibleRange, setVisibleRange] = useState<VirtualScrollRangeChange | null>(null);\n // True while the reader sits at the newest item; appends then keep it in view.\n const [following, setFollowing] = useState(true);\n const contentSize = count * itemWidth;\n const viewportWidth = itemWidth * visibleCount;\n const layoutRef = useRef({ contentSize, itemWidth, viewportWidth, consumerStyle });\n layoutRef.current = { contentSize, itemWidth, viewportWidth, consumerStyle };\n\n // Publish the scroll offset (a CSS variable, so scrolling re-renders nothing)\n // and track whether the reader is at the end.\n useEffect(() => {\n if (!live) return;\n const element = scrollRef.current?.element;\n const chart = chartRef.current;\n if (!element || !chart) return;\n const onScroll = (): void => {\n const offset = element.scrollLeft; // banned-read-ok: scroll position drives the axis offset.\n const layout = layoutRef.current;\n writeScrollVariable(chart, scrollVariable, offset, layout.consumerStyle);\n // Within one item of the end counts: an item appended while the reader\n // scrolls there moves the end by exactly one item width.\n setFollowing(\n offset + layout.viewportWidth >= layout.contentSize - Math.max(1, layout.itemWidth),\n );\n };\n element.addEventListener(\"scroll\", onScroll, { passive: true });\n return () => element.removeEventListener(\"scroll\", onScroll);\n }, [live, scrollVariable]);\n\n // Keep the newest item in view while following: on appends, resizes, and once measured.\n useIsomorphicLayoutEffect(() => {\n if (!live || !following) return;\n const element = scrollRef.current?.element;\n const chart = chartRef.current;\n if (!element || !chart) return;\n const end = Math.max(0, contentSize - viewportWidth);\n element.scrollLeft = end; // banned-read-ok: pin the newest item before paint.\n writeScrollVariable(chart, scrollVariable, end, layoutRef.current.consumerStyle);\n }, [live, following, contentSize, viewportWidth, scrollVariable]);\n\n // While following, the slice is the tail, so an append rescales in the same\n // commit that adds the item.\n const tail = following || !visibleRange;\n const sliceStart = tail\n ? Math.max(0, count - visibleCount)\n : Math.min(visibleRange.startIndex, Math.max(0, count - 1));\n const sliceEnd = tail\n ? count\n : Math.min(count, Math.max(sliceStart + 1, visibleRange.endIndex + 1));\n const plotHeight =\n figureHeight === undefined\n ? MIN_PLOT_HEIGHT\n : Math.max(MIN_PLOT_HEIGHT, figureHeight - TIME_AXIS_ROW_HEIGHT);\n\n return {\n live,\n scrollRef,\n chartRef,\n onRangeChange: setVisibleRange,\n sliceStart,\n sliceEnd,\n contentSize,\n plotHeight,\n };\n}\n"],"mappings":";AAGA,SAAS,WAAW,QAAQ,gBAAgB;AAC5C,SAAS,iCAAiC;AAS1C,MAAM,uBAAuB;AAE7B,MAAM,kBAAkB;AACxB,MAAM,kBAAkB;AAOjB,SAAS,aACd,MACA,OACA,KACA,cACsB;AACtB,QAAM,OAAO,KAAK,IAAI,GAAG,KAAK,KAAK,eAAe,eAAe,CAAC;AAClE,QAAM,SAA+B,CAAC;AACtC,QAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,IAAI;AAC1D,QAAM,OAAO,KAAK,IAAI,KAAK,QAAQ,MAAM,IAAI;AAC7C,WAAS,QAAQ,OAAO,QAAQ,MAAM,SAAS,MAAM;AACnD,WAAO,KAAK;AAAA,MACV,OAAO,OAAO,KAAK,KAAK,GAAG,IAAI;AAAA,MAC/B,WAAY,QAAQ,OAAO,KAAK,SAAU;AAAA,IAC5C,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEA,SAAS,oBACP,OACA,gBACA,QACA,eACM;AACN,QAAM,QAA4E;AAAA,IAChF,CAAC,cAAc,GAAG,GAAG,MAAM;AAAA,IAC3B,GAAG;AAAA,EACL;AACA,QAAM,QAAQ,MAAM,cAAc;AAClC,MAAI,UAAU,OAAW,OAAM,MAAM,eAAe,cAAc;AAAA,MAC7D,OAAM,MAAM,YAAY,gBAAgB,OAAO,KAAK,CAAC;AAC5D;AASO,SAAS,mBAAmB,SAA8D;AAC/F,QAAM;AAAA,IACJ;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,OAAO,eAAe;AAC5B,QAAM,YAAY,OAA4B,IAAI;AAClD,QAAM,WAAW,OAA2B,IAAI;AAChD,QAAM,CAAC,cAAc,eAAe,IAAI,SAA0C,IAAI;AAEtF,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,IAAI;AAC/C,QAAM,cAAc,QAAQ;AAC5B,QAAM,gBAAgB,YAAY;AAClC,QAAM,YAAY,OAAO,EAAE,aAAa,WAAW,eAAe,cAAc,CAAC;AACjF,YAAU,UAAU,EAAE,aAAa,WAAW,eAAe,cAAc;AAI3E,YAAU,MAAM;AACd,QAAI,CAAC,KAAM;AACX,UAAM,UAAU,UAAU,SAAS;AACnC,UAAM,QAAQ,SAAS;AACvB,QAAI,CAAC,WAAW,CAAC,MAAO;AACxB,UAAM,WAAW,MAAY;AAC3B,YAAM,SAAS,QAAQ;AACvB,YAAM,SAAS,UAAU;AACzB,0BAAoB,OAAO,gBAAgB,QAAQ,OAAO,aAAa;AAGvE;AAAA,QACE,SAAS,OAAO,iBAAiB,OAAO,cAAc,KAAK,IAAI,GAAG,OAAO,SAAS;AAAA,MACpF;AAAA,IACF;AACA,YAAQ,iBAAiB,UAAU,UAAU,EAAE,SAAS,KAAK,CAAC;AAC9D,WAAO,MAAM,QAAQ,oBAAoB,UAAU,QAAQ;AAAA,EAC7D,GAAG,CAAC,MAAM,cAAc,CAAC;AAGzB,4BAA0B,MAAM;AAC9B,QAAI,CAAC,QAAQ,CAAC,UAAW;AACzB,UAAM,UAAU,UAAU,SAAS;AACnC,UAAM,QAAQ,SAAS;AACvB,QAAI,CAAC,WAAW,CAAC,MAAO;AACxB,UAAM,MAAM,KAAK,IAAI,GAAG,cAAc,aAAa;AACnD,YAAQ,aAAa;AACrB,wBAAoB,OAAO,gBAAgB,KAAK,UAAU,QAAQ,aAAa;AAAA,EACjF,GAAG,CAAC,MAAM,WAAW,aAAa,eAAe,cAAc,CAAC;AAIhE,QAAM,OAAO,aAAa,CAAC;AAC3B,QAAM,aAAa,OACf,KAAK,IAAI,GAAG,QAAQ,YAAY,IAChC,KAAK,IAAI,aAAa,YAAY,KAAK,IAAI,GAAG,QAAQ,CAAC,CAAC;AAC5D,QAAM,WAAW,OACb,QACA,KAAK,IAAI,OAAO,KAAK,IAAI,aAAa,GAAG,aAAa,WAAW,CAAC,CAAC;AACvE,QAAM,aACJ,iBAAiB,SACb,kBACA,KAAK,IAAI,iBAAiB,eAAe,oBAAoB;AAEnE,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu-parts.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/menu/menu-parts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"menu-parts.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/menu/menu-parts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AAGlE,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkCrF,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EACvD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CAErB;AACD,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EACvD,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CAErB;AACD,wBAAgB,aAAa,CAAC,GAAG,SAAS,WAAW,GAAG,KAAK,EAC3D,KAAK,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAC7B,YAAY,GAAG,IAAI,CAErB"}
|
|
@@ -6,11 +6,11 @@ function useMenuPart(props, options) {
|
|
|
6
6
|
defaultTag: options.defaultTag,
|
|
7
7
|
render,
|
|
8
8
|
props: {
|
|
9
|
-
...consumerProps,
|
|
10
9
|
...className ? { className } : {},
|
|
11
|
-
children,
|
|
12
10
|
role: options.role,
|
|
13
|
-
"data-part": options.part
|
|
11
|
+
"data-part": options.part,
|
|
12
|
+
...consumerProps,
|
|
13
|
+
children
|
|
14
14
|
},
|
|
15
15
|
state: {}
|
|
16
16
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/internal/menu/menu-parts.tsx"],"sourcesContent":["import type { ElementType, ReactElement, ReactNode } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { MenuGroupProps, MenuLabelProps, MenuSeparatorProps } from \"./types.js\";\
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/internal/menu/menu-parts.tsx"],"sourcesContent":["import type { ElementType, ReactElement, ReactNode } from \"react\";\nimport { useRenderElement } from \"@gunkin/uiify/core/render\";\nimport type { PartName } from \"../../../core/part-names.js\";\nimport type { MenuGroupProps, MenuLabelProps, MenuSeparatorProps } from \"./types.js\";\ninterface MenuPartOptions {\n readonly defaultTag: ElementType;\n readonly part: PartName;\n readonly role: string;\n}\ninterface MenuPartValues {\n readonly as?: ElementType | undefined;\n readonly children?: ReactNode;\n readonly className?: string;\n readonly render?:\n | ((props: Record<string, unknown>, state: Record<string, never>) => ReactElement | null)\n | undefined;\n readonly [key: string]: unknown;\n}\nfunction useMenuPart<TAs extends ElementType>(\n props: MenuGroupProps<TAs> | MenuLabelProps<TAs> | MenuSeparatorProps<TAs>,\n options: MenuPartOptions,\n): ReactElement | null {\n const { as, render, children, className, ...consumerProps } = props as MenuPartValues;\n return useRenderElement({\n as,\n defaultTag: options.defaultTag,\n render,\n props: {\n ...(className ? { className } : {}),\n role: options.role,\n \"data-part\": options.part,\n ...consumerProps,\n children,\n },\n state: {},\n });\n}\nexport function MenuGroup<TAs extends ElementType = \"div\">(\n props: MenuGroupProps<TAs>,\n): ReactElement | null {\n return useMenuPart(props, { defaultTag: \"div\", part: \"group\", role: \"group\" });\n}\nexport function MenuLabel<TAs extends ElementType = \"div\">(\n props: MenuLabelProps<TAs>,\n): ReactElement | null {\n return useMenuPart(props, { defaultTag: \"div\", part: \"label\", role: \"presentation\" });\n}\nexport function MenuSeparator<TAs extends ElementType = \"div\">(\n props: MenuSeparatorProps<TAs>,\n): ReactElement | null {\n return useMenuPart(props, { defaultTag: \"div\", part: \"separator\", role: \"separator\" });\n}\n"],"mappings":"AACA,SAAS,wBAAwB;AAiBjC,SAAS,YACP,OACA,SACqB;AACrB,QAAM,EAAE,IAAI,QAAQ,UAAU,WAAW,GAAG,cAAc,IAAI;AAC9D,SAAO,iBAAiB;AAAA,IACtB;AAAA,IACA,YAAY,QAAQ;AAAA,IACpB;AAAA,IACA,OAAO;AAAA,MACL,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,MACjC,MAAM,QAAQ;AAAA,MACd,aAAa,QAAQ;AAAA,MACrB,GAAG;AAAA,MACH;AAAA,IACF;AAAA,IACA,OAAO,CAAC;AAAA,EACV,CAAC;AACH;AACO,SAAS,UACd,OACqB;AACrB,SAAO,YAAY,OAAO,EAAE,YAAY,OAAO,MAAM,SAAS,MAAM,QAAQ,CAAC;AAC/E;AACO,SAAS,UACd,OACqB;AACrB,SAAO,YAAY,OAAO,EAAE,YAAY,OAAO,MAAM,SAAS,MAAM,eAAe,CAAC;AACtF;AACO,SAAS,cACd,OACqB;AACrB,SAAO,YAAY,OAAO,EAAE,YAAY,OAAO,MAAM,aAAa,MAAM,YAAY,CAAC;AACvF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeCheckControl.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/native-check-control/NativeCheckControl.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"NativeCheckControl.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/native-check-control/NativeCheckControl.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,YAAY,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,YAAY,CAuE/E;yBAvEe,kBAAkB"}
|
|
@@ -3,7 +3,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useEffect, useRef, useState } from "react";
|
|
4
4
|
import { useMergedRefs } from "@gunkin/uiify/hooks";
|
|
5
5
|
import { composeEventHandlers } from "@gunkin/uiify/core/compose-event-handlers";
|
|
6
|
-
import { mergeRepeatedSlotProps
|
|
6
|
+
import { mergeRepeatedSlotProps } from "../../../core/slot-props.js";
|
|
7
7
|
function NativeCheckControl(props) {
|
|
8
8
|
const {
|
|
9
9
|
checked,
|
|
@@ -21,32 +21,8 @@ function NativeCheckControl(props) {
|
|
|
21
21
|
const isControlled = checked !== void 0;
|
|
22
22
|
const [uncontrolledChecked, setUncontrolledChecked] = useState(defaultChecked ?? false);
|
|
23
23
|
const inputRef = useRef(null);
|
|
24
|
-
const inputProps =
|
|
25
|
-
|
|
26
|
-
"aria-label",
|
|
27
|
-
"aria-labelledby",
|
|
28
|
-
"checked",
|
|
29
|
-
"children",
|
|
30
|
-
"dangerouslySetInnerHTML",
|
|
31
|
-
"data-disabled",
|
|
32
|
-
"data-part",
|
|
33
|
-
"data-state",
|
|
34
|
-
"data-uiify-checkbox",
|
|
35
|
-
"defaultChecked",
|
|
36
|
-
"defaultValue",
|
|
37
|
-
"disabled",
|
|
38
|
-
"id",
|
|
39
|
-
"name",
|
|
40
|
-
"type",
|
|
41
|
-
"value"
|
|
42
|
-
]);
|
|
43
|
-
const labelProps = omitProps(mergeRepeatedSlotProps({ className }, slotProps?.label), [
|
|
44
|
-
"children",
|
|
45
|
-
"dangerouslySetInnerHTML",
|
|
46
|
-
"data-uiify-checkbox",
|
|
47
|
-
"htmlFor",
|
|
48
|
-
"id"
|
|
49
|
-
]);
|
|
24
|
+
const inputProps = slotProps?.input ?? {};
|
|
25
|
+
const labelProps = mergeRepeatedSlotProps({ className }, slotProps?.label);
|
|
50
26
|
const mergedInputRef = useMergedRefs(inputProps.ref, inputRef);
|
|
51
27
|
const checkedValue = isControlled ? checked === true : uncontrolledChecked;
|
|
52
28
|
useEffect(() => {
|
|
@@ -62,7 +38,6 @@ function NativeCheckControl(props) {
|
|
|
62
38
|
const input = /* @__PURE__ */ jsx(
|
|
63
39
|
"input",
|
|
64
40
|
{
|
|
65
|
-
...inputProps,
|
|
66
41
|
"aria-checked": checked === "indeterminate" ? "mixed" : void 0,
|
|
67
42
|
"aria-label": label === void 0 ? ariaLabel : void 0,
|
|
68
43
|
"aria-labelledby": label !== void 0 ? `${id}-label` : void 0,
|
|
@@ -73,14 +48,15 @@ function NativeCheckControl(props) {
|
|
|
73
48
|
disabled: disabled || void 0,
|
|
74
49
|
id,
|
|
75
50
|
name,
|
|
76
|
-
onChange: composeEventHandlers(inputProps.onChange, handleChange),
|
|
77
|
-
ref: mergedInputRef,
|
|
78
51
|
type: "checkbox",
|
|
79
52
|
value,
|
|
80
|
-
...label === void 0 ? { "data-uiify-checkbox": "" } : { "data-part": "control" }
|
|
53
|
+
...label === void 0 ? { "data-uiify-checkbox": "" } : { "data-part": "control" },
|
|
54
|
+
...inputProps,
|
|
55
|
+
onChange: composeEventHandlers(inputProps.onChange, handleChange),
|
|
56
|
+
ref: mergedInputRef
|
|
81
57
|
}
|
|
82
58
|
);
|
|
83
|
-
return label === void 0 ? input : /* @__PURE__ */ jsxs("label", {
|
|
59
|
+
return label === void 0 ? input : /* @__PURE__ */ jsxs("label", { "data-uiify-checkbox": "", id: `${id}-label`, ...labelProps, children: [
|
|
84
60
|
input,
|
|
85
61
|
label
|
|
86
62
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/internal/native-check-control/NativeCheckControl.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef, useState } from \"react\";\nimport type { ChangeEvent, ReactElement } from \"react\";\nimport { useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { mergeRepeatedSlotProps
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/internal/native-check-control/NativeCheckControl.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef, useState } from \"react\";\nimport type { ChangeEvent, ReactElement } from \"react\";\nimport { useMergedRefs } from \"@gunkin/uiify/hooks\";\nimport { composeEventHandlers } from \"@gunkin/uiify/core/compose-event-handlers\";\nimport { mergeRepeatedSlotProps } from \"../../../core/slot-props.js\";\nimport type { NativeCheckControlProps } from \"./types.js\";\n\nexport function NativeCheckControl(props: NativeCheckControlProps): ReactElement {\n const {\n checked,\n defaultChecked,\n disabled = false,\n id,\n label,\n name,\n onCheckedChange,\n className,\n slotProps,\n value,\n \"aria-label\": ariaLabel,\n } = props;\n const isControlled = checked !== undefined;\n const [uncontrolledChecked, setUncontrolledChecked] = useState(defaultChecked ?? false);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const inputProps = slotProps?.input ?? {};\n const labelProps = mergeRepeatedSlotProps({ className }, slotProps?.label);\n const mergedInputRef = useMergedRefs(inputProps.ref, inputRef);\n const checkedValue = isControlled ? checked === true : uncontrolledChecked;\n\n useEffect(() => {\n if (inputRef.current) inputRef.current.indeterminate = checked === \"indeterminate\";\n }, [checked]);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n if (checked === \"indeterminate\" && inputRef.current) {\n inputRef.current.indeterminate = true;\n }\n if (!isControlled) setUncontrolledChecked(event.currentTarget.checked);\n onCheckedChange?.(event.currentTarget.checked);\n };\n\n const input = (\n <input\n aria-checked={checked === \"indeterminate\" ? \"mixed\" : undefined}\n aria-label={label === undefined ? ariaLabel : undefined}\n aria-labelledby={label !== undefined ? `${id}-label` : undefined}\n checked={isControlled ? checkedValue : undefined}\n data-disabled={disabled ? \"\" : undefined}\n data-state={\n isControlled\n ? checked === \"indeterminate\"\n ? \"indeterminate\"\n : checkedValue\n ? \"checked\"\n : \"unchecked\"\n : undefined\n }\n defaultChecked={!isControlled ? defaultChecked : undefined}\n disabled={disabled || undefined}\n id={id}\n name={name}\n type=\"checkbox\"\n value={value}\n {...(label === undefined ? { \"data-uiify-checkbox\": \"\" } : { \"data-part\": \"control\" })}\n {...inputProps}\n onChange={composeEventHandlers(inputProps.onChange, handleChange)}\n ref={mergedInputRef}\n />\n );\n\n return label === undefined ? (\n input\n ) : (\n <label data-uiify-checkbox=\"\" id={`${id}-label`} {...labelProps}>\n {input}\n {label}\n </label>\n );\n}\nNativeCheckControl.displayName = \"NativeCheckControl\";\n"],"mappings":";AA4CI,cA+BA,YA/BA;AA1CJ,SAAS,WAAW,QAAQ,gBAAgB;AAE5C,SAAS,qBAAqB;AAC9B,SAAS,4BAA4B;AACrC,SAAS,8BAA8B;AAGhC,SAAS,mBAAmB,OAA8C;AAC/E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,EAChB,IAAI;AACJ,QAAM,eAAe,YAAY;AACjC,QAAM,CAAC,qBAAqB,sBAAsB,IAAI,SAAS,kBAAkB,KAAK;AACtF,QAAM,WAAW,OAAgC,IAAI;AACrD,QAAM,aAAa,WAAW,SAAS,CAAC;AACxC,QAAM,aAAa,uBAAuB,EAAE,UAAU,GAAG,WAAW,KAAK;AACzE,QAAM,iBAAiB,cAAc,WAAW,KAAK,QAAQ;AAC7D,QAAM,eAAe,eAAe,YAAY,OAAO;AAEvD,YAAU,MAAM;AACd,QAAI,SAAS,QAAS,UAAS,QAAQ,gBAAgB,YAAY;AAAA,EACrE,GAAG,CAAC,OAAO,CAAC;AAEZ,QAAM,eAAe,CAAC,UAAyC;AAC7D,QAAI,YAAY,mBAAmB,SAAS,SAAS;AACnD,eAAS,QAAQ,gBAAgB;AAAA,IACnC;AACA,QAAI,CAAC,aAAc,wBAAuB,MAAM,cAAc,OAAO;AACrE,sBAAkB,MAAM,cAAc,OAAO;AAAA,EAC/C;AAEA,QAAM,QACJ;AAAA,IAAC;AAAA;AAAA,MACC,gBAAc,YAAY,kBAAkB,UAAU;AAAA,MACtD,cAAY,UAAU,SAAY,YAAY;AAAA,MAC9C,mBAAiB,UAAU,SAAY,GAAG,EAAE,WAAW;AAAA,MACvD,SAAS,eAAe,eAAe;AAAA,MACvC,iBAAe,WAAW,KAAK;AAAA,MAC/B,cACE,eACI,YAAY,kBACV,kBACA,eACE,YACA,cACJ;AAAA,MAEN,gBAAgB,CAAC,eAAe,iBAAiB;AAAA,MACjD,UAAU,YAAY;AAAA,MACtB;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL;AAAA,MACC,GAAI,UAAU,SAAY,EAAE,uBAAuB,GAAG,IAAI,EAAE,aAAa,UAAU;AAAA,MACnF,GAAG;AAAA,MACJ,UAAU,qBAAqB,WAAW,UAAU,YAAY;AAAA,MAChE,KAAK;AAAA;AAAA,EACP;AAGF,SAAO,UAAU,SACf,QAEA,qBAAC,WAAM,uBAAoB,IAAG,IAAI,GAAG,EAAE,UAAW,GAAG,YAClD;AAAA;AAAA,IACA;AAAA,KACH;AAEJ;AACA,mBAAmB,cAAc;","names":[]}
|
|
@@ -1,22 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
import type { SlotProps } from "../../../core/slot-props.js";
|
|
3
3
|
export type CheckedState = boolean | "indeterminate";
|
|
4
|
-
type NativeCheckControlInputOwnedAttributes = {
|
|
5
|
-
readonly "aria-checked"?: never;
|
|
6
|
-
readonly "aria-label"?: never;
|
|
7
|
-
readonly "aria-labelledby"?: never;
|
|
8
|
-
readonly "data-disabled"?: never;
|
|
9
|
-
readonly "data-part"?: never;
|
|
10
|
-
readonly "data-state"?: never;
|
|
11
|
-
readonly "data-uiify-checkbox"?: never;
|
|
12
|
-
};
|
|
13
|
-
type NativeCheckControlLabelOwnedAttributes = {
|
|
14
|
-
readonly "data-uiify-checkbox"?: never;
|
|
15
|
-
readonly id?: never;
|
|
16
|
-
};
|
|
17
4
|
export interface NativeCheckControlSlotProps {
|
|
18
|
-
readonly input?:
|
|
19
|
-
readonly label?:
|
|
5
|
+
readonly input?: SlotProps<"input">;
|
|
6
|
+
readonly label?: SlotProps<"label">;
|
|
20
7
|
}
|
|
21
8
|
export interface NativeCheckControlProps {
|
|
22
9
|
readonly id: string;
|
|
@@ -31,5 +18,4 @@ export interface NativeCheckControlProps {
|
|
|
31
18
|
readonly slotProps?: NativeCheckControlSlotProps;
|
|
32
19
|
readonly "aria-label"?: string;
|
|
33
20
|
}
|
|
34
|
-
export {};
|
|
35
21
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/native-check-control/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/internal/native-check-control/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE7D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,eAAe,CAAC;AAErD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../src/components/line-chart/LineChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA+B,YAAY,EAAO,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LineChart.d.ts","sourceRoot":"","sources":["../../../src/components/line-chart/LineChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA+B,YAAY,EAAO,MAAM,OAAO,CAAC;AAkBzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAsB,MAAM,YAAY,CAAC;AA2B1F,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,EAC7B,EAAE,EAAE,GAAG,EACP,KAAK,EACL,aAAa,EACb,KAAK,EACL,KAAK,EACL,GAAG,EACH,GAAG,EACH,WAAW,EACX,QAAQ,EACR,UAAU,EACV,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,GACV,EAAE,mBAAmB,GAAG,YAAY,CAgDpC;yBAhEe,cAAc;;;AAmE9B,wBAAgB,SAAS,CAAC,GAAG,SAAS,WAAW,GAAG,QAAQ,EAC1D,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,GACzB,YAAY,GAAG,IAAI,CA8MrB;yBAhNe,SAAS"}
|