@yamada-ui/react 2.2.3-dev-20260622135744 → 2.2.3-dev-20260624122859
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/accordion/use-accordion.cjs.map +1 -1
- package/dist/cjs/components/autocomplete/use-autocomplete.cjs.map +1 -1
- package/dist/cjs/components/calendar/use-calendar.cjs +1 -1
- package/dist/cjs/components/calendar/use-calendar.cjs.map +1 -1
- package/dist/cjs/components/carousel/carousel.cjs.map +1 -1
- package/dist/cjs/components/chart/chart.cjs.map +1 -1
- package/dist/cjs/components/chart/use-polar-chart.cjs.map +1 -1
- package/dist/cjs/components/checkbox/checkbox.cjs.map +1 -1
- package/dist/cjs/components/checkbox/use-checkbox-group.cjs.map +1 -1
- package/dist/cjs/components/checkbox-card/checkbox-card.cjs.map +1 -1
- package/dist/cjs/components/collapse/collapse.cjs.map +1 -1
- package/dist/cjs/components/color-picker/use-color-picker.cjs.map +1 -1
- package/dist/cjs/components/color-swatch/color-swatch-group.cjs.map +1 -1
- package/dist/cjs/components/date-picker/date-picker.cjs.map +1 -1
- package/dist/cjs/components/date-picker/use-date-picker.cjs +1 -1
- package/dist/cjs/components/date-picker/use-date-picker.cjs.map +1 -1
- package/dist/cjs/components/editable/use-editable.cjs.map +1 -1
- package/dist/cjs/components/field/field.cjs.map +1 -1
- package/dist/cjs/components/file-input/file-input.cjs.map +1 -1
- package/dist/cjs/components/flip/flip.cjs.map +1 -1
- package/dist/cjs/components/highlight/highlight.cjs.map +1 -1
- package/dist/cjs/components/indicator/indicator.cjs.map +1 -1
- package/dist/cjs/components/infinite-scroll-area/use-infinite-scroll.cjs.map +1 -1
- package/dist/cjs/components/input/input-group.cjs.map +1 -1
- package/dist/cjs/components/list/list.cjs.map +1 -1
- package/dist/cjs/components/menu/use-menu.cjs.map +1 -1
- package/dist/cjs/components/native-select/use-native-select.cjs.map +1 -1
- package/dist/cjs/components/native-table/native-table.cjs.map +1 -1
- package/dist/cjs/components/notice/notice.cjs.map +1 -1
- package/dist/cjs/components/number-input/use-number-input.cjs.map +1 -1
- package/dist/cjs/components/pagination/pagination.cjs.map +1 -1
- package/dist/cjs/components/pagination/use-pagination.cjs.map +1 -1
- package/dist/cjs/components/picture/picture.cjs.map +1 -1
- package/dist/cjs/components/pin-input/pin-input.cjs.map +1 -1
- package/dist/cjs/components/pin-input/use-pin-input.cjs.map +1 -1
- package/dist/cjs/components/qr-code/use-qr-code.cjs.map +1 -1
- package/dist/cjs/components/radio/use-radio-group.cjs.map +1 -1
- package/dist/cjs/components/segmented-control/segmented-control.cjs.map +1 -1
- package/dist/cjs/components/select/use-select.cjs.map +1 -1
- package/dist/cjs/components/show/show.cjs.map +1 -1
- package/dist/cjs/components/sidebar/sidebar.cjs.map +1 -1
- package/dist/cjs/components/sidebar/use-sidebar.cjs.map +1 -1
- package/dist/cjs/components/simple-grid/simple-grid.cjs.map +1 -1
- package/dist/cjs/components/stack/z-stack.cjs.map +1 -1
- package/dist/cjs/components/steps/steps.cjs.map +1 -1
- package/dist/cjs/components/steps/use-steps.cjs.map +1 -1
- package/dist/cjs/components/table/table.cjs.map +1 -1
- package/dist/cjs/components/tabs/tabs.cjs.map +1 -1
- package/dist/cjs/components/toggle/use-toggle-group.cjs.map +1 -1
- package/dist/cjs/components/toggle/use-toggle.cjs.map +1 -1
- package/dist/cjs/components/tree/tree.cjs.map +1 -1
- package/dist/cjs/components/tree/use-tree.cjs.map +1 -1
- package/dist/cjs/core/components/create-component.cjs.map +1 -1
- package/dist/cjs/core/components/props.cjs +5 -1
- package/dist/cjs/core/components/props.cjs.map +1 -1
- package/dist/cjs/core/components/use-component-style.cjs.map +1 -1
- package/dist/cjs/core/css/animation.cjs.map +1 -1
- package/dist/cjs/core/css/at-rule.cjs.map +1 -1
- package/dist/cjs/core/css/calc.cjs.map +1 -1
- package/dist/cjs/core/css/color-mix.cjs.map +1 -1
- package/dist/cjs/core/css/config.cjs.map +1 -1
- package/dist/cjs/core/css/css.cjs.map +1 -1
- package/dist/cjs/core/css/gradient.cjs.map +1 -1
- package/dist/cjs/core/css/grid.cjs.map +1 -1
- package/dist/cjs/core/css/index.cjs +1 -0
- package/dist/cjs/core/css/styles.cjs +253 -0
- package/dist/cjs/core/css/styles.cjs.map +1 -1
- package/dist/cjs/core/css/transition.cjs.map +1 -1
- package/dist/cjs/core/css/utils.cjs.map +1 -1
- package/dist/cjs/core/index.cjs +1 -0
- package/dist/cjs/core/system/breakpoint.cjs.map +1 -1
- package/dist/cjs/core/system/color-mode-provider.cjs.map +1 -1
- package/dist/cjs/core/system/create-system.cjs.map +1 -1
- package/dist/cjs/core/system/environment-provider.cjs.map +1 -1
- package/dist/cjs/core/system/storage-manager.cjs.map +1 -1
- package/dist/cjs/core/system/storage-script.cjs.map +1 -1
- package/dist/cjs/core/system/use-system-color-mode.cjs.map +1 -1
- package/dist/cjs/core/system/var.cjs.map +1 -1
- package/dist/cjs/hooks/use-animation/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-breakpoint/use-breakpoint-value.cjs.map +1 -1
- package/dist/cjs/hooks/use-breakpoint/use-breakpoint.cjs.map +1 -1
- package/dist/cjs/hooks/use-clickable/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-clipboard/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-controllable-state/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-counter/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-descendants/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-focus/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-local-storage/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-mounted/index.cjs.map +1 -1
- package/dist/cjs/hooks/use-outside-click/index.cjs.map +1 -1
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/providers/i18n-provider/i18n-provider.cjs.map +1 -1
- package/dist/cjs/utils/children.cjs.map +1 -1
- package/dist/cjs/utils/dom.cjs.map +1 -1
- package/dist/cjs/utils/store.cjs.map +1 -1
- package/dist/esm/components/accordion/use-accordion.js.map +1 -1
- package/dist/esm/components/autocomplete/use-autocomplete.js.map +1 -1
- package/dist/esm/components/calendar/use-calendar.js +1 -1
- package/dist/esm/components/calendar/use-calendar.js.map +1 -1
- package/dist/esm/components/carousel/carousel.js.map +1 -1
- package/dist/esm/components/chart/chart.js.map +1 -1
- package/dist/esm/components/chart/use-polar-chart.js.map +1 -1
- package/dist/esm/components/checkbox/checkbox.js.map +1 -1
- package/dist/esm/components/checkbox/use-checkbox-group.js.map +1 -1
- package/dist/esm/components/checkbox-card/checkbox-card.js.map +1 -1
- package/dist/esm/components/collapse/collapse.js.map +1 -1
- package/dist/esm/components/color-picker/use-color-picker.js.map +1 -1
- package/dist/esm/components/color-swatch/color-swatch-group.js.map +1 -1
- package/dist/esm/components/date-picker/date-picker.js.map +1 -1
- package/dist/esm/components/date-picker/use-date-picker.js +1 -1
- package/dist/esm/components/date-picker/use-date-picker.js.map +1 -1
- package/dist/esm/components/editable/use-editable.js.map +1 -1
- package/dist/esm/components/field/field.js.map +1 -1
- package/dist/esm/components/file-input/file-input.js.map +1 -1
- package/dist/esm/components/flip/flip.js.map +1 -1
- package/dist/esm/components/highlight/highlight.js.map +1 -1
- package/dist/esm/components/indicator/indicator.js.map +1 -1
- package/dist/esm/components/infinite-scroll-area/use-infinite-scroll.js.map +1 -1
- package/dist/esm/components/input/input-group.js.map +1 -1
- package/dist/esm/components/list/list.js.map +1 -1
- package/dist/esm/components/menu/use-menu.js.map +1 -1
- package/dist/esm/components/native-select/use-native-select.js.map +1 -1
- package/dist/esm/components/native-table/native-table.js.map +1 -1
- package/dist/esm/components/notice/notice.js.map +1 -1
- package/dist/esm/components/number-input/use-number-input.js.map +1 -1
- package/dist/esm/components/pagination/pagination.js.map +1 -1
- package/dist/esm/components/pagination/use-pagination.js.map +1 -1
- package/dist/esm/components/picture/picture.js.map +1 -1
- package/dist/esm/components/pin-input/pin-input.js.map +1 -1
- package/dist/esm/components/pin-input/use-pin-input.js.map +1 -1
- package/dist/esm/components/qr-code/use-qr-code.js.map +1 -1
- package/dist/esm/components/radio/use-radio-group.js.map +1 -1
- package/dist/esm/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/esm/components/select/use-select.js.map +1 -1
- package/dist/esm/components/show/show.js.map +1 -1
- package/dist/esm/components/sidebar/sidebar.js.map +1 -1
- package/dist/esm/components/sidebar/use-sidebar.js.map +1 -1
- package/dist/esm/components/simple-grid/simple-grid.js.map +1 -1
- package/dist/esm/components/stack/z-stack.js.map +1 -1
- package/dist/esm/components/steps/steps.js.map +1 -1
- package/dist/esm/components/steps/use-steps.js.map +1 -1
- package/dist/esm/components/table/table.js.map +1 -1
- package/dist/esm/components/tabs/tabs.js.map +1 -1
- package/dist/esm/components/toggle/use-toggle-group.js.map +1 -1
- package/dist/esm/components/toggle/use-toggle.js.map +1 -1
- package/dist/esm/components/tree/tree.js.map +1 -1
- package/dist/esm/components/tree/use-tree.js.map +1 -1
- package/dist/esm/core/components/create-component.js.map +1 -1
- package/dist/esm/core/components/props.js +6 -2
- package/dist/esm/core/components/props.js.map +1 -1
- package/dist/esm/core/components/use-component-style.js.map +1 -1
- package/dist/esm/core/css/animation.js.map +1 -1
- package/dist/esm/core/css/at-rule.js.map +1 -1
- package/dist/esm/core/css/calc.js.map +1 -1
- package/dist/esm/core/css/color-mix.js.map +1 -1
- package/dist/esm/core/css/config.js.map +1 -1
- package/dist/esm/core/css/css.js.map +1 -1
- package/dist/esm/core/css/gradient.js.map +1 -1
- package/dist/esm/core/css/grid.js.map +1 -1
- package/dist/esm/core/css/index.js +2 -2
- package/dist/esm/core/css/styles.js +253 -1
- package/dist/esm/core/css/styles.js.map +1 -1
- package/dist/esm/core/css/transition.js.map +1 -1
- package/dist/esm/core/css/utils.js.map +1 -1
- package/dist/esm/core/index.js +2 -2
- package/dist/esm/core/system/breakpoint.js.map +1 -1
- package/dist/esm/core/system/color-mode-provider.js.map +1 -1
- package/dist/esm/core/system/create-system.js.map +1 -1
- package/dist/esm/core/system/environment-provider.js.map +1 -1
- package/dist/esm/core/system/storage-manager.js.map +1 -1
- package/dist/esm/core/system/storage-script.js.map +1 -1
- package/dist/esm/core/system/use-system-color-mode.js.map +1 -1
- package/dist/esm/core/system/var.js.map +1 -1
- package/dist/esm/hooks/use-animation/index.js.map +1 -1
- package/dist/esm/hooks/use-breakpoint/use-breakpoint-value.js.map +1 -1
- package/dist/esm/hooks/use-breakpoint/use-breakpoint.js.map +1 -1
- package/dist/esm/hooks/use-clickable/index.js.map +1 -1
- package/dist/esm/hooks/use-clipboard/index.js.map +1 -1
- package/dist/esm/hooks/use-controllable-state/index.js.map +1 -1
- package/dist/esm/hooks/use-counter/index.js.map +1 -1
- package/dist/esm/hooks/use-descendants/index.js.map +1 -1
- package/dist/esm/hooks/use-focus/index.js.map +1 -1
- package/dist/esm/hooks/use-local-storage/index.js.map +1 -1
- package/dist/esm/hooks/use-mounted/index.js.map +1 -1
- package/dist/esm/hooks/use-outside-click/index.js.map +1 -1
- package/dist/esm/index.js +3 -2
- package/dist/esm/providers/i18n-provider/i18n-provider.js.map +1 -1
- package/dist/esm/utils/children.js.map +1 -1
- package/dist/esm/utils/dom.js.map +1 -1
- package/dist/esm/utils/store.js.map +1 -1
- package/dist/types/core/css/index.d.ts +2 -2
- package/dist/types/core/css/styles.d.ts +3 -1
- package/dist/types/core/index.d.ts +2 -2
- package/dist/types/index.d.ts +3 -3
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chart.cjs","names":["createSlotComponent","chartStyle","useChart","useSplitChildren","ChartContext","styled","ResponsiveContainer","Fragment","varAttr","createContext","mergeProps","useChartLegend","Legend","useChartTooltip","Tooltip","useChartLabelList","LabelList","useChartLabel","Label"],"sources":["../../../../src/components/chart/chart.tsx"],"sourcesContent":["\"use client\"\n\nimport type {\n JSXElementConstructor,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n RefObject,\n} from \"react\"\nimport type {\n ActiveDotProps,\n DataKey,\n DefaultLegendContentProps,\n DotItemDotProps,\n DotProps,\n LabelProps,\n RenderableText,\n ResponsiveContainerProps,\n TooltipContentProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n CSSProps,\n ExtractStyleValueWithCondition,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport type { ChartStyle } from \"./chart.style\"\nimport type {\n UseChartLabelListProps,\n UseChartLabelProps,\n UseChartLegendProps,\n UseChartLegendReturn,\n UseChartTooltipProps,\n} from \"./use-chart\"\nimport { Fragment, isValidElement, useMemo, useRef } from \"react\"\nimport {\n Label,\n LabelList,\n Legend,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\"\nimport { createSlotComponent, mergeProps, styled, varAttr } from \"../../core\"\nimport {\n cast,\n createContext,\n isArray,\n isNull,\n isNumber,\n isObject,\n isString,\n isUndefined,\n useSplitChildren,\n} from \"../../utils\"\nimport { chartStyle } from \"./chart.style\"\nimport {\n ChartContext,\n useChart,\n useChartLabel,\n useChartLabelList,\n useChartLegend,\n useChartTooltip,\n} from \"./use-chart\"\n\nexport type ChartDot =\n | ((props: DotItemDotProps) => ReactNode)\n | boolean\n | Merge<Partial<DotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartActiveDot =\n | ((props: ActiveDotProps) => ReactNode)\n | boolean\n | Merge<Partial<ActiveDotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartLabel =\n | ((props: any) => ReactElement | RenderableText)\n | boolean\n | (Merge<\n HTMLStyledProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"content\"\n | \"formatter\"\n | \"index\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"textBreakAll\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n > & { dataKey?: DataKey<any> })\n | number\n | ReactElement\n | string\n\nexport type ChartLabelList =\n | ((props: LabelProps) => ReactElement | RenderableText)\n | boolean\n | ChartLabelListProps\n | ReactElement\n\nexport type ChartTickLine = boolean | HTMLStyledProps<\"line\">\n\nexport type GradientStrategy = \"invert\" | \"shade\" | \"tint\"\n\nexport function mergeSeries<Y>(\n series: Y[],\n color: CSSProps[\"color\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { color: CSSProps[\"color\"] })[] {\n const colors = gradients(series.length, color, strategy)\n\n return series.map((item, index) => ({ ...item, color: colors[index] }))\n}\n\nexport function mergeData<Y>(\n data: Y[],\n color: ExtractStyleValueWithCondition<CSSProps[\"fill\"]> = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { fill: CSSProps[\"fill\"] })[] {\n const colors = gradients(data.length, color, strategy)\n\n return data.map((item, index) => ({ ...item, fill: colors[index] }))\n}\n\nexport function gradients(\n length: number,\n color: ExtractStyleValueWithCondition<CSSProps[\"color\"]> = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): CSSProps[\"color\"][] {\n return Array.from({ length }, (_, index) => {\n const value = Math.floor(100 - (100 / length) * index)\n const percent = `${value}%`\n\n if (strategy === \"invert\") {\n return [\n `tint(colors.${color as string}, ${percent})`,\n `shade(colors.${color as string}, ${percent})`,\n ]\n } else {\n return `${strategy}(colors.${color as string}, ${percent})`\n }\n })\n}\n\nfunction parseJSON(value: any) {\n try {\n return JSON.parse(value)\n } catch {\n return value\n }\n}\n\ninterface ComponentContext extends Pick<\n ChartProps,\n \"legendProps\" | \"tooltipProps\"\n> {\n nameKeyRef: RefObject<string | undefined>\n}\n\nexport interface ChartProps extends HTMLStyledProps, ThemeProps<ChartStyle> {\n /**\n * The components to render the chart components.\n */\n components: {\n component: JSXElementConstructor<any>\n fallback: ReactNode\n }[]\n /**\n * The function to render the chart.\n */\n render: (props: PropsWithChildren) => ReactNode\n /**\n * The color of the label list.\n */\n labelListColor?: CSSProps[\"color\"]\n /**\n * The fill of the label list.\n */\n labelListFill?: CSSProps[\"fill\"]\n /**\n * The fill of the tooltip cursor.\n */\n tooltipCursorFill?: CSSProps[\"fill\"]\n /**\n * The fill opacity of the tooltip cursor.\n */\n tooltipCursorFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The stroke of the tooltip cursor.\n */\n tooltipCursorStroke?: CSSProps[\"stroke\"]\n /**\n * If `true`, legend is visible.\n *\n * @default false\n */\n withLegend?: boolean\n /**\n * If `true`, tooltip is visible.\n *\n * @default true\n */\n withTooltip?: boolean\n /**\n * Props for the legend component.\n */\n legendProps?: ChartLegendProps\n /**\n * Props for the responsive container component.\n */\n responsiveContainerProps?: ResponsiveContainerProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: ChartTooltipProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ChartPropsContext,\n useComponentContext: useChartComponentContext,\n usePropsContext: useChartPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ChartProps, ChartStyle, ComponentContext>(\n \"chart\",\n chartStyle,\n)\n\nexport { ChartPropsContext, useChartComponentContext, useChartPropsContext }\n\nexport const Chart = withProvider(\n ({\n children,\n components: componentsProp,\n render,\n withLegend = false,\n withTooltip = true,\n legendProps,\n responsiveContainerProps,\n tooltipProps,\n ...rest\n }: ChartProps) => {\n const { highlightedDataKey, onHighlight } = useChart()\n const nameKeyRef = useRef<string | undefined>(undefined)\n const components = useMemo(\n () => [\n ...componentsProp,\n {\n component: ChartLegend,\n fallback: withLegend ? <ChartLegend /> : null,\n },\n {\n component: ChartTooltip,\n fallback: withTooltip ? <ChartTooltip /> : null,\n },\n ],\n [componentsProp, withLegend, withTooltip],\n )\n const [omittedChildren, ...customComponents] = useSplitChildren(\n children,\n ...components.map(({ component }) => component),\n )\n const context = useMemo(\n () => ({\n highlightedDataKey,\n onHighlight,\n }),\n [highlightedDataKey, onHighlight],\n )\n const componentContext = useMemo(\n () => ({\n nameKeyRef,\n legendProps,\n tooltipProps,\n }),\n [legendProps, tooltipProps],\n )\n\n return (\n <ChartContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div {...rest}>\n <ResponsiveContainer {...responsiveContainerProps}>\n {render({\n children: (\n <>\n {components.map(({ fallback }, index) => (\n <Fragment key={index}>\n {customComponents[index] ?? fallback}\n </Fragment>\n ))}\n\n {omittedChildren}\n </>\n ),\n })}\n </ResponsiveContainer>\n </styled.div>\n </ComponentContext>\n </ChartContext>\n )\n },\n \"root\",\n)(\n undefined,\n ({\n labelListColor,\n labelListFill,\n tooltipCursorFill,\n tooltipCursorFillOpacity,\n tooltipCursorStroke,\n ...rest\n }) => ({\n \"--label-list-color\": varAttr(labelListColor, \"colors\"),\n \"--label-list-fill\": varAttr(labelListFill, \"colors\"),\n \"--tooltip-cursor-fill\": varAttr(tooltipCursorFill, \"colors\"),\n \"--tooltip-cursor-fill-opacity\": tooltipCursorFillOpacity,\n \"--tooltip-cursor-stroke\": varAttr(tooltipCursorStroke, \"colors\"),\n ...rest,\n }),\n)\n\ninterface ChartLegendContext extends Pick<\n UseChartLegendReturn,\n \"getLegendItemProps\"\n> {}\n\nconst [ChartLegendContext, useChartLegendContext] =\n createContext<ChartLegendContext>({\n name: \"ChartLegendContext\",\n })\n\nexport interface ChartLegendProps extends Merge<\n HTMLStyledProps,\n UseChartLegendProps\n> {\n /**\n * Props for the content component.\n */\n contentProps?: Omit<ChartLegendContentProps, \"formatter\" | \"payload\">\n}\n\nexport const ChartLegend = withContext<\"div\", ChartLegendProps>((props) => {\n const { legendProps } = useChartComponentContext()\n const { contentProps, ...rest } = mergeProps(legendProps, props)()\n const {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n } = useChartLegend({\n content: ({ formatter, payload }) => (\n <ChartLegendContent\n formatter={formatter}\n payload={payload}\n {...getLegendContentProps(contentProps)}\n />\n ),\n ...rest,\n })\n const context = useMemo(() => ({ getLegendItemProps }), [getLegendItemProps])\n\n return (\n <ChartLegendContext value={context}>\n <styled.div asChild {...getRootProps()}>\n <Legend {...getLegendProps()} />\n </styled.div>\n </ChartLegendContext>\n )\n}, \"legend\")()\n\ninterface ChartLegendContentProps\n extends\n HTMLStyledProps,\n Pick<DefaultLegendContentProps, \"formatter\" | \"payload\"> {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartLegendContent = withContext<\"div\", ChartLegendContentProps>(\n ({ formatter, payload, withSwatch = true, ...rest }) => {\n const { nameKeyRef } = useChartComponentContext()\n const { getLegendItemProps } = useChartLegendContext()\n\n return (\n <styled.div {...rest}>\n {payload?.map((data, index) => {\n let value = data.value\n\n if (nameKeyRef.current)\n value = (data.payload as any)?.[nameKeyRef.current]\n\n const dataKey =\n isString(data.dataKey) || isNumber(data.dataKey)\n ? data.dataKey\n : value\n const color = parseJSON(data.color)\n const formattedValue = formatter?.(value, data, index) ?? value\n\n return (\n <ChartLegendItem key={index} {...getLegendItemProps({ dataKey })}>\n {withSwatch ? <ChartLegendSwatch bg={color} /> : null}\n <ChartLegendValue>{formattedValue}</ChartLegendValue>\n </ChartLegendItem>\n )\n })}\n </styled.div>\n )\n },\n \"legendContent\",\n)()\n\ninterface ChartLegendItemProps extends HTMLStyledProps {}\n\nconst ChartLegendItem = withContext<\"div\", ChartLegendItemProps>(\n \"div\",\n \"legendItem\",\n)()\n\ninterface ChartLegendSwatchProps extends HTMLStyledProps {}\n\nconst ChartLegendSwatch = withContext<\"div\", ChartLegendSwatchProps>(\n \"div\",\n \"legendSwatch\",\n)()\n\ninterface ChartLegendValueProps extends HTMLStyledProps<\"span\"> {}\n\nconst ChartLegendValue = withContext<\"span\", ChartLegendValueProps>(\n \"span\",\n \"legendValue\",\n)()\n\nexport interface ChartTooltipProps<\n Y extends (number | string)[] | number | string = number,\n M extends number | string = string,\n> extends Omit<Merge<HTMLStyledProps, UseChartTooltipProps<Y, M>>, \"cursor\"> {\n /**\n * Props for the cursor component.\n */\n cursor?: boolean | ChartTooltipCursorProps | ReactElement\n /**\n * Props for the content component.\n */\n contentProps?: Omit<\n ChartTooltipContentProps,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n >\n}\n\nexport const ChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>(\n props: ChartTooltipProps<Y, M>,\n) => {\n const { tooltipProps } = useChartComponentContext()\n const {\n cursor = false,\n contentProps,\n ...rest\n } = {\n ...tooltipProps,\n ...props,\n } as ChartTooltipProps<Y, M>\n const { getContentProps, getRootProps } = useChartTooltip<Y, M>({\n content: ({ formatter, label, labelFormatter, payload }) => (\n <ChartTooltipContent\n formatter={formatter}\n label={label}\n labelFormatter={labelFormatter}\n payload={payload}\n {...getContentProps(contentProps)}\n />\n ),\n cursor:\n isValidElement(cursor) || !cursor ? (\n cursor\n ) : (\n <ChartTooltipCursor {...(isObject(cursor) ? cursor : {})} />\n ),\n ...rest,\n })\n\n return <Tooltip {...cast<TooltipProps>(getRootProps())} />\n}\n\ninterface ChartTooltipCursorProps extends Omit<\n HTMLStyledProps<\"path\">,\n \"height\" | \"points\" | \"width\" | \"x\" | \"y\"\n> {\n brushBottom?: number\n height?: number\n payload?: Dict[]\n payloadIndex?: number\n points?: { x: number; y: number }[]\n width?: number\n x?: number\n y?: number\n}\n\nconst ChartTooltipCursor = withContext<\"path\", ChartTooltipCursorProps>(\n \"path\",\n \"tooltipCursor\",\n)(\n undefined,\n ({\n bottom: _bottom,\n brushBottom: _brushBottom,\n fill,\n height,\n left: _left,\n payload: _payload,\n payloadIndex: _payloadIndex,\n points,\n right: _right,\n stroke,\n top: _top,\n width,\n x,\n y,\n ...rest\n }) => {\n const d = points\n ? `M${points[0]?.x},${points[0]?.y}L${points[1]?.x},${points[1]?.y}`\n : `M ${x},${y} h ${width} v ${height} h -${width} Z`\n return {\n asChild: true,\n children: <path d={d} height={height} width={width} />,\n fill: fill === \"#ccc\" ? undefined : fill,\n stroke: stroke === \"#ccc\" ? undefined : stroke,\n ...rest,\n }\n },\n)\n\ninterface ChartTooltipContentProps\n extends\n HTMLStyledProps,\n Pick<\n TooltipContentProps<any, any>,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n > {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartTooltipContent = withContext<\"div\", ChartTooltipContentProps>(\n ({\n formatter,\n label: labelProp,\n labelFormatter,\n payload,\n withSwatch = true,\n ...rest\n }) => {\n const { nameKeyRef } = useChartComponentContext()\n const label = labelFormatter\n ? labelFormatter(labelProp, payload)\n : labelProp\n\n return (\n <styled.div {...rest}>\n {!isUndefined(label) && !isNull(label) ? (\n <ChartTooltipLabel>{label}</ChartTooltipLabel>\n ) : null}\n\n <ChartTooltipList>\n {payload.map((data, index) => {\n if (nameKeyRef.current) data.name = data.payload[nameKeyRef.current]\n\n const color = parseJSON(data.color) || data.payload.fill\n const result =\n formatter?.(data.value, data.name, data, index, payload) ??\n (isArray(data.value) ? data.value.join(\", \") : data.value)\n const [value, name] = isArray(result) ? result : [result, data.name]\n\n return (\n <ChartTooltipItem key={index}>\n {withSwatch ? <ChartTooltipSwatch bg={color} /> : null}\n <ChartTooltipName>{name}</ChartTooltipName>\n <ChartTooltipValue>{value}</ChartTooltipValue>\n </ChartTooltipItem>\n )\n })}\n </ChartTooltipList>\n </styled.div>\n )\n },\n \"tooltipContent\",\n)()\n\ninterface ChartTooltipLabel extends HTMLStyledProps<\"p\"> {}\n\nconst ChartTooltipLabel = withContext<\"p\", ChartTooltipLabel>(\n \"p\",\n \"tooltipLabel\",\n)()\n\ninterface ChartTooltipList extends HTMLStyledProps {}\n\nconst ChartTooltipList = withContext<\"div\", ChartTooltipList>(\n \"div\",\n \"tooltipList\",\n)()\n\ninterface ChartTooltipItem extends HTMLStyledProps {}\n\nconst ChartTooltipItem = withContext<\"div\", ChartTooltipItem>(\n \"div\",\n \"tooltipItem\",\n)()\n\ninterface ChartTooltipSwatch extends HTMLStyledProps {}\n\nconst ChartTooltipSwatch = withContext<\"div\", ChartTooltipSwatch>(\n \"div\",\n \"tooltipSwatch\",\n)()\n\ninterface ChartTooltipName extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipName = withContext<\"span\", ChartTooltipName>(\n \"span\",\n \"tooltipName\",\n)()\n\ninterface ChartTooltipValue extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipValue = withContext<\"span\", ChartTooltipValue>(\n \"span\",\n \"tooltipValue\",\n)()\n\nexport interface ChartLabelListProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelListProps\n> {}\n\nexport const ChartLabelList = withContext<\"text\", ChartLabelListProps>(\n (props) => {\n const { getLabelListProps, getRootProps } = useChartLabelList(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <LabelList {...getLabelListProps()} />\n </styled.text>\n )\n },\n \"labelList\",\n)()\n\nexport interface ChartLabelProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelProps\n> {}\n\nexport const ChartLabel = withContext<\"text\", ChartLabelProps>((props) => {\n const { getLabelProps, getRootProps } = useChartLabel(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <Label {...getLabelProps()} />\n </styled.text>\n )\n}, \"label\")()\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chart.cjs","names":["createSlotComponent","chartStyle","useChart","useSplitChildren","ChartContext","styled","ResponsiveContainer","Fragment","varAttr","createContext","mergeProps","useChartLegend","Legend","useChartTooltip","Tooltip","useChartLabelList","LabelList","useChartLabel","Label"],"sources":["../../../../src/components/chart/chart.tsx"],"sourcesContent":["\"use client\"\n\nimport type {\n JSXElementConstructor,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n RefObject,\n} from \"react\"\nimport type {\n ActiveDotProps,\n DataKey,\n DefaultLegendContentProps,\n DotItemDotProps,\n DotProps,\n LabelProps,\n RenderableText,\n ResponsiveContainerProps,\n TooltipContentProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n CSSProps,\n ExtractStyleValueWithCondition,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport type { ChartStyle } from \"./chart.style\"\nimport type {\n UseChartLabelListProps,\n UseChartLabelProps,\n UseChartLegendProps,\n UseChartLegendReturn,\n UseChartTooltipProps,\n} from \"./use-chart\"\nimport { Fragment, isValidElement, useMemo, useRef } from \"react\"\nimport {\n Label,\n LabelList,\n Legend,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\"\nimport { createSlotComponent, mergeProps, styled, varAttr } from \"../../core\"\nimport {\n cast,\n createContext,\n isArray,\n isNull,\n isNumber,\n isObject,\n isString,\n isUndefined,\n useSplitChildren,\n} from \"../../utils\"\nimport { chartStyle } from \"./chart.style\"\nimport {\n ChartContext,\n useChart,\n useChartLabel,\n useChartLabelList,\n useChartLegend,\n useChartTooltip,\n} from \"./use-chart\"\n\nexport type ChartDot =\n | ((props: DotItemDotProps) => ReactNode)\n | boolean\n | Merge<Partial<DotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartActiveDot =\n | ((props: ActiveDotProps) => ReactNode)\n | boolean\n | Merge<Partial<ActiveDotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartLabel =\n | ((props: any) => ReactElement | RenderableText)\n | boolean\n | (Merge<\n HTMLStyledProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"content\"\n | \"formatter\"\n | \"index\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"textBreakAll\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n > & { dataKey?: DataKey<any> })\n | number\n | ReactElement\n | string\n\nexport type ChartLabelList =\n | ((props: LabelProps) => ReactElement | RenderableText)\n | boolean\n | ChartLabelListProps\n | ReactElement\n\nexport type ChartTickLine = boolean | HTMLStyledProps<\"line\">\n\nexport type GradientStrategy = \"invert\" | \"shade\" | \"tint\"\n\nexport function mergeSeries<Y>(\n series: Y[],\n color: CSSProps[\"color\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { color: CSSProps[\"color\"] })[] {\n const colors = gradients(series.length, color, strategy)\n\n return series.map((item, index) => ({ ...item, color: colors[index] }))\n}\n\nexport function mergeData<Y>(\n data: Y[],\n color: ExtractStyleValueWithCondition<CSSProps[\"fill\"]> = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { fill: CSSProps[\"fill\"] })[] {\n const colors = gradients(data.length, color, strategy)\n\n return data.map((item, index) => ({ ...item, fill: colors[index] }))\n}\n\nexport function gradients(\n length: number,\n color: ExtractStyleValueWithCondition<CSSProps[\"color\"]> = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): CSSProps[\"color\"][] {\n return Array.from({ length }, (_, index) => {\n const value = Math.floor(100 - (100 / length) * index)\n const percent = `${value}%`\n\n if (strategy === \"invert\")\n return [\n `tint(colors.${color as string}, ${percent})`,\n `shade(colors.${color as string}, ${percent})`,\n ]\n else return `${strategy}(colors.${color as string}, ${percent})`\n })\n}\n\nfunction parseJSON(value: any) {\n try {\n return JSON.parse(value)\n } catch {\n return value\n }\n}\n\ninterface ComponentContext extends Pick<\n ChartProps,\n \"legendProps\" | \"tooltipProps\"\n> {\n nameKeyRef: RefObject<string | undefined>\n}\n\nexport interface ChartProps extends HTMLStyledProps, ThemeProps<ChartStyle> {\n /**\n * The components to render the chart components.\n */\n components: {\n component: JSXElementConstructor<any>\n fallback: ReactNode\n }[]\n /**\n * The function to render the chart.\n */\n render: (props: PropsWithChildren) => ReactNode\n /**\n * The color of the label list.\n */\n labelListColor?: CSSProps[\"color\"]\n /**\n * The fill of the label list.\n */\n labelListFill?: CSSProps[\"fill\"]\n /**\n * The fill of the tooltip cursor.\n */\n tooltipCursorFill?: CSSProps[\"fill\"]\n /**\n * The fill opacity of the tooltip cursor.\n */\n tooltipCursorFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The stroke of the tooltip cursor.\n */\n tooltipCursorStroke?: CSSProps[\"stroke\"]\n /**\n * If `true`, legend is visible.\n *\n * @default false\n */\n withLegend?: boolean\n /**\n * If `true`, tooltip is visible.\n *\n * @default true\n */\n withTooltip?: boolean\n /**\n * Props for the legend component.\n */\n legendProps?: ChartLegendProps\n /**\n * Props for the responsive container component.\n */\n responsiveContainerProps?: ResponsiveContainerProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: ChartTooltipProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ChartPropsContext,\n useComponentContext: useChartComponentContext,\n usePropsContext: useChartPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ChartProps, ChartStyle, ComponentContext>(\n \"chart\",\n chartStyle,\n)\n\nexport { ChartPropsContext, useChartComponentContext, useChartPropsContext }\n\nexport const Chart = withProvider(\n ({\n children,\n components: componentsProp,\n render,\n withLegend = false,\n withTooltip = true,\n legendProps,\n responsiveContainerProps,\n tooltipProps,\n ...rest\n }: ChartProps) => {\n const { highlightedDataKey, onHighlight } = useChart()\n const nameKeyRef = useRef<string | undefined>(undefined)\n const components = useMemo(\n () => [\n ...componentsProp,\n {\n component: ChartLegend,\n fallback: withLegend ? <ChartLegend /> : null,\n },\n {\n component: ChartTooltip,\n fallback: withTooltip ? <ChartTooltip /> : null,\n },\n ],\n [componentsProp, withLegend, withTooltip],\n )\n const [omittedChildren, ...customComponents] = useSplitChildren(\n children,\n ...components.map(({ component }) => component),\n )\n const context = useMemo(\n () => ({\n highlightedDataKey,\n onHighlight,\n }),\n [highlightedDataKey, onHighlight],\n )\n const componentContext = useMemo(\n () => ({\n nameKeyRef,\n legendProps,\n tooltipProps,\n }),\n [legendProps, tooltipProps],\n )\n\n return (\n <ChartContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div {...rest}>\n <ResponsiveContainer {...responsiveContainerProps}>\n {render({\n children: (\n <>\n {components.map(({ fallback }, index) => (\n <Fragment key={index}>\n {customComponents[index] ?? fallback}\n </Fragment>\n ))}\n\n {omittedChildren}\n </>\n ),\n })}\n </ResponsiveContainer>\n </styled.div>\n </ComponentContext>\n </ChartContext>\n )\n },\n \"root\",\n)(\n undefined,\n ({\n labelListColor,\n labelListFill,\n tooltipCursorFill,\n tooltipCursorFillOpacity,\n tooltipCursorStroke,\n ...rest\n }) => ({\n \"--label-list-color\": varAttr(labelListColor, \"colors\"),\n \"--label-list-fill\": varAttr(labelListFill, \"colors\"),\n \"--tooltip-cursor-fill\": varAttr(tooltipCursorFill, \"colors\"),\n \"--tooltip-cursor-fill-opacity\": tooltipCursorFillOpacity,\n \"--tooltip-cursor-stroke\": varAttr(tooltipCursorStroke, \"colors\"),\n ...rest,\n }),\n)\n\ninterface ChartLegendContext extends Pick<\n UseChartLegendReturn,\n \"getLegendItemProps\"\n> {}\n\nconst [ChartLegendContext, useChartLegendContext] =\n createContext<ChartLegendContext>({\n name: \"ChartLegendContext\",\n })\n\nexport interface ChartLegendProps extends Merge<\n HTMLStyledProps,\n UseChartLegendProps\n> {\n /**\n * Props for the content component.\n */\n contentProps?: Omit<ChartLegendContentProps, \"formatter\" | \"payload\">\n}\n\nexport const ChartLegend = withContext<\"div\", ChartLegendProps>((props) => {\n const { legendProps } = useChartComponentContext()\n const { contentProps, ...rest } = mergeProps(legendProps, props)()\n const {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n } = useChartLegend({\n content: ({ formatter, payload }) => (\n <ChartLegendContent\n formatter={formatter}\n payload={payload}\n {...getLegendContentProps(contentProps)}\n />\n ),\n ...rest,\n })\n const context = useMemo(() => ({ getLegendItemProps }), [getLegendItemProps])\n\n return (\n <ChartLegendContext value={context}>\n <styled.div asChild {...getRootProps()}>\n <Legend {...getLegendProps()} />\n </styled.div>\n </ChartLegendContext>\n )\n}, \"legend\")()\n\ninterface ChartLegendContentProps\n extends\n HTMLStyledProps,\n Pick<DefaultLegendContentProps, \"formatter\" | \"payload\"> {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartLegendContent = withContext<\"div\", ChartLegendContentProps>(\n ({ formatter, payload, withSwatch = true, ...rest }) => {\n const { nameKeyRef } = useChartComponentContext()\n const { getLegendItemProps } = useChartLegendContext()\n\n return (\n <styled.div {...rest}>\n {payload?.map((data, index) => {\n let value = data.value\n\n if (nameKeyRef.current)\n value = (data.payload as any)?.[nameKeyRef.current]\n\n const dataKey =\n isString(data.dataKey) || isNumber(data.dataKey)\n ? data.dataKey\n : value\n const color = parseJSON(data.color)\n const formattedValue = formatter?.(value, data, index) ?? value\n\n return (\n <ChartLegendItem key={index} {...getLegendItemProps({ dataKey })}>\n {withSwatch ? <ChartLegendSwatch bg={color} /> : null}\n <ChartLegendValue>{formattedValue}</ChartLegendValue>\n </ChartLegendItem>\n )\n })}\n </styled.div>\n )\n },\n \"legendContent\",\n)()\n\ninterface ChartLegendItemProps extends HTMLStyledProps {}\n\nconst ChartLegendItem = withContext<\"div\", ChartLegendItemProps>(\n \"div\",\n \"legendItem\",\n)()\n\ninterface ChartLegendSwatchProps extends HTMLStyledProps {}\n\nconst ChartLegendSwatch = withContext<\"div\", ChartLegendSwatchProps>(\n \"div\",\n \"legendSwatch\",\n)()\n\ninterface ChartLegendValueProps extends HTMLStyledProps<\"span\"> {}\n\nconst ChartLegendValue = withContext<\"span\", ChartLegendValueProps>(\n \"span\",\n \"legendValue\",\n)()\n\nexport interface ChartTooltipProps<\n Y extends (number | string)[] | number | string = number,\n M extends number | string = string,\n> extends Omit<Merge<HTMLStyledProps, UseChartTooltipProps<Y, M>>, \"cursor\"> {\n /**\n * Props for the cursor component.\n */\n cursor?: boolean | ChartTooltipCursorProps | ReactElement\n /**\n * Props for the content component.\n */\n contentProps?: Omit<\n ChartTooltipContentProps,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n >\n}\n\nexport const ChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>(\n props: ChartTooltipProps<Y, M>,\n) => {\n const { tooltipProps } = useChartComponentContext()\n const {\n cursor = false,\n contentProps,\n ...rest\n } = {\n ...tooltipProps,\n ...props,\n } as ChartTooltipProps<Y, M>\n const { getContentProps, getRootProps } = useChartTooltip<Y, M>({\n content: ({ formatter, label, labelFormatter, payload }) => (\n <ChartTooltipContent\n formatter={formatter}\n label={label}\n labelFormatter={labelFormatter}\n payload={payload}\n {...getContentProps(contentProps)}\n />\n ),\n cursor:\n isValidElement(cursor) || !cursor ? (\n cursor\n ) : (\n <ChartTooltipCursor {...(isObject(cursor) ? cursor : {})} />\n ),\n ...rest,\n })\n\n return <Tooltip {...cast<TooltipProps>(getRootProps())} />\n}\n\ninterface ChartTooltipCursorProps extends Omit<\n HTMLStyledProps<\"path\">,\n \"height\" | \"points\" | \"width\" | \"x\" | \"y\"\n> {\n brushBottom?: number\n height?: number\n payload?: Dict[]\n payloadIndex?: number\n points?: { x: number; y: number }[]\n width?: number\n x?: number\n y?: number\n}\n\nconst ChartTooltipCursor = withContext<\"path\", ChartTooltipCursorProps>(\n \"path\",\n \"tooltipCursor\",\n)(\n undefined,\n ({\n bottom: _bottom,\n brushBottom: _brushBottom,\n fill,\n height,\n left: _left,\n payload: _payload,\n payloadIndex: _payloadIndex,\n points,\n right: _right,\n stroke,\n top: _top,\n width,\n x,\n y,\n ...rest\n }) => {\n const d = points\n ? `M${points[0]?.x},${points[0]?.y}L${points[1]?.x},${points[1]?.y}`\n : `M ${x},${y} h ${width} v ${height} h -${width} Z`\n return {\n asChild: true,\n children: <path d={d} height={height} width={width} />,\n fill: fill === \"#ccc\" ? undefined : fill,\n stroke: stroke === \"#ccc\" ? undefined : stroke,\n ...rest,\n }\n },\n)\n\ninterface ChartTooltipContentProps\n extends\n HTMLStyledProps,\n Pick<\n TooltipContentProps<any, any>,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n > {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartTooltipContent = withContext<\"div\", ChartTooltipContentProps>(\n ({\n formatter,\n label: labelProp,\n labelFormatter,\n payload,\n withSwatch = true,\n ...rest\n }) => {\n const { nameKeyRef } = useChartComponentContext()\n const label = labelFormatter\n ? labelFormatter(labelProp, payload)\n : labelProp\n\n return (\n <styled.div {...rest}>\n {!isUndefined(label) && !isNull(label) ? (\n <ChartTooltipLabel>{label}</ChartTooltipLabel>\n ) : null}\n\n <ChartTooltipList>\n {payload.map((data, index) => {\n if (nameKeyRef.current) data.name = data.payload[nameKeyRef.current]\n\n const color = parseJSON(data.color) || data.payload.fill\n const result =\n formatter?.(data.value, data.name, data, index, payload) ??\n (isArray(data.value) ? data.value.join(\", \") : data.value)\n const [value, name] = isArray(result) ? result : [result, data.name]\n\n return (\n <ChartTooltipItem key={index}>\n {withSwatch ? <ChartTooltipSwatch bg={color} /> : null}\n <ChartTooltipName>{name}</ChartTooltipName>\n <ChartTooltipValue>{value}</ChartTooltipValue>\n </ChartTooltipItem>\n )\n })}\n </ChartTooltipList>\n </styled.div>\n )\n },\n \"tooltipContent\",\n)()\n\ninterface ChartTooltipLabel extends HTMLStyledProps<\"p\"> {}\n\nconst ChartTooltipLabel = withContext<\"p\", ChartTooltipLabel>(\n \"p\",\n \"tooltipLabel\",\n)()\n\ninterface ChartTooltipList extends HTMLStyledProps {}\n\nconst ChartTooltipList = withContext<\"div\", ChartTooltipList>(\n \"div\",\n \"tooltipList\",\n)()\n\ninterface ChartTooltipItem extends HTMLStyledProps {}\n\nconst ChartTooltipItem = withContext<\"div\", ChartTooltipItem>(\n \"div\",\n \"tooltipItem\",\n)()\n\ninterface ChartTooltipSwatch extends HTMLStyledProps {}\n\nconst ChartTooltipSwatch = withContext<\"div\", ChartTooltipSwatch>(\n \"div\",\n \"tooltipSwatch\",\n)()\n\ninterface ChartTooltipName extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipName = withContext<\"span\", ChartTooltipName>(\n \"span\",\n \"tooltipName\",\n)()\n\ninterface ChartTooltipValue extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipValue = withContext<\"span\", ChartTooltipValue>(\n \"span\",\n \"tooltipValue\",\n)()\n\nexport interface ChartLabelListProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelListProps\n> {}\n\nexport const ChartLabelList = withContext<\"text\", ChartLabelListProps>(\n (props) => {\n const { getLabelListProps, getRootProps } = useChartLabelList(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <LabelList {...getLabelListProps()} />\n </styled.text>\n )\n },\n \"labelList\",\n)()\n\nexport interface ChartLabelProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelProps\n> {}\n\nexport const ChartLabel = withContext<\"text\", ChartLabelProps>((props) => {\n const { getLabelProps, getRootProps } = useChartLabel(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <Label {...getLabelProps()} />\n </styled.text>\n )\n}, \"label\")()\n"],"mappings":";;;;;;;;;;;;;;AAiHA,SAAgB,YACd,QACA,QAA2B,QAC3B,WAA6B,UACS;CACtC,MAAM,SAAS,UAAU,OAAO,QAAQ,OAAO,QAAQ;CAEvD,OAAO,OAAO,KAAK,MAAM,WAAW;EAAE,GAAG;EAAM,OAAO,OAAO;CAAO,EAAE;AACxE;AAEA,SAAgB,UACd,MACA,QAA0D,QAC1D,WAA6B,UACO;CACpC,MAAM,SAAS,UAAU,KAAK,QAAQ,OAAO,QAAQ;CAErD,OAAO,KAAK,KAAK,MAAM,WAAW;EAAE,GAAG;EAAM,MAAM,OAAO;CAAO,EAAE;AACrE;AAEA,SAAgB,UACd,QACA,QAA2D,QAC3D,WAA6B,UACR;CACrB,OAAO,MAAM,KAAK,EAAE,OAAO,IAAI,GAAG,UAAU;EAE1C,MAAM,UAAU,GADF,KAAK,MAAM,MAAO,MAAM,SAAU,KACzB,EAAE;EAEzB,IAAI,aAAa,UACf,OAAO,CACL,eAAe,MAAgB,IAAI,QAAQ,IAC3C,gBAAgB,MAAgB,IAAI,QAAQ,EAC9C;OACG,OAAO,GAAG,SAAS,UAAU,MAAgB,IAAI,QAAQ;CAChE,CAAC;AACH;AAEA,SAAS,UAAU,OAAY;CAC7B,IAAI;EACF,OAAO,KAAK,MAAM,KAAK;CACzB,QAAQ;EACN,OAAO;CACT;AACF;AAmEA,MAAM,EACJ,kBACA,cAAc,mBACd,qBAAqB,0BACrB,iBAAiB,sBACjB,aACA,iBACEA,yBAAAA,oBACF,SACAC,oBAAAA,UACF;AAIA,MAAa,QAAQ,cAClB,EACC,UACA,YAAY,gBACZ,QACA,aAAa,OACb,cAAc,MACd,aACA,0BACA,cACA,GAAG,WACa;CAChB,MAAM,EAAE,oBAAoB,gBAAgBC,kBAAAA,SAAS;CACrD,MAAM,cAAA,GAAA,MAAA,OAAA,CAAwC,KAAA,CAAS;CACvD,MAAM,cAAA,GAAA,MAAA,QAAA,OACE;EACJ,GAAG;EACH;GACE,WAAW;GACX,UAAU,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD,CAAc,CAAA,IAAI;EAC3C;EACA;GACE,WAAW;GACX,UAAU,cAAc,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD,CAAe,CAAA,IAAI;EAC7C;CACF,GACA;EAAC;EAAgB;EAAY;CAAW,CAC1C;CACA,MAAM,CAAC,iBAAiB,GAAG,oBAAoBC,iBAAAA,iBAC7C,UACA,GAAG,WAAW,KAAK,EAAE,gBAAgB,SAAS,CAChD;CAiBA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,kBAAAA,cAAD;EAAc,QAAA,GAAA,MAAA,QAAA,QAhBP;GACL;GACA;EACF,IACA,CAAC,oBAAoB,WAAW,CAYL;YACzB,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;GAAkB,QAAA,GAAA,MAAA,QAAA,QAVb;IACL;IACA;IACA;GACF,IACA,CAAC,aAAa,YAAY,CAKgB;aACtC,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,KAAR;IAAY,GAAI;cACd,iBAAA,GAAA,kBAAA,IAAA,CAACC,SAAAA,qBAAD;KAAqB,GAAI;eACtB,OAAO,EACN,UACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACG,WAAW,KAAK,EAAE,YAAY,UAC7B,iBAAA,GAAA,kBAAA,IAAA,CAACC,MAAAA,UAAD,EAAA,UACG,iBAAiB,UAAU,SACpB,GAFK,KAEL,CACX,GAEA,eACD,EAAA,CAAA,EAEN,CAAC;IACkB,CAAA;GACX,CAAA;EACI,CAAA;CACN,CAAA;AAElB,GACA,MACF,CAAC,CACC,KAAA,IACC,EACC,gBACA,eACA,mBACA,0BACA,qBACA,GAAG,YACE;CACL,sBAAsBC,YAAAA,QAAQ,gBAAgB,QAAQ;CACtD,qBAAqBA,YAAAA,QAAQ,eAAe,QAAQ;CACpD,yBAAyBA,YAAAA,QAAQ,mBAAmB,QAAQ;CAC5D,iCAAiC;CACjC,2BAA2BA,YAAAA,QAAQ,qBAAqB,QAAQ;CAChE,GAAG;AACL,EACF;AAOA,MAAM,CAAC,oBAAoB,yBACzBC,gBAAAA,cAAkC,EAChC,MAAM,qBACR,CAAC;AAYH,MAAa,cAAc,aAAsC,UAAU;CACzE,MAAM,EAAE,gBAAgB,yBAAyB;CACjD,MAAM,EAAE,cAAc,GAAG,SAASC,cAAAA,WAAW,aAAa,KAAK,CAAC,CAAC;CACjE,MAAM,EACJ,uBACA,oBACA,gBACA,iBACEC,kBAAAA,eAAe;EACjB,UAAU,EAAE,WAAW,cACrB,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD;GACa;GACF;GACT,GAAI,sBAAsB,YAAY;EACvC,CAAA;EAEH,GAAG;CACL,CAAC;CAGD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD;EAAoB,QAAA,GAAA,MAAA,QAAA,QAHS,EAAE,mBAAmB,IAAI,CAAC,kBAAkB,CAGxC;YAC/B,iBAAA,GAAA,kBAAA,IAAA,CAACN,gBAAAA,OAAO,KAAR;GAAY,SAAA;GAAQ,GAAI,aAAa;aACnC,iBAAA,GAAA,kBAAA,IAAA,CAACO,SAAAA,QAAD,EAAQ,GAAI,eAAe,EAAI,CAAA;EACrB,CAAA;CACM,CAAA;AAExB,GAAG,QAAQ,CAAC,CAAC;AAYb,MAAM,qBAAqB,aACxB,EAAE,WAAW,SAAS,aAAa,MAAM,GAAG,WAAW;CACtD,MAAM,EAAE,eAAe,yBAAyB;CAChD,MAAM,EAAE,uBAAuB,sBAAsB;CAErD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACP,gBAAAA,OAAO,KAAR;EAAY,GAAI;YACb,SAAS,KAAK,MAAM,UAAU;GAC7B,IAAI,QAAQ,KAAK;GAEjB,IAAI,WAAW,SACb,QAAS,KAAK,UAAkB,WAAW;GAE7C,MAAM,WAAA,GAAA,oBAAA,cAAA,SAAA,CACK,KAAK,OAAO,MAAA,GAAA,oBAAA,cAAA,SAAA,CAAc,KAAK,OAAO,IAC3C,KAAK,UACL;GACN,MAAM,QAAQ,UAAU,KAAK,KAAK;GAClC,MAAM,iBAAiB,YAAY,OAAO,MAAM,KAAK,KAAK;GAE1D,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,iBAAD;IAA6B,GAAI,mBAAmB,EAAE,QAAQ,CAAC;cAA/D,CACG,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD,EAAmB,IAAI,MAAQ,CAAA,IAAI,MACjD,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD,EAAA,UAAmB,eAAiC,CAAA,CACrC;MAHK,KAGL;EAErB,CAAC;CACS,CAAA;AAEhB,GACA,eACF,CAAC,CAAC;AAIF,MAAM,kBAAkB,YACtB,OACA,YACF,CAAC,CAAC;AAIF,MAAM,oBAAoB,YACxB,OACA,cACF,CAAC,CAAC;AAIF,MAAM,mBAAmB,YACvB,QACA,aACF,CAAC,CAAC;AAmBF,MAAa,gBAIX,UACG;CACH,MAAM,EAAE,iBAAiB,yBAAyB;CAClD,MAAM,EACJ,SAAS,OACT,cACA,GAAG,SACD;EACF,GAAG;EACH,GAAG;CACL;CACA,MAAM,EAAE,iBAAiB,iBAAiBQ,kBAAAA,gBAAsB;EAC9D,UAAU,EAAE,WAAW,OAAO,gBAAgB,cAC5C,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD;GACa;GACJ;GACS;GACP;GACT,GAAI,gBAAgB,YAAY;EACjC,CAAA;EAEH,SAAA,GAAA,MAAA,eAAA,CACiB,MAAM,KAAK,CAAC,SACzB,SAEA,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD,EAAoB,IAAA,GAAA,oBAAA,cAAA,SAAA,CAAc,MAAM,IAAI,SAAS,CAAC,EAAK,CAAA;EAE/D,GAAG;CACL,CAAC;CAED,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,SAAAA,SAAD,EAAS,IAAA,GAAA,oBAAA,cAAA,KAAA,CAAuB,aAAa,CAAC,EAAI,CAAA;AAC3D;AAgBA,MAAM,qBAAqB,YACzB,QACA,eACF,CAAC,CACC,KAAA,IACC,EACC,QAAQ,SACR,aAAa,cACb,MACA,QACA,MAAM,OACN,SAAS,UACT,cAAc,eACd,QACA,OAAO,QACP,QACA,KAAK,MACL,OACA,GACA,GACA,GAAG,WACC;CAIJ,OAAO;EACL,SAAS;EACT,UAAU,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;GAAM,GALR,SACN,IAAI,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,EAAE,MAC/D,KAAK,EAAE,GAAG,EAAE,KAAK,MAAM,KAAK,OAAO,MAAM,MAAM;GAGnB;GAAe;EAAQ,CAAA;EACrD,MAAM,SAAS,SAAS,KAAA,IAAY;EACpC,QAAQ,WAAW,SAAS,KAAA,IAAY;EACxC,GAAG;CACL;AACF,CACF;AAeA,MAAM,sBAAsB,aACzB,EACC,WACA,OAAO,WACP,gBACA,SACA,aAAa,MACb,GAAG,WACC;CACJ,MAAM,EAAE,eAAe,yBAAyB;CAChD,MAAM,QAAQ,iBACV,eAAe,WAAW,OAAO,IACjC;CAEJ,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACT,gBAAAA,OAAO,KAAR;EAAY,GAAI;YAAhB,CACG,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,KAAK,KAAK,EAAA,GAAA,oBAAA,cAAA,OAAA,CAAQ,KAAK,IACnC,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD,EAAA,UAAoB,MAAyB,CAAA,IAC3C,MAEJ,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD,EAAA,UACG,QAAQ,KAAK,MAAM,UAAU;GAC5B,IAAI,WAAW,SAAS,KAAK,OAAO,KAAK,QAAQ,WAAW;GAE5D,MAAM,QAAQ,UAAU,KAAK,KAAK,KAAK,KAAK,QAAQ;GACpD,MAAM,SACJ,YAAY,KAAK,OAAO,KAAK,MAAM,MAAM,OAAO,OAAO,OAAA,GAAA,oBAAA,cAAA,QAAA,CAC9C,KAAK,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI,IAAI,KAAK;GACtD,MAAM,CAAC,OAAO,SAAA,GAAA,oBAAA,cAAA,QAAA,CAAgB,MAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI;GAEnE,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,kBAAD,EAAA,UAAA;IACG,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAAC,oBAAD,EAAoB,IAAI,MAAQ,CAAA,IAAI;IAClD,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD,EAAA,UAAmB,KAAuB,CAAA;IAC1C,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD,EAAA,UAAoB,MAAyB,CAAA;GAC7B,EAAA,GAJK,KAIL;EAEtB,CAAC,EACe,CAAA,CACR;;AAEhB,GACA,gBACF,CAAC,CAAC;AAIF,MAAM,oBAAoB,YACxB,KACA,cACF,CAAC,CAAC;AAIF,MAAM,mBAAmB,YACvB,OACA,aACF,CAAC,CAAC;AAIF,MAAM,mBAAmB,YACvB,OACA,aACF,CAAC,CAAC;AAIF,MAAM,qBAAqB,YACzB,OACA,eACF,CAAC,CAAC;AAIF,MAAM,mBAAmB,YACvB,QACA,aACF,CAAC,CAAC;AAIF,MAAM,oBAAoB,YACxB,QACA,cACF,CAAC,CAAC;AAOF,MAAa,iBAAiB,aAC3B,UAAU;CACT,MAAM,EAAE,mBAAmB,iBAAiBU,kBAAAA,kBAAkB,KAAK;CAEnE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACV,gBAAAA,OAAO,MAAR;EAAa,SAAA;EAAQ,GAAI,aAAa;YACpC,iBAAA,GAAA,kBAAA,IAAA,CAACW,SAAAA,WAAD,EAAW,GAAI,kBAAkB,EAAI,CAAA;CAC1B,CAAA;AAEjB,GACA,WACF,CAAC,CAAC;AAOF,MAAa,aAAa,aAAsC,UAAU;CACxE,MAAM,EAAE,eAAe,iBAAiBC,kBAAAA,cAAc,KAAK;CAE3D,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACZ,gBAAAA,OAAO,MAAR;EAAa,SAAA;EAAQ,GAAI,aAAa;YACpC,iBAAA,GAAA,kBAAA,IAAA,CAACa,SAAAA,OAAD,EAAO,GAAI,cAAc,EAAI,CAAA;CAClB,CAAA;AAEjB,GAAG,OAAO,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-polar-chart.cjs","names":["mergeProps","useChartContext"],"sources":["../../../../src/components/chart/use-polar-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n CurveProps,\n PieLabelRenderProps,\n PieProps,\n PieSectorDataItem,\n PolarAngleAxisProps,\n PolarGridProps,\n PolarRadiusAxisProps,\n RadarProps,\n RadialBarProps,\n RenderableText,\n SectorProps,\n TextProps,\n} from \"recharts\"\nimport type { PolarChartProps } from \"recharts/types/util/types\"\nimport type { Dict, Merge } from \"../../utils\"\nimport { isValidElement, useCallback, useMemo } from \"react\"\nimport { type HTMLProps, mergeProps, type PropGetter } from \"../../core\"\nimport { dataAttr, isFunction, isObject, isUndefined } from \"../../utils\"\nimport { useChartContext } from \"./use-chart\"\n\nexport interface UsePolarChartProps<Y extends Dict>\n extends\n HTMLProps,\n Pick<\n PolarChartProps,\n | \"accessibilityLayer\"\n | \"barCategoryGap\"\n | \"barGap\"\n | \"barSize\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"layout\"\n | \"maxBarSize\"\n | \"outerRadius\"\n | \"responsive\"\n | \"reverseStackOrder\"\n | \"stackOffset\"\n | \"startAngle\"\n | \"syncId\"\n | \"syncMethod\"\n > {\n /**\n * Chart data.\n */\n data?: Y[]\n}\n\nexport const usePolarChart = <Y extends Dict>({\n accessibilityLayer = true,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...rest\n}: UsePolarChartProps<Y>) => {\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getChartProps: PropGetter<PolarChartProps> = useCallback(\n (props) => ({\n accessibilityLayer,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n margin: { left: 16, right: 16 },\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...props,\n }),\n [\n accessibilityLayer,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n outerRadius,\n responsive,\n startAngle,\n syncId,\n syncMethod,\n barCategoryGap,\n barGap,\n barSize,\n maxBarSize,\n reverseStackOrder,\n stackOffset,\n ],\n )\n\n return {\n getChartProps,\n getRootProps,\n }\n}\n\nexport type UsePolarChartReturn<Y extends Dict> = ReturnType<\n typeof usePolarChart<Y>\n>\n\nexport interface UseChartPieProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n PieProps,\n | \"activeShape\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"data\"\n | \"dataKey\"\n | \"endAngle\"\n | \"hide\"\n | \"inactiveShape\"\n | \"innerRadius\"\n | \"isAnimationActive\"\n | \"label\"\n | \"labelLine\"\n | \"legendType\"\n | \"maxRadius\"\n | \"minAngle\"\n | \"nameKey\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"rootTabIndex\"\n | \"shape\"\n | \"startAngle\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartPie = ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey: dataKeyProp,\n endAngle = -270,\n hide,\n inactiveShape,\n innerRadius = \"0%\",\n isAnimationActive = false,\n label,\n labelLine = false,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius = !label ? \"100%\" : undefined,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle = 90,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartPieProps = {}) => {\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPieProps: PropGetter<PieProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey,\n endAngle,\n fill: \"\",\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n stroke: \"\",\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKeyProp,\n endAngle,\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getPieProps, getRootProps }\n}\n\nexport type UseChartPieReturn = ReturnType<typeof useChartPie>\n\nexport interface UseChartSectorProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n SectorProps,\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"forceCornerRadius\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"startAngle\"\n >\n> {}\n\nexport const useChartSector = ({\n name: nameProp,\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...rest\n}: UseChartSectorProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getSectorProps: PropGetter<SectorProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...props,\n }),\n [\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n highlightedDataKey,\n innerRadius,\n nameProp,\n outerRadius,\n startAngle,\n ],\n )\n\n return { getRootProps, getSectorProps }\n}\n\nexport type UseChartSectorReturn = ReturnType<typeof useChartSector>\n\nexport interface UseChartPieLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PieLabelRenderProps,\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"endAngle\"\n | \"index\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"textAnchor\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n | \"x\"\n | \"y\"\n >\n> {\n /**\n * Offset for the label.\n *\n * @default 24\n */\n offset?: number\n /**\n * Formatter for the label.\n */\n formatter?: (value: number, percent: number) => RenderableText\n}\n\nexport const useChartPieLabel = ({\n name: nameProp,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n index,\n innerRadius,\n maxRadius,\n midAngle = 0,\n middleRadius = 0,\n offset: offsetProp = 24,\n outerRadius,\n paddingAngle,\n payload,\n percent = 0,\n startAngle,\n textAnchor: _textAnchor,\n tooltipPayload,\n tooltipPosition,\n value,\n x: _x,\n y: _y,\n ...rest\n}: UseChartPieLabelProps) => {\n const { highlightedDataKey } = useChartContext()\n const offset = (outerRadius - innerRadius) * 0.5 + offsetProp\n const radian = Math.PI / 180\n const x = cx + (middleRadius + offset) * Math.cos(-midAngle * radian)\n const y = cy + (middleRadius + offset) * Math.sin(-midAngle * radian)\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getTextProps: PropGetter<TextProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n alignmentBaseline: \"middle\",\n children: formatter?.(value, percent) ?? value,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n textAnchor: x > cx ? \"start\" : x < cx ? \"end\" : \"middle\",\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ...props,\n }),\n [\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n highlightedDataKey,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n nameProp,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ],\n )\n\n return { getRootProps, getTextProps }\n}\n\nexport type UseChartPieLabelReturn = ReturnType<typeof useChartPieLabel>\n\nexport interface UseChartPieLabelLineProps\n extends\n Merge<\n Omit<HTMLProps<\"path\">, \"points\">,\n Pick<\n PieSectorDataItem,\n | \"cornerRadius\"\n | \"dataKey\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n >\n >,\n Pick<CurveProps, \"points\"> {\n index?: number\n}\n\nexport const useChartPieLabelLine = ({\n name: nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...rest\n}: UseChartPieLabelLineProps) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getCurveProps: PropGetter<CurveProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...props,\n }),\n [\n highlightedDataKey,\n nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ],\n )\n\n return { getCurveProps, getRootProps }\n}\n\nexport type UseChartPieLabelLineReturn = ReturnType<typeof useChartPieLabelLine>\n\nexport interface UseChartRadarProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n RadarProps,\n | \"activeDot\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"baseLinePoints\"\n | \"connectNulls\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"isRange\"\n | \"label\"\n | \"legendType\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stroke\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartRadar = ({\n activeDot: activeDotProp,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n isRange,\n label: labelProp,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartRadarProps) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartRadarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartRadarProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartRadarProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadarProps: PropGetter<RadarProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n dataKeyProp,\n highlightedDataKey,\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n stroke,\n shape,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ],\n )\n\n return { getRadarProps, getRootProps }\n}\n\nexport type UseChartRadarReturn = ReturnType<typeof useChartRadar>\n\nexport interface UseAngleAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarAngleAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"angleAxisId\"\n | \"axisLine\"\n | \"axisLineType\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {}\n\nexport const useAngleAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine: axisLineProp,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseAngleAxisProps) => {\n const tick = useMemo<UseAngleAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { fill: \"\", ...(isObject(tickProp) ? tickProp : {}) }\n }, [tickProp])\n const tickLine = useMemo<UseAngleAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseAngleAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseAngleAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getAngleAxisProps: PropGetter<PolarAngleAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n name,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n type,\n unit,\n zIndex,\n ],\n )\n\n return { getAngleAxisProps, getRootProps }\n}\n\nexport type UseAngleAxisReturn = ReturnType<typeof useAngleAxis>\n\nexport interface UseRadiusAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarRadiusAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {\n /**\n * The ticks to use for the axis.\n */\n ticks?: number[]\n}\n\nexport const useRadiusAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle = 90,\n axisLine: axisLineProp = true,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseRadiusAxisProps) => {\n const tick = useMemo<UseRadiusAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return {\n fill: \"\",\n ...(isObject(tickProp) ? tickProp : {}),\n }\n }, [tickProp])\n const tickLine = useMemo<UseRadiusAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseRadiusAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseRadiusAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadiusAxisProps: PropGetter<PolarRadiusAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ],\n )\n\n return { getRadiusAxisProps, getRootProps }\n}\n\nexport type UseRadiusAxisReturn = ReturnType<typeof useRadiusAxis>\n\nexport interface UsePolarGridProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n PolarGridProps,\n | \"angleAxisId\"\n | \"cx\"\n | \"cy\"\n | \"gridType\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"polarAngles\"\n | \"polarRadius\"\n | \"radialLines\"\n | \"radiusAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const usePolarGrid = ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...rest\n}: UsePolarGridProps) => {\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPolarGridProps: PropGetter<PolarGridProps> = useCallback(\n (props) => ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...props,\n }),\n [\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ],\n )\n\n return { getPolarGridProps, getRootProps }\n}\n\nexport type UsePolarGridReturn = ReturnType<typeof usePolarGrid>\n\nexport interface UseChartRadialProps<Y extends Dict = Dict> extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n RadialBarProps,\n | \"activeShape\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"background\"\n | \"barSize\"\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"dataKey\"\n | \"forceCornerRadius\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"maxBarSize\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stackId\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {\n /**\n * The key to use for the name.\n */\n nameKey: keyof Y\n}\n\nexport const useChartRadial = <Y extends Dict>({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background: backgroundProp,\n barSize,\n cornerIsExternal,\n stackId,\n cornerRadius = !stackId ? 4 : undefined,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive = false,\n label,\n legendType,\n maxBarSize,\n nameKey,\n radius,\n radiusAxisId,\n shape: shapeProp,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartRadialProps<Y>) => {\n const shape = useMemo<UseChartRadialProps<Y>[\"shape\"]>(() => {\n if (isFunction(shapeProp)) {\n return (props: any) => {\n props.className = props.className?.replace(/\\s*\\bundefined\\b/g, \"\")\n\n const name = props.payload?.[nameKey]\n\n return shapeProp({ name, ...props })\n }\n } else {\n return shapeProp\n }\n }, [nameKey, shapeProp])\n const background = useMemo<UseChartRadialProps<Y>[\"background\"]>(() => {\n if (!backgroundProp) return backgroundProp\n if (isFunction(backgroundProp) || isValidElement(backgroundProp))\n return backgroundProp\n\n return {\n fill: \"\",\n ...(backgroundProp !== true ? backgroundProp : {}),\n }\n }, [backgroundProp])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadialProps: PropGetter<\n Partial<RadialBarProps>,\n undefined,\n RadialBarProps\n > = useCallback(\n (props) => ({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getRadialProps, getRootProps }\n}\n\nexport type UseChartRadialReturn = ReturnType<typeof useChartRadial>\n"],"mappings":";;;;;;AAoDA,MAAa,iBAAiC,EAC5C,qBAAqB,MACrB,gBACA,QACA,SACA,IACA,IACA,MACA,UACA,aACA,QACA,YACA,aACA,YACA,mBACA,aACA,YACA,QACA,YACA,GAAG,WACwB;CAC3B,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA+CA,OAAO;EACL,gBAAA,GAAA,MAAA,YAAA,EA7CC,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;IAAE,MAAM;IAAI,OAAO;GAAG;GAC9B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAIY;EACZ;CACF;AACF;AAkDA,MAAa,eAAe,EAC1B,aACA,gBACA,mBACA,iBACA,cACA,IACA,IACA,MACA,SAAS,aACT,WAAW,MACX,MACA,eACA,cAAc,MACd,oBAAoB,OACpB,OACA,YAAY,OACZ,YACA,WACA,UACA,SACA,cAAc,CAAC,QAAQ,SAAS,KAAA,GAChC,cACA,cACA,OACA,aAAa,IACb,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAsFA,OAAO;EAAE,cAAA,GAAA,MAAA,YAAA,EAnFN,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGiB;EAAG;CAAa;AACrC;AAoBA,MAAa,kBAAkB,EAC7B,MAAM,UACN,kBACA,cACA,IACA,IACA,UACA,mBACA,aACA,aACA,YACA,GAAG,SACoB,CAAC,MAAM;CAC9B,MAAM,EAAE,uBAAuBC,kBAAAA,gBAAgB;CA0C/C,OAAO;EAAE,eAAA,GAAA,MAAA,YAAA,EAvCN,UAAUD,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAsCa;EAAG,iBAAA,GAAA,MAAA,YAAA,EAlCpB,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAA,oBAAA,cAAA,SAAA,CACE,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAA,oBAAA,cAAA,SAAA,CACE,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,kBAAkB,KAAK,uBAAuB,IAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkC;CAAE;AACxC;AA4CA,MAAa,oBAAoB,EAC/B,MAAM,UACN,cACA,IACA,IACA,SACA,UACA,WACA,OACA,aACA,WACA,WAAW,GACX,eAAe,GACf,QAAQ,aAAa,IACrB,aACA,cACA,SACA,UAAU,GACV,YACA,YAAY,aACZ,gBACA,iBACA,OACA,GAAG,IACH,GAAG,IACH,GAAG,WACwB;CAC3B,MAAM,EAAE,uBAAuBC,kBAAAA,gBAAgB;CAC/C,MAAM,UAAU,cAAc,eAAe,KAAM;CACnD,MAAM,SAAS,KAAK,KAAK;CACzB,MAAM,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AAG,CAAC,SAAS,CAAC;CAEd,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA4EA,OAAO;EAAE,qBAAA,GAAA,MAAA,YAAA,EAzEN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGwB;EAAG;CAAa;AAC5C;AAsBA,MAAa,gBAAgB,EAC3B,aACA,IACA,IACA,UACA,aACA,aACA,aACA,aACA,aACA,cACA,QACA,GAAG,WACoB;CACvB,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAgCA,OAAO;EAAE,oBAAA,GAAA,MAAA,YAAA,EA7BN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGuB;EAAG;CAAa;AAC3C;AAgDA,MAAa,kBAAkC,EAC7C,aACA,aACA,gBACA,mBACA,iBACA,YAAY,gBACZ,SACA,kBACA,SACA,eAAe,CAAC,UAAU,IAAI,KAAA,GAC9B,SACA,mBACA,MACA,oBAAoB,OACpB,OACA,YACA,YACA,SACA,QACA,cACA,OAAO,WACP,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACyB;CAC5B,MAAM,SAAA,GAAA,MAAA,QAAA,OAAuD;EAC3D,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,SAAS,GACtB,QAAQ,UAAe;GACrB,MAAM,YAAY,MAAM,WAAW,QAAQ,qBAAqB,EAAE;GAElE,MAAM,OAAO,MAAM,UAAU;GAE7B,OAAO,UAAU;IAAE;IAAM,GAAG;GAAM,CAAC;EACrC;OAEA,OAAO;CAEX,GAAG,CAAC,SAAS,SAAS,CAAC;CACvB,MAAM,cAAA,GAAA,MAAA,QAAA,OAAiE;EACrE,IAAI,CAAC,gBAAgB,OAAO;EAC5B,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,cAAc,MAAA,GAAA,MAAA,eAAA,CAAoB,cAAc,GAC7D,OAAO;EAET,OAAO;GACL,MAAM;GACN,GAAI,mBAAmB,OAAO,iBAAiB,CAAC;EAClD;CACF,GAAG,CAAC,cAAc,CAAC;CAEnB,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA8EA,OAAO;EAAE,iBAAA,GAAA,MAAA,YAAA,EAvEN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGoB;EAAG;CAAa;AACxC"}
|
|
1
|
+
{"version":3,"file":"use-polar-chart.cjs","names":["mergeProps","useChartContext"],"sources":["../../../../src/components/chart/use-polar-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n CurveProps,\n PieLabelRenderProps,\n PieProps,\n PieSectorDataItem,\n PolarAngleAxisProps,\n PolarGridProps,\n PolarRadiusAxisProps,\n RadarProps,\n RadialBarProps,\n RenderableText,\n SectorProps,\n TextProps,\n} from \"recharts\"\nimport type { PolarChartProps } from \"recharts/types/util/types\"\nimport type { Dict, Merge } from \"../../utils\"\nimport { isValidElement, useCallback, useMemo } from \"react\"\nimport { type HTMLProps, mergeProps, type PropGetter } from \"../../core\"\nimport { dataAttr, isFunction, isObject, isUndefined } from \"../../utils\"\nimport { useChartContext } from \"./use-chart\"\n\nexport interface UsePolarChartProps<Y extends Dict>\n extends\n HTMLProps,\n Pick<\n PolarChartProps,\n | \"accessibilityLayer\"\n | \"barCategoryGap\"\n | \"barGap\"\n | \"barSize\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"layout\"\n | \"maxBarSize\"\n | \"outerRadius\"\n | \"responsive\"\n | \"reverseStackOrder\"\n | \"stackOffset\"\n | \"startAngle\"\n | \"syncId\"\n | \"syncMethod\"\n > {\n /**\n * Chart data.\n */\n data?: Y[]\n}\n\nexport const usePolarChart = <Y extends Dict>({\n accessibilityLayer = true,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...rest\n}: UsePolarChartProps<Y>) => {\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getChartProps: PropGetter<PolarChartProps> = useCallback(\n (props) => ({\n accessibilityLayer,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n margin: { left: 16, right: 16 },\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...props,\n }),\n [\n accessibilityLayer,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n outerRadius,\n responsive,\n startAngle,\n syncId,\n syncMethod,\n barCategoryGap,\n barGap,\n barSize,\n maxBarSize,\n reverseStackOrder,\n stackOffset,\n ],\n )\n\n return {\n getChartProps,\n getRootProps,\n }\n}\n\nexport type UsePolarChartReturn<Y extends Dict> = ReturnType<\n typeof usePolarChart<Y>\n>\n\nexport interface UseChartPieProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n PieProps,\n | \"activeShape\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"data\"\n | \"dataKey\"\n | \"endAngle\"\n | \"hide\"\n | \"inactiveShape\"\n | \"innerRadius\"\n | \"isAnimationActive\"\n | \"label\"\n | \"labelLine\"\n | \"legendType\"\n | \"maxRadius\"\n | \"minAngle\"\n | \"nameKey\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"rootTabIndex\"\n | \"shape\"\n | \"startAngle\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartPie = ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey: dataKeyProp,\n endAngle = -270,\n hide,\n inactiveShape,\n innerRadius = \"0%\",\n isAnimationActive = false,\n label,\n labelLine = false,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius = !label ? \"100%\" : undefined,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle = 90,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartPieProps = {}) => {\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPieProps: PropGetter<PieProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey,\n endAngle,\n fill: \"\",\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n stroke: \"\",\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKeyProp,\n endAngle,\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getPieProps, getRootProps }\n}\n\nexport type UseChartPieReturn = ReturnType<typeof useChartPie>\n\nexport interface UseChartSectorProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n SectorProps,\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"forceCornerRadius\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"startAngle\"\n >\n> {}\n\nexport const useChartSector = ({\n name: nameProp,\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...rest\n}: UseChartSectorProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getSectorProps: PropGetter<SectorProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...props,\n }),\n [\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n highlightedDataKey,\n innerRadius,\n nameProp,\n outerRadius,\n startAngle,\n ],\n )\n\n return { getRootProps, getSectorProps }\n}\n\nexport type UseChartSectorReturn = ReturnType<typeof useChartSector>\n\nexport interface UseChartPieLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PieLabelRenderProps,\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"endAngle\"\n | \"index\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"textAnchor\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n | \"x\"\n | \"y\"\n >\n> {\n /**\n * Offset for the label.\n *\n * @default 24\n */\n offset?: number\n /**\n * Formatter for the label.\n */\n formatter?: (value: number, percent: number) => RenderableText\n}\n\nexport const useChartPieLabel = ({\n name: nameProp,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n index,\n innerRadius,\n maxRadius,\n midAngle = 0,\n middleRadius = 0,\n offset: offsetProp = 24,\n outerRadius,\n paddingAngle,\n payload,\n percent = 0,\n startAngle,\n textAnchor: _textAnchor,\n tooltipPayload,\n tooltipPosition,\n value,\n x: _x,\n y: _y,\n ...rest\n}: UseChartPieLabelProps) => {\n const { highlightedDataKey } = useChartContext()\n const offset = (outerRadius - innerRadius) * 0.5 + offsetProp\n const radian = Math.PI / 180\n const x = cx + (middleRadius + offset) * Math.cos(-midAngle * radian)\n const y = cy + (middleRadius + offset) * Math.sin(-midAngle * radian)\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getTextProps: PropGetter<TextProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n alignmentBaseline: \"middle\",\n children: formatter?.(value, percent) ?? value,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n textAnchor: x > cx ? \"start\" : x < cx ? \"end\" : \"middle\",\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ...props,\n }),\n [\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n highlightedDataKey,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n nameProp,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ],\n )\n\n return { getRootProps, getTextProps }\n}\n\nexport type UseChartPieLabelReturn = ReturnType<typeof useChartPieLabel>\n\nexport interface UseChartPieLabelLineProps\n extends\n Merge<\n Omit<HTMLProps<\"path\">, \"points\">,\n Pick<\n PieSectorDataItem,\n | \"cornerRadius\"\n | \"dataKey\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n >\n >,\n Pick<CurveProps, \"points\"> {\n index?: number\n}\n\nexport const useChartPieLabelLine = ({\n name: nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...rest\n}: UseChartPieLabelLineProps) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getCurveProps: PropGetter<CurveProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...props,\n }),\n [\n highlightedDataKey,\n nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ],\n )\n\n return { getCurveProps, getRootProps }\n}\n\nexport type UseChartPieLabelLineReturn = ReturnType<typeof useChartPieLabelLine>\n\nexport interface UseChartRadarProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n RadarProps,\n | \"activeDot\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"baseLinePoints\"\n | \"connectNulls\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"isRange\"\n | \"label\"\n | \"legendType\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stroke\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartRadar = ({\n activeDot: activeDotProp,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n isRange,\n label: labelProp,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartRadarProps) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartRadarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartRadarProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartRadarProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadarProps: PropGetter<RadarProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n dataKeyProp,\n highlightedDataKey,\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n stroke,\n shape,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ],\n )\n\n return { getRadarProps, getRootProps }\n}\n\nexport type UseChartRadarReturn = ReturnType<typeof useChartRadar>\n\nexport interface UseAngleAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarAngleAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"angleAxisId\"\n | \"axisLine\"\n | \"axisLineType\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {}\n\nexport const useAngleAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine: axisLineProp,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseAngleAxisProps) => {\n const tick = useMemo<UseAngleAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { fill: \"\", ...(isObject(tickProp) ? tickProp : {}) }\n }, [tickProp])\n const tickLine = useMemo<UseAngleAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseAngleAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseAngleAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getAngleAxisProps: PropGetter<PolarAngleAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n name,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n type,\n unit,\n zIndex,\n ],\n )\n\n return { getAngleAxisProps, getRootProps }\n}\n\nexport type UseAngleAxisReturn = ReturnType<typeof useAngleAxis>\n\nexport interface UseRadiusAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarRadiusAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {\n /**\n * The ticks to use for the axis.\n */\n ticks?: number[]\n}\n\nexport const useRadiusAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle = 90,\n axisLine: axisLineProp = true,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseRadiusAxisProps) => {\n const tick = useMemo<UseRadiusAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return {\n fill: \"\",\n ...(isObject(tickProp) ? tickProp : {}),\n }\n }, [tickProp])\n const tickLine = useMemo<UseRadiusAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseRadiusAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseRadiusAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadiusAxisProps: PropGetter<PolarRadiusAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ],\n )\n\n return { getRadiusAxisProps, getRootProps }\n}\n\nexport type UseRadiusAxisReturn = ReturnType<typeof useRadiusAxis>\n\nexport interface UsePolarGridProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n PolarGridProps,\n | \"angleAxisId\"\n | \"cx\"\n | \"cy\"\n | \"gridType\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"polarAngles\"\n | \"polarRadius\"\n | \"radialLines\"\n | \"radiusAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const usePolarGrid = ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...rest\n}: UsePolarGridProps) => {\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPolarGridProps: PropGetter<PolarGridProps> = useCallback(\n (props) => ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...props,\n }),\n [\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ],\n )\n\n return { getPolarGridProps, getRootProps }\n}\n\nexport type UsePolarGridReturn = ReturnType<typeof usePolarGrid>\n\nexport interface UseChartRadialProps<Y extends Dict = Dict> extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n RadialBarProps,\n | \"activeShape\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"background\"\n | \"barSize\"\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"dataKey\"\n | \"forceCornerRadius\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"maxBarSize\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stackId\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {\n /**\n * The key to use for the name.\n */\n nameKey: keyof Y\n}\n\nexport const useChartRadial = <Y extends Dict>({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background: backgroundProp,\n barSize,\n cornerIsExternal,\n stackId,\n cornerRadius = !stackId ? 4 : undefined,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive = false,\n label,\n legendType,\n maxBarSize,\n nameKey,\n radius,\n radiusAxisId,\n shape: shapeProp,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartRadialProps<Y>) => {\n const shape = useMemo<UseChartRadialProps<Y>[\"shape\"]>(() => {\n if (isFunction(shapeProp))\n return (props: any) => {\n props.className = props.className?.replace(/\\s*\\bundefined\\b/g, \"\")\n\n const name = props.payload?.[nameKey]\n\n return shapeProp({ name, ...props })\n }\n else return shapeProp\n }, [nameKey, shapeProp])\n const background = useMemo<UseChartRadialProps<Y>[\"background\"]>(() => {\n if (!backgroundProp) return backgroundProp\n if (isFunction(backgroundProp) || isValidElement(backgroundProp))\n return backgroundProp\n\n return {\n fill: \"\",\n ...(backgroundProp !== true ? backgroundProp : {}),\n }\n }, [backgroundProp])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadialProps: PropGetter<\n Partial<RadialBarProps>,\n undefined,\n RadialBarProps\n > = useCallback(\n (props) => ({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getRadialProps, getRootProps }\n}\n\nexport type UseChartRadialReturn = ReturnType<typeof useChartRadial>\n"],"mappings":";;;;;;AAoDA,MAAa,iBAAiC,EAC5C,qBAAqB,MACrB,gBACA,QACA,SACA,IACA,IACA,MACA,UACA,aACA,QACA,YACA,aACA,YACA,mBACA,aACA,YACA,QACA,YACA,GAAG,WACwB;CAC3B,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA+CA,OAAO;EACL,gBAAA,GAAA,MAAA,YAAA,EA7CC,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;IAAE,MAAM;IAAI,OAAO;GAAG;GAC9B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAIY;EACZ;CACF;AACF;AAkDA,MAAa,eAAe,EAC1B,aACA,gBACA,mBACA,iBACA,cACA,IACA,IACA,MACA,SAAS,aACT,WAAW,MACX,MACA,eACA,cAAc,MACd,oBAAoB,OACpB,OACA,YAAY,OACZ,YACA,WACA,UACA,SACA,cAAc,CAAC,QAAQ,SAAS,KAAA,GAChC,cACA,cACA,OACA,aAAa,IACb,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAsFA,OAAO;EAAE,cAAA,GAAA,MAAA,YAAA,EAnFN,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGiB;EAAG;CAAa;AACrC;AAoBA,MAAa,kBAAkB,EAC7B,MAAM,UACN,kBACA,cACA,IACA,IACA,UACA,mBACA,aACA,aACA,YACA,GAAG,SACoB,CAAC,MAAM;CAC9B,MAAM,EAAE,uBAAuBC,kBAAAA,gBAAgB;CA0C/C,OAAO;EAAE,eAAA,GAAA,MAAA,YAAA,EAvCN,UAAUD,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAsCa;EAAG,iBAAA,GAAA,MAAA,YAAA,EAlCpB,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAA,oBAAA,cAAA,SAAA,CACE,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAA,oBAAA,cAAA,SAAA,CACE,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,kBAAkB,KAAK,uBAAuB,IAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkC;CAAE;AACxC;AA4CA,MAAa,oBAAoB,EAC/B,MAAM,UACN,cACA,IACA,IACA,SACA,UACA,WACA,OACA,aACA,WACA,WAAW,GACX,eAAe,GACf,QAAQ,aAAa,IACrB,aACA,cACA,SACA,UAAU,GACV,YACA,YAAY,aACZ,gBACA,iBACA,OACA,GAAG,IACH,GAAG,IACH,GAAG,WACwB;CAC3B,MAAM,EAAE,uBAAuBC,kBAAAA,gBAAgB;CAC/C,MAAM,UAAU,cAAc,eAAe,KAAM;CACnD,MAAM,SAAS,KAAK,KAAK;CACzB,MAAM,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AAG,CAAC,SAAS,CAAC;CAEd,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA4EA,OAAO;EAAE,qBAAA,GAAA,MAAA,YAAA,EAzEN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGwB;EAAG;CAAa;AAC5C;AAsBA,MAAa,gBAAgB,EAC3B,aACA,IACA,IACA,UACA,aACA,aACA,aACA,aACA,aACA,cACA,QACA,GAAG,WACoB;CACvB,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAgCA,OAAO;EAAE,oBAAA,GAAA,MAAA,YAAA,EA7BN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGuB;EAAG;CAAa;AAC3C;AAgDA,MAAa,kBAAkC,EAC7C,aACA,aACA,gBACA,mBACA,iBACA,YAAY,gBACZ,SACA,kBACA,SACA,eAAe,CAAC,UAAU,IAAI,KAAA,GAC9B,SACA,mBACA,MACA,oBAAoB,OACpB,OACA,YACA,YACA,SACA,QACA,cACA,OAAO,WACP,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACyB;CAC5B,MAAM,SAAA,GAAA,MAAA,QAAA,OAAuD;EAC3D,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,SAAS,GACtB,QAAQ,UAAe;GACrB,MAAM,YAAY,MAAM,WAAW,QAAQ,qBAAqB,EAAE;GAElE,MAAM,OAAO,MAAM,UAAU;GAE7B,OAAO,UAAU;IAAE;IAAM,GAAG;GAAM,CAAC;EACrC;OACG,OAAO;CACd,GAAG,CAAC,SAAS,SAAS,CAAC;CACvB,MAAM,cAAA,GAAA,MAAA,QAAA,OAAiE;EACrE,IAAI,CAAC,gBAAgB,OAAO;EAC5B,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,cAAc,MAAA,GAAA,MAAA,eAAA,CAAoB,cAAc,GAC7D,OAAO;EAET,OAAO;GACL,MAAM;GACN,GAAI,mBAAmB,OAAO,iBAAiB,CAAC;EAClD;CACF,GAAG,CAAC,cAAc,CAAC;CAEnB,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA8EA,OAAO;EAAE,iBAAA,GAAA,MAAA,YAAA,EAvEN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGoB;EAAG;CAAa;AACxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.cjs","names":["createSlotComponent","checkboxStyle","useCheckbox","useInputBorder","MinusIcon","CheckIcon","styled"],"sources":["../../../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { GenericsComponent, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { CheckboxStyle } from \"./checkbox.style\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { CheckIcon, MinusIcon } from \"../icon\"\nimport { useInputBorder } from \"../input\"\nimport { checkboxStyle } from \"./checkbox.style\"\nimport { useCheckbox } from \"./use-checkbox\"\n\nexport interface CheckboxProps<Y extends string = string>\n extends\n Merge<HTMLStyledProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<CheckboxStyle>,\n UseInputBorderProps {\n /**\n * The icon to display in the checkbox when it is checked.\n */\n checkedIcon?: ReactNode\n /**\n * The icon to display in the checkbox when it is indeterminate.\n */\n indeterminateIcon?: ReactNode\n /**\n * Props for the indicator component.\n */\n indicatorProps?: CheckboxIndicatorProps\n /**\n * Props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for the label component.\n */\n labelProps?: CheckboxLabelProps\n /**\n * Props for the label element.\n */\n rootProps?: HTMLStyledProps<\"label\">\n}\n\nconst {\n component,\n PropsContext: CheckboxPropsContext,\n usePropsContext: useCheckboxPropsContext,\n withContext,\n withProvider,\n useRootComponentProps,\n} = createSlotComponent<CheckboxProps, CheckboxStyle>(\"checkbox\", checkboxStyle)\n\nexport {\n CheckboxPropsContext,\n component,\n useCheckboxPropsContext,\n useRootComponentProps,\n}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see https://yamada-ui.com/docs/components/checkbox\n */\nexport const Checkbox = withProvider<\"label\", CheckboxProps>(\n ({\n checkedIcon,\n children,\n errorBorderColor,\n focusBorderColor,\n indeterminateIcon,\n indicatorProps,\n inputProps,\n labelProps,\n rootProps,\n ...rest\n }) => {\n const {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n } = useCheckbox(rest)\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const icon = useMemo(() => {\n if (indeterminate)
|
|
1
|
+
{"version":3,"file":"checkbox.cjs","names":["createSlotComponent","checkboxStyle","useCheckbox","useInputBorder","MinusIcon","CheckIcon","styled"],"sources":["../../../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { GenericsComponent, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { CheckboxStyle } from \"./checkbox.style\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { CheckIcon, MinusIcon } from \"../icon\"\nimport { useInputBorder } from \"../input\"\nimport { checkboxStyle } from \"./checkbox.style\"\nimport { useCheckbox } from \"./use-checkbox\"\n\nexport interface CheckboxProps<Y extends string = string>\n extends\n Merge<HTMLStyledProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<CheckboxStyle>,\n UseInputBorderProps {\n /**\n * The icon to display in the checkbox when it is checked.\n */\n checkedIcon?: ReactNode\n /**\n * The icon to display in the checkbox when it is indeterminate.\n */\n indeterminateIcon?: ReactNode\n /**\n * Props for the indicator component.\n */\n indicatorProps?: CheckboxIndicatorProps\n /**\n * Props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for the label component.\n */\n labelProps?: CheckboxLabelProps\n /**\n * Props for the label element.\n */\n rootProps?: HTMLStyledProps<\"label\">\n}\n\nconst {\n component,\n PropsContext: CheckboxPropsContext,\n usePropsContext: useCheckboxPropsContext,\n withContext,\n withProvider,\n useRootComponentProps,\n} = createSlotComponent<CheckboxProps, CheckboxStyle>(\"checkbox\", checkboxStyle)\n\nexport {\n CheckboxPropsContext,\n component,\n useCheckboxPropsContext,\n useRootComponentProps,\n}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see https://yamada-ui.com/docs/components/checkbox\n */\nexport const Checkbox = withProvider<\"label\", CheckboxProps>(\n ({\n checkedIcon,\n children,\n errorBorderColor,\n focusBorderColor,\n indeterminateIcon,\n indicatorProps,\n inputProps,\n labelProps,\n rootProps,\n ...rest\n }) => {\n const {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n } = useCheckbox(rest)\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const icon = useMemo(() => {\n if (indeterminate) return indeterminateIcon || <MinusIcon />\n else if (checked) return checkedIcon || <CheckIcon />\n else return null\n }, [indeterminate, indeterminateIcon, checked, checkedIcon])\n const input = useMemo(() => {\n return <styled.input {...getInputProps(inputProps)} />\n }, [getInputProps, inputProps])\n const indicator = useMemo(() => {\n return (\n <CheckboxIndicator {...getIndicatorProps(indicatorProps)}>\n {icon}\n </CheckboxIndicator>\n )\n }, [getIndicatorProps, indicatorProps, icon])\n\n return (\n <styled.label {...getRootProps({ ...varProps, ...rootProps })}>\n {input}\n {indicator}\n {children ? (\n <CheckboxLabel {...labelProps}>{children}</CheckboxLabel>\n ) : null}\n </styled.label>\n )\n },\n \"root\",\n)() as GenericsComponent<{\n <Y extends string = string>(props: CheckboxProps<Y>): ReactElement\n}>\n\ninterface CheckboxIndicatorProps extends HTMLStyledProps {}\n\nconst CheckboxIndicator = withContext<\"div\", CheckboxIndicatorProps>(\n \"div\",\n \"indicator\",\n)({ \"data-indicator\": \"\" })\n\ninterface CheckboxLabelProps extends HTMLStyledProps<\"span\"> {}\n\nconst CheckboxLabel = withContext<\"span\", CheckboxLabelProps>(\"span\", \"label\")()\n"],"mappings":";;;;;;;;;;;AA8CA,MAAM,EACJ,WACA,cAAc,sBACd,iBAAiB,yBACjB,aACA,cACA,0BACEA,yBAAAA,oBAAkD,YAAYC,uBAAAA,aAAa;;;;;;AAc/E,MAAa,WAAW,cACrB,EACC,aACA,UACA,kBACA,kBACA,mBACA,gBACA,YACA,YACA,WACA,GAAG,WACC;CACJ,MAAM,EACJ,SACA,eACA,mBACA,eACA,iBACEC,qBAAAA,YAAY,IAAI;CACpB,MAAM,WAAWC,yBAAAA,eAAe;EAAE;EAAkB;CAAiB,CAAC;CACtE,MAAM,QAAA,GAAA,MAAA,QAAA,OAAqB;EACzB,IAAI,eAAe,OAAO,qBAAqB,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OACtD,IAAI,SAAS,OAAO,eAAe,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OAC/C,OAAO;CACd,GAAG;EAAC;EAAe;EAAmB;EAAS;CAAW,CAAC;CAC3D,MAAM,SAAA,GAAA,MAAA,QAAA,OAAsB;EAC1B,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,OAAR,EAAc,GAAI,cAAc,UAAU,EAAI,CAAA;CACvD,GAAG,CAAC,eAAe,UAAU,CAAC;CAC9B,MAAM,aAAA,GAAA,MAAA,QAAA,OAA0B;EAC9B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;GAAmB,GAAI,kBAAkB,cAAc;aACpD;EACgB,CAAA;CAEvB,GAAG;EAAC;EAAmB;EAAgB;CAAI,CAAC;CAE5C,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACA,gBAAAA,OAAO,OAAR;EAAc,GAAI,aAAa;GAAE,GAAG;GAAU,GAAG;EAAU,CAAC;YAA5D;GACG;GACA;GACA,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD;IAAe,GAAI;IAAa;GAAwB,CAAA,IACtD;EACQ;;AAElB,GACA,MACF,CAAC,CAAC;AAMF,MAAM,oBAAoB,YACxB,OACA,WACF,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC;AAI1B,MAAM,gBAAgB,YAAwC,QAAQ,OAAO,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-checkbox-group.cjs","names":["createContext","useFieldProps","useControllableState","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))
|
|
1
|
+
{"version":3,"file":"use-checkbox-group.cjs","names":["createContext","useFieldProps","useControllableState","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 return prev\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 readOnly,\n required,\n ...props,\n disabled: Boolean(props.disabled || trulyDisabled),\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,gBAAAA,cAAoC;CAClC,MAAM;CACN,QAAQ;AACV,CAAC;AA0BH,MAAa,oBACX,QAAkC,CAAC,MAChC;CACH,MAAM,EACJ,SAAS,EAAE,YAAY,CAAC,GACxB,OAAO,EACL,eAAe,CAAC,GAChB,UACA,KACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,QAEL,WAAW,EAAE,oBAAoB,qBAAqB,GAAG,aACzD,WACA,eACEC,wBAAAA,cAAc,KAAK;CACvB,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,CAAC,OAAO,YAAYC,2CAAAA,qBAAqB;EAC7C;EACA,OAAO;EACP,UAAU;CACZ,CAAC;CAED,MAAM,YAAA,GAAA,MAAA,YAAA,EACH,cAAiD;EAChD,IAAI,CAAC,aAAa;EAElB,KAAA,GAAA,oBAAA,cAAA,SAAA,CAAa,SAAS,GAAG,YAAY,UAAU,OAAO;EAEtD,UAAU,SAAS;GACjB,IAAI,KAAK,SAAS,SAAS,GACzB,OAAO,KAAK,QAAQ,cAAc,cAAc,SAAS;QACtD,IAAI,EAAA,GAAA,oBAAA,cAAA,SAAA,CAAU,GAAG,KAAK,KAAK,SAAS,KACvC,OAAO,CAAC,GAAG,MAAM,SAAS;QACvB,OAAO;EACd,CAAC;CACH,GACA;EAAC;EAAa;EAAK;CAAQ,CAC7B;CAEA,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,EACC,KACA,oBAAoB,iBACpB,mBAAmB,gBACnB,GAAG,UACD,CAAC,MACHC,cAAAA,WACE,WACA;EACE,qBAAA,GAAA,oBAAA,cAAA,GAAA,CAAuB,qBAAqB,eAAe;EAC3D,oBAAA,GAAA,oBAAA,cAAA,GAAA,CAAsB,SAAS,cAAc;EAC7C,MAAM;CACR,GACA,MACA,OACA,EACE,IACF,CACF,CAAC,CAAC,GACJ;EAAC;EAAqB;EAAW;EAAS;CAAI,CAChD;CAiDA,OAAO;EACL;EACA;EACA,gBAAA,GAAA,MAAA,YAAA,EAjDC,QAAQ,CAAC,MAAM;GACd,MAAM,UACJ,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,KAAK,OAAA,GAAA,oBAAA,cAAA,SAAA,CACR,MAAM,KAAK,MAAA,GAAA,oBAAA,cAAA,SAAA,CAAc,MAAM,KAAK,MAC9C,MAAM,SAAS,MAAM,KAAU;GACjC,MAAM,gBAAgB,CAAC,YAAA,GAAA,oBAAA,cAAA,SAAA,CAAoB,GAAG,KAAK,MAAM,UAAU;GAEnE,OAAO;IACL,GAAG;IACH,GAAG;IACH,MAAM;IACN,OAAOC,YAAAA,yBAAyB;IAChC,gBAAgB;IAChB,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,aAAa;IACvC,iBAAA,GAAA,oBAAA,cAAA,SAAA,CAAyB,OAAO;IAChC,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,aAAa;IACvC;IACA;IACA;IACA,GAAG;IACH,UAAU,QAAQ,MAAM,YAAY,aAAa;IACjD,SAAA,GAAA,oBAAA,cAAA,WAAA,CAAmB,MAAM,QAAQ,WAAW,MAAM;IAClD,WAAA,GAAA,oBAAA,cAAA,WAAA,CAAqB,MAAM,UAAU,QAAQ;IAC7C,UAAA,GAAA,oBAAA,cAAA,WAAA,CAAoB,MAAM,SAAS,WAAW,OAAO;GACvD;EACF,GACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAcY;EACZ,gBAAA,GAAA,MAAA,YAAA,EAXC,WAAW;GACV,GAAG;GACH,GAAG;EACL,IACA,CAAC,SAAS,CAOE;EACZ;EACA;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-card.cjs","names":["createSlotComponent","checkboxCardStyle","useCheckbox","useInputBorder","MinusIcon","CheckIcon","styled"],"sources":["../../../../src/components/checkbox-card/checkbox-card.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { GenericsComponent, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { UseCheckboxProps } from \"../checkbox\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { CheckboxCardStyle } from \"./checkbox-card.style\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useCheckbox } from \"../checkbox\"\nimport { CheckIcon, MinusIcon } from \"../icon\"\nimport { useInputBorder } from \"../input\"\nimport { checkboxCardStyle } from \"./checkbox-card.style\"\n\nexport interface CheckboxCardRootProps<Y extends string = string>\n extends\n Merge<HTMLStyledProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<CheckboxCardStyle>,\n UseInputBorderProps {\n /**\n * The addon of the checkbox card.\n */\n addon?: ReactNode\n /**\n * The icon to display in the checkbox when it is checked.\n */\n checkedIcon?: ReactNode\n /**\n * The description of the checkbox card.\n */\n description?: ReactNode\n /**\n * The icon to display in the checkbox when it is indeterminate.\n */\n indeterminateIcon?: ReactNode\n /**\n * The label of the checkbox card.\n */\n label?: ReactNode\n /**\n * If `true`, the indicator will be displayed.\n *\n * @default true\n */\n withIndicator?: boolean\n /**\n * Props for the addon component.\n */\n addonProps?: CheckboxCardAddonProps\n /**\n * Props for the description component.\n */\n descriptionProps?: CheckboxCardDescriptionProps\n /**\n * Props for the indicator component.\n */\n indicatorProps?: CheckboxCardIndicatorProps\n /**\n * Props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for the label component.\n */\n labelProps?: CheckboxCardLabelProps\n /**\n * Props for the label element.\n */\n rootProps?: HTMLStyledProps<\"label\">\n}\n\nconst {\n component,\n PropsContext: CheckboxCardPropsContext,\n usePropsContext: useCheckboxCardPropsContext,\n withContext,\n withProvider,\n useRootComponentProps,\n} = createSlotComponent<CheckboxCardRootProps, CheckboxCardStyle>(\n \"checkbox-card\",\n checkboxCardStyle,\n)\n\nexport {\n CheckboxCardPropsContext,\n component,\n useCheckboxCardPropsContext,\n useRootComponentProps,\n}\n\n/**\n * `CheckboxCard` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see https://yamada-ui.com/docs/components/checkbox-card\n */\nexport const CheckboxCardRoot = withProvider<\"label\", CheckboxCardRootProps>(\n ({\n addon,\n checkedIcon,\n children,\n description,\n errorBorderColor,\n focusBorderColor,\n indeterminateIcon,\n label,\n withIndicator = true,\n addonProps,\n descriptionProps,\n indicatorProps,\n inputProps,\n labelProps,\n rootProps,\n ...rest\n }) => {\n const {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n } = useCheckbox(rest)\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const icon = useMemo(() => {\n if (indeterminate)
|
|
1
|
+
{"version":3,"file":"checkbox-card.cjs","names":["createSlotComponent","checkboxCardStyle","useCheckbox","useInputBorder","MinusIcon","CheckIcon","styled"],"sources":["../../../../src/components/checkbox-card/checkbox-card.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { GenericsComponent, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { UseCheckboxProps } from \"../checkbox\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { CheckboxCardStyle } from \"./checkbox-card.style\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useCheckbox } from \"../checkbox\"\nimport { CheckIcon, MinusIcon } from \"../icon\"\nimport { useInputBorder } from \"../input\"\nimport { checkboxCardStyle } from \"./checkbox-card.style\"\n\nexport interface CheckboxCardRootProps<Y extends string = string>\n extends\n Merge<HTMLStyledProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<CheckboxCardStyle>,\n UseInputBorderProps {\n /**\n * The addon of the checkbox card.\n */\n addon?: ReactNode\n /**\n * The icon to display in the checkbox when it is checked.\n */\n checkedIcon?: ReactNode\n /**\n * The description of the checkbox card.\n */\n description?: ReactNode\n /**\n * The icon to display in the checkbox when it is indeterminate.\n */\n indeterminateIcon?: ReactNode\n /**\n * The label of the checkbox card.\n */\n label?: ReactNode\n /**\n * If `true`, the indicator will be displayed.\n *\n * @default true\n */\n withIndicator?: boolean\n /**\n * Props for the addon component.\n */\n addonProps?: CheckboxCardAddonProps\n /**\n * Props for the description component.\n */\n descriptionProps?: CheckboxCardDescriptionProps\n /**\n * Props for the indicator component.\n */\n indicatorProps?: CheckboxCardIndicatorProps\n /**\n * Props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for the label component.\n */\n labelProps?: CheckboxCardLabelProps\n /**\n * Props for the label element.\n */\n rootProps?: HTMLStyledProps<\"label\">\n}\n\nconst {\n component,\n PropsContext: CheckboxCardPropsContext,\n usePropsContext: useCheckboxCardPropsContext,\n withContext,\n withProvider,\n useRootComponentProps,\n} = createSlotComponent<CheckboxCardRootProps, CheckboxCardStyle>(\n \"checkbox-card\",\n checkboxCardStyle,\n)\n\nexport {\n CheckboxCardPropsContext,\n component,\n useCheckboxCardPropsContext,\n useRootComponentProps,\n}\n\n/**\n * `CheckboxCard` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see https://yamada-ui.com/docs/components/checkbox-card\n */\nexport const CheckboxCardRoot = withProvider<\"label\", CheckboxCardRootProps>(\n ({\n addon,\n checkedIcon,\n children,\n description,\n errorBorderColor,\n focusBorderColor,\n indeterminateIcon,\n label,\n withIndicator = true,\n addonProps,\n descriptionProps,\n indicatorProps,\n inputProps,\n labelProps,\n rootProps,\n ...rest\n }) => {\n const {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n } = useCheckbox(rest)\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const icon = useMemo(() => {\n if (indeterminate) return indeterminateIcon || <MinusIcon />\n else if (checked) return checkedIcon || <CheckIcon />\n else return null\n }, [indeterminate, indeterminateIcon, checked, checkedIcon])\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n {label ? (\n <CheckboxCardLabel {...labelProps}>{label}</CheckboxCardLabel>\n ) : null}\n {description ? (\n <CheckboxCardDescription {...descriptionProps}>\n {description}\n </CheckboxCardDescription>\n ) : null}\n {addon ? (\n <CheckboxCardAddon {...addonProps}>{addon}</CheckboxCardAddon>\n ) : null}\n </>\n )\n }, [\n addon,\n addonProps,\n children,\n description,\n descriptionProps,\n label,\n labelProps,\n ])\n\n return (\n <styled.label {...getRootProps({ ...varProps, ...rootProps })}>\n <styled.input {...getInputProps(inputProps)} />\n {withIndicator ? (\n <CheckboxCardIndicator {...getIndicatorProps(indicatorProps)}>\n {icon}\n </CheckboxCardIndicator>\n ) : null}\n\n {computedChildren}\n </styled.label>\n )\n },\n \"root\",\n)() as GenericsComponent<{\n <Y extends string = string>(props: CheckboxCardRootProps<Y>): ReactElement\n}>\n\ninterface CheckboxCardIndicatorProps extends HTMLStyledProps {}\n\nconst CheckboxCardIndicator = withContext<\"div\", CheckboxCardIndicatorProps>(\n \"div\",\n \"indicator\",\n)({ \"data-indicator\": \"\" })\n\nexport interface CheckboxCardLabelProps extends HTMLStyledProps {}\n\nexport const CheckboxCardLabel = withContext<\"span\", CheckboxCardLabelProps>(\n \"span\",\n \"label\",\n)()\n\nexport interface CheckboxCardDescriptionProps extends HTMLStyledProps {}\n\nexport const CheckboxCardDescription = withContext<\n \"span\",\n CheckboxCardDescriptionProps\n>(\"span\", \"description\")()\n\nexport interface CheckboxCardAddonProps extends HTMLStyledProps {}\n\nexport const CheckboxCardAddon = withContext<\"span\", CheckboxCardAddonProps>(\n \"span\",\n \"addon\",\n)()\n"],"mappings":";;;;;;;;;;;AAwEA,MAAM,EACJ,WACA,cAAc,0BACd,iBAAiB,6BACjB,aACA,cACA,0BACEA,yBAAAA,oBACF,iBACAC,4BAAAA,iBACF;;;;;;AAcA,MAAa,mBAAmB,cAC7B,EACC,OACA,aACA,UACA,aACA,kBACA,kBACA,mBACA,OACA,gBAAgB,MAChB,YACA,kBACA,gBACA,YACA,YACA,WACA,GAAG,WACC;CACJ,MAAM,EACJ,SACA,eACA,mBACA,eACA,iBACEC,qBAAAA,YAAY,IAAI;CACpB,MAAM,WAAWC,yBAAAA,eAAe;EAAE;EAAkB;CAAiB,CAAC;CACtE,MAAM,QAAA,GAAA,MAAA,QAAA,OAAqB;EACzB,IAAI,eAAe,OAAO,qBAAqB,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OACtD,IAAI,SAAS,OAAO,eAAe,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OAC/C,OAAO;CACd,GAAG;EAAC;EAAe;EAAmB;EAAS;CAAW,CAAC;CAC3D,MAAM,oBAAA,GAAA,MAAA,QAAA,OAAiC;EACrC,IAAI,UAAU,OAAO;EAErB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;GACG,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;IAAmB,GAAI;cAAa;GAAyB,CAAA,IAC3D;GACH,cACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,yBAAD;IAAyB,GAAI;cAC1B;GACsB,CAAA,IACvB;GACH,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;IAAmB,GAAI;cAAa;GAAyB,CAAA,IAC3D;EACJ,EAAA,CAAA;CAEN,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,OAAO,OAAR;EAAc,GAAI,aAAa;GAAE,GAAG;GAAU,GAAG;EAAU,CAAC;YAA5D;GACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,gBAAAA,OAAO,OAAR,EAAc,GAAI,cAAc,UAAU,EAAI,CAAA;GAC7C,gBACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD;IAAuB,GAAI,kBAAkB,cAAc;cACxD;GACoB,CAAA,IACrB;GAEH;EACW;;AAElB,GACA,MACF,CAAC,CAAC;AAMF,MAAM,wBAAwB,YAC5B,OACA,WACF,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC;AAI1B,MAAa,oBAAoB,YAC/B,QACA,OACF,CAAC,CAAC;AAIF,MAAa,0BAA0B,YAGrC,QAAQ,aAAa,CAAC,CAAC;AAIzB,MAAa,oBAAoB,YAC/B,QACA,OACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.cjs","names":["createTransition","createComponent","collapseStyle","AnimatePresence","motion"],"sources":["../../../../src/components/collapse/collapse.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Variants } from \"motion/react\"\nimport type { ThemeProps } from \"../../core\"\nimport type {\n HTMLMotionProps,\n MotionTransitionVariants,\n WithTransitionProps,\n} from \"../motion\"\nimport type { CollapseStyle } from \"./collapse.style\"\nimport { AnimatePresence } from \"motion/react\"\nimport { useEffect, useMemo, useState } from \"react\"\nimport { createComponent } from \"../../core\"\nimport { createdDom, isNumeric } from \"../../utils\"\nimport { createTransition, motion } from \"../motion\"\nimport { collapseStyle } from \"./collapse.style\"\n\nconst variants: Variants = {\n enter: ({\n animationOpacity,\n delay,\n duration,\n endingHeight: height,\n enter,\n transition,\n transitionEnd,\n } = {}) => ({\n ...(animationOpacity ? { opacity: 1 } : {}),\n height,\n transition: createTransition.enter(transition?.enter)(delay, duration),\n transitionEnd: transitionEnd?.enter,\n ...enter,\n }),\n exit: ({\n animationOpacity,\n delay,\n duration,\n exit,\n startingHeight: height,\n transition,\n transitionEnd,\n } = {}) => ({\n ...(animationOpacity ? { opacity: isNumeric(height) ? 1 : 0 } : {}),\n height,\n transition: createTransition.exit(transition?.exit)(delay, duration),\n transitionEnd: transitionEnd?.exit,\n ...exit,\n }),\n} satisfies MotionTransitionVariants\n\nexport interface CollapseProps\n extends WithTransitionProps<HTMLMotionProps>, ThemeProps<CollapseStyle> {\n /**\n * If `true`, the opacity of the content will be animated.\n *\n * @default true\n */\n animationOpacity?: boolean\n /**\n * The height you want the content in its expanded state.\n *\n * @default 'auto'\n */\n endingHeight?: number | string\n /**\n * The height you want the content in its collapsed state.\n *\n * @default 0\n */\n startingHeight?: number | string\n}\n\nconst {\n PropsContext: CollapsePropsContext,\n usePropsContext: useCollapsePropsContext,\n withContext,\n} = createComponent<CollapseProps, CollapseStyle>(\"collapse\", collapseStyle)\n\nexport { CollapsePropsContext, useCollapsePropsContext }\n\n/**\n * `Collapse` is a component that allows you to expand or collapse an element for display.\n *\n * @see https://yamada-ui.com/docs/components/collapse\n */\nexport const Collapse = withContext<\"div\", CollapseProps>(\n ({\n style,\n animationOpacity = true,\n delay,\n duration,\n endingHeight = \"auto\",\n open: openProp,\n startingHeight = 0,\n transition: transitionProp,\n transitionEnd,\n unmountOnExit,\n ...rest\n }) => {\n const [mounted, setMounted] = useState(false)\n const animate = openProp || unmountOnExit ? \"enter\" : \"exit\"\n const open = unmountOnExit ? openProp : true\n\n const transition = useMemo(() => {\n if (!mounted)
|
|
1
|
+
{"version":3,"file":"collapse.cjs","names":["createTransition","createComponent","collapseStyle","AnimatePresence","motion"],"sources":["../../../../src/components/collapse/collapse.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Variants } from \"motion/react\"\nimport type { ThemeProps } from \"../../core\"\nimport type {\n HTMLMotionProps,\n MotionTransitionVariants,\n WithTransitionProps,\n} from \"../motion\"\nimport type { CollapseStyle } from \"./collapse.style\"\nimport { AnimatePresence } from \"motion/react\"\nimport { useEffect, useMemo, useState } from \"react\"\nimport { createComponent } from \"../../core\"\nimport { createdDom, isNumeric } from \"../../utils\"\nimport { createTransition, motion } from \"../motion\"\nimport { collapseStyle } from \"./collapse.style\"\n\nconst variants: Variants = {\n enter: ({\n animationOpacity,\n delay,\n duration,\n endingHeight: height,\n enter,\n transition,\n transitionEnd,\n } = {}) => ({\n ...(animationOpacity ? { opacity: 1 } : {}),\n height,\n transition: createTransition.enter(transition?.enter)(delay, duration),\n transitionEnd: transitionEnd?.enter,\n ...enter,\n }),\n exit: ({\n animationOpacity,\n delay,\n duration,\n exit,\n startingHeight: height,\n transition,\n transitionEnd,\n } = {}) => ({\n ...(animationOpacity ? { opacity: isNumeric(height) ? 1 : 0 } : {}),\n height,\n transition: createTransition.exit(transition?.exit)(delay, duration),\n transitionEnd: transitionEnd?.exit,\n ...exit,\n }),\n} satisfies MotionTransitionVariants\n\nexport interface CollapseProps\n extends WithTransitionProps<HTMLMotionProps>, ThemeProps<CollapseStyle> {\n /**\n * If `true`, the opacity of the content will be animated.\n *\n * @default true\n */\n animationOpacity?: boolean\n /**\n * The height you want the content in its expanded state.\n *\n * @default 'auto'\n */\n endingHeight?: number | string\n /**\n * The height you want the content in its collapsed state.\n *\n * @default 0\n */\n startingHeight?: number | string\n}\n\nconst {\n PropsContext: CollapsePropsContext,\n usePropsContext: useCollapsePropsContext,\n withContext,\n} = createComponent<CollapseProps, CollapseStyle>(\"collapse\", collapseStyle)\n\nexport { CollapsePropsContext, useCollapsePropsContext }\n\n/**\n * `Collapse` is a component that allows you to expand or collapse an element for display.\n *\n * @see https://yamada-ui.com/docs/components/collapse\n */\nexport const Collapse = withContext<\"div\", CollapseProps>(\n ({\n style,\n animationOpacity = true,\n delay,\n duration,\n endingHeight = \"auto\",\n open: openProp,\n startingHeight = 0,\n transition: transitionProp,\n transitionEnd,\n unmountOnExit,\n ...rest\n }) => {\n const [mounted, setMounted] = useState(false)\n const animate = openProp || unmountOnExit ? \"enter\" : \"exit\"\n const open = unmountOnExit ? openProp : true\n\n const transition = useMemo(() => {\n if (!mounted) return { enter: { duration: 0 } }\n else if (transitionProp) return transitionProp\n else\n return {\n enter: {\n height: {\n duration: duration ?? 0.3,\n ease: [0.25, 0.1, 0.25, 1],\n },\n opacity: {\n duration: duration ?? 0.4,\n ease: [0.25, 0.1, 0.25, 1],\n },\n },\n exit: {\n height: {\n duration: duration ?? 0.3,\n ease: [0.25, 0.1, 0.25, 1],\n },\n opacity: {\n duration: duration ?? 0.4,\n ease: [0.25, 0.1, 0.25, 1],\n },\n },\n }\n }, [mounted, duration, transitionProp])\n\n const custom = useMemo(\n () => ({\n animationOpacity,\n delay,\n duration,\n endingHeight,\n startingHeight,\n transition,\n transitionEnd,\n }),\n [\n animationOpacity,\n delay,\n duration,\n endingHeight,\n startingHeight,\n transition,\n transitionEnd,\n ],\n )\n\n useEffect(() => {\n if (createdDom()) setMounted(true)\n }, [])\n\n return (\n <AnimatePresence custom={custom} initial={false}>\n {open ? (\n <motion.div\n style={{ overflow: \"hidden\", ...style }}\n animate={animate}\n custom={custom}\n exit=\"exit\"\n initial={unmountOnExit ? \"exit\" : false}\n variants={variants}\n {...rest}\n />\n ) : null}\n </AnimatePresence>\n )\n },\n)()\n"],"mappings":";;;;;;;;;;AAiBA,MAAM,WAAqB;CACzB,QAAQ,EACN,kBACA,OACA,UACA,cAAc,QACd,OACA,YACA,kBACE,CAAC,OAAO;EACV,GAAI,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC;EACzC;EACA,YAAYA,mBAAAA,iBAAiB,MAAM,YAAY,KAAK,CAAC,CAAC,OAAO,QAAQ;EACrE,eAAe,eAAe;EAC9B,GAAG;CACL;CACA,OAAO,EACL,kBACA,OACA,UACA,MACA,gBAAgB,QAChB,YACA,kBACE,CAAC,OAAO;EACV,GAAI,mBAAmB,EAAE,UAAA,GAAA,oBAAA,cAAA,UAAA,CAAmB,MAAM,IAAI,IAAI,EAAE,IAAI,CAAC;EACjE;EACA,YAAYA,mBAAAA,iBAAiB,KAAK,YAAY,IAAI,CAAC,CAAC,OAAO,QAAQ;EACnE,eAAe,eAAe;EAC9B,GAAG;CACL;AACF;AAwBA,MAAM,EACJ,cAAc,sBACd,iBAAiB,yBACjB,gBACEC,yBAAAA,gBAA8C,YAAYC,uBAAAA,aAAa;;;;;;AAS3E,MAAa,WAAW,aACrB,EACC,OACA,mBAAmB,MACnB,OACA,UACA,eAAe,QACf,MAAM,UACN,iBAAiB,GACjB,YAAY,gBACZ,eACA,eACA,GAAG,WACC;CACJ,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,SAAA,CAAuB,KAAK;CAC5C,MAAM,UAAU,YAAY,gBAAgB,UAAU;CACtD,MAAM,OAAO,gBAAgB,WAAW;CAExC,MAAM,cAAA,GAAA,MAAA,QAAA,OAA2B;EAC/B,IAAI,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;OACzC,IAAI,gBAAgB,OAAO;OAE9B,OAAO;GACL,OAAO;IACL,QAAQ;KACN,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;IACA,SAAS;KACP,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;GACF;GACA,MAAM;IACJ,QAAQ;KACN,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;IACA,SAAS;KACP,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;GACF;EACF;CACJ,GAAG;EAAC;EAAS;EAAU;CAAc,CAAC;CAEtC,MAAM,UAAA,GAAA,MAAA,QAAA,QACG;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,GAAG,WAAW,IAAI;CACnC,GAAG,CAAC,CAAC;CAEL,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,iBAAD;EAAyB;EAAQ,SAAS;YACvC,OACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,KAAR;GACE,OAAO;IAAE,UAAU;IAAU,GAAG;GAAM;GAC7B;GACD;GACR,MAAK;GACL,SAAS,gBAAgB,SAAS;GACxB;GACV,GAAI;EACL,CAAA,IACC;CACW,CAAA;AAErB,CACF,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-color-picker.cjs","names":["useI18n","useFieldProps","useCombobox","useControllableState","useEyeDropper","mergeRefs","runKeyAction"],"sources":["../../../../src/components/color-picker/use-color-picker.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, FocusEvent, MouseEvent } from \"react\"\nimport type { HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { UseComboboxProps } from \"../../hooks/use-combobox\"\nimport type { ColorFormat } from \"../../utils\"\nimport type { UseColorSelectorProps } from \"../color-selector\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport { useCombobox } from \"../../hooks/use-combobox\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useEyeDropper } from \"../../hooks/use-eye-dropper\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n calcFormat,\n contains,\n convertColor,\n cx,\n focusTransfer,\n handlerAll,\n mergeRefs,\n runIfFn,\n runKeyAction,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseColorPickerProps\n extends\n Omit<\n UseComboboxProps,\n | \"closeOnSelect\"\n | \"initialFocusValue\"\n | \"onChange\"\n | \"ref\"\n | \"selectFocusRef\"\n | \"selectOnSpace\"\n >,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, allows input.\n *\n * @default true\n */\n allowInput?: boolean\n /**\n * If `true`, the color picker will be closed when the input value changes.\n *\n * @default false\n */\n closeOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * The initial value of the color picker.\n */\n defaultValue?: string\n /**\n * The fallback value of the color picker.\n *\n * @default '#FFFFFF'\n */\n fallbackValue?: string\n /**\n * The format of the color picker.\n * Automatically determines the format of `value` or `defaultValue`.\n *\n * @default 'hex'\n */\n format?: ColorFormat\n /**\n * The `id` attribute of the input element.\n */\n id?: string\n /**\n * The `name` attribute of the input element.\n */\n name?: string\n /**\n * If `true`, the color picker will be opened when the input value changes.\n *\n * @default true\n */\n openOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * If `true`, the color picker will be opened when the input is focused.\n *\n * @default false\n */\n openOnFocus?: boolean\n /**\n * The pattern used to check the input element.\n */\n pattern?: RegExp\n /**\n * The placeholder for color picker.\n */\n placeholder?: string\n /**\n * The value of the color picker.\n */\n value?: string\n /**\n * The function to format the input value.\n */\n formatInput?: (value: string) => string\n /**\n * The callback invoked when the value changes.\n */\n onChange?: (value: string) => void\n /**\n * The callback invoked when input value state changes.\n */\n onInputChange?: (ev: ChangeEvent<HTMLInputElement>) => void\n}\n\nexport const useColorPicker = (props: UseColorPickerProps) => {\n const { t } = useI18n(\"colorPicker\")\n const {\n props: {\n id,\n ref,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledbyProp,\n allowInput = true,\n closeOnChange = false,\n defaultValue,\n disabled,\n fallbackValue = \"#FFFFFF\",\n format: formatProp,\n formatInput,\n openOnChange = true,\n openOnClick = true,\n openOnFocus = true,\n pattern,\n placeholder,\n placement = \"end-start\",\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n onInputChange: onInputChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const {\n interactive,\n open,\n getContentProps: getComboboxContentProps,\n getTriggerProps,\n popoverProps,\n onClose,\n onOpen,\n } = useCombobox({\n disabled,\n matchWidth: false,\n openOnClick: false,\n openOnEnter: !allowInput,\n openOnSpace: !allowInput,\n placement,\n readOnly,\n transferFocus: false,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n ...rest,\n })\n const format =\n formatProp ?? calcFormat(valueProp ?? defaultValue ?? fallbackValue)\n const alpha = format.endsWith(\"a\")\n const fieldRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const focusByClickRef = useRef<boolean>(false)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const { supported: supportedEyeDropper, onOpen: onOpenEyeDropper } =\n useEyeDropper()\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n focusByClickRef.current = true\n\n if (allowInput) inputRef.current?.focus()\n\n if (openOnClick) onOpen()\n }, [allowInput, interactive, onOpen, openOnClick])\n\n const onMouseDown = useCallback(\n (ev: MouseEvent<HTMLDivElement | HTMLInputElement>) => {\n if (!openOnFocus) return\n\n ev.preventDefault()\n ev.stopPropagation()\n },\n [openOnFocus],\n )\n\n const onFieldFocus = useCallback(() => {\n if (allowInput) return\n\n if (openOnFocus) onOpen()\n\n focusByClickRef.current = false\n }, [allowInput, onOpen, openOnFocus])\n\n const onInputFocus = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n ev.preventDefault()\n ev.stopPropagation()\n\n if (openOnFocus && !focusByClickRef.current) onOpen()\n\n focusByClickRef.current = false\n },\n [onOpen, openOnFocus],\n )\n\n const onBlur = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n if (\n contains(fieldRef.current, ev.relatedTarget) ||\n contains(contentRef.current, ev.relatedTarget)\n ) {\n ev.preventDefault()\n } else {\n setValue((prev) => {\n if (!prev) return prev\n\n let value = convertColor(prev)(format)\n\n if (!value) return prev\n\n if (formatInput) value = formatInput(value)\n\n if (pattern) value = value.replace(pattern, \"\")\n\n return value\n })\n }\n },\n [format, formatInput, pattern, setValue],\n )\n\n const onInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!allowInput) return\n\n onInputChangeProp?.(ev)\n\n if (runIfFn(closeOnChange, ev)) {\n onClose()\n } else if (runIfFn(openOnChange, ev)) {\n onOpen()\n }\n\n let inputValue = ev.target.value\n\n if (formatInput) inputValue = formatInput(inputValue)\n\n if (pattern) inputValue = inputValue.replace(pattern, \"\")\n\n setValue(inputValue)\n },\n [\n allowInput,\n closeOnChange,\n formatInput,\n onClose,\n onInputChangeProp,\n onOpen,\n openOnChange,\n pattern,\n setValue,\n ],\n )\n\n const onEyeDropperClick = useCallback(async () => {\n if (!interactive) return\n\n const result = await onOpenEyeDropper()\n\n if (result?.sRGBHex) setValue(result.sRGBHex)\n }, [interactive, onOpenEyeDropper, setValue])\n\n useEffect(() => {\n if (!open) return\n\n return focusTransfer(\n contentRef.current,\n allowInput ? inputRef.current : fieldRef.current,\n )\n }, [allowInput, open])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n const getFieldProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getTriggerProps({\n ref: mergeRefs(ref, fieldRef),\n \"aria-haspopup\": \"dialog\",\n tabIndex: !allowInput ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onClick),\n onFocus: handlerAll(props.onFocus, onFieldFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n\n [allowInput, getTriggerProps, onClick, onFieldFocus, onMouseDown],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id,\n ref: mergeRefs(props.ref, ref, inputRef),\n name,\n style: {\n ...(!allowInput ? { pointerEvents: \"none\" } : {}),\n ...props.style,\n },\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": cx(ariaLabelledby, ariaLabelledbyProp),\n autoComplete: \"off\",\n disabled,\n placeholder,\n readOnly,\n required,\n tabIndex: allowInput ? 0 : -1,\n value,\n ...dataProps,\n ...props,\n onBlur: handlerAll(props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onInputChange),\n onFocus: handlerAll(props.onFocus, onInputFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n [\n allowInput,\n ariaLabel,\n ariaLabelledbyProp,\n dataProps,\n disabled,\n id,\n name,\n onBlur,\n onInputChange,\n onInputFocus,\n onMouseDown,\n placeholder,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getEyeDropperProps: PropGetter = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": t(\"Pick a color\"),\n hidden: !supportedEyeDropper,\n role: \"button\",\n tabIndex: interactive ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onEyeDropperClick),\n onKeyDown: handlerAll(props.onKeyDown, (ev) =>\n runKeyAction(ev, {\n Enter: onEyeDropperClick,\n Space: onEyeDropperClick,\n }),\n ),\n }),\n [dataProps, interactive, onEyeDropperClick, supportedEyeDropper, t],\n )\n\n const getContentProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getComboboxContentProps({\n ref: mergeRefs(ref, contentRef),\n role: \"dialog\",\n ...props,\n }),\n [getComboboxContentProps],\n )\n\n const getSelectorProps: PropGetter<UseColorSelectorProps> = useCallback(\n (props = {}) => ({\n disabled,\n fallbackValue,\n format,\n readOnly,\n value,\n ...props,\n onChange: handlerAll(props.onChange, setValue),\n }),\n [disabled, fallbackValue, format, readOnly, value, setValue],\n )\n\n return {\n alpha,\n format,\n interactive,\n open,\n setValue,\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n onClose,\n onOpen,\n }\n}\n\nexport type UseColorPickerReturn = ReturnType<typeof useColorPicker>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"use-color-picker.cjs","names":["useI18n","useFieldProps","useCombobox","useControllableState","useEyeDropper","mergeRefs","runKeyAction"],"sources":["../../../../src/components/color-picker/use-color-picker.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, FocusEvent, MouseEvent } from \"react\"\nimport type { HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { UseComboboxProps } from \"../../hooks/use-combobox\"\nimport type { ColorFormat } from \"../../utils\"\nimport type { UseColorSelectorProps } from \"../color-selector\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport { useCombobox } from \"../../hooks/use-combobox\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useEyeDropper } from \"../../hooks/use-eye-dropper\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n calcFormat,\n contains,\n convertColor,\n cx,\n focusTransfer,\n handlerAll,\n mergeRefs,\n runIfFn,\n runKeyAction,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseColorPickerProps\n extends\n Omit<\n UseComboboxProps,\n | \"closeOnSelect\"\n | \"initialFocusValue\"\n | \"onChange\"\n | \"ref\"\n | \"selectFocusRef\"\n | \"selectOnSpace\"\n >,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, allows input.\n *\n * @default true\n */\n allowInput?: boolean\n /**\n * If `true`, the color picker will be closed when the input value changes.\n *\n * @default false\n */\n closeOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * The initial value of the color picker.\n */\n defaultValue?: string\n /**\n * The fallback value of the color picker.\n *\n * @default '#FFFFFF'\n */\n fallbackValue?: string\n /**\n * The format of the color picker.\n * Automatically determines the format of `value` or `defaultValue`.\n *\n * @default 'hex'\n */\n format?: ColorFormat\n /**\n * The `id` attribute of the input element.\n */\n id?: string\n /**\n * The `name` attribute of the input element.\n */\n name?: string\n /**\n * If `true`, the color picker will be opened when the input value changes.\n *\n * @default true\n */\n openOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * If `true`, the color picker will be opened when the input is focused.\n *\n * @default false\n */\n openOnFocus?: boolean\n /**\n * The pattern used to check the input element.\n */\n pattern?: RegExp\n /**\n * The placeholder for color picker.\n */\n placeholder?: string\n /**\n * The value of the color picker.\n */\n value?: string\n /**\n * The function to format the input value.\n */\n formatInput?: (value: string) => string\n /**\n * The callback invoked when the value changes.\n */\n onChange?: (value: string) => void\n /**\n * The callback invoked when input value state changes.\n */\n onInputChange?: (ev: ChangeEvent<HTMLInputElement>) => void\n}\n\nexport const useColorPicker = (props: UseColorPickerProps) => {\n const { t } = useI18n(\"colorPicker\")\n const {\n props: {\n id,\n ref,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledbyProp,\n allowInput = true,\n closeOnChange = false,\n defaultValue,\n disabled,\n fallbackValue = \"#FFFFFF\",\n format: formatProp,\n formatInput,\n openOnChange = true,\n openOnClick = true,\n openOnFocus = true,\n pattern,\n placeholder,\n placement = \"end-start\",\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n onInputChange: onInputChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const {\n interactive,\n open,\n getContentProps: getComboboxContentProps,\n getTriggerProps,\n popoverProps,\n onClose,\n onOpen,\n } = useCombobox({\n disabled,\n matchWidth: false,\n openOnClick: false,\n openOnEnter: !allowInput,\n openOnSpace: !allowInput,\n placement,\n readOnly,\n transferFocus: false,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n ...rest,\n })\n const format =\n formatProp ?? calcFormat(valueProp ?? defaultValue ?? fallbackValue)\n const alpha = format.endsWith(\"a\")\n const fieldRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const focusByClickRef = useRef<boolean>(false)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const { supported: supportedEyeDropper, onOpen: onOpenEyeDropper } =\n useEyeDropper()\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n focusByClickRef.current = true\n\n if (allowInput) inputRef.current?.focus()\n\n if (openOnClick) onOpen()\n }, [allowInput, interactive, onOpen, openOnClick])\n\n const onMouseDown = useCallback(\n (ev: MouseEvent<HTMLDivElement | HTMLInputElement>) => {\n if (!openOnFocus) return\n\n ev.preventDefault()\n ev.stopPropagation()\n },\n [openOnFocus],\n )\n\n const onFieldFocus = useCallback(() => {\n if (allowInput) return\n\n if (openOnFocus) onOpen()\n\n focusByClickRef.current = false\n }, [allowInput, onOpen, openOnFocus])\n\n const onInputFocus = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n ev.preventDefault()\n ev.stopPropagation()\n\n if (openOnFocus && !focusByClickRef.current) onOpen()\n\n focusByClickRef.current = false\n },\n [onOpen, openOnFocus],\n )\n\n const onBlur = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n if (\n contains(fieldRef.current, ev.relatedTarget) ||\n contains(contentRef.current, ev.relatedTarget)\n )\n ev.preventDefault()\n else\n setValue((prev) => {\n if (!prev) return prev\n\n let value = convertColor(prev)(format)\n\n if (!value) return prev\n\n if (formatInput) value = formatInput(value)\n\n if (pattern) value = value.replace(pattern, \"\")\n\n return value\n })\n },\n [format, formatInput, pattern, setValue],\n )\n\n const onInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!allowInput) return\n\n onInputChangeProp?.(ev)\n\n if (runIfFn(closeOnChange, ev)) onClose()\n else if (runIfFn(openOnChange, ev)) onOpen()\n\n let inputValue = ev.target.value\n\n if (formatInput) inputValue = formatInput(inputValue)\n\n if (pattern) inputValue = inputValue.replace(pattern, \"\")\n\n setValue(inputValue)\n },\n [\n allowInput,\n closeOnChange,\n formatInput,\n onClose,\n onInputChangeProp,\n onOpen,\n openOnChange,\n pattern,\n setValue,\n ],\n )\n\n const onEyeDropperClick = useCallback(async () => {\n if (!interactive) return\n\n const result = await onOpenEyeDropper()\n\n if (result?.sRGBHex) setValue(result.sRGBHex)\n }, [interactive, onOpenEyeDropper, setValue])\n\n useEffect(() => {\n if (!open) return\n\n return focusTransfer(\n contentRef.current,\n allowInput ? inputRef.current : fieldRef.current,\n )\n }, [allowInput, open])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n const getFieldProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getTriggerProps({\n ref: mergeRefs(ref, fieldRef),\n \"aria-haspopup\": \"dialog\",\n tabIndex: !allowInput ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onClick),\n onFocus: handlerAll(props.onFocus, onFieldFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n\n [allowInput, getTriggerProps, onClick, onFieldFocus, onMouseDown],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id,\n ref: mergeRefs(props.ref, ref, inputRef),\n name,\n style: {\n ...(!allowInput ? { pointerEvents: \"none\" } : {}),\n ...props.style,\n },\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": cx(ariaLabelledby, ariaLabelledbyProp),\n autoComplete: \"off\",\n disabled,\n placeholder,\n readOnly,\n required,\n tabIndex: allowInput ? 0 : -1,\n value,\n ...dataProps,\n ...props,\n onBlur: handlerAll(props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onInputChange),\n onFocus: handlerAll(props.onFocus, onInputFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n [\n allowInput,\n ariaLabel,\n ariaLabelledbyProp,\n dataProps,\n disabled,\n id,\n name,\n onBlur,\n onInputChange,\n onInputFocus,\n onMouseDown,\n placeholder,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getEyeDropperProps: PropGetter = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": t(\"Pick a color\"),\n hidden: !supportedEyeDropper,\n role: \"button\",\n tabIndex: interactive ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onEyeDropperClick),\n onKeyDown: handlerAll(props.onKeyDown, (ev) =>\n runKeyAction(ev, {\n Enter: onEyeDropperClick,\n Space: onEyeDropperClick,\n }),\n ),\n }),\n [dataProps, interactive, onEyeDropperClick, supportedEyeDropper, t],\n )\n\n const getContentProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getComboboxContentProps({\n ref: mergeRefs(ref, contentRef),\n role: \"dialog\",\n ...props,\n }),\n [getComboboxContentProps],\n )\n\n const getSelectorProps: PropGetter<UseColorSelectorProps> = useCallback(\n (props = {}) => ({\n disabled,\n fallbackValue,\n format,\n readOnly,\n value,\n ...props,\n onChange: handlerAll(props.onChange, setValue),\n }),\n [disabled, fallbackValue, format, readOnly, value, setValue],\n )\n\n return {\n alpha,\n format,\n interactive,\n open,\n setValue,\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n onClose,\n onOpen,\n }\n}\n\nexport type UseColorPickerReturn = ReturnType<typeof useColorPicker>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-swatch-group.cjs","names":["useI18n","ColorSwatch","Grid"],"sources":["../../../../src/components/color-swatch/color-swatch-group.tsx"],"sourcesContent":["import type { Component, CSSProps } from \"../../core\"\nimport type { ColorSwatchProps } from \"./color-swatch\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport { Grid } from \"../grid\"\nimport { ColorSwatch } from \"./color-swatch\"\n\nexport interface ColorSwatchGroupProps extends Omit<ColorSwatchProps, \"color\"> {\n /**\n * The color used for the swatch element.\n *\n * @default '#ffffff00'\n */\n items?: CSSProps[\"color\"][]\n /**\n * The props for the `ColorSwatch` component.\n */\n itemProps?: ColorSwatchProps\n}\n\n/**\n * `ColorSwatchGroup` is a component that displays color samples.\n *\n * @see https://yamada-ui.com/docs/components/color-swatch\n */\nexport const ColorSwatchGroup = (({\n items = [],\n layers,\n withShadow = true,\n itemProps,\n ...rest\n}: ColorSwatchGroupProps) => {\n const { t } = useI18n(\"colorSwatch\")\n\n if (items.length > 4)\n console.warn(\"ColorSwatchGroup: doesn't support more than 4 items\")\n\n const empty = items.length === 0\n const threeColors = items.length === 3\n\n if (empty)
|
|
1
|
+
{"version":3,"file":"color-swatch-group.cjs","names":["useI18n","ColorSwatch","Grid"],"sources":["../../../../src/components/color-swatch/color-swatch-group.tsx"],"sourcesContent":["import type { Component, CSSProps } from \"../../core\"\nimport type { ColorSwatchProps } from \"./color-swatch\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport { Grid } from \"../grid\"\nimport { ColorSwatch } from \"./color-swatch\"\n\nexport interface ColorSwatchGroupProps extends Omit<ColorSwatchProps, \"color\"> {\n /**\n * The color used for the swatch element.\n *\n * @default '#ffffff00'\n */\n items?: CSSProps[\"color\"][]\n /**\n * The props for the `ColorSwatch` component.\n */\n itemProps?: ColorSwatchProps\n}\n\n/**\n * `ColorSwatchGroup` is a component that displays color samples.\n *\n * @see https://yamada-ui.com/docs/components/color-swatch\n */\nexport const ColorSwatchGroup = (({\n items = [],\n layers,\n withShadow = true,\n itemProps,\n ...rest\n}: ColorSwatchGroupProps) => {\n const { t } = useI18n(\"colorSwatch\")\n\n if (items.length > 4)\n console.warn(\"ColorSwatchGroup: doesn't support more than 4 items\")\n\n const empty = items.length === 0\n const threeColors = items.length === 3\n\n if (empty)\n return (\n <ColorSwatch\n aria-label={t(\"Color swatch group\")}\n layers={layers}\n overflow=\"hidden\"\n withShadow={withShadow}\n {...rest}\n />\n )\n else\n return (\n <ColorSwatch\n aria-label={t(\"Color swatch group\")}\n layers={withShadow ? [{ boxShadow: \"inner\" }] : []}\n {...rest}\n >\n <Grid templateColumns=\"repeat(2, 1fr)\">\n {items.map((color, index) => (\n <ColorSwatch\n key={index}\n boxSize=\"inherit\"\n color={color}\n gridColumn={threeColors && !index ? \"1 / 3\" : undefined}\n rounded=\"0\"\n w={threeColors && !index ? \"unset\" : undefined}\n withShadow={false}\n {...itemProps}\n />\n ))}\n </Grid>\n </ColorSwatch>\n )\n}) as Component<\"div\", ColorSwatchGroupProps>\n"],"mappings":";;;;;;;;;;AAwBA,MAAa,qBAAqB,EAChC,QAAQ,CAAC,GACT,QACA,aAAa,MACb,WACA,GAAG,WACwB;CAC3B,MAAM,EAAE,MAAMA,sBAAAA,QAAQ,aAAa;CAEnC,IAAI,MAAM,SAAS,GACjB,QAAQ,KAAK,qDAAqD;CAEpE,MAAM,QAAQ,MAAM,WAAW;CAC/B,MAAM,cAAc,MAAM,WAAW;CAErC,IAAI,OACF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,qBAAAA,aAAD;EACE,cAAY,EAAE,oBAAoB;EAC1B;EACR,UAAS;EACG;EACZ,GAAI;CACL,CAAA;MAGH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,qBAAAA,aAAD;EACE,cAAY,EAAE,oBAAoB;EAClC,QAAQ,aAAa,CAAC,EAAE,WAAW,QAAQ,CAAC,IAAI,CAAC;EACjD,GAAI;YAEJ,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,MAAD;GAAM,iBAAgB;aACnB,MAAM,KAAK,OAAO,UACjB,iBAAA,GAAA,kBAAA,IAAA,CAACD,qBAAAA,aAAD;IAEE,SAAQ;IACD;IACP,YAAY,eAAe,CAAC,QAAQ,UAAU,KAAA;IAC9C,SAAQ;IACR,GAAG,eAAe,CAAC,QAAQ,UAAU,KAAA;IACrC,YAAY;IACZ,GAAI;GACL,GARM,KAQN,CACF;EACG,CAAA;CACK,CAAA;AAEnB"}
|