@yamada-ui/react 2.2.1-dev-20260428141643 → 2.2.1-dev-20260428144932
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/dist/cjs/components/chart/use-chart.cjs +6 -16
- package/dist/cjs/components/chart/use-chart.cjs.map +1 -1
- package/dist/cjs/components/checkbox/use-checkbox-group.cjs +5 -8
- package/dist/cjs/components/checkbox/use-checkbox-group.cjs.map +1 -1
- package/dist/cjs/components/checkbox/use-checkbox.cjs +6 -7
- package/dist/cjs/components/checkbox/use-checkbox.cjs.map +1 -1
- package/dist/esm/components/chart/use-chart.js +6 -16
- package/dist/esm/components/chart/use-chart.js.map +1 -1
- package/dist/esm/components/checkbox/use-checkbox-group.js +5 -8
- package/dist/esm/components/checkbox/use-checkbox-group.js.map +1 -1
- package/dist/esm/components/checkbox/use-checkbox.js +6 -7
- package/dist/esm/components/checkbox/use-checkbox.js.map +1 -1
- package/dist/types/components/accordion/accordion.d.ts +2 -2
- package/dist/types/components/accordion/use-accordion.d.ts +11 -11
- package/dist/types/components/action-bar/action-bar.d.ts +2 -2
- package/dist/types/components/airy/airy.d.ts +2 -2
- package/dist/types/components/alert/alert.d.ts +2 -2
- package/dist/types/components/alert/alert.style.d.ts +1 -1
- package/dist/types/components/alpha-slider/alpha-slider.d.ts +2 -2
- package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
- package/dist/types/components/autocomplete/autocomplete.d.ts +2 -2
- package/dist/types/components/autocomplete/use-autocomplete.d.ts +5 -5
- package/dist/types/components/avatar/avatar.d.ts +5 -5
- package/dist/types/components/avatar/avatar.style.d.ts +1 -1
- package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
- package/dist/types/components/badge/badge.d.ts +2 -2
- package/dist/types/components/bleed/bleed.d.ts +2 -2
- package/dist/types/components/blockquote/blockquote.d.ts +2 -2
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
- package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +2 -2
- package/dist/types/components/button/icon-button.d.ts +2 -2
- package/dist/types/components/calendar/calendar.d.ts +2 -2
- package/dist/types/components/calendar/calendar.style.d.ts +2 -2
- package/dist/types/components/calendar/use-calendar.d.ts +8 -8
- package/dist/types/components/card/card.d.ts +2 -2
- package/dist/types/components/carousel/carousel.d.ts +2 -2
- package/dist/types/components/carousel/carousel.style.d.ts +2 -2
- package/dist/types/components/carousel/use-carousel.d.ts +3 -3
- package/dist/types/components/center/center.d.ts +2 -2
- package/dist/types/components/chart/chart.d.ts +5 -5
- package/dist/types/components/chart/polar-chart.style.d.ts +1 -1
- package/dist/types/components/chart/use-chart.d.ts +2 -2
- package/dist/types/components/checkbox/checkbox.d.ts +4 -4
- package/dist/types/components/checkbox/use-checkbox-group.d.ts +2 -2
- package/dist/types/components/checkbox-card/checkbox-card.d.ts +5 -5
- package/dist/types/components/checkbox-card/checkbox-card.style.d.ts +1 -1
- package/dist/types/components/circle-progress/circle-progress.d.ts +2 -2
- package/dist/types/components/close-button/close-button.d.ts +2 -2
- package/dist/types/components/code/code.d.ts +2 -2
- package/dist/types/components/collapse/collapse.d.ts +2 -2
- package/dist/types/components/color-picker/color-picker.d.ts +2 -2
- package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
- package/dist/types/components/color-picker/use-color-picker.d.ts +2 -2
- package/dist/types/components/color-selector/color-selector.d.ts +2 -2
- package/dist/types/components/color-selector/use-color-selector.d.ts +3 -3
- package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
- package/dist/types/components/container/container.d.ts +2 -2
- package/dist/types/components/data-list/data-list.d.ts +2 -2
- package/dist/types/components/data-list/data-list.style.d.ts +1 -1
- package/dist/types/components/date-picker/date-picker.d.ts +2 -2
- package/dist/types/components/date-picker/use-date-picker.d.ts +4 -4
- package/dist/types/components/drawer/drawer.d.ts +2 -2
- package/dist/types/components/dropzone/dropzone.d.ts +5 -5
- package/dist/types/components/dropzone/dropzone.style.d.ts +1 -1
- package/dist/types/components/editable/editable.d.ts +4 -4
- package/dist/types/components/editable/use-editable.d.ts +2 -2
- package/dist/types/components/em/em.d.ts +2 -2
- package/dist/types/components/empty-state/empty-state.d.ts +2 -2
- package/dist/types/components/empty-state/empty-state.style.d.ts +2 -2
- package/dist/types/components/fade/fade.d.ts +2 -2
- package/dist/types/components/field/field.d.ts +3 -3
- package/dist/types/components/field/use-field-props.d.ts +3 -3
- package/dist/types/components/fieldset/fieldset.d.ts +3 -3
- package/dist/types/components/file-button/file-button.d.ts +2 -2
- package/dist/types/components/file-button/use-file-button.d.ts +18 -18
- package/dist/types/components/file-input/file-input.d.ts +2 -2
- package/dist/types/components/file-input/use-file-input.d.ts +15 -15
- package/dist/types/components/flex/flex.d.ts +2 -2
- package/dist/types/components/flip/flip.d.ts +4 -4
- package/dist/types/components/float/float.d.ts +2 -2
- package/dist/types/components/form/form.d.ts +3 -3
- package/dist/types/components/form/form.style.d.ts +1 -1
- package/dist/types/components/format/format-byte.d.ts +4 -4
- package/dist/types/components/format/format-date-time.d.ts +4 -4
- package/dist/types/components/format/format-number.d.ts +2 -2
- package/dist/types/components/grid/grid-item.d.ts +2 -2
- package/dist/types/components/grid/grid.d.ts +2 -2
- package/dist/types/components/group/group.d.ts +2 -2
- package/dist/types/components/group/use-group.d.ts +2 -2
- package/dist/types/components/heading/heading.d.ts +2 -2
- package/dist/types/components/hue-slider/hue-slider.d.ts +3 -3
- package/dist/types/components/icon/icon.d.ts +5 -5
- package/dist/types/components/image/image.d.ts +2 -2
- package/dist/types/components/indicator/indicator.d.ts +4 -4
- package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
- package/dist/types/components/input/input-addon.d.ts +2 -2
- package/dist/types/components/input/input-element.d.ts +2 -2
- package/dist/types/components/input/input.d.ts +2 -2
- package/dist/types/components/kbd/kbd.d.ts +2 -2
- package/dist/types/components/link/link.d.ts +2 -2
- package/dist/types/components/link-box/link-box.d.ts +2 -2
- package/dist/types/components/list/list.d.ts +2 -2
- package/dist/types/components/loading/loading-provider.d.ts +2 -2
- package/dist/types/components/loading/loading.d.ts +3 -3
- package/dist/types/components/mark/mark.d.ts +2 -2
- package/dist/types/components/menu/menu.d.ts +2 -2
- package/dist/types/components/menu/use-menu.d.ts +11 -11
- package/dist/types/components/modal/modal.d.ts +2 -2
- package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
- package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
- package/dist/types/components/native-popover/native-popover.d.ts +2 -2
- package/dist/types/components/native-select/native-select.d.ts +2 -2
- package/dist/types/components/native-table/native-table.d.ts +4 -4
- package/dist/types/components/number-input/number-input.d.ts +2 -2
- package/dist/types/components/pagination/pagination.d.ts +2 -2
- package/dist/types/components/pagination/use-pagination.d.ts +2 -2
- package/dist/types/components/password-input/password-input.d.ts +2 -2
- package/dist/types/components/password-input/strength-meter.d.ts +2 -2
- package/dist/types/components/password-input/use-password-input.d.ts +2 -2
- package/dist/types/components/pin-input/pin-input.d.ts +2 -2
- package/dist/types/components/pin-input/use-pin-input.d.ts +7 -7
- package/dist/types/components/popover/popover.d.ts +2 -2
- package/dist/types/components/progress/progress.d.ts +4 -4
- package/dist/types/components/progress/use-progress.d.ts +706 -706
- package/dist/types/components/qr-code/qr-code.d.ts +2 -2
- package/dist/types/components/radio/radio.d.ts +4 -4
- package/dist/types/components/radio/use-radio-group.d.ts +2 -2
- package/dist/types/components/radio-card/radio-card.d.ts +5 -5
- package/dist/types/components/radio-card/radio-card.style.d.ts +1 -1
- package/dist/types/components/rating/use-rating.d.ts +7 -7
- package/dist/types/components/reorder/reorder.d.ts +2 -2
- package/dist/types/components/reorder/reorder.style.d.ts +1 -1
- package/dist/types/components/reorder/use-reorder.d.ts +3 -3
- package/dist/types/components/resizable/resizable.d.ts +2 -2
- package/dist/types/components/resizable/resizable.style.d.ts +2 -2
- package/dist/types/components/resizable/use-resizable.d.ts +2 -2
- package/dist/types/components/ripple/ripple.d.ts +2 -2
- package/dist/types/components/ripple/use-ripple.d.ts +2 -2
- package/dist/types/components/rotate/rotate.d.ts +2 -2
- package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
- package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +2 -2
- package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
- package/dist/types/components/segmented-control/segmented-control.d.ts +2 -2
- package/dist/types/components/segmented-control/use-segmented-control.d.ts +9 -9
- package/dist/types/components/select/select.d.ts +2 -2
- package/dist/types/components/select/use-select.d.ts +4 -4
- package/dist/types/components/separator/separator.d.ts +2 -2
- package/dist/types/components/sidebar/sidebar.d.ts +2 -2
- package/dist/types/components/sidebar/use-sidebar.d.ts +9 -9
- package/dist/types/components/simple-grid/simple-grid.d.ts +2 -2
- package/dist/types/components/skeleton/skeleton.d.ts +2 -2
- package/dist/types/components/slide/slide.d.ts +2 -2
- package/dist/types/components/slide-fade/slide-fade.d.ts +2 -2
- package/dist/types/components/slider/slider.d.ts +2 -2
- package/dist/types/components/slider/use-slider.d.ts +2 -2
- package/dist/types/components/stack/h-stack.d.ts +2 -2
- package/dist/types/components/stack/stack.d.ts +2 -2
- package/dist/types/components/stack/v-stack.d.ts +2 -2
- package/dist/types/components/stack/z-stack.d.ts +2 -2
- package/dist/types/components/stat/stat.d.ts +2 -2
- package/dist/types/components/status/status.d.ts +2 -2
- package/dist/types/components/steps/steps.d.ts +2 -2
- package/dist/types/components/steps/steps.style.d.ts +1 -1
- package/dist/types/components/steps/use-steps.d.ts +10 -10
- package/dist/types/components/switch/switch.d.ts +2 -2
- package/dist/types/components/table/table.d.ts +2 -2
- package/dist/types/components/tabs/tabs.d.ts +2 -2
- package/dist/types/components/tabs/use-tabs.d.ts +16 -16
- package/dist/types/components/tag/tag.d.ts +2 -2
- package/dist/types/components/text/text.d.ts +2 -2
- package/dist/types/components/textarea/textarea.d.ts +2 -2
- package/dist/types/components/textarea/use-autosize.d.ts +2 -2
- package/dist/types/components/timeline/timeline.d.ts +5 -5
- package/dist/types/components/timeline/timeline.style.d.ts +1 -1
- package/dist/types/components/toggle/toggle.d.ts +5 -5
- package/dist/types/components/toggle/use-toggle-group.d.ts +2 -2
- package/dist/types/components/toggle/use-toggle.d.ts +2 -2
- package/dist/types/components/tooltip/tooltip.d.ts +2 -2
- package/dist/types/components/tree/tree.d.ts +2 -2
- package/dist/types/components/tree/use-tree.d.ts +183 -183
- package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
- package/dist/types/components/wrap/wrap.d.ts +2 -2
- package/dist/types/core/components/create-component.d.ts +7 -7
- package/dist/types/core/system/color-mode-provider.d.ts +2 -2
- package/dist/types/core/system/styled.d.ts +2 -2
- package/dist/types/core/system/system-provider.d.ts +2 -2
- package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
- package/dist/types/hooks/use-clickable/index.d.ts +7 -7
- package/dist/types/hooks/use-clipboard/index.d.ts +2 -2
- package/dist/types/hooks/use-combobox/index.d.ts +12 -12
- package/dist/types/hooks/use-counter/index.d.ts +2 -2
- package/dist/types/hooks/use-descendants/index.d.ts +2 -2
- package/dist/types/providers/i18n-provider/i18n-provider.d.ts +3 -3
- package/dist/types/providers/ui-provider/ui-provider.d.ts +2 -2
- package/package.json +2 -2
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
4
4
|
const require_context = require('../../utils/context.cjs');
|
|
5
5
|
const require_utils_index = require('../../utils/index.cjs');
|
|
6
|
+
const require_props = require('../../core/components/props.cjs');
|
|
7
|
+
require('../../core/index.cjs');
|
|
6
8
|
let react = require("react");
|
|
7
9
|
|
|
8
10
|
//#region src/components/chart/use-chart.ts
|
|
@@ -76,10 +78,7 @@ const useChart = () => {
|
|
|
76
78
|
};
|
|
77
79
|
const useChartLegend = ({ placement = "start-end", align = PLACEMENT_MAP[placement].align, content, formatter, itemSorter, layout = placement.startsWith("center") ? "vertical" : "horizontal", payloadUniqBy, portal, verticalAlign = PLACEMENT_MAP[placement].verticalAlign, onBBoxUpdate, onClick, onMouseEnter, onMouseLeave, ...rest } = {}) => {
|
|
78
80
|
const { highlightedDataKey, onHighlight } = useChartContext();
|
|
79
|
-
const getRootProps = (0, react.useCallback)((props) => (
|
|
80
|
-
...rest,
|
|
81
|
-
...props
|
|
82
|
-
}), [rest]);
|
|
81
|
+
const getRootProps = (0, react.useCallback)((props) => require_props.mergeProps(rest, props)(), [rest]);
|
|
83
82
|
const getLegendProps = (0, react.useCallback)((props) => ({
|
|
84
83
|
align,
|
|
85
84
|
content,
|
|
@@ -180,18 +179,12 @@ const useChartTooltip = ({ active, allowEscapeViewBox, animationDuration = 0, an
|
|
|
180
179
|
useTranslate3d
|
|
181
180
|
]);
|
|
182
181
|
return {
|
|
183
|
-
getContentProps: (0, react.useCallback)((props) => (
|
|
184
|
-
...rest,
|
|
185
|
-
...props
|
|
186
|
-
}), [rest]),
|
|
182
|
+
getContentProps: (0, react.useCallback)((props) => require_props.mergeProps(rest, props)(), [rest]),
|
|
187
183
|
getRootProps
|
|
188
184
|
};
|
|
189
185
|
};
|
|
190
186
|
const useChartLabelList = ({ angle, clockWise, content, dataKey, formatter, offset = 12, position = "top", textBreakAll, valueAccessor, zIndex, ...rest } = {}) => {
|
|
191
|
-
const getRootProps = (0, react.useCallback)((props) => (
|
|
192
|
-
...rest,
|
|
193
|
-
...props
|
|
194
|
-
}), [rest]);
|
|
187
|
+
const getRootProps = (0, react.useCallback)((props) => require_props.mergeProps(rest, props)(), [rest]);
|
|
195
188
|
return {
|
|
196
189
|
getLabelListProps: (0, react.useCallback)((props) => ({
|
|
197
190
|
angle,
|
|
@@ -222,10 +215,7 @@ const useChartLabelList = ({ angle, clockWise, content, dataKey, formatter, offs
|
|
|
222
215
|
};
|
|
223
216
|
};
|
|
224
217
|
const useChartLabel = ({ angle, children, content, formatter, labelRef, offset, parentViewBox, position, value, viewBox, zIndex, ...rest } = {}) => {
|
|
225
|
-
const getRootProps = (0, react.useCallback)((props) => (
|
|
226
|
-
...rest,
|
|
227
|
-
...props
|
|
228
|
-
}), [rest]);
|
|
218
|
+
const getRootProps = (0, react.useCallback)((props) => require_props.mergeProps(rest, props)(), [rest]);
|
|
229
219
|
return {
|
|
230
220
|
getLabelProps: (0, react.useCallback)((props) => ({
|
|
231
221
|
angle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-chart.cjs","names":["PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n}","createContext","getRootProps: PropGetter","getLegendProps: PropGetter<LegendProps>","getRootProps: PropGetter<TooltipProps<Y, M>>","getRootProps: PropGetter<\"text\">"],"sources":["../../../../src/components/chart/use-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n LabelListProps,\n LabelProps,\n LegendProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n Direction,\n HTMLProps,\n PropGetter,\n RequiredPropGetter,\n} from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport { useCallback, useState } from \"react\"\nimport { createContext, dataAttr, handlerAll, isUndefined } from \"../../utils\"\n\nconst PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n} = {\n \"center-end\": { align: \"right\", verticalAlign: \"middle\" },\n \"center-end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"center-end-start\": { align: \"right\", verticalAlign: \"top\" },\n \"center-start\": { align: \"left\", verticalAlign: \"middle\" },\n \"center-start-end\": { align: \"left\", verticalAlign: \"bottom\" },\n \"center-start-start\": { align: \"left\", verticalAlign: \"top\" },\n end: { align: \"center\", verticalAlign: \"bottom\" },\n \"end-center\": { align: \"center\", verticalAlign: \"bottom\" },\n \"end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"end-start\": { align: \"left\", verticalAlign: \"bottom\" },\n start: { align: \"center\", verticalAlign: \"top\" },\n \"start-center\": { align: \"center\", verticalAlign: \"top\" },\n \"start-end\": { align: \"right\", verticalAlign: \"top\" },\n \"start-start\": { align: \"left\", verticalAlign: \"top\" },\n}\n\ninterface ChartContext extends UseChartReturn {}\n\nconst [ChartContext, useChartContext] = createContext<ChartContext>({\n name: \"ChartContext\",\n})\n\nexport { ChartContext, useChartContext }\n\nexport const useChart = () => {\n const [highlightedDataKey, setHighlightedDataKey] = useState<\n number | string | undefined\n >(undefined)\n\n const onHighlight = useCallback((dataKey?: number | string) => {\n setHighlightedDataKey(dataKey)\n }, [])\n\n return { highlightedDataKey, onHighlight }\n}\n\nexport type UseChartReturn = ReturnType<typeof useChart>\n\nexport interface UseChartLegendProps extends Merge<\n HTMLProps,\n Pick<\n LegendProps,\n | \"align\"\n | \"content\"\n | \"formatter\"\n | \"itemSorter\"\n | \"layout\"\n | \"onBBoxUpdate\"\n | \"onClick\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"payloadUniqBy\"\n | \"portal\"\n | \"verticalAlign\"\n >\n> {\n /**\n * The placement of the legend.\n *\n * @default 'start-end'\n */\n placement?: Direction\n}\n\nexport const useChartLegend = ({\n placement = \"start-end\",\n align = PLACEMENT_MAP[placement].align,\n content,\n formatter,\n itemSorter,\n layout = placement.startsWith(\"center\") ? \"vertical\" : \"horizontal\",\n payloadUniqBy,\n portal,\n verticalAlign = PLACEMENT_MAP[placement].verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartLegendProps = {}) => {\n const { highlightedDataKey, onHighlight } = useChartContext()\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLegendProps: PropGetter<LegendProps> = useCallback(\n (props) => ({\n align,\n content,\n formatter,\n itemSorter,\n layout,\n payloadUniqBy,\n portal,\n verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n align,\n content,\n formatter,\n itemSorter,\n layout,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n payloadUniqBy,\n portal,\n verticalAlign,\n ],\n )\n\n const getLegendContentProps: PropGetter = useCallback(\n (props) => ({\n \"data-align\": align,\n \"data-orientation\": layout,\n \"data-vertical-align\": verticalAlign,\n ...props,\n }),\n [align, layout, verticalAlign],\n )\n\n const getLegendItemProps: RequiredPropGetter<\n \"div\",\n { dataKey?: number | string }\n > = useCallback(\n ({ dataKey, ...props }) => ({\n ...props,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n onMouseEnter: handlerAll(props.onMouseEnter, () => onHighlight(dataKey)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => onHighlight()),\n }),\n [highlightedDataKey, onHighlight],\n )\n\n return {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n }\n}\n\nexport type UseChartLegendReturn = ReturnType<typeof useChartLegend>\n\nexport interface UseChartTooltipProps<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> extends Merge<\n HTMLProps,\n Omit<\n TooltipProps<Y, M>,\n | \"contentStyle\"\n | \"itemStyle\"\n | \"labelClassName\"\n | \"labelStyle\"\n | \"separator\"\n | \"wrapperClassName\"\n | \"wrapperStyle\"\n >\n> {}\n\nexport const useChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>({\n active,\n allowEscapeViewBox,\n animationDuration = 0,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive = (animationDuration || 0) > 0,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...rest\n}: UseChartTooltipProps<Y, M> = {}) => {\n const getRootProps: PropGetter<TooltipProps<Y, M>> = useCallback(\n (props) => ({\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...props,\n }),\n [\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ],\n )\n\n const getContentProps: PropGetter = useCallback(\n (props) => ({\n ...rest,\n ...props,\n }),\n [rest],\n )\n\n return { getContentProps, getRootProps }\n}\n\nexport type UseChartTooltipReturn<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> = ReturnType<typeof useChartTooltip<Y, M>>\n\nexport interface UseChartLabelListProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelListProps,\n | \"angle\"\n | \"clockWise\"\n | \"content\"\n | \"dataKey\"\n | \"formatter\"\n | \"offset\"\n | \"position\"\n | \"textBreakAll\"\n | \"valueAccessor\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabelList = ({\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset = 12,\n position = \"top\",\n textBreakAll,\n valueAccessor,\n zIndex,\n ...rest\n}: UseChartLabelListProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLabelListProps: PropGetter<LabelListProps> = useCallback(\n (props) => ({\n angle,\n clockWise,\n content,\n dataKey,\n fill: \"\",\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ...props,\n }),\n [\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ],\n )\n\n return { getLabelListProps, getRootProps }\n}\n\nexport type UseChartLabelListReturn = ReturnType<typeof useChartLabelList>\n\nexport interface UseChartLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"children\"\n | \"content\"\n | \"formatter\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabel = ({\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...rest\n}: UseChartLabelProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLabelProps: PropGetter<LabelProps> = useCallback(\n (props) => ({\n angle,\n children,\n content,\n fill: \"\",\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...props,\n }),\n [\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ],\n )\n\n return { getLabelProps, getRootProps }\n}\n\nexport type UseChartLabelReturn = ReturnType<typeof useChartLabel>\n"],"mappings":";;;;;;;;AAkBA,MAAMA,gBAKF;CACF,cAAc;EAAE,OAAO;EAAS,eAAe;EAAU;CACzD,kBAAkB;EAAE,OAAO;EAAS,eAAe;EAAU;CAC7D,oBAAoB;EAAE,OAAO;EAAS,eAAe;EAAO;CAC5D,gBAAgB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC1D,oBAAoB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC9D,sBAAsB;EAAE,OAAO;EAAQ,eAAe;EAAO;CAC7D,KAAK;EAAE,OAAO;EAAU,eAAe;EAAU;CACjD,cAAc;EAAE,OAAO;EAAU,eAAe;EAAU;CAC1D,WAAW;EAAE,OAAO;EAAS,eAAe;EAAU;CACtD,aAAa;EAAE,OAAO;EAAQ,eAAe;EAAU;CACvD,OAAO;EAAE,OAAO;EAAU,eAAe;EAAO;CAChD,gBAAgB;EAAE,OAAO;EAAU,eAAe;EAAO;CACzD,aAAa;EAAE,OAAO;EAAS,eAAe;EAAO;CACrD,eAAe;EAAE,OAAO;EAAQ,eAAe;EAAO;CACvD;AAID,MAAM,CAAC,cAAc,mBAAmBC,8BAA4B,EAClE,MAAM,gBACP,CAAC;AAIF,MAAa,iBAAiB;CAC5B,MAAM,CAAC,oBAAoB,6CAEzB,OAAU;AAMZ,QAAO;EAAE;EAAoB,qCAJI,YAA8B;AAC7D,yBAAsB,QAAQ;KAC7B,EAAE,CAAC;EAEoC;;AA+B5C,MAAa,kBAAkB,EAC7B,YAAY,aACZ,QAAQ,cAAc,WAAW,OACjC,SACA,WACA,YACA,SAAS,UAAU,WAAW,SAAS,GAAG,aAAa,cACvD,eACA,QACA,gBAAgB,cAAc,WAAW,eACzC,cACA,SACA,cACA,cACA,GAAG,SACoB,EAAE,KAAK;CAC9B,MAAM,EAAE,oBAAoB,gBAAgB,iBAAiB;CAE7D,MAAMC,uCACH,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;CAED,MAAMC,yCACH,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA8BD,QAAO;EACL,+CA5BC,WAAW;GACV,cAAc;GACd,oBAAoB;GACpB,uBAAuB;GACvB,GAAG;GACJ,GACD;GAAC;GAAO;GAAQ;GAAc,CAC/B;EAsBC,4CAhBC,EAAE,SAAS,GAAG,aAAa;GAC1B,GAAG;GACH,+DACE,oDAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,iEACE,oDAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,gEAAyB,MAAM,oBAAoB,YAAY,QAAQ,CAAC;GACxE,gEAAyB,MAAM,oBAAoB,aAAa,CAAC;GAClE,GACD,CAAC,oBAAoB,YAAY,CAClC;EAKC;EACA;EACD;;AAsBH,MAAa,mBAGX,EACA,QACA,oBACA,oBAAoB,GACpB,iBACA,QACA,SACA,QACA,cACA,YACA,WACA,eACA,qBAAqB,qBAAqB,KAAK,GAC/C,YACA,gBACA,QACA,eACA,QACA,UACA,kBACA,QACA,SACA,gBACA,GAAG,SAC2B,EAAE,KAAK;CACrC,MAAMC,uCACH,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAUD,QAAO;EAAE,yCAPN,WAAW;GACV,GAAG;GACH,GAAG;GACJ,GACD,CAAC,KAAK,CACP;EAEyB;EAAc;;AAyB1C,MAAa,qBAAqB,EAChC,OACA,WACA,SACA,SACA,WACA,SAAS,IACT,WAAW,OACX,cACA,eACA,QACA,GAAG,SACuB,EAAE,KAAK;CACjC,MAAMC,uCACH,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;AA+BD,QAAO;EAAE,2CA5BN,WAAW;GACV;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAE2B;EAAc;;AAuB5C,MAAa,iBAAiB,EAC5B,OACA,UACA,SACA,WACA,UACA,QACA,eACA,UACA,OACA,SACA,QACA,GAAG,SACmB,EAAE,KAAK;CAC7B,MAAMA,uCACH,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;AAiCD,QAAO;EAAE,uCA9BN,WAAW;GACV;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAEuB;EAAc"}
|
|
1
|
+
{"version":3,"file":"use-chart.cjs","names":["PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n}","createContext","getRootProps: PropGetter","mergeProps","getLegendProps: PropGetter<LegendProps>","getRootProps: PropGetter<TooltipProps<Y, M>>","getRootProps: PropGetter<\"text\">"],"sources":["../../../../src/components/chart/use-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n LabelListProps,\n LabelProps,\n LegendProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n Direction,\n HTMLProps,\n PropGetter,\n RequiredPropGetter,\n} from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport { useCallback, useState } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { createContext, dataAttr, handlerAll, isUndefined } from \"../../utils\"\n\nconst PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n} = {\n \"center-end\": { align: \"right\", verticalAlign: \"middle\" },\n \"center-end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"center-end-start\": { align: \"right\", verticalAlign: \"top\" },\n \"center-start\": { align: \"left\", verticalAlign: \"middle\" },\n \"center-start-end\": { align: \"left\", verticalAlign: \"bottom\" },\n \"center-start-start\": { align: \"left\", verticalAlign: \"top\" },\n end: { align: \"center\", verticalAlign: \"bottom\" },\n \"end-center\": { align: \"center\", verticalAlign: \"bottom\" },\n \"end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"end-start\": { align: \"left\", verticalAlign: \"bottom\" },\n start: { align: \"center\", verticalAlign: \"top\" },\n \"start-center\": { align: \"center\", verticalAlign: \"top\" },\n \"start-end\": { align: \"right\", verticalAlign: \"top\" },\n \"start-start\": { align: \"left\", verticalAlign: \"top\" },\n}\n\ninterface ChartContext extends UseChartReturn {}\n\nconst [ChartContext, useChartContext] = createContext<ChartContext>({\n name: \"ChartContext\",\n})\n\nexport { ChartContext, useChartContext }\n\nexport const useChart = () => {\n const [highlightedDataKey, setHighlightedDataKey] = useState<\n number | string | undefined\n >(undefined)\n\n const onHighlight = useCallback((dataKey?: number | string) => {\n setHighlightedDataKey(dataKey)\n }, [])\n\n return { highlightedDataKey, onHighlight }\n}\n\nexport type UseChartReturn = ReturnType<typeof useChart>\n\nexport interface UseChartLegendProps extends Merge<\n HTMLProps,\n Pick<\n LegendProps,\n | \"align\"\n | \"content\"\n | \"formatter\"\n | \"itemSorter\"\n | \"layout\"\n | \"onBBoxUpdate\"\n | \"onClick\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"payloadUniqBy\"\n | \"portal\"\n | \"verticalAlign\"\n >\n> {\n /**\n * The placement of the legend.\n *\n * @default 'start-end'\n */\n placement?: Direction\n}\n\nexport const useChartLegend = ({\n placement = \"start-end\",\n align = PLACEMENT_MAP[placement].align,\n content,\n formatter,\n itemSorter,\n layout = placement.startsWith(\"center\") ? \"vertical\" : \"horizontal\",\n payloadUniqBy,\n portal,\n verticalAlign = PLACEMENT_MAP[placement].verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartLegendProps = {}) => {\n const { highlightedDataKey, onHighlight } = useChartContext()\n\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getLegendProps: PropGetter<LegendProps> = useCallback(\n (props) => ({\n align,\n content,\n formatter,\n itemSorter,\n layout,\n payloadUniqBy,\n portal,\n verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n align,\n content,\n formatter,\n itemSorter,\n layout,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n payloadUniqBy,\n portal,\n verticalAlign,\n ],\n )\n\n const getLegendContentProps: PropGetter = useCallback(\n (props) => ({\n \"data-align\": align,\n \"data-orientation\": layout,\n \"data-vertical-align\": verticalAlign,\n ...props,\n }),\n [align, layout, verticalAlign],\n )\n\n const getLegendItemProps: RequiredPropGetter<\n \"div\",\n { dataKey?: number | string }\n > = useCallback(\n ({ dataKey, ...props }) => ({\n ...props,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n onMouseEnter: handlerAll(props.onMouseEnter, () => onHighlight(dataKey)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => onHighlight()),\n }),\n [highlightedDataKey, onHighlight],\n )\n\n return {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n }\n}\n\nexport type UseChartLegendReturn = ReturnType<typeof useChartLegend>\n\nexport interface UseChartTooltipProps<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> extends Merge<\n HTMLProps,\n Omit<\n TooltipProps<Y, M>,\n | \"contentStyle\"\n | \"itemStyle\"\n | \"labelClassName\"\n | \"labelStyle\"\n | \"separator\"\n | \"wrapperClassName\"\n | \"wrapperStyle\"\n >\n> {}\n\nexport const useChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>({\n active,\n allowEscapeViewBox,\n animationDuration = 0,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive = (animationDuration || 0) > 0,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...rest\n}: UseChartTooltipProps<Y, M> = {}) => {\n const getRootProps: PropGetter<TooltipProps<Y, M>> = useCallback(\n (props) => ({\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...props,\n }),\n [\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ],\n )\n\n const getContentProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n return { getContentProps, getRootProps }\n}\n\nexport type UseChartTooltipReturn<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> = ReturnType<typeof useChartTooltip<Y, M>>\n\nexport interface UseChartLabelListProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelListProps,\n | \"angle\"\n | \"clockWise\"\n | \"content\"\n | \"dataKey\"\n | \"formatter\"\n | \"offset\"\n | \"position\"\n | \"textBreakAll\"\n | \"valueAccessor\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabelList = ({\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset = 12,\n position = \"top\",\n textBreakAll,\n valueAccessor,\n zIndex,\n ...rest\n}: UseChartLabelListProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getLabelListProps: PropGetter<LabelListProps> = useCallback(\n (props) => ({\n angle,\n clockWise,\n content,\n dataKey,\n fill: \"\",\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ...props,\n }),\n [\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ],\n )\n\n return { getLabelListProps, getRootProps }\n}\n\nexport type UseChartLabelListReturn = ReturnType<typeof useChartLabelList>\n\nexport interface UseChartLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"children\"\n | \"content\"\n | \"formatter\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabel = ({\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...rest\n}: UseChartLabelProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getLabelProps: PropGetter<LabelProps> = useCallback(\n (props) => ({\n angle,\n children,\n content,\n fill: \"\",\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...props,\n }),\n [\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ],\n )\n\n return { getLabelProps, getRootProps }\n}\n\nexport type UseChartLabelReturn = ReturnType<typeof useChartLabel>\n"],"mappings":";;;;;;;;;;AAmBA,MAAMA,gBAKF;CACF,cAAc;EAAE,OAAO;EAAS,eAAe;EAAU;CACzD,kBAAkB;EAAE,OAAO;EAAS,eAAe;EAAU;CAC7D,oBAAoB;EAAE,OAAO;EAAS,eAAe;EAAO;CAC5D,gBAAgB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC1D,oBAAoB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC9D,sBAAsB;EAAE,OAAO;EAAQ,eAAe;EAAO;CAC7D,KAAK;EAAE,OAAO;EAAU,eAAe;EAAU;CACjD,cAAc;EAAE,OAAO;EAAU,eAAe;EAAU;CAC1D,WAAW;EAAE,OAAO;EAAS,eAAe;EAAU;CACtD,aAAa;EAAE,OAAO;EAAQ,eAAe;EAAU;CACvD,OAAO;EAAE,OAAO;EAAU,eAAe;EAAO;CAChD,gBAAgB;EAAE,OAAO;EAAU,eAAe;EAAO;CACzD,aAAa;EAAE,OAAO;EAAS,eAAe;EAAO;CACrD,eAAe;EAAE,OAAO;EAAQ,eAAe;EAAO;CACvD;AAID,MAAM,CAAC,cAAc,mBAAmBC,8BAA4B,EAClE,MAAM,gBACP,CAAC;AAIF,MAAa,iBAAiB;CAC5B,MAAM,CAAC,oBAAoB,6CAEzB,OAAU;AAMZ,QAAO;EAAE;EAAoB,qCAJI,YAA8B;AAC7D,yBAAsB,QAAQ;KAC7B,EAAE,CAAC;EAEoC;;AA+B5C,MAAa,kBAAkB,EAC7B,YAAY,aACZ,QAAQ,cAAc,WAAW,OACjC,SACA,WACA,YACA,SAAS,UAAU,WAAW,SAAS,GAAG,aAAa,cACvD,eACA,QACA,gBAAgB,cAAc,WAAW,eACzC,cACA,SACA,cACA,cACA,GAAG,SACoB,EAAE,KAAK;CAC9B,MAAM,EAAE,oBAAoB,gBAAgB,iBAAiB;CAE7D,MAAMC,uCACH,UAAUC,yBAAW,MAAM,MAAM,EAAE,EACpC,CAAC,KAAK,CACP;CAED,MAAMC,yCACH,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA8BD,QAAO;EACL,+CA5BC,WAAW;GACV,cAAc;GACd,oBAAoB;GACpB,uBAAuB;GACvB,GAAG;GACJ,GACD;GAAC;GAAO;GAAQ;GAAc,CAC/B;EAsBC,4CAhBC,EAAE,SAAS,GAAG,aAAa;GAC1B,GAAG;GACH,+DACE,oDAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,iEACE,oDAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,gEAAyB,MAAM,oBAAoB,YAAY,QAAQ,CAAC;GACxE,gEAAyB,MAAM,oBAAoB,aAAa,CAAC;GAClE,GACD,CAAC,oBAAoB,YAAY,CAClC;EAKC;EACA;EACD;;AAsBH,MAAa,mBAGX,EACA,QACA,oBACA,oBAAoB,GACpB,iBACA,QACA,SACA,QACA,cACA,YACA,WACA,eACA,qBAAqB,qBAAqB,KAAK,GAC/C,YACA,gBACA,QACA,eACA,QACA,UACA,kBACA,QACA,SACA,gBACA,GAAG,SAC2B,EAAE,KAAK;CACrC,MAAMC,uCACH,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAOD,QAAO;EAAE,yCAJN,UAAUF,yBAAW,MAAM,MAAM,EAAE,EACpC,CAAC,KAAK,CACP;EAEyB;EAAc;;AAyB1C,MAAa,qBAAqB,EAChC,OACA,WACA,SACA,SACA,WACA,SAAS,IACT,WAAW,OACX,cACA,eACA,QACA,GAAG,SACuB,EAAE,KAAK;CACjC,MAAMG,uCACH,UAAUH,yBAAW,MAAM,MAAM,EAAE,EACpC,CAAC,KAAK,CACP;AA+BD,QAAO;EAAE,2CA5BN,WAAW;GACV;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAE2B;EAAc;;AAuB5C,MAAa,iBAAiB,EAC5B,OACA,UACA,SACA,WACA,UACA,QACA,eACA,UACA,OACA,SACA,QACA,GAAG,SACmB,EAAE,KAAK;CAC7B,MAAMG,uCACH,UAAUH,yBAAW,MAAM,MAAM,EAAE,EACpC,CAAC,KAAK,CACP;AAiCD,QAAO;EAAE,uCA9BN,WAAW;GACV;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAEuB;EAAc"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
4
4
|
const require_context = require('../../utils/context.cjs');
|
|
5
5
|
const require_dom = require('../../utils/dom.cjs');
|
|
6
|
-
const require_ref = require('../../utils/ref.cjs');
|
|
7
6
|
const require_utils_index = require('../../utils/index.cjs');
|
|
7
|
+
const require_props = require('../../core/components/props.cjs');
|
|
8
|
+
require('../../core/index.cjs');
|
|
8
9
|
const require_hooks_use_controllable_state_index = require('../../hooks/use-controllable-state/index.cjs');
|
|
9
10
|
const require_use_field_props = require('../field/use-field-props.cjs');
|
|
10
11
|
require('../field/index.cjs');
|
|
@@ -36,15 +37,11 @@ const useCheckboxGroup = (props = {}) => {
|
|
|
36
37
|
max,
|
|
37
38
|
setValue
|
|
38
39
|
]);
|
|
39
|
-
const getRootProps = (0, react.useCallback)(({ ref, "aria-describedby": ariaDescribedby, "aria-labelledby": ariaLabelledby, ...props$1 } = {}) => ({
|
|
40
|
-
...dataProps,
|
|
40
|
+
const getRootProps = (0, react.useCallback)(({ ref, "aria-describedby": ariaDescribedby, "aria-labelledby": ariaLabelledby, ...props$1 } = {}) => require_props.mergeProps(dataProps, {
|
|
41
41
|
"aria-describedby": (0, require_utils_index.utils_exports.cx)(ariaDescribedbyProp, ariaDescribedby),
|
|
42
42
|
"aria-labelledby": (0, require_utils_index.utils_exports.cx)(labelId, ariaLabelledby),
|
|
43
|
-
role: "group"
|
|
44
|
-
|
|
45
|
-
...props$1,
|
|
46
|
-
ref: require_ref.mergeRefs(ref, rest.ref)
|
|
47
|
-
}), [
|
|
43
|
+
role: "group"
|
|
44
|
+
}, rest, props$1, { ref })(), [
|
|
48
45
|
ariaDescribedbyProp,
|
|
49
46
|
dataProps,
|
|
50
47
|
labelId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-checkbox-group.cjs","names":["createContext","useFieldProps","useControllableState","getRootProps: PropGetter","props","
|
|
1
|
+
{"version":3,"file":"use-checkbox-group.cjs","names":["createContext","useFieldProps","useControllableState","getRootProps: PropGetter","props","mergeProps","visuallyHiddenAttributes"],"sources":["../../../../src/components/checkbox/use-checkbox-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n ariaAttr,\n createContext,\n cx,\n dataAttr,\n handlerAll,\n isNumber,\n isObject,\n isString,\n isUndefined,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\ninterface CheckboxGroupContext extends Omit<\n UseCheckboxGroupReturn,\n \"getRootProps\"\n> {}\n\nconst [CheckboxGroupContext, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport { CheckboxGroupContext, useCheckboxGroupContext }\n\nexport interface UseCheckboxGroupProps<Y extends string = string>\n extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\">, FieldProps {\n /**\n * The initial value of the checkbox group.\n *\n * @default []\n */\n defaultValue?: Y[]\n /**\n * The maximum number of checkboxes that can be checked.\n */\n max?: number\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <Y extends string = string>(\n props: UseCheckboxGroupProps<Y> = {},\n) => {\n const {\n context: { labelId } = {},\n props: {\n defaultValue = [],\n disabled,\n max,\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps: { \"aria-describedby\": ariaDescribedbyProp, ...ariaProps },\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onChange = useCallback(\n (valueOrEv: ChangeEvent<HTMLInputElement> | Y) => {\n if (!interactive) return\n\n if (isObject(valueOrEv)) valueOrEv = valueOrEv.target.value as Y\n\n setValue((prev) => {\n if (prev.includes(valueOrEv)) {\n return prev.filter((prevValue) => prevValue !== valueOrEv)\n } else if (!isNumber(max) || prev.length < max) {\n return [...prev, valueOrEv]\n } else {\n return prev\n }\n })\n },\n [interactive, max, setValue],\n )\n\n const getRootProps: PropGetter = useCallback(\n ({\n ref,\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby,\n ...props\n } = {}) =>\n mergeProps(\n dataProps,\n {\n \"aria-describedby\": cx(ariaDescribedbyProp, ariaDescribedby),\n \"aria-labelledby\": cx(labelId, ariaLabelledby),\n role: \"group\",\n },\n rest,\n props,\n {\n ref,\n },\n )(),\n [ariaDescribedbyProp, dataProps, labelId, rest],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => {\n const checked =\n !isUndefined(value) &&\n (isString(props.value) || isNumber(props.value)) &&\n value.includes(props.value as Y)\n const trulyDisabled = !checked && isNumber(max) && value.length >= max\n\n return {\n ...dataProps,\n ...ariaProps,\n type: \"checkbox\",\n style: visuallyHiddenAttributes.style,\n \"aria-checked\": checked,\n \"aria-disabled\": ariaAttr(trulyDisabled),\n \"data-checked\": dataAttr(checked),\n \"data-disabled\": dataAttr(trulyDisabled),\n checked,\n disabled: trulyDisabled,\n readOnly,\n required,\n ...props,\n onBlur: handlerAll(props.onBlur, eventProps.onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, eventProps.onFocus),\n }\n },\n [\n ariaProps,\n dataProps,\n eventProps,\n max,\n onChange,\n readOnly,\n required,\n value,\n ],\n )\n\n const getLabelProps: PropGetter<\"label\"> = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n return {\n max,\n value,\n getInputProps,\n getLabelProps,\n getRootProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn = ReturnType<typeof useCheckboxGroup>\n"],"mappings":";;;;;;;;;;;;;;AA2BA,MAAM,CAAC,sBAAsB,2BAC3BA,8BAAoC;CAClC,MAAM;CACN,QAAQ;CACT,CAAC;AA0BJ,MAAa,oBACX,QAAkC,EAAE,KACjC;CACH,MAAM,EACJ,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,EACL,eAAe,EAAE,EACjB,UACA,KACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,QAEL,WAAW,EAAE,oBAAoB,qBAAqB,GAAG,aACzD,WACA,eACEC,sCAAc,MAAM;CACxB,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,CAAC,OAAO,YAAYC,gEAAqB;EAC7C;EACA,OAAO;EACP,UAAU;EACX,CAAC;CAEF,MAAM,mCACH,cAAiD;AAChD,MAAI,CAAC,YAAa;AAElB,sDAAa,UAAU,CAAE,aAAY,UAAU,OAAO;AAEtD,YAAU,SAAS;AACjB,OAAI,KAAK,SAAS,UAAU,CAC1B,QAAO,KAAK,QAAQ,cAAc,cAAc,UAAU;YACjD,iDAAU,IAAI,IAAI,KAAK,SAAS,IACzC,QAAO,CAAC,GAAG,MAAM,UAAU;OAE3B,QAAO;IAET;IAEJ;EAAC;EAAa;EAAK;EAAS,CAC7B;CAED,MAAMC,uCACH,EACC,KACA,oBAAoB,iBACpB,mBAAmB,gBACnB,GAAGC,YACD,EAAE,KACJC,yBACE,WACA;EACE,8DAAuB,qBAAqB,gBAAgB;EAC5D,6DAAsB,SAAS,eAAe;EAC9C,MAAM;EACP,EACD,MACAD,SACA,EACE,KACD,CACF,EAAE,EACL;EAAC;EAAqB;EAAW;EAAS;EAAK,CAChD;AAiDD,QAAO;EACL;EACA;EACA,uCAjDC,UAAQ,EAAE,KAAK;GACd,MAAM,UACJ,oDAAa,MAAM,qDACTA,QAAM,MAAM,oDAAaA,QAAM,MAAM,KAC/C,MAAM,SAASA,QAAM,MAAW;GAClC,MAAM,gBAAgB,CAAC,2DAAoB,IAAI,IAAI,MAAM,UAAU;AAEnE,UAAO;IACL,GAAG;IACH,GAAG;IACH,MAAM;IACN,OAAOE,qCAAyB;IAChC,gBAAgB;IAChB,iEAA0B,cAAc;IACxC,gEAAyB,QAAQ;IACjC,iEAA0B,cAAc;IACxC;IACA,UAAU;IACV;IACA;IACA,GAAGF;IACH,0DAAmBA,QAAM,QAAQ,WAAW,OAAO;IACnD,4DAAqBA,QAAM,UAAU,SAAS;IAC9C,2DAAoBA,QAAM,SAAS,WAAW,QAAQ;IACvD;KAEH;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAcC,uCAXC,aAAW;GACV,GAAG;GACH,GAAGA;GACJ,GACD,CAAC,UAAU,CACZ;EAOC;EACA;EACD"}
|
|
@@ -4,6 +4,8 @@ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
|
4
4
|
const require_dom = require('../../utils/dom.cjs');
|
|
5
5
|
const require_ref = require('../../utils/ref.cjs');
|
|
6
6
|
const require_utils_index = require('../../utils/index.cjs');
|
|
7
|
+
const require_props = require('../../core/components/props.cjs');
|
|
8
|
+
require('../../core/index.cjs');
|
|
7
9
|
const require_hooks_use_controllable_state_index = require('../../hooks/use-controllable-state/index.cjs');
|
|
8
10
|
const require_use_field_props = require('../field/use-field-props.cjs');
|
|
9
11
|
require('../field/index.cjs');
|
|
@@ -41,14 +43,11 @@ const useCheckbox = ({ "aria-describedby": ariaDescribedbyProp, ...props } = {})
|
|
|
41
43
|
setChecked
|
|
42
44
|
]);
|
|
43
45
|
const getRootProps = (0, react.useCallback)((props$1 = {}) => {
|
|
44
|
-
const
|
|
45
|
-
...dataProps,
|
|
46
|
+
const merged = require_props.mergeProps(dataProps, {
|
|
46
47
|
"data-checked": (0, require_utils_index.utils_exports.dataAttr)(checked),
|
|
47
|
-
"data-indeterminate": (0, require_utils_index.utils_exports.dataAttr)(indeterminate)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
};
|
|
51
|
-
return getLabelProps?.(sharedProps) ?? sharedProps;
|
|
48
|
+
"data-indeterminate": (0, require_utils_index.utils_exports.dataAttr)(indeterminate)
|
|
49
|
+
}, rest, props$1)();
|
|
50
|
+
return getLabelProps?.(merged) ?? merged;
|
|
52
51
|
}, [
|
|
53
52
|
dataProps,
|
|
54
53
|
checked,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-checkbox.cjs","names":["useCheckboxGroupContext","useFieldProps","useControllableEventState","getRootProps: PropGetter<\"label\">","props","getInputProps: PropGetter<\"input\">","ariaDescribedby","visuallyHiddenAttributes","mergeRefs"],"sources":["../../../../src/components/checkbox/use-checkbox.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, ChangeEventHandler, FocusEventHandler } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useId } from \"react\"\nimport { useControllableEventState } from \"../../hooks/use-controllable-state\"\nimport {\n ariaAttr,\n cx,\n dataAttr,\n handlerAll,\n isNumber,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useCheckboxGroupContext } from \"./use-checkbox-group\"\n\nexport interface UseCheckboxProps<Y extends string = string>\n extends\n Omit<HTMLProps<\"label\">, \"onBlur\" | \"onChange\" | \"onFocus\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, the checkbox will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * The name of the input field in a checkbox.\n */\n name?: string\n /**\n * The value of the checkbox.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <Y extends string = string>({\n \"aria-describedby\": ariaDescribedbyProp,\n ...props\n}: UseCheckboxProps<Y> = {}) => {\n const group = useCheckboxGroupContext()\n const {\n max,\n value: groupValue,\n getInputProps: getGroupInputProps,\n getLabelProps,\n } = group ?? {}\n const uuid = useId()\n const {\n props: {\n id,\n ref,\n name,\n \"aria-controls\": ariaControlsProp,\n \"aria-labelledby\": ariaLabelledbyProp,\n checked: checkedProp,\n defaultChecked = false,\n disabled,\n indeterminate = false,\n readOnly,\n required,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps: { \"aria-describedby\": ariaDescribedby, ...ariaProps },\n dataProps,\n eventProps,\n } = useFieldProps({\n id: group ? uuid : undefined,\n ...props,\n notSupportReadOnly: true,\n })\n const resolvedAriaDescribedby = group ? ariaDescribedbyProp : ariaDescribedby\n const resolvedChecked =\n !isUndefined(groupValue) && !isUndefined(value)\n ? groupValue.includes(value)\n : checkedProp\n const [checked, setChecked] = useControllableEventState({\n defaultValue: defaultChecked,\n value: resolvedChecked,\n onChange: onChangeProp,\n })\n const trulyDisabled =\n !checked && isNumber(max) && group && group.value.length >= max\n const interactive = !(readOnly || trulyDisabled)\n const indeterminateRef = useCallback(\n (el: HTMLInputElement | null) => {\n if (el) el.indeterminate = indeterminate\n },\n [indeterminate],\n )\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!interactive) return (ev.defaultPrevented = true)\n\n if (indeterminate) ev.target.checked = true\n\n setChecked(ev)\n },\n [interactive, indeterminate, setChecked],\n )\n\n const getRootProps: PropGetter<\"label\"> = useCallback(\n (props = {}) => {\n const
|
|
1
|
+
{"version":3,"file":"use-checkbox.cjs","names":["useCheckboxGroupContext","useFieldProps","useControllableEventState","getRootProps: PropGetter<\"label\">","mergeProps","props","getInputProps: PropGetter<\"input\">","ariaDescribedby","visuallyHiddenAttributes","mergeRefs"],"sources":["../../../../src/components/checkbox/use-checkbox.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, ChangeEventHandler, FocusEventHandler } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useId } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableEventState } from \"../../hooks/use-controllable-state\"\nimport {\n ariaAttr,\n cx,\n dataAttr,\n handlerAll,\n isNumber,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useCheckboxGroupContext } from \"./use-checkbox-group\"\n\nexport interface UseCheckboxProps<Y extends string = string>\n extends\n Omit<HTMLProps<\"label\">, \"onBlur\" | \"onChange\" | \"onFocus\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, the checkbox will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * The name of the input field in a checkbox.\n */\n name?: string\n /**\n * The value of the checkbox.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <Y extends string = string>({\n \"aria-describedby\": ariaDescribedbyProp,\n ...props\n}: UseCheckboxProps<Y> = {}) => {\n const group = useCheckboxGroupContext()\n const {\n max,\n value: groupValue,\n getInputProps: getGroupInputProps,\n getLabelProps,\n } = group ?? {}\n const uuid = useId()\n const {\n props: {\n id,\n ref,\n name,\n \"aria-controls\": ariaControlsProp,\n \"aria-labelledby\": ariaLabelledbyProp,\n checked: checkedProp,\n defaultChecked = false,\n disabled,\n indeterminate = false,\n readOnly,\n required,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps: { \"aria-describedby\": ariaDescribedby, ...ariaProps },\n dataProps,\n eventProps,\n } = useFieldProps({\n id: group ? uuid : undefined,\n ...props,\n notSupportReadOnly: true,\n })\n const resolvedAriaDescribedby = group ? ariaDescribedbyProp : ariaDescribedby\n const resolvedChecked =\n !isUndefined(groupValue) && !isUndefined(value)\n ? groupValue.includes(value)\n : checkedProp\n const [checked, setChecked] = useControllableEventState({\n defaultValue: defaultChecked,\n value: resolvedChecked,\n onChange: onChangeProp,\n })\n const trulyDisabled =\n !checked && isNumber(max) && group && group.value.length >= max\n const interactive = !(readOnly || trulyDisabled)\n const indeterminateRef = useCallback(\n (el: HTMLInputElement | null) => {\n if (el) el.indeterminate = indeterminate\n },\n [indeterminate],\n )\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!interactive) return (ev.defaultPrevented = true)\n\n if (indeterminate) ev.target.checked = true\n\n setChecked(ev)\n },\n [interactive, indeterminate, setChecked],\n )\n\n const getRootProps: PropGetter<\"label\"> = useCallback(\n (props = {}) => {\n const merged = mergeProps(\n dataProps,\n {\n \"data-checked\": dataAttr(checked),\n \"data-indeterminate\": dataAttr(indeterminate),\n },\n rest,\n props,\n )()\n\n return getLabelProps?.(merged) ?? merged\n },\n [dataProps, checked, indeterminate, rest, getLabelProps],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({\n \"aria-controls\": ariaControls,\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby,\n ...props\n } = {}) => {\n const sharedProps = {\n ...dataProps,\n ...ariaProps,\n id,\n type: \"checkbox\",\n name,\n style: visuallyHiddenAttributes.style,\n \"aria-checked\": indeterminate ? (\"mixed\" as const) : checked,\n \"aria-controls\": cx(ariaControls, ariaControlsProp),\n \"aria-describedby\": cx(resolvedAriaDescribedby, ariaDescribedby),\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-labelledby\": cx(ariaLabelledby, ariaLabelledbyProp),\n \"data-checked\": dataAttr(checked),\n \"data-indeterminate\": dataAttr(indeterminate),\n checked,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n ...props,\n ref: mergeRefs(props.ref, ref, indeterminateRef),\n onBlur: handlerAll(props.onBlur, eventProps.onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, eventProps.onFocus),\n }\n\n return getGroupInputProps?.(sharedProps) ?? sharedProps\n },\n [\n dataProps,\n ariaProps,\n id,\n name,\n indeterminate,\n checked,\n ariaControlsProp,\n resolvedAriaDescribedby,\n interactive,\n ariaLabelledbyProp,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n ref,\n indeterminateRef,\n eventProps.onBlur,\n eventProps.onFocus,\n onChange,\n getGroupInputProps,\n ],\n )\n\n const getIndicatorProps: PropGetter = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"aria-hidden\": \"true\",\n \"data-checked\": dataAttr(checked),\n \"data-indeterminate\": dataAttr(indeterminate),\n ...props,\n }),\n [dataProps, checked, indeterminate],\n )\n\n return {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n onChange,\n }\n}\n\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>\n"],"mappings":";;;;;;;;;;;;;;;AAoEA,MAAa,eAA0C,EACrD,oBAAoB,qBACpB,GAAG,UACoB,EAAE,KAAK;CAC9B,MAAM,QAAQA,oDAAyB;CACvC,MAAM,EACJ,KACA,OAAO,YACP,eAAe,oBACf,kBACE,SAAS,EAAE;CACf,MAAM,yBAAc;CACpB,MAAM,EACJ,OAAO,EACL,IACA,KACA,MACA,iBAAiB,kBACjB,mBAAmB,oBACnB,SAAS,aACT,iBAAiB,OACjB,UACA,gBAAgB,OAChB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WAAW,EAAE,oBAAoB,iBAAiB,GAAG,aACrD,WACA,eACEC,sCAAc;EAChB,IAAI,QAAQ,OAAO;EACnB,GAAG;EACH,oBAAoB;EACrB,CAAC;CACF,MAAM,0BAA0B,QAAQ,sBAAsB;CAK9D,MAAM,CAAC,SAAS,cAAcC,qEAA0B;EACtD,cAAc;EACd,OALA,oDAAa,WAAW,IAAI,oDAAa,MAAM,GAC3C,WAAW,SAAS,MAAM,GAC1B;EAIJ,UAAU;EACX,CAAC;CACF,MAAM,gBACJ,CAAC,2DAAoB,IAAI,IAAI,SAAS,MAAM,MAAM,UAAU;CAC9D,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,2CACH,OAAgC;AAC/B,MAAI,GAAI,IAAG,gBAAgB;IAE7B,CAAC,cAAc,CAChB;CAED,MAAM,mCACH,OAAsC;AACrC,MAAI,CAAC,YAAa,QAAQ,GAAG,mBAAmB;AAEhD,MAAI,cAAe,IAAG,OAAO,UAAU;AAEvC,aAAW,GAAG;IAEhB;EAAC;EAAa;EAAe;EAAW,CACzC;CAED,MAAMC,uCACH,UAAQ,EAAE,KAAK;EACd,MAAM,SAASC,yBACb,WACA;GACE,gEAAyB,QAAQ;GACjC,sEAA+B,cAAc;GAC9C,EACD,MACAC,QACD,EAAE;AAEH,SAAO,gBAAgB,OAAO,IAAI;IAEpC;EAAC;EAAW;EAAS;EAAe;EAAM;EAAc,CACzD;CAED,MAAMC,wCACH,EACC,iBAAiB,cACjB,oBAAoBC,mBACpB,mBAAmB,gBACnB,GAAGF,YACD,EAAE,KAAK;EACT,MAAM,cAAc;GAClB,GAAG;GACH,GAAG;GACH;GACA,MAAM;GACN;GACA,OAAOG,qCAAyB;GAChC,gBAAgB,gBAAiB,UAAoB;GACrD,2DAAoB,cAAc,iBAAiB;GACnD,8DAAuB,yBAAyBD,kBAAgB;GAChE,iEAA0B,CAAC,YAAY;GACvC,6DAAsB,gBAAgB,mBAAmB;GACzD,gEAAyB,QAAQ;GACjC,sEAA+B,cAAc;GAC7C;GACA;GACA;GACA;GACA;GACA;GACA,GAAGF;GACH,KAAKI,sBAAUJ,QAAM,KAAK,KAAK,iBAAiB;GAChD,0DAAmBA,QAAM,QAAQ,WAAW,OAAO;GACnD,4DAAqBA,QAAM,UAAU,SAAS;GAC9C,2DAAoBA,QAAM,SAAS,WAAW,QAAQ;GACvD;AAED,SAAO,qBAAqB,YAAY,IAAI;IAE9C;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;EACX,WAAW;EACX;EACA;EACD,CACF;AAaD,QAAO;EACL;EACA;EACA,2CAbC,UAAQ,EAAE,MAAM;GACf,GAAG;GACH,eAAe;GACf,gEAAyB,QAAQ;GACjC,sEAA+B,cAAc;GAC7C,GAAGA;GACJ,GACD;GAAC;GAAW;GAAS;GAAc,CACpC;EAMC;EACA;EACA;EACD"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
import { createContext as createContext$1 } from "../../utils/context.js";
|
|
4
4
|
import { utils_exports } from "../../utils/index.js";
|
|
5
|
+
import { mergeProps } from "../../core/components/props.js";
|
|
6
|
+
import "../../core/index.js";
|
|
5
7
|
import { useCallback, useState } from "react";
|
|
6
8
|
|
|
7
9
|
//#region src/components/chart/use-chart.ts
|
|
@@ -75,10 +77,7 @@ const useChart = () => {
|
|
|
75
77
|
};
|
|
76
78
|
const useChartLegend = ({ placement = "start-end", align = PLACEMENT_MAP[placement].align, content, formatter, itemSorter, layout = placement.startsWith("center") ? "vertical" : "horizontal", payloadUniqBy, portal, verticalAlign = PLACEMENT_MAP[placement].verticalAlign, onBBoxUpdate, onClick, onMouseEnter, onMouseLeave, ...rest } = {}) => {
|
|
77
79
|
const { highlightedDataKey, onHighlight } = useChartContext();
|
|
78
|
-
const getRootProps = useCallback((props) => (
|
|
79
|
-
...rest,
|
|
80
|
-
...props
|
|
81
|
-
}), [rest]);
|
|
80
|
+
const getRootProps = useCallback((props) => mergeProps(rest, props)(), [rest]);
|
|
82
81
|
const getLegendProps = useCallback((props) => ({
|
|
83
82
|
align,
|
|
84
83
|
content,
|
|
@@ -179,18 +178,12 @@ const useChartTooltip = ({ active, allowEscapeViewBox, animationDuration = 0, an
|
|
|
179
178
|
useTranslate3d
|
|
180
179
|
]);
|
|
181
180
|
return {
|
|
182
|
-
getContentProps: useCallback((props) => (
|
|
183
|
-
...rest,
|
|
184
|
-
...props
|
|
185
|
-
}), [rest]),
|
|
181
|
+
getContentProps: useCallback((props) => mergeProps(rest, props)(), [rest]),
|
|
186
182
|
getRootProps
|
|
187
183
|
};
|
|
188
184
|
};
|
|
189
185
|
const useChartLabelList = ({ angle, clockWise, content, dataKey, formatter, offset = 12, position = "top", textBreakAll, valueAccessor, zIndex, ...rest } = {}) => {
|
|
190
|
-
const getRootProps = useCallback((props) => (
|
|
191
|
-
...rest,
|
|
192
|
-
...props
|
|
193
|
-
}), [rest]);
|
|
186
|
+
const getRootProps = useCallback((props) => mergeProps(rest, props)(), [rest]);
|
|
194
187
|
return {
|
|
195
188
|
getLabelListProps: useCallback((props) => ({
|
|
196
189
|
angle,
|
|
@@ -221,10 +214,7 @@ const useChartLabelList = ({ angle, clockWise, content, dataKey, formatter, offs
|
|
|
221
214
|
};
|
|
222
215
|
};
|
|
223
216
|
const useChartLabel = ({ angle, children, content, formatter, labelRef, offset, parentViewBox, position, value, viewBox, zIndex, ...rest } = {}) => {
|
|
224
|
-
const getRootProps = useCallback((props) => (
|
|
225
|
-
...rest,
|
|
226
|
-
...props
|
|
227
|
-
}), [rest]);
|
|
217
|
+
const getRootProps = useCallback((props) => mergeProps(rest, props)(), [rest]);
|
|
228
218
|
return {
|
|
229
219
|
getLabelProps: useCallback((props) => ({
|
|
230
220
|
angle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-chart.js","names":["PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n}","createContext","getRootProps: PropGetter","getLegendProps: PropGetter<LegendProps>","getRootProps: PropGetter<TooltipProps<Y, M>>","getRootProps: PropGetter<\"text\">"],"sources":["../../../../src/components/chart/use-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n LabelListProps,\n LabelProps,\n LegendProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n Direction,\n HTMLProps,\n PropGetter,\n RequiredPropGetter,\n} from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport { useCallback, useState } from \"react\"\nimport { createContext, dataAttr, handlerAll, isUndefined } from \"../../utils\"\n\nconst PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n} = {\n \"center-end\": { align: \"right\", verticalAlign: \"middle\" },\n \"center-end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"center-end-start\": { align: \"right\", verticalAlign: \"top\" },\n \"center-start\": { align: \"left\", verticalAlign: \"middle\" },\n \"center-start-end\": { align: \"left\", verticalAlign: \"bottom\" },\n \"center-start-start\": { align: \"left\", verticalAlign: \"top\" },\n end: { align: \"center\", verticalAlign: \"bottom\" },\n \"end-center\": { align: \"center\", verticalAlign: \"bottom\" },\n \"end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"end-start\": { align: \"left\", verticalAlign: \"bottom\" },\n start: { align: \"center\", verticalAlign: \"top\" },\n \"start-center\": { align: \"center\", verticalAlign: \"top\" },\n \"start-end\": { align: \"right\", verticalAlign: \"top\" },\n \"start-start\": { align: \"left\", verticalAlign: \"top\" },\n}\n\ninterface ChartContext extends UseChartReturn {}\n\nconst [ChartContext, useChartContext] = createContext<ChartContext>({\n name: \"ChartContext\",\n})\n\nexport { ChartContext, useChartContext }\n\nexport const useChart = () => {\n const [highlightedDataKey, setHighlightedDataKey] = useState<\n number | string | undefined\n >(undefined)\n\n const onHighlight = useCallback((dataKey?: number | string) => {\n setHighlightedDataKey(dataKey)\n }, [])\n\n return { highlightedDataKey, onHighlight }\n}\n\nexport type UseChartReturn = ReturnType<typeof useChart>\n\nexport interface UseChartLegendProps extends Merge<\n HTMLProps,\n Pick<\n LegendProps,\n | \"align\"\n | \"content\"\n | \"formatter\"\n | \"itemSorter\"\n | \"layout\"\n | \"onBBoxUpdate\"\n | \"onClick\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"payloadUniqBy\"\n | \"portal\"\n | \"verticalAlign\"\n >\n> {\n /**\n * The placement of the legend.\n *\n * @default 'start-end'\n */\n placement?: Direction\n}\n\nexport const useChartLegend = ({\n placement = \"start-end\",\n align = PLACEMENT_MAP[placement].align,\n content,\n formatter,\n itemSorter,\n layout = placement.startsWith(\"center\") ? \"vertical\" : \"horizontal\",\n payloadUniqBy,\n portal,\n verticalAlign = PLACEMENT_MAP[placement].verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartLegendProps = {}) => {\n const { highlightedDataKey, onHighlight } = useChartContext()\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLegendProps: PropGetter<LegendProps> = useCallback(\n (props) => ({\n align,\n content,\n formatter,\n itemSorter,\n layout,\n payloadUniqBy,\n portal,\n verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n align,\n content,\n formatter,\n itemSorter,\n layout,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n payloadUniqBy,\n portal,\n verticalAlign,\n ],\n )\n\n const getLegendContentProps: PropGetter = useCallback(\n (props) => ({\n \"data-align\": align,\n \"data-orientation\": layout,\n \"data-vertical-align\": verticalAlign,\n ...props,\n }),\n [align, layout, verticalAlign],\n )\n\n const getLegendItemProps: RequiredPropGetter<\n \"div\",\n { dataKey?: number | string }\n > = useCallback(\n ({ dataKey, ...props }) => ({\n ...props,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n onMouseEnter: handlerAll(props.onMouseEnter, () => onHighlight(dataKey)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => onHighlight()),\n }),\n [highlightedDataKey, onHighlight],\n )\n\n return {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n }\n}\n\nexport type UseChartLegendReturn = ReturnType<typeof useChartLegend>\n\nexport interface UseChartTooltipProps<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> extends Merge<\n HTMLProps,\n Omit<\n TooltipProps<Y, M>,\n | \"contentStyle\"\n | \"itemStyle\"\n | \"labelClassName\"\n | \"labelStyle\"\n | \"separator\"\n | \"wrapperClassName\"\n | \"wrapperStyle\"\n >\n> {}\n\nexport const useChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>({\n active,\n allowEscapeViewBox,\n animationDuration = 0,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive = (animationDuration || 0) > 0,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...rest\n}: UseChartTooltipProps<Y, M> = {}) => {\n const getRootProps: PropGetter<TooltipProps<Y, M>> = useCallback(\n (props) => ({\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...props,\n }),\n [\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ],\n )\n\n const getContentProps: PropGetter = useCallback(\n (props) => ({\n ...rest,\n ...props,\n }),\n [rest],\n )\n\n return { getContentProps, getRootProps }\n}\n\nexport type UseChartTooltipReturn<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> = ReturnType<typeof useChartTooltip<Y, M>>\n\nexport interface UseChartLabelListProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelListProps,\n | \"angle\"\n | \"clockWise\"\n | \"content\"\n | \"dataKey\"\n | \"formatter\"\n | \"offset\"\n | \"position\"\n | \"textBreakAll\"\n | \"valueAccessor\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabelList = ({\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset = 12,\n position = \"top\",\n textBreakAll,\n valueAccessor,\n zIndex,\n ...rest\n}: UseChartLabelListProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLabelListProps: PropGetter<LabelListProps> = useCallback(\n (props) => ({\n angle,\n clockWise,\n content,\n dataKey,\n fill: \"\",\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ...props,\n }),\n [\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ],\n )\n\n return { getLabelListProps, getRootProps }\n}\n\nexport type UseChartLabelListReturn = ReturnType<typeof useChartLabelList>\n\nexport interface UseChartLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"children\"\n | \"content\"\n | \"formatter\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabel = ({\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...rest\n}: UseChartLabelProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => ({ ...rest, ...props }),\n [rest],\n )\n\n const getLabelProps: PropGetter<LabelProps> = useCallback(\n (props) => ({\n angle,\n children,\n content,\n fill: \"\",\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...props,\n }),\n [\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ],\n )\n\n return { getLabelProps, getRootProps }\n}\n\nexport type UseChartLabelReturn = ReturnType<typeof useChartLabel>\n"],"mappings":";;;;;;;AAkBA,MAAMA,gBAKF;CACF,cAAc;EAAE,OAAO;EAAS,eAAe;EAAU;CACzD,kBAAkB;EAAE,OAAO;EAAS,eAAe;EAAU;CAC7D,oBAAoB;EAAE,OAAO;EAAS,eAAe;EAAO;CAC5D,gBAAgB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC1D,oBAAoB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC9D,sBAAsB;EAAE,OAAO;EAAQ,eAAe;EAAO;CAC7D,KAAK;EAAE,OAAO;EAAU,eAAe;EAAU;CACjD,cAAc;EAAE,OAAO;EAAU,eAAe;EAAU;CAC1D,WAAW;EAAE,OAAO;EAAS,eAAe;EAAU;CACtD,aAAa;EAAE,OAAO;EAAQ,eAAe;EAAU;CACvD,OAAO;EAAE,OAAO;EAAU,eAAe;EAAO;CAChD,gBAAgB;EAAE,OAAO;EAAU,eAAe;EAAO;CACzD,aAAa;EAAE,OAAO;EAAS,eAAe;EAAO;CACrD,eAAe;EAAE,OAAO;EAAQ,eAAe;EAAO;CACvD;AAID,MAAM,CAAC,cAAc,mBAAmBC,gBAA4B,EAClE,MAAM,gBACP,CAAC;AAIF,MAAa,iBAAiB;CAC5B,MAAM,CAAC,oBAAoB,yBAAyB,SAElD,OAAU;AAMZ,QAAO;EAAE;EAAoB,aAJT,aAAa,YAA8B;AAC7D,yBAAsB,QAAQ;KAC7B,EAAE,CAAC;EAEoC;;AA+B5C,MAAa,kBAAkB,EAC7B,YAAY,aACZ,QAAQ,cAAc,WAAW,OACjC,SACA,WACA,YACA,SAAS,UAAU,WAAW,SAAS,GAAG,aAAa,cACvD,eACA,QACA,gBAAgB,cAAc,WAAW,eACzC,cACA,SACA,cACA,cACA,GAAG,SACoB,EAAE,KAAK;CAC9B,MAAM,EAAE,oBAAoB,gBAAgB,iBAAiB;CAE7D,MAAMC,eAA2B,aAC9B,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;CAED,MAAMC,iBAA0C,aAC7C,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA8BD,QAAO;EACL,uBA7BwC,aACvC,WAAW;GACV,cAAc;GACd,oBAAoB;GACpB,uBAAuB;GACvB,GAAG;GACJ,GACD;GAAC;GAAO;GAAQ;GAAc,CAC/B;EAsBC,oBAjBE,aACD,EAAE,SAAS,GAAG,aAAa;GAC1B,GAAG;GACH,2CACE,gCAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,6CACE,gCAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,4CAAyB,MAAM,oBAAoB,YAAY,QAAQ,CAAC;GACxE,4CAAyB,MAAM,oBAAoB,aAAa,CAAC;GAClE,GACD,CAAC,oBAAoB,YAAY,CAClC;EAKC;EACA;EACD;;AAsBH,MAAa,mBAGX,EACA,QACA,oBACA,oBAAoB,GACpB,iBACA,QACA,SACA,QACA,cACA,YACA,WACA,eACA,qBAAqB,qBAAqB,KAAK,GAC/C,YACA,gBACA,QACA,eACA,QACA,UACA,kBACA,QACA,SACA,gBACA,GAAG,SAC2B,EAAE,KAAK;CACrC,MAAMC,eAA+C,aAClD,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAUD,QAAO;EAAE,iBAR2B,aACjC,WAAW;GACV,GAAG;GACH,GAAG;GACJ,GACD,CAAC,KAAK,CACP;EAEyB;EAAc;;AAyB1C,MAAa,qBAAqB,EAChC,OACA,WACA,SACA,SACA,WACA,SAAS,IACT,WAAW,OACX,cACA,eACA,QACA,GAAG,SACuB,EAAE,KAAK;CACjC,MAAMC,eAAmC,aACtC,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;AA+BD,QAAO;EAAE,mBA7B6C,aACnD,WAAW;GACV;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAE2B;EAAc;;AAuB5C,MAAa,iBAAiB,EAC5B,OACA,UACA,SACA,WACA,UACA,QACA,eACA,UACA,OACA,SACA,QACA,GAAG,SACmB,EAAE,KAAK;CAC7B,MAAMA,eAAmC,aACtC,WAAW;EAAE,GAAG;EAAM,GAAG;EAAO,GACjC,CAAC,KAAK,CACP;AAiCD,QAAO;EAAE,eA/BqC,aAC3C,WAAW;GACV;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAEuB;EAAc"}
|
|
1
|
+
{"version":3,"file":"use-chart.js","names":["PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n}","createContext","getRootProps: PropGetter","getLegendProps: PropGetter<LegendProps>","getRootProps: PropGetter<TooltipProps<Y, M>>","getRootProps: PropGetter<\"text\">"],"sources":["../../../../src/components/chart/use-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n LabelListProps,\n LabelProps,\n LegendProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n Direction,\n HTMLProps,\n PropGetter,\n RequiredPropGetter,\n} from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport { useCallback, useState } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { createContext, dataAttr, handlerAll, isUndefined } from \"../../utils\"\n\nconst PLACEMENT_MAP: {\n [key in Direction]: {\n align: LegendProps[\"align\"]\n verticalAlign: LegendProps[\"verticalAlign\"]\n }\n} = {\n \"center-end\": { align: \"right\", verticalAlign: \"middle\" },\n \"center-end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"center-end-start\": { align: \"right\", verticalAlign: \"top\" },\n \"center-start\": { align: \"left\", verticalAlign: \"middle\" },\n \"center-start-end\": { align: \"left\", verticalAlign: \"bottom\" },\n \"center-start-start\": { align: \"left\", verticalAlign: \"top\" },\n end: { align: \"center\", verticalAlign: \"bottom\" },\n \"end-center\": { align: \"center\", verticalAlign: \"bottom\" },\n \"end-end\": { align: \"right\", verticalAlign: \"bottom\" },\n \"end-start\": { align: \"left\", verticalAlign: \"bottom\" },\n start: { align: \"center\", verticalAlign: \"top\" },\n \"start-center\": { align: \"center\", verticalAlign: \"top\" },\n \"start-end\": { align: \"right\", verticalAlign: \"top\" },\n \"start-start\": { align: \"left\", verticalAlign: \"top\" },\n}\n\ninterface ChartContext extends UseChartReturn {}\n\nconst [ChartContext, useChartContext] = createContext<ChartContext>({\n name: \"ChartContext\",\n})\n\nexport { ChartContext, useChartContext }\n\nexport const useChart = () => {\n const [highlightedDataKey, setHighlightedDataKey] = useState<\n number | string | undefined\n >(undefined)\n\n const onHighlight = useCallback((dataKey?: number | string) => {\n setHighlightedDataKey(dataKey)\n }, [])\n\n return { highlightedDataKey, onHighlight }\n}\n\nexport type UseChartReturn = ReturnType<typeof useChart>\n\nexport interface UseChartLegendProps extends Merge<\n HTMLProps,\n Pick<\n LegendProps,\n | \"align\"\n | \"content\"\n | \"formatter\"\n | \"itemSorter\"\n | \"layout\"\n | \"onBBoxUpdate\"\n | \"onClick\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"payloadUniqBy\"\n | \"portal\"\n | \"verticalAlign\"\n >\n> {\n /**\n * The placement of the legend.\n *\n * @default 'start-end'\n */\n placement?: Direction\n}\n\nexport const useChartLegend = ({\n placement = \"start-end\",\n align = PLACEMENT_MAP[placement].align,\n content,\n formatter,\n itemSorter,\n layout = placement.startsWith(\"center\") ? \"vertical\" : \"horizontal\",\n payloadUniqBy,\n portal,\n verticalAlign = PLACEMENT_MAP[placement].verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartLegendProps = {}) => {\n const { highlightedDataKey, onHighlight } = useChartContext()\n\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getLegendProps: PropGetter<LegendProps> = useCallback(\n (props) => ({\n align,\n content,\n formatter,\n itemSorter,\n layout,\n payloadUniqBy,\n portal,\n verticalAlign,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n align,\n content,\n formatter,\n itemSorter,\n layout,\n onBBoxUpdate,\n onClick,\n onMouseEnter,\n onMouseLeave,\n payloadUniqBy,\n portal,\n verticalAlign,\n ],\n )\n\n const getLegendContentProps: PropGetter = useCallback(\n (props) => ({\n \"data-align\": align,\n \"data-orientation\": layout,\n \"data-vertical-align\": verticalAlign,\n ...props,\n }),\n [align, layout, verticalAlign],\n )\n\n const getLegendItemProps: RequiredPropGetter<\n \"div\",\n { dataKey?: number | string }\n > = useCallback(\n ({ dataKey, ...props }) => ({\n ...props,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n onMouseEnter: handlerAll(props.onMouseEnter, () => onHighlight(dataKey)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => onHighlight()),\n }),\n [highlightedDataKey, onHighlight],\n )\n\n return {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n }\n}\n\nexport type UseChartLegendReturn = ReturnType<typeof useChartLegend>\n\nexport interface UseChartTooltipProps<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> extends Merge<\n HTMLProps,\n Omit<\n TooltipProps<Y, M>,\n | \"contentStyle\"\n | \"itemStyle\"\n | \"labelClassName\"\n | \"labelStyle\"\n | \"separator\"\n | \"wrapperClassName\"\n | \"wrapperStyle\"\n >\n> {}\n\nexport const useChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>({\n active,\n allowEscapeViewBox,\n animationDuration = 0,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive = (animationDuration || 0) > 0,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...rest\n}: UseChartTooltipProps<Y, M> = {}) => {\n const getRootProps: PropGetter<TooltipProps<Y, M>> = useCallback(\n (props) => ({\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ...props,\n }),\n [\n active,\n allowEscapeViewBox,\n animationDuration,\n animationEasing,\n axisId,\n content,\n cursor,\n defaultIndex,\n filterNull,\n formatter,\n includeHidden,\n isAnimationActive,\n itemSorter,\n labelFormatter,\n offset,\n payloadUniqBy,\n portal,\n position,\n reverseDirection,\n shared,\n trigger,\n useTranslate3d,\n ],\n )\n\n const getContentProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n return { getContentProps, getRootProps }\n}\n\nexport type UseChartTooltipReturn<\n Y extends (number | string)[] | number | string,\n M extends number | string,\n> = ReturnType<typeof useChartTooltip<Y, M>>\n\nexport interface UseChartLabelListProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelListProps,\n | \"angle\"\n | \"clockWise\"\n | \"content\"\n | \"dataKey\"\n | \"formatter\"\n | \"offset\"\n | \"position\"\n | \"textBreakAll\"\n | \"valueAccessor\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabelList = ({\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset = 12,\n position = \"top\",\n textBreakAll,\n valueAccessor,\n zIndex,\n ...rest\n}: UseChartLabelListProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getLabelListProps: PropGetter<LabelListProps> = useCallback(\n (props) => ({\n angle,\n clockWise,\n content,\n dataKey,\n fill: \"\",\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ...props,\n }),\n [\n angle,\n clockWise,\n content,\n dataKey,\n formatter,\n offset,\n position,\n textBreakAll,\n valueAccessor,\n zIndex,\n ],\n )\n\n return { getLabelListProps, getRootProps }\n}\n\nexport type UseChartLabelListReturn = ReturnType<typeof useChartLabelList>\n\nexport interface UseChartLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"children\"\n | \"content\"\n | \"formatter\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartLabel = ({\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...rest\n}: UseChartLabelProps = {}) => {\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getLabelProps: PropGetter<LabelProps> = useCallback(\n (props) => ({\n angle,\n children,\n content,\n fill: \"\",\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ...props,\n }),\n [\n angle,\n children,\n content,\n formatter,\n labelRef,\n offset,\n parentViewBox,\n position,\n value,\n viewBox,\n zIndex,\n ],\n )\n\n return { getLabelProps, getRootProps }\n}\n\nexport type UseChartLabelReturn = ReturnType<typeof useChartLabel>\n"],"mappings":";;;;;;;;;AAmBA,MAAMA,gBAKF;CACF,cAAc;EAAE,OAAO;EAAS,eAAe;EAAU;CACzD,kBAAkB;EAAE,OAAO;EAAS,eAAe;EAAU;CAC7D,oBAAoB;EAAE,OAAO;EAAS,eAAe;EAAO;CAC5D,gBAAgB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC1D,oBAAoB;EAAE,OAAO;EAAQ,eAAe;EAAU;CAC9D,sBAAsB;EAAE,OAAO;EAAQ,eAAe;EAAO;CAC7D,KAAK;EAAE,OAAO;EAAU,eAAe;EAAU;CACjD,cAAc;EAAE,OAAO;EAAU,eAAe;EAAU;CAC1D,WAAW;EAAE,OAAO;EAAS,eAAe;EAAU;CACtD,aAAa;EAAE,OAAO;EAAQ,eAAe;EAAU;CACvD,OAAO;EAAE,OAAO;EAAU,eAAe;EAAO;CAChD,gBAAgB;EAAE,OAAO;EAAU,eAAe;EAAO;CACzD,aAAa;EAAE,OAAO;EAAS,eAAe;EAAO;CACrD,eAAe;EAAE,OAAO;EAAQ,eAAe;EAAO;CACvD;AAID,MAAM,CAAC,cAAc,mBAAmBC,gBAA4B,EAClE,MAAM,gBACP,CAAC;AAIF,MAAa,iBAAiB;CAC5B,MAAM,CAAC,oBAAoB,yBAAyB,SAElD,OAAU;AAMZ,QAAO;EAAE;EAAoB,aAJT,aAAa,YAA8B;AAC7D,yBAAsB,QAAQ;KAC7B,EAAE,CAAC;EAEoC;;AA+B5C,MAAa,kBAAkB,EAC7B,YAAY,aACZ,QAAQ,cAAc,WAAW,OACjC,SACA,WACA,YACA,SAAS,UAAU,WAAW,SAAS,GAAG,aAAa,cACvD,eACA,QACA,gBAAgB,cAAc,WAAW,eACzC,cACA,SACA,cACA,cACA,GAAG,SACoB,EAAE,KAAK;CAC9B,MAAM,EAAE,oBAAoB,gBAAgB,iBAAiB;CAE7D,MAAMC,eAA2B,aAC9B,UAAU,WAAW,MAAM,MAAM,EAAE,EACpC,CAAC,KAAK,CACP;CAED,MAAMC,iBAA0C,aAC7C,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AA8BD,QAAO;EACL,uBA7BwC,aACvC,WAAW;GACV,cAAc;GACd,oBAAoB;GACpB,uBAAuB;GACvB,GAAG;GACJ,GACD;GAAC;GAAO;GAAQ;GAAc,CAC/B;EAsBC,oBAjBE,aACD,EAAE,SAAS,GAAG,aAAa;GAC1B,GAAG;GACH,2CACE,gCAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,6CACE,gCAAa,mBAAmB,IAAI,uBAAuB,QAC5D;GACD,4CAAyB,MAAM,oBAAoB,YAAY,QAAQ,CAAC;GACxE,4CAAyB,MAAM,oBAAoB,aAAa,CAAC;GAClE,GACD,CAAC,oBAAoB,YAAY,CAClC;EAKC;EACA;EACD;;AAsBH,MAAa,mBAGX,EACA,QACA,oBACA,oBAAoB,GACpB,iBACA,QACA,SACA,QACA,cACA,YACA,WACA,eACA,qBAAqB,qBAAqB,KAAK,GAC/C,YACA,gBACA,QACA,eACA,QACA,UACA,kBACA,QACA,SACA,gBACA,GAAG,SAC2B,EAAE,KAAK;CACrC,MAAMC,eAA+C,aAClD,WAAW;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,GAAG;EACJ,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAOD,QAAO;EAAE,iBAL2B,aACjC,UAAU,WAAW,MAAM,MAAM,EAAE,EACpC,CAAC,KAAK,CACP;EAEyB;EAAc;;AAyB1C,MAAa,qBAAqB,EAChC,OACA,WACA,SACA,SACA,WACA,SAAS,IACT,WAAW,OACX,cACA,eACA,QACA,GAAG,SACuB,EAAE,KAAK;CACjC,MAAMC,eAAmC,aACtC,UAAU,WAAW,MAAM,MAAM,EAAE,EACpC,CAAC,KAAK,CACP;AA+BD,QAAO;EAAE,mBA7B6C,aACnD,WAAW;GACV;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAE2B;EAAc;;AAuB5C,MAAa,iBAAiB,EAC5B,OACA,UACA,SACA,WACA,UACA,QACA,eACA,UACA,OACA,SACA,QACA,GAAG,SACmB,EAAE,KAAK;CAC7B,MAAMA,eAAmC,aACtC,UAAU,WAAW,MAAM,MAAM,EAAE,EACpC,CAAC,KAAK,CACP;AAiCD,QAAO;EAAE,eA/BqC,aAC3C,WAAW;GACV;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;GACJ,GACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAEuB;EAAc"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import { createContext as createContext$1 } from "../../utils/context.js";
|
|
4
4
|
import { visuallyHiddenAttributes } from "../../utils/dom.js";
|
|
5
|
-
import { mergeRefs } from "../../utils/ref.js";
|
|
6
5
|
import { utils_exports } from "../../utils/index.js";
|
|
6
|
+
import { mergeProps } from "../../core/components/props.js";
|
|
7
|
+
import "../../core/index.js";
|
|
7
8
|
import { useControllableState } from "../../hooks/use-controllable-state/index.js";
|
|
8
9
|
import { useFieldProps } from "../field/use-field-props.js";
|
|
9
10
|
import "../field/index.js";
|
|
@@ -35,15 +36,11 @@ const useCheckboxGroup = (props = {}) => {
|
|
|
35
36
|
max,
|
|
36
37
|
setValue
|
|
37
38
|
]);
|
|
38
|
-
const getRootProps = useCallback(({ ref, "aria-describedby": ariaDescribedby, "aria-labelledby": ariaLabelledby, ...props$1 } = {}) => ({
|
|
39
|
-
...dataProps,
|
|
39
|
+
const getRootProps = useCallback(({ ref, "aria-describedby": ariaDescribedby, "aria-labelledby": ariaLabelledby, ...props$1 } = {}) => mergeProps(dataProps, {
|
|
40
40
|
"aria-describedby": (0, utils_exports.cx)(ariaDescribedbyProp, ariaDescribedby),
|
|
41
41
|
"aria-labelledby": (0, utils_exports.cx)(labelId, ariaLabelledby),
|
|
42
|
-
role: "group"
|
|
43
|
-
|
|
44
|
-
...props$1,
|
|
45
|
-
ref: mergeRefs(ref, rest.ref)
|
|
46
|
-
}), [
|
|
42
|
+
role: "group"
|
|
43
|
+
}, rest, props$1, { ref })(), [
|
|
47
44
|
ariaDescribedbyProp,
|
|
48
45
|
dataProps,
|
|
49
46
|
labelId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-checkbox-group.js","names":["createContext","getRootProps: PropGetter","props"],"sources":["../../../../src/components/checkbox/use-checkbox-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback } from \"react\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n ariaAttr,\n createContext,\n cx,\n dataAttr,\n handlerAll,\n isNumber,\n isObject,\n isString,\n isUndefined,\n
|
|
1
|
+
{"version":3,"file":"use-checkbox-group.js","names":["createContext","getRootProps: PropGetter","props"],"sources":["../../../../src/components/checkbox/use-checkbox-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n ariaAttr,\n createContext,\n cx,\n dataAttr,\n handlerAll,\n isNumber,\n isObject,\n isString,\n isUndefined,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\ninterface CheckboxGroupContext extends Omit<\n UseCheckboxGroupReturn,\n \"getRootProps\"\n> {}\n\nconst [CheckboxGroupContext, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport { CheckboxGroupContext, useCheckboxGroupContext }\n\nexport interface UseCheckboxGroupProps<Y extends string = string>\n extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\">, FieldProps {\n /**\n * The initial value of the checkbox group.\n *\n * @default []\n */\n defaultValue?: Y[]\n /**\n * The maximum number of checkboxes that can be checked.\n */\n max?: number\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <Y extends string = string>(\n props: UseCheckboxGroupProps<Y> = {},\n) => {\n const {\n context: { labelId } = {},\n props: {\n defaultValue = [],\n disabled,\n max,\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps: { \"aria-describedby\": ariaDescribedbyProp, ...ariaProps },\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onChange = useCallback(\n (valueOrEv: ChangeEvent<HTMLInputElement> | Y) => {\n if (!interactive) return\n\n if (isObject(valueOrEv)) valueOrEv = valueOrEv.target.value as Y\n\n setValue((prev) => {\n if (prev.includes(valueOrEv)) {\n return prev.filter((prevValue) => prevValue !== valueOrEv)\n } else if (!isNumber(max) || prev.length < max) {\n return [...prev, valueOrEv]\n } else {\n return prev\n }\n })\n },\n [interactive, max, setValue],\n )\n\n const getRootProps: PropGetter = useCallback(\n ({\n ref,\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby,\n ...props\n } = {}) =>\n mergeProps(\n dataProps,\n {\n \"aria-describedby\": cx(ariaDescribedbyProp, ariaDescribedby),\n \"aria-labelledby\": cx(labelId, ariaLabelledby),\n role: \"group\",\n },\n rest,\n props,\n {\n ref,\n },\n )(),\n [ariaDescribedbyProp, dataProps, labelId, rest],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => {\n const checked =\n !isUndefined(value) &&\n (isString(props.value) || isNumber(props.value)) &&\n value.includes(props.value as Y)\n const trulyDisabled = !checked && isNumber(max) && value.length >= max\n\n return {\n ...dataProps,\n ...ariaProps,\n type: \"checkbox\",\n style: visuallyHiddenAttributes.style,\n \"aria-checked\": checked,\n \"aria-disabled\": ariaAttr(trulyDisabled),\n \"data-checked\": dataAttr(checked),\n \"data-disabled\": dataAttr(trulyDisabled),\n checked,\n disabled: trulyDisabled,\n readOnly,\n required,\n ...props,\n onBlur: handlerAll(props.onBlur, eventProps.onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, eventProps.onFocus),\n }\n },\n [\n ariaProps,\n dataProps,\n eventProps,\n max,\n onChange,\n readOnly,\n required,\n value,\n ],\n )\n\n const getLabelProps: PropGetter<\"label\"> = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n return {\n max,\n value,\n getInputProps,\n getLabelProps,\n getRootProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn = ReturnType<typeof useCheckboxGroup>\n"],"mappings":";;;;;;;;;;;;;AA2BA,MAAM,CAAC,sBAAsB,2BAC3BA,gBAAoC;CAClC,MAAM;CACN,QAAQ;CACT,CAAC;AA0BJ,MAAa,oBACX,QAAkC,EAAE,KACjC;CACH,MAAM,EACJ,SAAS,EAAE,YAAY,EAAE,EACzB,OAAO,EACL,eAAe,EAAE,EACjB,UACA,KACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,QAEL,WAAW,EAAE,oBAAoB,qBAAqB,GAAG,aACzD,WACA,eACE,cAAc,MAAM;CACxB,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,CAAC,OAAO,YAAY,qBAAqB;EAC7C;EACA,OAAO;EACP,UAAU;EACX,CAAC;CAEF,MAAM,WAAW,aACd,cAAiD;AAChD,MAAI,CAAC,YAAa;AAElB,kCAAa,UAAU,CAAE,aAAY,UAAU,OAAO;AAEtD,YAAU,SAAS;AACjB,OAAI,KAAK,SAAS,UAAU,CAC1B,QAAO,KAAK,QAAQ,cAAc,cAAc,UAAU;YACjD,6BAAU,IAAI,IAAI,KAAK,SAAS,IACzC,QAAO,CAAC,GAAG,MAAM,UAAU;OAE3B,QAAO;IAET;IAEJ;EAAC;EAAa;EAAK;EAAS,CAC7B;CAED,MAAMC,eAA2B,aAC9B,EACC,KACA,oBAAoB,iBACpB,mBAAmB,gBACnB,GAAGC,YACD,EAAE,KACJ,WACE,WACA;EACE,0CAAuB,qBAAqB,gBAAgB;EAC5D,yCAAsB,SAAS,eAAe;EAC9C,MAAM;EACP,EACD,MACAA,SACA,EACE,KACD,CACF,EAAE,EACL;EAAC;EAAqB;EAAW;EAAS;EAAK,CAChD;AAiDD,QAAO;EACL;EACA;EACA,eAlDyC,aACxC,UAAQ,EAAE,KAAK;GACd,MAAM,UACJ,gCAAa,MAAM,iCACTA,QAAM,MAAM,gCAAaA,QAAM,MAAM,KAC/C,MAAM,SAASA,QAAM,MAAW;GAClC,MAAM,gBAAgB,CAAC,uCAAoB,IAAI,IAAI,MAAM,UAAU;AAEnE,UAAO;IACL,GAAG;IACH,GAAG;IACH,MAAM;IACN,OAAO,yBAAyB;IAChC,gBAAgB;IAChB,6CAA0B,cAAc;IACxC,4CAAyB,QAAQ;IACjC,6CAA0B,cAAc;IACxC;IACA,UAAU;IACV;IACA;IACA,GAAGA;IACH,sCAAmBA,QAAM,QAAQ,WAAW,OAAO;IACnD,wCAAqBA,QAAM,UAAU,SAAS;IAC9C,uCAAoBA,QAAM,SAAS,WAAW,QAAQ;IACvD;KAEH;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAcC,eAZyC,aACxC,aAAW;GACV,GAAG;GACH,GAAGA;GACJ,GACD,CAAC,UAAU,CACZ;EAOC;EACA;EACD"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import { visuallyHiddenAttributes } from "../../utils/dom.js";
|
|
4
4
|
import { mergeRefs } from "../../utils/ref.js";
|
|
5
5
|
import { utils_exports } from "../../utils/index.js";
|
|
6
|
+
import { mergeProps } from "../../core/components/props.js";
|
|
7
|
+
import "../../core/index.js";
|
|
6
8
|
import { useControllableEventState } from "../../hooks/use-controllable-state/index.js";
|
|
7
9
|
import { useFieldProps } from "../field/use-field-props.js";
|
|
8
10
|
import "../field/index.js";
|
|
@@ -40,14 +42,11 @@ const useCheckbox = ({ "aria-describedby": ariaDescribedbyProp, ...props } = {})
|
|
|
40
42
|
setChecked
|
|
41
43
|
]);
|
|
42
44
|
const getRootProps = useCallback((props$1 = {}) => {
|
|
43
|
-
const
|
|
44
|
-
...dataProps,
|
|
45
|
+
const merged = mergeProps(dataProps, {
|
|
45
46
|
"data-checked": (0, utils_exports.dataAttr)(checked),
|
|
46
|
-
"data-indeterminate": (0, utils_exports.dataAttr)(indeterminate)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
};
|
|
50
|
-
return getLabelProps?.(sharedProps) ?? sharedProps;
|
|
47
|
+
"data-indeterminate": (0, utils_exports.dataAttr)(indeterminate)
|
|
48
|
+
}, rest, props$1)();
|
|
49
|
+
return getLabelProps?.(merged) ?? merged;
|
|
51
50
|
}, [
|
|
52
51
|
dataProps,
|
|
53
52
|
checked,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-checkbox.js","names":["getRootProps: PropGetter<\"label\">","props","getInputProps: PropGetter<\"input\">","ariaDescribedby"],"sources":["../../../../src/components/checkbox/use-checkbox.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, ChangeEventHandler, FocusEventHandler } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useId } from \"react\"\nimport { useControllableEventState } from \"../../hooks/use-controllable-state\"\nimport {\n ariaAttr,\n cx,\n dataAttr,\n handlerAll,\n isNumber,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useCheckboxGroupContext } from \"./use-checkbox-group\"\n\nexport interface UseCheckboxProps<Y extends string = string>\n extends\n Omit<HTMLProps<\"label\">, \"onBlur\" | \"onChange\" | \"onFocus\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, the checkbox will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * The name of the input field in a checkbox.\n */\n name?: string\n /**\n * The value of the checkbox.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <Y extends string = string>({\n \"aria-describedby\": ariaDescribedbyProp,\n ...props\n}: UseCheckboxProps<Y> = {}) => {\n const group = useCheckboxGroupContext()\n const {\n max,\n value: groupValue,\n getInputProps: getGroupInputProps,\n getLabelProps,\n } = group ?? {}\n const uuid = useId()\n const {\n props: {\n id,\n ref,\n name,\n \"aria-controls\": ariaControlsProp,\n \"aria-labelledby\": ariaLabelledbyProp,\n checked: checkedProp,\n defaultChecked = false,\n disabled,\n indeterminate = false,\n readOnly,\n required,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps: { \"aria-describedby\": ariaDescribedby, ...ariaProps },\n dataProps,\n eventProps,\n } = useFieldProps({\n id: group ? uuid : undefined,\n ...props,\n notSupportReadOnly: true,\n })\n const resolvedAriaDescribedby = group ? ariaDescribedbyProp : ariaDescribedby\n const resolvedChecked =\n !isUndefined(groupValue) && !isUndefined(value)\n ? groupValue.includes(value)\n : checkedProp\n const [checked, setChecked] = useControllableEventState({\n defaultValue: defaultChecked,\n value: resolvedChecked,\n onChange: onChangeProp,\n })\n const trulyDisabled =\n !checked && isNumber(max) && group && group.value.length >= max\n const interactive = !(readOnly || trulyDisabled)\n const indeterminateRef = useCallback(\n (el: HTMLInputElement | null) => {\n if (el) el.indeterminate = indeterminate\n },\n [indeterminate],\n )\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!interactive) return (ev.defaultPrevented = true)\n\n if (indeterminate) ev.target.checked = true\n\n setChecked(ev)\n },\n [interactive, indeterminate, setChecked],\n )\n\n const getRootProps: PropGetter<\"label\"> = useCallback(\n (props = {}) => {\n const
|
|
1
|
+
{"version":3,"file":"use-checkbox.js","names":["getRootProps: PropGetter<\"label\">","props","getInputProps: PropGetter<\"input\">","ariaDescribedby"],"sources":["../../../../src/components/checkbox/use-checkbox.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, ChangeEventHandler, FocusEventHandler } from \"react\"\nimport type { HTMLProps, HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useId } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableEventState } from \"../../hooks/use-controllable-state\"\nimport {\n ariaAttr,\n cx,\n dataAttr,\n handlerAll,\n isNumber,\n isUndefined,\n mergeRefs,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\nimport { useCheckboxGroupContext } from \"./use-checkbox-group\"\n\nexport interface UseCheckboxProps<Y extends string = string>\n extends\n Omit<HTMLProps<\"label\">, \"onBlur\" | \"onChange\" | \"onFocus\" | \"ref\">,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, the checkbox will be checked.\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * The name of the input field in a checkbox.\n */\n name?: string\n /**\n * The value of the checkbox.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <Y extends string = string>({\n \"aria-describedby\": ariaDescribedbyProp,\n ...props\n}: UseCheckboxProps<Y> = {}) => {\n const group = useCheckboxGroupContext()\n const {\n max,\n value: groupValue,\n getInputProps: getGroupInputProps,\n getLabelProps,\n } = group ?? {}\n const uuid = useId()\n const {\n props: {\n id,\n ref,\n name,\n \"aria-controls\": ariaControlsProp,\n \"aria-labelledby\": ariaLabelledbyProp,\n checked: checkedProp,\n defaultChecked = false,\n disabled,\n indeterminate = false,\n readOnly,\n required,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps: { \"aria-describedby\": ariaDescribedby, ...ariaProps },\n dataProps,\n eventProps,\n } = useFieldProps({\n id: group ? uuid : undefined,\n ...props,\n notSupportReadOnly: true,\n })\n const resolvedAriaDescribedby = group ? ariaDescribedbyProp : ariaDescribedby\n const resolvedChecked =\n !isUndefined(groupValue) && !isUndefined(value)\n ? groupValue.includes(value)\n : checkedProp\n const [checked, setChecked] = useControllableEventState({\n defaultValue: defaultChecked,\n value: resolvedChecked,\n onChange: onChangeProp,\n })\n const trulyDisabled =\n !checked && isNumber(max) && group && group.value.length >= max\n const interactive = !(readOnly || trulyDisabled)\n const indeterminateRef = useCallback(\n (el: HTMLInputElement | null) => {\n if (el) el.indeterminate = indeterminate\n },\n [indeterminate],\n )\n\n const onChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!interactive) return (ev.defaultPrevented = true)\n\n if (indeterminate) ev.target.checked = true\n\n setChecked(ev)\n },\n [interactive, indeterminate, setChecked],\n )\n\n const getRootProps: PropGetter<\"label\"> = useCallback(\n (props = {}) => {\n const merged = mergeProps(\n dataProps,\n {\n \"data-checked\": dataAttr(checked),\n \"data-indeterminate\": dataAttr(indeterminate),\n },\n rest,\n props,\n )()\n\n return getLabelProps?.(merged) ?? merged\n },\n [dataProps, checked, indeterminate, rest, getLabelProps],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({\n \"aria-controls\": ariaControls,\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby,\n ...props\n } = {}) => {\n const sharedProps = {\n ...dataProps,\n ...ariaProps,\n id,\n type: \"checkbox\",\n name,\n style: visuallyHiddenAttributes.style,\n \"aria-checked\": indeterminate ? (\"mixed\" as const) : checked,\n \"aria-controls\": cx(ariaControls, ariaControlsProp),\n \"aria-describedby\": cx(resolvedAriaDescribedby, ariaDescribedby),\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-labelledby\": cx(ariaLabelledby, ariaLabelledbyProp),\n \"data-checked\": dataAttr(checked),\n \"data-indeterminate\": dataAttr(indeterminate),\n checked,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n ...props,\n ref: mergeRefs(props.ref, ref, indeterminateRef),\n onBlur: handlerAll(props.onBlur, eventProps.onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, eventProps.onFocus),\n }\n\n return getGroupInputProps?.(sharedProps) ?? sharedProps\n },\n [\n dataProps,\n ariaProps,\n id,\n name,\n indeterminate,\n checked,\n ariaControlsProp,\n resolvedAriaDescribedby,\n interactive,\n ariaLabelledbyProp,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n ref,\n indeterminateRef,\n eventProps.onBlur,\n eventProps.onFocus,\n onChange,\n getGroupInputProps,\n ],\n )\n\n const getIndicatorProps: PropGetter = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"aria-hidden\": \"true\",\n \"data-checked\": dataAttr(checked),\n \"data-indeterminate\": dataAttr(indeterminate),\n ...props,\n }),\n [dataProps, checked, indeterminate],\n )\n\n return {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n onChange,\n }\n}\n\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>\n"],"mappings":";;;;;;;;;;;;;;AAoEA,MAAa,eAA0C,EACrD,oBAAoB,qBACpB,GAAG,UACoB,EAAE,KAAK;CAC9B,MAAM,QAAQ,yBAAyB;CACvC,MAAM,EACJ,KACA,OAAO,YACP,eAAe,oBACf,kBACE,SAAS,EAAE;CACf,MAAM,OAAO,OAAO;CACpB,MAAM,EACJ,OAAO,EACL,IACA,KACA,MACA,iBAAiB,kBACjB,mBAAmB,oBACnB,SAAS,aACT,iBAAiB,OACjB,UACA,gBAAgB,OAChB,UACA,UACA,UACA,OACA,UAAU,cACV,GAAG,QAEL,WAAW,EAAE,oBAAoB,iBAAiB,GAAG,aACrD,WACA,eACE,cAAc;EAChB,IAAI,QAAQ,OAAO;EACnB,GAAG;EACH,oBAAoB;EACrB,CAAC;CACF,MAAM,0BAA0B,QAAQ,sBAAsB;CAK9D,MAAM,CAAC,SAAS,cAAc,0BAA0B;EACtD,cAAc;EACd,OALA,gCAAa,WAAW,IAAI,gCAAa,MAAM,GAC3C,WAAW,SAAS,MAAM,GAC1B;EAIJ,UAAU;EACX,CAAC;CACF,MAAM,gBACJ,CAAC,uCAAoB,IAAI,IAAI,SAAS,MAAM,MAAM,UAAU;CAC9D,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,mBAAmB,aACtB,OAAgC;AAC/B,MAAI,GAAI,IAAG,gBAAgB;IAE7B,CAAC,cAAc,CAChB;CAED,MAAM,WAAW,aACd,OAAsC;AACrC,MAAI,CAAC,YAAa,QAAQ,GAAG,mBAAmB;AAEhD,MAAI,cAAe,IAAG,OAAO,UAAU;AAEvC,aAAW,GAAG;IAEhB;EAAC;EAAa;EAAe;EAAW,CACzC;CAED,MAAMA,eAAoC,aACvC,UAAQ,EAAE,KAAK;EACd,MAAM,SAAS,WACb,WACA;GACE,4CAAyB,QAAQ;GACjC,kDAA+B,cAAc;GAC9C,EACD,MACAC,QACD,EAAE;AAEH,SAAO,gBAAgB,OAAO,IAAI;IAEpC;EAAC;EAAW;EAAS;EAAe;EAAM;EAAc,CACzD;CAED,MAAMC,gBAAqC,aACxC,EACC,iBAAiB,cACjB,oBAAoBC,mBACpB,mBAAmB,gBACnB,GAAGF,YACD,EAAE,KAAK;EACT,MAAM,cAAc;GAClB,GAAG;GACH,GAAG;GACH;GACA,MAAM;GACN;GACA,OAAO,yBAAyB;GAChC,gBAAgB,gBAAiB,UAAoB;GACrD,uCAAoB,cAAc,iBAAiB;GACnD,0CAAuB,yBAAyBE,kBAAgB;GAChE,6CAA0B,CAAC,YAAY;GACvC,yCAAsB,gBAAgB,mBAAmB;GACzD,4CAAyB,QAAQ;GACjC,kDAA+B,cAAc;GAC7C;GACA;GACA;GACA;GACA;GACA;GACA,GAAGF;GACH,KAAK,UAAUA,QAAM,KAAK,KAAK,iBAAiB;GAChD,sCAAmBA,QAAM,QAAQ,WAAW,OAAO;GACnD,wCAAqBA,QAAM,UAAU,SAAS;GAC9C,uCAAoBA,QAAM,SAAS,WAAW,QAAQ;GACvD;AAED,SAAO,qBAAqB,YAAY,IAAI;IAE9C;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;EACX,WAAW;EACX;EACA;EACD,CACF;AAaD,QAAO;EACL;EACA;EACA,mBAdoC,aACnC,UAAQ,EAAE,MAAM;GACf,GAAG;GACH,eAAe;GACf,4CAAyB,QAAQ;GACjC,kDAA+B,cAAc;GAC7C,GAAGA;GACJ,GACD;GAAC;GAAW;GAAS;GAAc,CACpC;EAMC;EACA;EACA;EACD"}
|
|
@@ -9,7 +9,7 @@ import "../collapse/index.js";
|
|
|
9
9
|
import "../../index.js";
|
|
10
10
|
import { AccordionStyle } from "./accordion.style.js";
|
|
11
11
|
import { UseAccordionItemProps, UseAccordionProps } from "./use-accordion.js";
|
|
12
|
-
import * as
|
|
12
|
+
import * as react99 from "react";
|
|
13
13
|
|
|
14
14
|
//#region src/components/accordion/accordion.d.ts
|
|
15
15
|
interface AccordionCallBackProps {
|
|
@@ -33,7 +33,7 @@ interface AccordionRootProps extends Omit<HTMLStyledProps, "onChange">, ThemePro
|
|
|
33
33
|
*/
|
|
34
34
|
items?: AccordionItem[];
|
|
35
35
|
}
|
|
36
|
-
declare const AccordionPropsContext:
|
|
36
|
+
declare const AccordionPropsContext: react99.Context<Partial<AccordionRootProps> | undefined>, useAccordionPropsContext: () => Partial<AccordionRootProps> | undefined;
|
|
37
37
|
/**
|
|
38
38
|
* `Accordion` is a component for a list that displays information in an expandable or collapsible manner.
|
|
39
39
|
*
|