@yamada-ui/react 2.2.8-dev-20260901015546 → 2.2.8
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/action-bar/action-bar.cjs.map +1 -1
- package/dist/cjs/components/action-bar/use-action-bar.cjs.map +1 -1
- package/dist/cjs/components/avatar/use-avatar.cjs.map +1 -1
- package/dist/cjs/components/carousel/use-carousel.cjs.map +1 -1
- package/dist/cjs/components/chart/use-cartesian-chart.cjs.map +1 -1
- package/dist/cjs/components/chart/use-polar-chart.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/tree/tree.cjs.map +1 -1
- package/dist/cjs/utils/dom.cjs.map +1 -1
- package/dist/esm/components/action-bar/action-bar.js.map +1 -1
- package/dist/esm/components/action-bar/use-action-bar.js.map +1 -1
- package/dist/esm/components/avatar/use-avatar.js.map +1 -1
- package/dist/esm/components/carousel/use-carousel.js.map +1 -1
- package/dist/esm/components/chart/use-cartesian-chart.js.map +1 -1
- package/dist/esm/components/chart/use-polar-chart.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/tree/tree.js.map +1 -1
- package/dist/esm/utils/dom.js.map +1 -1
- package/dist/types/components/chart/polar-chart.style.d.ts +1 -1
- package/dist/types/components/sidebar/sidebar.d.ts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-polar-chart.cjs","names":["useCallback","mergeProps","useChartContext","useMemo","isValidElement"],"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,GAA2BA,MAAAA,YAAAA,EAC9B,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA+CA,OAAO;EACL,gBAAA,GA9CiDD,MAAAA,YAAAA,EAChD,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,GAAkCA,MAAAA,YAAAA,EACrC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAsFA,OAAO;EAAE,cAAA,GApFiCD,MAAAA,YAAAA,EACvC,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,uBAAuBE,kBAAAA,gBAAgB;CA0C/C,OAAO;EAAE,eAAA,GAxCgCF,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAsCa;EAAG,iBAAA,GAnCyBD,MAAAA,YAAAA,EAC7C,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAA,oBAAA,cAAe,SAAA,CACb,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CACf,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,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,uBAAuBE,kBAAAA,gBAAgB;CAC/C,MAAM,UAAU,cAAc,eAAe,KAAM;CACnD,MAAM,SAAS,KAAK,KAAK;CACzB,MAAM,IAAI,MAAM,eAAe,UAAU,KAAK,IAAI,CAAC,WAAW,MAAM;CACpE,MAAM,IAAI,MAAM,eAAe,UAAU,KAAK,IAAI,CAAC,WAAW,MAAM;CAoEpE,OAAO;EAAE,eAAA,GAlEgCF,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAgEa;EAAG,eAAA,GA7DqBD,MAAAA,YAAAA,EACzC,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAA,oBAAA,cAAe,SAAA,CACb,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CACf,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,mBAAmB;GACnB,UAAU,YAAY,OAAO,OAAO,KAAK;GACzC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,YAAY,IAAI,KAAK,UAAU,IAAI,KAAK,QAAQ;GAChD;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;EACF,CAGgC;CAAE;AACtC;AAgCA,MAAa,wBAAwB,EACnC,MAAM,UACN,cACA,SACA,UACA,OACA,aACA,WACA,UACA,cACA,aACA,cACA,SACA,SACA,QACA,YACA,gBACA,iBACA,OACA,GAAG,WAC4B;CAC/B,MAAM,EAAE,uBAAuBE,kBAAAA,gBAAgB;CAE/C,MAAM,gBAAA,GAAmCF,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAqDA,OAAO;EAAE,gBAAA,GAnDqCD,MAAAA,YAAAA,EAC3C,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAA,oBAAA,cAAe,SAAA,CACb,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CACf,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;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;EACF,CAGmB;EAAG;CAAa;AACvC;AAkCA,MAAa,iBAAiB,EAC5B,WAAW,eACX,aACA,gBACA,mBACA,iBACA,gBACA,cACA,SAAS,aACT,KAAK,SACL,MACA,oBAAoB,OACpB,SACA,OAAO,WACP,YACA,QACA,cACA,OACA,QACA,aACA,QACA,gBACA,kBACA,cACA,cACA,GAAG,WACqB;CACxB,MAAM,EAAE,uBAAuBE,kBAAAA,gBAAgB;CAC/C,MAAM,SAAA,GAAQC,MAAAA,QAAAA,OAA2C;EACvD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,SAAS,MAAA,GAAKC,MAAAA,eAAAA,CAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,QAAQ;GACR,UAAU;GACV,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CACd,MAAM,OAAA,GAAMD,MAAAA,QAAAA,OAAyC;EACnD,IAAI,CAAC,SAAS,OAAO;EACrB,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,OAAO,MAAA,GAAKC,MAAAA,eAAAA,CAAe,OAAO,GAAG,OAAO;EAE3D,OAAO;GAAE,MAAM;GAAI,QAAQ;GAAI,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,OAAO,IAAI,UAAU,CAAC;EAAG;CACvE,GAAG,CAAC,OAAO,CAAC;CACZ,MAAM,aAAA,GAAYD,MAAAA,QAAAA,OAA+C;EAC/D,IAAI,CAAC,eAAe,OAAO;EAC3B,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,aAAa,MAAA,GAAKC,MAAAA,eAAAA,CAAe,aAAa,GAC3D,OAAO;EAET,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,aAAa,IAAI,gBAAgB,CAAC;EACjD;CACF,GAAG,CAAC,aAAa,CAAC;CAElB,MAAM,gBAAA,GAAmCJ,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAiEA,OAAO;EAAE,gBAAA,GA/DqCD,MAAAA,YAAAA,EAC3C,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C,gBAAA,GAAA,oBAAA,cAAe,SAAA,CACb,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;GACA,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CACf,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,kBAAkB,KAAK,uBAAuB,OAC7D;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;EACF,CAGmB;EAAG;CAAa;AACvC;AAgDA,MAAa,gBAAgB,EAC3B,MACA,MACA,mBACA,eACA,yBACA,OACA,aACA,UAAU,cACV,cACA,IACA,IACA,SACA,QACA,MACA,eACA,OAAO,WACP,aACA,QACA,OACA,UACA,OACA,MAAM,UACN,WACA,eACA,UAAU,cACV,OACA,UACA,MACA,QACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACoB;CACvB,MAAM,QAAA,GAAOG,MAAAA,QAAAA,OAAyC;EACpD,IAAI,CAAC,UAAU,OAAO;EACtB,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,QAAQ,MAAA,GAAKC,MAAAA,eAAAA,CAAe,QAAQ,GAAG,OAAO;EAE7D,OAAO;GAAE,MAAM;GAAI,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,QAAQ,IAAI,WAAW,CAAC;EAAG;CAC7D,GAAG,CAAC,QAAQ,CAAC;CACb,MAAM,YAAA,GAAWD,MAAAA,QAAAA,OAA6C;EAC5D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,YAAA,GAAWA,MAAAA,QAAAA,OAA6C;EAC5D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,SAAA,GAAQA,MAAAA,QAAAA,OAA0C;EACtD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,SAAS,MAAA,GAAKC,MAAAA,eAAAA,CAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,gBAAA,GAAmCJ,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAoFA,OAAO;EAAE,oBAAA,GAlFkDD,MAAAA,YAAAA,EACxD,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;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,CAGuB;EAAG;CAAa;AAC3C;AAgDA,MAAa,iBAAiB,EAC5B,MACA,MACA,mBACA,eACA,yBACA,QAAQ,IACR,UAAU,eAAe,MACzB,SACA,QACA,MACA,eACA,OAAO,WACP,aACA,QACA,cACA,OACA,UACA,OACA,MAAM,UACN,WACA,eACA,UAAU,cACV,OACA,MACA,QACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACqB;CACxB,MAAM,QAAA,GAAOG,MAAAA,QAAAA,OAA0C;EACrD,IAAI,CAAC,UAAU,OAAO;EACtB,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,QAAQ,MAAA,GAAKC,MAAAA,eAAAA,CAAe,QAAQ,GAAG,OAAO;EAE7D,OAAO;GACL,MAAM;GACN,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,QAAQ,IAAI,WAAW,CAAC;EACvC;CACF,GAAG,CAAC,QAAQ,CAAC;CACb,MAAM,YAAA,GAAWD,MAAAA,QAAAA,OAA8C;EAC7D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,YAAA,GAAWA,MAAAA,QAAAA,OAA8C;EAC7D,IAAI,CAAC,cAAc,OAAO;EAE1B,OAAO;GACL,MAAM;GACN,QAAQ;GACR,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,YAAY,IAAI,eAAe,CAAC;EAC/C;CACF,GAAG,CAAC,YAAY,CAAC;CACjB,MAAM,SAAA,GAAQA,MAAAA,QAAAA,OAA2C;EACvD,IAAI,CAAC,WAAW,OAAO;EACvB,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,SAAS,MAAA,GAAKC,MAAAA,eAAAA,CAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,gBAAA,GAAmCJ,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA4EA,OAAO;EAAE,qBAAA,GA1EoDD,MAAAA,YAAAA,EAC1D,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,GAAmCA,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAgCA,OAAO;EAAE,oBAAA,GA9B6CD,MAAAA,YAAAA,EACnD,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,GAAQG,MAAAA,QAAAA,OAA+C;EAC3D,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,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,GAAaA,MAAAA,QAAAA,OAAoD;EACrE,IAAI,CAAC,gBAAgB,OAAO;EAC5B,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,cAAc,MAAA,GAAKC,MAAAA,eAAAA,CAAe,cAAc,GAC7D,OAAO;EAET,OAAO;GACL,MAAM;GACN,GAAI,mBAAmB,OAAO,iBAAiB,CAAC;EAClD;CACF,GAAG,CAAC,cAAc,CAAC;CAEnB,MAAM,gBAAA,GAAkCJ,MAAAA,YAAAA,EACrC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA8EA,OAAO;EAAE,iBAAA,GAxELD,MAAAA,YAAAA,EACD,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":["useCallback","mergeProps","useChartContext","useMemo","isValidElement"],"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 { HTMLProps, PropGetter } from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport { isValidElement, useCallback, useMemo } from \"react\"\nimport { mergeProps } 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":";;;;;;;AAqDA,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,GAA2BA,MAAAA,YAAAA,EAC9B,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA+CA,OAAO;EACL,gBAAA,GA9CiDD,MAAAA,YAAAA,EAChD,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,GAAkCA,MAAAA,YAAAA,EACrC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAsFA,OAAO;EAAE,cAAA,GApFiCD,MAAAA,YAAAA,EACvC,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,uBAAuBE,kBAAAA,gBAAgB;CA0C/C,OAAO;EAAE,eAAA,GAxCgCF,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAsCa;EAAG,iBAAA,GAnCyBD,MAAAA,YAAAA,EAC7C,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAA,oBAAA,cAAe,SAAA,CACb,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAA,oBAAA,cAAiB,SAAA,CACf,EAAA,GAAA,oBAAA,cAAC,YAAA,CAAY,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,uBAAuBE,kBAAAA,gBAAgB;CAC/C,MAAM,UAAU,cAAc,eAAe,KAAM;CACnD,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AAAA,eAAAA,CAAe,SAAS,GAAG,OAAO;EAE/D,OAAO;GACL,MAAM;GACN,IAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,SAAS,IAAI,YAAY,CAAC;EACzC;CACF,GAAG,CAAC,SAAS,CAAC;CAEd,MAAM,gBAAA,GAAmCJ,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA4EA,OAAO;EAAE,qBAAA,GA1EoDD,MAAAA,YAAAA,EAC1D,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,GAAmCA,MAAAA,YAAAA,EACtC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAgCA,OAAO;EAAE,oBAAA,GA9B6CD,MAAAA,YAAAA,EACnD,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,GAAQG,MAAAA,QAAAA,OAA+C;EAC3D,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,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,GAAaA,MAAAA,QAAAA,OAAoD;EACrE,IAAI,CAAC,gBAAgB,OAAO;EAC5B,KAAA,GAAA,oBAAA,cAAI,WAAA,CAAW,cAAc,MAAA,GAAKC,MAAAA,eAAAA,CAAe,cAAc,GAC7D,OAAO;EAET,OAAO;GACL,MAAM;GACN,GAAI,mBAAmB,OAAO,iBAAiB,CAAC;EAClD;CACF,GAAG,CAAC,cAAc,CAAC;CAEnB,MAAM,gBAAA,GAAkCJ,MAAAA,YAAAA,EACrC,UAAUC,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA8EA,OAAO;EAAE,iBAAA,GAxELD,MAAAA,YAAAA,EACD,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":"sidebar.cjs","names":["createContext","createSlotComponent","sidebarStyle","useBreakpointValue","useValue","useSidebar","useMemo","SidebarDescendantsContext","SidebarContext","styled","useSidebarContext","useSplitChildren","mergeProps","useSidebarGroup","useValidChildren","useIncludesChildren","useLoadingComponent","useCallback","useSidebarItem","SidebarItemContext","Tooltip","Collapse","ChevronRightIcon","isValidElement","cloneElement","Children"],"sources":["../../../../src/components/sidebar/sidebar.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode } from \"react\"\nimport type {\n Breakpoint,\n ExtractStyleValue,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { ReactNodeOrFunction } from \"../../utils\"\nimport type { CollapseProps } from \"../collapse\"\nimport type { Loading } from \"../loading\"\nimport type { WithTransitionProps } from \"../motion\"\nimport type {\n UseSidebarGroupProps,\n UseSidebarGroupReturn,\n UseSidebarItemProps,\n UseSidebarItemReturn,\n UseSidebarProps,\n UseSidebarReturn,\n} from \"./use-sidebar\"\nimport {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useMemo,\n} from \"react\"\nimport { createSlotComponent, mergeProps, styled } from \"../../core\"\nimport { useBreakpointValue } from \"../../hooks/use-breakpoint\"\nimport { useValue } from \"../../hooks/use-value\"\nimport {\n cast,\n createContext,\n dataAttr,\n isObject,\n isString,\n runIfFn,\n useIncludesChildren,\n useSplitChildren,\n useValidChildren,\n} from \"../../utils\"\nimport { Collapse } from \"../collapse\"\nimport { Drawer } from \"../drawer\"\nimport { ChevronRightIcon } from \"../icon\"\nimport { useLoadingComponent } from \"../loading\"\nimport { Tooltip, type TooltipProps } from \"../tooltip\"\nimport { sidebarStyle, type SidebarStyle } from \"./sidebar.style\"\nimport {\n SidebarContext,\n SidebarDescendantsContext,\n SidebarItemContext,\n useSidebar,\n useSidebarContext,\n useSidebarGroup,\n useSidebarItem,\n} from \"./use-sidebar\"\n\ninterface SidebarItemCallBackProps {\n disabled?: boolean\n expanded?: boolean\n}\n\ntype SidebarItemReactNode =\n | ReactNodeOrFunction<SidebarItemCallBackProps>\n | {\n group: ReactNodeOrFunction<SidebarItemCallBackProps>\n item?: ReactNodeOrFunction<SidebarItemCallBackProps>\n }\n | {\n item: ReactNodeOrFunction<SidebarItemCallBackProps>\n group?: ReactNodeOrFunction<SidebarItemCallBackProps>\n }\n\ninterface SidebarItemSharedRenderProps\n extends\n Pick<SidebarItemProps, \"label\">,\n Pick<\n UseSidebarItemReturn,\n | \"expanded\"\n | \"expandedValue\"\n | \"onExpandedChange\"\n | \"onSelectedChange\"\n | \"selected\"\n | \"selectedValue\"\n | \"value\"\n > {\n itemProps: HTMLStyledProps<\"li\">\n linkProps: HTMLStyledProps<\"a\">\n triggerProps: HTMLStyledProps<\"button\">\n endElement?: ReactNode\n startElement?: ReactNode\n}\n\ninterface SidebarItemRenderProps\n extends\n PropsWithChildren,\n Omit<SidebarItemSharedRenderProps, \"endElement\" | \"startElement\">,\n Pick<\n UseSidebarItemReturn,\n | \"group\"\n | \"groupLoading\"\n | \"groupOpen\"\n | \"onGroupClose\"\n | \"onGroupOpen\"\n | \"onGroupToggle\"\n > {\n endElement: { group?: ReactNode; item?: ReactNode }\n startElement: { group?: ReactNode; item?: ReactNode }\n indicator?: ReactNode\n link?: ReactNode\n trigger?: ReactNode\n}\n\ninterface SidebarItemLinkRenderProps extends Omit<\n SidebarItemSharedRenderProps,\n \"itemProps\" | \"triggerProps\"\n> {}\n\ninterface SidebarItemTriggerRenderProps\n extends\n Omit<SidebarItemSharedRenderProps, \"itemProps\" | \"linkProps\">,\n Pick<\n UseSidebarItemReturn,\n | \"groupLoading\"\n | \"groupOpen\"\n | \"onGroupClose\"\n | \"onGroupOpen\"\n | \"onGroupToggle\"\n > {\n indicator?: ReactNode\n}\n\ninterface SidebarItemRender {\n item?: ReactNodeOrFunction<SidebarItemRenderProps>\n link?: ReactNodeOrFunction<SidebarItemLinkRenderProps>\n trigger?: ReactNodeOrFunction<SidebarItemTriggerRenderProps>\n}\n\ninterface SidebarGroup extends Omit<SidebarGroupProps, \"children\" | \"value\"> {\n children: SidebarItemWithValue[]\n group: true\n}\n\nexport interface SidebarItemWithValue extends Omit<\n SidebarItemProps,\n \"children\"\n> {\n children?: SidebarItemWithValue[]\n}\n\nexport type SidebarItem = SidebarGroup | SidebarItemWithValue\n\nconst createKey = (props: SidebarItem, index: number) => {\n return \"value\" in props ? props.value || index : index\n}\n\nconst getReactNodeOrFunction = (\n type: \"group\" | \"item\",\n custom?: SidebarItemReactNode,\n root?: SidebarItemReactNode,\n): ReactNodeOrFunction<SidebarItemCallBackProps> => {\n if (isObject(custom) && (\"group\" in custom || \"item\" in custom))\n return custom[type]\n else if (custom) return custom\n else if (isObject(root) && (\"group\" in root || \"item\" in root))\n return root[type]\n else return root\n}\n\ninterface ComponentContext extends Pick<\n UseSidebarReturn,\n | \"getContentProps\"\n | \"getFooterProps\"\n | \"getHeaderProps\"\n | \"getSidePanelProps\"\n | \"getTriggerProps\"\n> {\n breakpoint: ExtractStyleValue<NonNullable<SidebarRootProps[\"breakpoint\"]>>\n mode: ExtractStyleValue<NonNullable<SidebarRootProps[\"mode\"]>>\n placement: ExtractStyleValue<NonNullable<SidebarRootProps[\"placement\"]>>\n}\n\ninterface GroupComponentContext\n extends\n Pick<SidebarGroupProps, \"contentProps\" | \"labelProps\">,\n Pick<UseSidebarGroupReturn, \"getContentProps\" | \"getLabelProps\"> {}\n\nconst [GroupComponentContext, useGroupComponentContext] =\n createContext<GroupComponentContext>({ name: \"GroupComponentContext\" })\n\ninterface ItemComponentContext {\n contentProps: SidebarItemContentProps\n endElementProps: SidebarItemEndElementProps\n indicatorProps: SidebarItemIndicatorProps\n labelProps: SidebarItemLabelProps\n startElementProps: SidebarItemStartElementProps\n tooltipProps: SidebarItemTooltipProps\n}\n\nconst [ItemComponentContext, useItemComponentContext] =\n createContext<ItemComponentContext>({ name: \"ItemComponentContext\" })\n\ninterface SidePanelComponentContext extends Pick<\n SidebarSidePanelProps,\n | \"animated\"\n | \"contentProps\"\n | \"endElement\"\n | \"endElementProps\"\n | \"footerProps\"\n | \"groupContentProps\"\n | \"groupProps\"\n | \"handleProps\"\n | \"headerProps\"\n | \"indicator\"\n | \"indicatorHidden\"\n | \"indicatorProps\"\n | \"itemContentProps\"\n | \"itemProps\"\n | \"items\"\n | \"labelProps\"\n | \"linkProps\"\n | \"loadingScheme\"\n | \"menuProps\"\n | \"render\"\n | \"startElement\"\n | \"startElementProps\"\n | \"tooltipProps\"\n | \"triggerProps\"\n> {}\n\nconst [SidePanelComponentContext, useSidePanelComponentContext] =\n createContext<SidePanelComponentContext>({\n name: \"SidePanelComponentContext\",\n })\n\nexport interface SidebarRootProps\n extends\n HTMLStyledProps<\"div\">,\n ThemeProps<SidebarStyle>,\n Omit<UseSidebarProps, \"mobile\"> {\n /**\n * The breakpoint to use for the sidebar. If `false`, the sidebar will be always visible.\n *\n * @default 'md'\n */\n breakpoint?: Exclude<Breakpoint, \"base\"> | false\n}\n\nconst {\n ComponentContext,\n PropsContext: SidebarPropsContext,\n useComponentContext,\n usePropsContext: useSidebarPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SidebarRootProps, SidebarStyle, ComponentContext>(\n \"sidebar\",\n sidebarStyle,\n)\n\nexport { SidebarPropsContext, useSidebarPropsContext }\n\n/**\n * `Sidebar` is a component that is used to display a list of items in a sidebar.\n *\n * @see https://yamada-ui.com/docs/components/sidebar\n */\nexport const SidebarRoot = withProvider<\n \"div\",\n SidebarRootProps,\n \"mode\" | \"placement\"\n>(\n ({\n breakpoint = \"md\",\n mode: modeProp = \"offcanvas\",\n placement: placementProp = \"start\",\n ...rest\n }) => {\n const mobile =\n useBreakpointValue<boolean | undefined>(\n breakpoint ? { [breakpoint]: true } : { base: false },\n ) ?? false\n const mode = useValue(modeProp)\n const placement = useValue(placementProp)\n const {\n descendants,\n expandedValue,\n open,\n selectedValue,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getRootProps,\n getSidePanelProps,\n getTriggerProps,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n } = useSidebar({ mobile, ...rest })\n const context = useMemo(\n () => ({\n expandedValue,\n mobile,\n open,\n selectedValue,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n }),\n [\n mobile,\n expandedValue,\n open,\n selectedValue,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n ],\n )\n const componentContext = useMemo(\n () => ({\n breakpoint,\n mode,\n placement,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getSidePanelProps,\n getTriggerProps,\n }),\n [\n breakpoint,\n mode,\n placement,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getSidePanelProps,\n getTriggerProps,\n ],\n )\n\n return (\n <SidebarDescendantsContext value={descendants}>\n <SidebarContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div data-group {...getRootProps()} />\n </ComponentContext>\n </SidebarContext>\n </SidebarDescendantsContext>\n )\n },\n \"root\",\n { transferProps: [\"mode\", \"placement\"] },\n)()\n\nexport interface SidebarMainPanelProps extends HTMLStyledProps {}\n\nexport const SidebarMainPanel = withContext<\"div\", SidebarMainPanelProps>(\n \"div\",\n \"mainPanel\",\n)()\n\nexport interface SidebarTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarTrigger = withContext<\"button\", SidebarTriggerProps>(\n \"button\",\n \"trigger\",\n)(undefined, (props) => {\n const { getTriggerProps } = useComponentContext()\n\n return { asChild: true, ...getTriggerProps(props) }\n})\n\nexport interface SidebarSidePanelProps\n extends\n Omit<HTMLStyledProps<\"aside\">, \"content\">,\n Pick<SidebarContentProps, \"items\">,\n Pick<\n SidebarItemProps,\n | \"animated\"\n | \"endElement\"\n | \"endElementProps\"\n | \"indicator\"\n | \"indicatorProps\"\n | \"labelProps\"\n | \"linkProps\"\n | \"loadingScheme\"\n | \"render\"\n | \"startElement\"\n | \"startElementProps\"\n | \"tooltipProps\"\n | \"triggerProps\"\n > {\n /**\n * The content of the sidebar.\n */\n content?: ReactNode\n /**\n * The footer of the sidebar.\n */\n footer?: ReactNode\n /**\n * The header of the sidebar.\n */\n header?: ReactNode\n /**\n * If `true`, hide the tree indicator icon for all items.\n *\n * @default false\n */\n indicatorHidden?: boolean\n /**\n * If `true`, the sidebar will be rendered with a handle.\n *\n * @default true\n */\n withHandle?: boolean\n /**\n * Props for the content component.\n */\n contentProps?: SidebarContentProps\n /**\n * Props for the drawer component.\n */\n drawerProps?: Omit<\n Drawer.RootProps,\n | \"body\"\n | \"cancel\"\n | \"children\"\n | \"footer\"\n | \"header\"\n | \"middle\"\n | \"onCancel\"\n | \"onClose\"\n | \"onMiddle\"\n | \"onOpen\"\n | \"onSuccess\"\n | \"open\"\n | \"success\"\n | \"title\"\n | \"trigger\"\n >\n /**\n * Props for the footer component.\n */\n footerProps?: SidebarFooterProps\n /**\n * Props for the group content component.\n */\n groupContentProps?: Omit<SidebarGroupContentProps, \"children\">\n /**\n * Props for the group component.\n */\n groupProps?: Omit<SidebarGroupProps, \"children\" | \"label\" | \"value\">\n /**\n * Props for the handle component.\n */\n handleProps?: SidebarHandleProps\n /**\n * Props for the header component.\n */\n headerProps?: SidebarHeaderProps\n /**\n * Props for the item content component.\n */\n itemContentProps?: SidebarItemContentProps\n /**\n * Props for the item component.\n */\n itemProps?: Omit<\n SidebarItemProps,\n \"children\" | \"items\" | \"label\" | \"open\" | \"value\"\n >\n /**\n * Props for the menu component.\n *\n * @default 'md'\n */\n menuProps?: SidebarMenuProps\n}\n\nexport const SidebarSidePanel = withContext<\"aside\", SidebarSidePanelProps>(\n ({\n animated = true,\n children,\n content,\n endElement,\n footer,\n header,\n indicator,\n indicatorHidden,\n items,\n loadingScheme,\n render,\n startElement,\n withHandle = true,\n contentProps,\n drawerProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ...rest\n }) => {\n const { mobile, open, onClose } = useSidebarContext()\n const { breakpoint, placement, getSidePanelProps } = useComponentContext()\n const [\n omittedChildren,\n customHeader,\n customContent,\n customFooter,\n customHandle,\n ] = useSplitChildren(\n children,\n SidebarHeader,\n SidebarContent,\n SidebarFooter,\n SidebarHandle,\n )\n const context = useMemo(\n () => ({\n animated,\n endElement,\n indicator,\n indicatorHidden,\n items,\n loadingScheme,\n render,\n startElement,\n contentProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n }),\n [\n animated,\n endElement,\n indicator,\n indicatorHidden,\n items,\n render,\n loadingScheme,\n startElement,\n contentProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ],\n )\n\n return (\n <SidePanelComponentContext value={context}>\n {mobile ? (\n <Drawer.Root\n size=\"sm\"\n autoFocus={false}\n duration={!animated ? 0 : undefined}\n open={open}\n placement={`inline-${placement}`}\n withCloseButton={false}\n portalProps={{ disabled: true }}\n onClose={onClose}\n {...drawerProps}\n >\n <Drawer.Content>\n {customHeader ??\n (header ? <SidebarHeader>{header}</SidebarHeader> : null)}\n\n {customContent ??\n (content || items ? (\n <SidebarContent>{content}</SidebarContent>\n ) : null)}\n\n {customFooter ??\n (footer ? <SidebarFooter>{footer}</SidebarFooter> : null)}\n </Drawer.Content>\n </Drawer.Root>\n ) : (\n <>\n <SidebarGap\n data-animated={dataAttr(animated)}\n display={\n breakpoint\n ? { base: undefined, [breakpoint]: \"none\" }\n : undefined\n }\n />\n\n <styled.aside\n data-animated={dataAttr(animated)}\n data-group\n display={\n breakpoint\n ? { base: undefined, [breakpoint]: \"none\" }\n : undefined\n }\n {...getSidePanelProps(rest)}\n >\n {customHeader ??\n (header ? <SidebarHeader>{header}</SidebarHeader> : null)}\n {customContent ??\n (content || items ? (\n <SidebarContent>{content}</SidebarContent>\n ) : null)}\n {customFooter ??\n (footer ? <SidebarFooter>{footer}</SidebarFooter> : null)}\n {customHandle ?? (withHandle ? <SidebarHandle /> : null)}\n\n {omittedChildren}\n </styled.aside>\n </>\n )}\n </SidePanelComponentContext>\n )\n },\n \"sidePanel\",\n)()\n\ninterface SidebarGapProps extends HTMLStyledProps<\"div\"> {}\n\nconst SidebarGap = withContext<\"div\", SidebarGapProps>(\"div\", \"gap\")()\n\nexport interface SidebarHeaderProps extends HTMLStyledProps<\"header\"> {}\n\nexport const SidebarHeader = withContext<\"header\", SidebarHeaderProps>(\n \"header\",\n \"header\",\n)(undefined, (props) => {\n const { getHeaderProps } = useComponentContext()\n const { headerProps } = useSidePanelComponentContext()\n\n return getHeaderProps(mergeProps(headerProps, props)())\n})\n\nexport interface SidebarFooterProps extends HTMLStyledProps<\"footer\"> {}\n\nexport const SidebarFooter = withContext<\"footer\", SidebarFooterProps>(\n \"footer\",\n \"footer\",\n)(undefined, (props) => {\n const { getFooterProps } = useComponentContext()\n const { footerProps } = useSidePanelComponentContext()\n\n return getFooterProps(mergeProps(footerProps, props)())\n})\n\nexport interface SidebarContentProps extends HTMLStyledProps<\"ul\"> {\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItem[]\n}\n\nexport const SidebarContent = withContext<\"ul\", SidebarContentProps>(\n ({ children, items, ...rest }) => {\n const { getContentProps } = useComponentContext()\n const { items: rootItems, contentProps } = useSidePanelComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (items ?? rootItems)?.map((props, index) => {\n const key = createKey(props, index)\n\n if (\"group\" in props) {\n const { children, group: _, ...rest } = props\n\n return <SidebarGroup key={key} items={children} {...rest} />\n } else {\n const { children, ...rest } = props\n\n return <SidebarItem key={key} items={children} {...rest} />\n }\n })\n }, [children, items, rootItems])\n\n return (\n <styled.ul {...getContentProps(mergeProps(contentProps, rest)())}>\n {computedChildren}\n </styled.ul>\n )\n },\n \"content\",\n)()\n\nexport interface SidebarHandleProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarHandle = withContext<\"button\", SidebarHandleProps>(\n (props) => {\n const { handleProps } = useSidePanelComponentContext()\n\n return (\n <SidebarTrigger {...mergeProps(handleProps, props)()}>\n <styled.button tabIndex={-1} />\n </SidebarTrigger>\n )\n },\n \"handle\",\n)()\n\nexport interface SidebarGroupProps\n extends\n Omit<HTMLStyledProps<\"li\">, \"content\" | \"value\">,\n UseSidebarGroupProps {\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItemWithValue[]\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the content component.\n */\n contentProps?: Omit<SidebarGroupContentProps, \"children\">\n /**\n * Props for the label component.\n */\n labelProps?: HTMLStyledProps<\"span\">\n}\n\nexport const SidebarGroup = withContext<\"li\", SidebarGroupProps>(\n ({\n children,\n items,\n label,\n value: valueProp = isString(label) ? label : undefined,\n contentProps,\n labelProps,\n ...rest\n }) => {\n const { groupProps } = useSidePanelComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [children, items])\n const [omittedChildren, customLabel, customContent] = useSplitChildren(\n computedChildren,\n SidebarGroupLabel,\n SidebarGroupContent,\n )\n const { getContentProps, getLabelProps, getRootProps } = useSidebarGroup({\n ...mergeProps(groupProps, rest)(),\n value: valueProp,\n })\n const context = useMemo(\n () => ({ contentProps, getContentProps, getLabelProps, labelProps }),\n [getLabelProps, labelProps, getContentProps, contentProps],\n )\n\n return (\n <GroupComponentContext value={context}>\n <styled.li {...getRootProps()}>\n {customLabel ??\n (label ? <SidebarGroupLabel>{label}</SidebarGroupLabel> : null)}\n {customContent ?? (\n <SidebarGroupContent>{omittedChildren}</SidebarGroupContent>\n )}\n </styled.li>\n </GroupComponentContext>\n )\n },\n \"group\",\n)()\n\nexport interface SidebarGroupLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SidebarGroupLabel = withContext<\"span\", SidebarGroupLabelProps>(\n \"span\",\n \"groupLabel\",\n)(undefined, (props) => {\n const { getLabelProps, labelProps } = useGroupComponentContext()\n\n return getLabelProps(mergeProps(labelProps, props)())\n})\n\nexport interface SidebarGroupContentProps extends HTMLStyledProps<\"div\"> {}\n\nexport const SidebarGroupContent = withContext<\"div\", SidebarGroupContentProps>(\n \"div\",\n \"groupContent\",\n)(undefined, ({ children, ...rest }) => {\n const validChildren = useValidChildren(children)\n const list = useIncludesChildren(validChildren, SidebarItem)\n const { groupContentProps } = useSidePanelComponentContext()\n const { contentProps, getContentProps } = useGroupComponentContext()\n\n return {\n as: list ? \"ul\" : \"div\",\n children,\n ...getContentProps(mergeProps(groupContentProps, contentProps, rest)()),\n }\n})\n\nexport interface SidebarMenuProps extends HTMLStyledProps<\"div\"> {}\n\nexport const SidebarMenu = withContext<\"div\", SidebarMenuProps>(\"div\", \"menu\")(\n undefined,\n (props) => {\n const { menuProps } = useSidePanelComponentContext()\n\n return { \"data-menu\": \"\", ...mergeProps(menuProps, props)() }\n },\n)\n\nexport interface SidebarMenuButtonProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarMenuButton = withContext<\"button\", SidebarMenuButtonProps>(\n \"button\",\n [\"menu\", \"button\"],\n)(undefined, (props) => {\n const { open } = useSidebarContext()\n const { mode } = useComponentContext()\n const { menuProps } = useSidePanelComponentContext()\n const offcanvas = mode === \"offcanvas\"\n const { disabled, ...rest } = mergeProps(menuProps, props)()\n\n return {\n \"data-menu\": \"\",\n disabled,\n ...rest,\n tabIndex: (!offcanvas || open) && !disabled ? 0 : -1,\n }\n})\n\nexport interface SidebarItemProps\n extends\n Omit<HTMLStyledProps<\"li\">, \"value\">,\n Omit<UseSidebarItemProps, \"asyncChildren\"> {\n /**\n * The label to display in the item.\n */\n label: ReactNode\n /**\n * If `true`, the sidebar item will be animated.\n *\n * @default true\n */\n animated?: boolean\n /**\n * The element to display at the end of the item.\n */\n endElement?: SidebarItemReactNode\n /**\n * The sidebar item indicator icon to use.\n */\n indicator?: ReactNodeOrFunction<SidebarItemCallBackProps>\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItemWithValue[]\n /**\n * The loading scheme.\n *\n * @default 'oval'\n */\n loadingScheme?: Loading.Scheme\n /**\n * If provided, the sidebar item will be rendered with custom components.\n */\n render?: SidebarItemRender\n /**\n * The element to display at the start of the item.\n */\n startElement?: SidebarItemReactNode\n /**\n * Props for the content component.\n */\n contentProps?: Omit<SidebarItemContentProps, \"children\">\n /**\n * Props for the end component.\n */\n endElementProps?: SidebarItemEndElementProps\n /**\n * Props for the indicator component.\n */\n indicatorProps?: SidebarItemIndicatorProps\n /**\n * Props for the label component.\n */\n labelProps?: SidebarItemLabelProps\n /**\n * Props for the link component.\n */\n linkProps?: SidebarItemLinkProps\n /**\n * Props for the start component.\n */\n startElementProps?: SidebarItemStartElementProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: Omit<SidebarItemTooltipProps, \"children\" | \"content\">\n /**\n * Props for the trigger component.\n */\n triggerProps?: SidebarItemTriggerProps\n /**\n * If provided, the sidebar item will be rendered as an async sidebar item.\n */\n asyncChildren?: () => Promise<SidebarItemWithValue[]>\n}\n\nexport const SidebarItem = withContext<\"li\", SidebarItemProps>(\n ({\n animated: animatedProp,\n asyncChildren: asyncChildrenProp,\n children: childrenProp,\n endElement,\n indicator: indicatorProp,\n items,\n label,\n loadingScheme,\n render,\n startElement,\n contentProps,\n endElementProps,\n indicatorProps,\n labelProps,\n linkProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ...rest\n }) => {\n const { mode } = useComponentContext()\n const offcanvas = mode === \"offcanvas\"\n const componentContext = useSidePanelComponentContext()\n const Loading = useLoadingComponent(\n loadingScheme ?? componentContext.loadingScheme ?? \"oval\",\n )\n const computedChildren = useMemo(() => {\n if (childrenProp) return childrenProp\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [childrenProp, items])\n const asyncChildren = useCallback(async () => {\n const items = await asyncChildrenProp?.()\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [asyncChildrenProp])\n const {\n branchOpen,\n children,\n disabled,\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n open,\n selected,\n selectedValue,\n value,\n getContentProps,\n getIndicatorProps,\n getItemProps,\n getLabelProps,\n getLinkProps,\n getTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n } = useSidebarItem({\n ...mergeProps(componentContext.itemProps, rest)(),\n asyncChildren: asyncChildrenProp ? asyncChildren : undefined,\n children: computedChildren,\n })\n const animated = animatedProp ?? componentContext.animated ?? true\n const tabIndex = offcanvas\n ? open && expanded && !disabled\n ? 0\n : -1\n : expanded && !disabled\n ? 0\n : -1\n const callbackProps = useMemo(\n () => ({ disabled, expanded: groupOpen }),\n [disabled, groupOpen],\n )\n const mergedTriggerProps = useMemo(() => {\n return getTriggerProps({\n tabIndex,\n ...mergeProps(componentContext.triggerProps, triggerProps)(),\n }) as SidebarItemTriggerProps\n }, [getTriggerProps, tabIndex, componentContext.triggerProps, triggerProps])\n const mergedLinkProps = useMemo(() => {\n return getLinkProps({\n tabIndex,\n ...mergeProps(componentContext.linkProps, linkProps)(),\n }) as SidebarItemLinkProps\n }, [getLinkProps, tabIndex, componentContext.linkProps, linkProps])\n const indicator = useMemo<ReactNode>(\n () => runIfFn(indicatorProp ?? componentContext.indicator, callbackProps),\n [indicatorProp, componentContext.indicator, callbackProps],\n )\n const groupStartElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"group\",\n startElement,\n componentContext.startElement,\n ),\n callbackProps,\n ),\n [startElement, componentContext.startElement, callbackProps],\n )\n const groupEndElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"group\",\n endElement,\n componentContext.endElement,\n ),\n callbackProps,\n ),\n [endElement, componentContext.endElement, callbackProps],\n )\n const itemStartElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"item\",\n startElement,\n componentContext.startElement,\n ),\n callbackProps,\n ),\n [startElement, componentContext.startElement, callbackProps],\n )\n const itemEndElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"item\",\n endElement,\n componentContext.endElement,\n ),\n callbackProps,\n ),\n [endElement, componentContext.endElement, callbackProps],\n )\n const trigger = useMemo<ReactNode>(\n () =>\n runIfFn(render?.trigger ?? componentContext.render?.trigger, {\n endElement: groupEndElement,\n expanded,\n expandedValue,\n groupLoading,\n groupOpen,\n indicator,\n label,\n selected,\n selectedValue,\n startElement: groupStartElement,\n value,\n triggerProps: mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n }),\n [\n render?.trigger,\n componentContext.render?.trigger,\n groupEndElement,\n expanded,\n expandedValue,\n groupLoading,\n groupOpen,\n indicator,\n label,\n selected,\n selectedValue,\n groupStartElement,\n value,\n mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n ],\n )\n const link = useMemo<ReactNode>(\n () =>\n runIfFn(render?.link ?? componentContext.render?.link, {\n endElement: itemEndElement,\n expanded,\n expandedValue,\n label,\n selected,\n selectedValue,\n startElement: itemStartElement,\n value,\n linkProps: mergedLinkProps,\n onExpandedChange,\n onSelectedChange,\n }),\n [\n render?.link,\n componentContext.render?.link,\n itemEndElement,\n expanded,\n expandedValue,\n label,\n selected,\n selectedValue,\n itemStartElement,\n value,\n mergedLinkProps,\n onExpandedChange,\n onSelectedChange,\n ],\n )\n const item = useMemo<ReactNode>(\n () =>\n runIfFn(render?.item ?? componentContext.render?.item, {\n children,\n endElement: { group: groupEndElement, item: itemEndElement },\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n indicator,\n label,\n link,\n selected,\n selectedValue,\n startElement: { group: groupStartElement, item: itemStartElement },\n trigger,\n value,\n itemProps: getItemProps() as HTMLStyledProps<\"li\">,\n linkProps: mergedLinkProps,\n triggerProps: mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n }),\n [\n render?.item,\n componentContext.render?.item,\n children,\n groupEndElement,\n itemEndElement,\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n indicator,\n label,\n link,\n selected,\n selectedValue,\n groupStartElement,\n itemStartElement,\n trigger,\n value,\n getItemProps,\n mergedLinkProps,\n mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n ],\n )\n const context = useMemo(\n () => ({ branchOpen, groupOpen }),\n [branchOpen, groupOpen],\n )\n const itemComponentContext = useMemo(\n () => ({\n contentProps: {\n duration: !animated ? 0 : undefined,\n open: groupOpen,\n ...getContentProps(\n mergeProps(componentContext.itemContentProps, contentProps)(),\n ),\n },\n endElementProps: mergeProps(\n componentContext.endElementProps,\n endElementProps,\n )(),\n indicatorProps: getIndicatorProps({\n \"data-animated\": dataAttr(animated),\n ...mergeProps(componentContext.indicatorProps, indicatorProps)(),\n }) as SidebarItemIndicatorProps,\n labelProps: getLabelProps(\n mergeProps(componentContext.labelProps, labelProps)(),\n ) as SidebarItemLabelProps,\n startElementProps: mergeProps(\n componentContext.startElementProps,\n startElementProps,\n )(),\n tooltipProps: {\n content: label,\n disabled: open,\n ...mergeProps(componentContext.tooltipProps, tooltipProps)(),\n },\n }),\n [\n animated,\n componentContext.endElementProps,\n componentContext.indicatorProps,\n componentContext.itemContentProps,\n componentContext.labelProps,\n componentContext.startElementProps,\n componentContext.tooltipProps,\n contentProps,\n endElementProps,\n getContentProps,\n getIndicatorProps,\n getLabelProps,\n groupOpen,\n indicatorProps,\n label,\n labelProps,\n open,\n startElementProps,\n tooltipProps,\n ],\n )\n\n return (\n <SidebarItemContext value={context}>\n <ItemComponentContext value={itemComponentContext}>\n {item ?? (\n <styled.li {...getItemProps()}>\n {group ? (\n <>\n {trigger ?? (\n <SidebarItemTrigger {...mergedTriggerProps}>\n {groupStartElement ? (\n <SidebarItemStartElement>\n {groupStartElement}\n </SidebarItemStartElement>\n ) : null}\n {label ? (\n <SidebarItemLabel>{label}</SidebarItemLabel>\n ) : null}\n {groupEndElement ? (\n <SidebarItemEndElement>\n {groupEndElement}\n </SidebarItemEndElement>\n ) : null}\n <SidebarItemIndicator>\n {groupLoading ? (\n <Loading />\n ) : (\n runIfFn(indicator, callbackProps)\n )}\n </SidebarItemIndicator>\n </SidebarItemTrigger>\n )}\n\n <SidebarItemContent>{children}</SidebarItemContent>\n </>\n ) : (\n (link ?? (\n <SidebarItemLink {...mergedLinkProps}>\n {itemStartElement ? (\n <SidebarItemStartElement>\n {itemStartElement}\n </SidebarItemStartElement>\n ) : null}\n {label ? (\n <SidebarItemLabel>{label}</SidebarItemLabel>\n ) : null}\n {itemEndElement ? (\n <SidebarItemEndElement>\n {itemEndElement}\n </SidebarItemEndElement>\n ) : null}\n </SidebarItemLink>\n ))\n )}\n </styled.li>\n )}\n </ItemComponentContext>\n </SidebarItemContext>\n )\n },\n \"item\",\n)()\n\ninterface SidebarItemTooltipProps extends TooltipProps {}\n\nconst SidebarItemTooltip: FC<SidebarItemTooltipProps> = (props) => {\n const { tooltipProps } = useItemComponentContext()\n const { children, disabled, ...rest } = mergeProps(tooltipProps, props)()\n const { mode, placement } = useComponentContext()\n const offcanvas = mode === \"offcanvas\"\n\n if (offcanvas || disabled) return children\n else\n return (\n <Tooltip\n closeOnClick={false}\n gutter={16}\n placement={`center-${placement === \"start\" ? \"end\" : \"start\"}`}\n {...rest}\n >\n {children}\n </Tooltip>\n )\n}\n\nexport interface SidebarItemTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarItemTrigger = withContext<\n \"button\",\n SidebarItemTriggerProps\n>((props) => {\n return (\n <SidebarItemTooltip>\n <styled.button {...props} />\n </SidebarItemTooltip>\n )\n}, \"itemTrigger\")()\n\nexport interface SidebarItemLinkProps extends HTMLStyledProps<\"a\"> {}\n\nexport const SidebarItemLink = withContext<\"a\", SidebarItemLinkProps>(\n (props) => {\n return (\n <SidebarItemTooltip>\n <styled.a {...props} />\n </SidebarItemTooltip>\n )\n },\n \"itemLink\",\n)()\n\nexport interface SidebarItemContentProps\n extends\n Omit<HTMLStyledProps<\"ul\">, \"transition\">,\n Pick<CollapseProps, \"animationOpacity\" | keyof WithTransitionProps> {}\n\nexport const SidebarItemContent = withContext<\"ul\", SidebarItemContentProps>(\n (props) => {\n const { contentProps } = useItemComponentContext()\n\n return (\n <Collapse\n as=\"ul\"\n {...cast<CollapseProps>(mergeProps(contentProps, props)())}\n />\n )\n },\n \"itemContent\",\n)()\n\nexport interface SidebarItemIndicatorProps extends HTMLStyledProps<\"svg\"> {}\n\nexport const SidebarItemIndicator = withContext<\n \"svg\",\n SidebarItemIndicatorProps\n>(({ children = <ChevronRightIcon />, ...rest }) => {\n const { indicatorHidden } = useSidePanelComponentContext()\n\n if (indicatorHidden) return null\n\n if (isValidElement<HTMLProps<\"svg\">>(children))\n return cloneElement(children, { ...rest, ...children.props })\n\n return Children.count(children) > 1 ? Children.only(null) : null\n}, \"itemIndicator\")(undefined, (props) => {\n const { indicatorProps } = useItemComponentContext()\n\n return mergeProps(indicatorProps, props)()\n})\n\nexport interface SidebarItemStartElementProps extends HTMLStyledProps {}\n\nexport const SidebarItemStartElement = withContext<\n \"div\",\n SidebarItemStartElementProps\n>(\"div\", {\n name: \"ItemStartElement\",\n slot: [\"itemElement\", \"start\"],\n})(undefined, (props) => {\n const { startElementProps } = useItemComponentContext()\n\n return mergeProps(startElementProps, props)()\n})\n\nexport interface SidebarItemEndElementProps extends HTMLStyledProps {}\n\nexport const SidebarItemEndElement = withContext<\n \"div\",\n SidebarItemEndElementProps\n>(\"div\", {\n name: \"ItemEndElement\",\n slot: [\"itemElement\", \"end\"],\n})(undefined, (props) => {\n const { endElementProps } = useItemComponentContext()\n\n return mergeProps(endElementProps, props)()\n})\n\nexport interface SidebarItemLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SidebarItemLabel = withContext<\"span\", SidebarItemLabelProps>(\n \"span\",\n \"itemLabel\",\n)(undefined, (props) => {\n const { labelProps } = useItemComponentContext()\n\n return mergeProps(labelProps, props)()\n})\n"],"mappings":"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3D,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA,cAAc;EACd;EACA;EACA;EACA;EACA;CACF,CAAC,GACH;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,QAAA,GAAOA,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cAET,QAAA,CAAQ,QAAQ,QAAQ,iBAAiB,QAAQ,MAAM;EACrD,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA,WAAW;EACX;EACA;CACF,CAAC,GACH;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,QAAA,GAAOA,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cAET,QAAA,CAAQ,QAAQ,QAAQ,iBAAiB,QAAQ,MAAM;EACrD;EACA,YAAY;GAAE,OAAO;GAAiB,MAAM;EAAe;EAC3D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;GAAE,OAAO;GAAmB,MAAM;EAAiB;EACjE;EACA;EACA,WAAW,aAAa;EACxB,WAAW;EACX,cAAc;EACd;EACA;EACA;EACA;EACA;CACF,CAAC,GACH;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,WAAA,GAAUA,MAAAA,QAAAA,QACP;EAAE;EAAY;CAAU,IAC/B,CAAC,YAAY,SAAS,CACxB;CACA,MAAM,wBAAA,GAAuBA,MAAAA,QAAAA,QACpB;EACL,cAAc;GACZ,UAAU,CAAC,WAAW,IAAI,KAAA;GAC1B,MAAM;GACN,GAAG,gBACDM,cAAAA,WAAW,iBAAiB,kBAAkB,YAA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"}
|
|
1
|
+
{"version":3,"file":"sidebar.cjs","names":["createContext","createSlotComponent","sidebarStyle","useBreakpointValue","useValue","useSidebar","useMemo","SidebarDescendantsContext","SidebarContext","styled","useSidebarContext","useSplitChildren","mergeProps","useSidebarGroup","useValidChildren","useIncludesChildren","useLoadingComponent","useCallback","useSidebarItem","SidebarItemContext","Tooltip","Collapse","ChevronRightIcon","isValidElement","cloneElement","Children"],"sources":["../../../../src/components/sidebar/sidebar.tsx"],"sourcesContent":["\"use client\"\n\nimport type { FC, PropsWithChildren, ReactNode } from \"react\"\nimport type {\n Breakpoint,\n ExtractStyleValue,\n HTMLProps,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { ReactNodeOrFunction } from \"../../utils\"\nimport type { CollapseProps } from \"../collapse\"\nimport type { Loading } from \"../loading\"\nimport type { WithTransitionProps } from \"../motion\"\nimport type { TooltipProps } from \"../tooltip\"\nimport type { SidebarStyle } from \"./sidebar.style\"\nimport type {\n UseSidebarGroupProps,\n UseSidebarGroupReturn,\n UseSidebarItemProps,\n UseSidebarItemReturn,\n UseSidebarProps,\n UseSidebarReturn,\n} from \"./use-sidebar\"\nimport {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useMemo,\n} from \"react\"\nimport { createSlotComponent, mergeProps, styled } from \"../../core\"\nimport { useBreakpointValue } from \"../../hooks/use-breakpoint\"\nimport { useValue } from \"../../hooks/use-value\"\nimport {\n cast,\n createContext,\n dataAttr,\n isObject,\n isString,\n runIfFn,\n useIncludesChildren,\n useSplitChildren,\n useValidChildren,\n} from \"../../utils\"\nimport { Collapse } from \"../collapse\"\nimport { Drawer } from \"../drawer\"\nimport { ChevronRightIcon } from \"../icon\"\nimport { useLoadingComponent } from \"../loading\"\nimport { Tooltip } from \"../tooltip\"\nimport { sidebarStyle } from \"./sidebar.style\"\nimport {\n SidebarContext,\n SidebarDescendantsContext,\n SidebarItemContext,\n useSidebar,\n useSidebarContext,\n useSidebarGroup,\n useSidebarItem,\n} from \"./use-sidebar\"\n\ninterface SidebarItemCallBackProps {\n disabled?: boolean\n expanded?: boolean\n}\n\ntype SidebarItemReactNode =\n | ReactNodeOrFunction<SidebarItemCallBackProps>\n | {\n group: ReactNodeOrFunction<SidebarItemCallBackProps>\n item?: ReactNodeOrFunction<SidebarItemCallBackProps>\n }\n | {\n item: ReactNodeOrFunction<SidebarItemCallBackProps>\n group?: ReactNodeOrFunction<SidebarItemCallBackProps>\n }\n\ninterface SidebarItemSharedRenderProps\n extends\n Pick<SidebarItemProps, \"label\">,\n Pick<\n UseSidebarItemReturn,\n | \"expanded\"\n | \"expandedValue\"\n | \"onExpandedChange\"\n | \"onSelectedChange\"\n | \"selected\"\n | \"selectedValue\"\n | \"value\"\n > {\n itemProps: HTMLStyledProps<\"li\">\n linkProps: HTMLStyledProps<\"a\">\n triggerProps: HTMLStyledProps<\"button\">\n endElement?: ReactNode\n startElement?: ReactNode\n}\n\ninterface SidebarItemRenderProps\n extends\n PropsWithChildren,\n Omit<SidebarItemSharedRenderProps, \"endElement\" | \"startElement\">,\n Pick<\n UseSidebarItemReturn,\n | \"group\"\n | \"groupLoading\"\n | \"groupOpen\"\n | \"onGroupClose\"\n | \"onGroupOpen\"\n | \"onGroupToggle\"\n > {\n endElement: { group?: ReactNode; item?: ReactNode }\n startElement: { group?: ReactNode; item?: ReactNode }\n indicator?: ReactNode\n link?: ReactNode\n trigger?: ReactNode\n}\n\ninterface SidebarItemLinkRenderProps extends Omit<\n SidebarItemSharedRenderProps,\n \"itemProps\" | \"triggerProps\"\n> {}\n\ninterface SidebarItemTriggerRenderProps\n extends\n Omit<SidebarItemSharedRenderProps, \"itemProps\" | \"linkProps\">,\n Pick<\n UseSidebarItemReturn,\n | \"groupLoading\"\n | \"groupOpen\"\n | \"onGroupClose\"\n | \"onGroupOpen\"\n | \"onGroupToggle\"\n > {\n indicator?: ReactNode\n}\n\ninterface SidebarItemRender {\n item?: ReactNodeOrFunction<SidebarItemRenderProps>\n link?: ReactNodeOrFunction<SidebarItemLinkRenderProps>\n trigger?: ReactNodeOrFunction<SidebarItemTriggerRenderProps>\n}\n\ninterface SidebarGroup extends Omit<SidebarGroupProps, \"children\" | \"value\"> {\n children: SidebarItemWithValue[]\n group: true\n}\n\nexport interface SidebarItemWithValue extends Omit<\n SidebarItemProps,\n \"children\"\n> {\n children?: SidebarItemWithValue[]\n}\n\nexport type SidebarItem = SidebarGroup | SidebarItemWithValue\n\nconst createKey = (props: SidebarItem, index: number) => {\n return \"value\" in props ? props.value || index : index\n}\n\nconst getReactNodeOrFunction = (\n type: \"group\" | \"item\",\n custom?: SidebarItemReactNode,\n root?: SidebarItemReactNode,\n): ReactNodeOrFunction<SidebarItemCallBackProps> => {\n if (isObject(custom) && (\"group\" in custom || \"item\" in custom))\n return custom[type]\n else if (custom) return custom\n else if (isObject(root) && (\"group\" in root || \"item\" in root))\n return root[type]\n else return root\n}\n\ninterface ComponentContext extends Pick<\n UseSidebarReturn,\n | \"getContentProps\"\n | \"getFooterProps\"\n | \"getHeaderProps\"\n | \"getSidePanelProps\"\n | \"getTriggerProps\"\n> {\n breakpoint: ExtractStyleValue<NonNullable<SidebarRootProps[\"breakpoint\"]>>\n mode: ExtractStyleValue<NonNullable<SidebarRootProps[\"mode\"]>>\n placement: ExtractStyleValue<NonNullable<SidebarRootProps[\"placement\"]>>\n}\n\ninterface GroupComponentContext\n extends\n Pick<SidebarGroupProps, \"contentProps\" | \"labelProps\">,\n Pick<UseSidebarGroupReturn, \"getContentProps\" | \"getLabelProps\"> {}\n\nconst [GroupComponentContext, useGroupComponentContext] =\n createContext<GroupComponentContext>({ name: \"GroupComponentContext\" })\n\ninterface ItemComponentContext {\n contentProps: SidebarItemContentProps\n endElementProps: SidebarItemEndElementProps\n indicatorProps: SidebarItemIndicatorProps\n labelProps: SidebarItemLabelProps\n startElementProps: SidebarItemStartElementProps\n tooltipProps: SidebarItemTooltipProps\n}\n\nconst [ItemComponentContext, useItemComponentContext] =\n createContext<ItemComponentContext>({ name: \"ItemComponentContext\" })\n\ninterface SidePanelComponentContext extends Pick<\n SidebarSidePanelProps,\n | \"animated\"\n | \"contentProps\"\n | \"endElement\"\n | \"endElementProps\"\n | \"footerProps\"\n | \"groupContentProps\"\n | \"groupProps\"\n | \"handleProps\"\n | \"headerProps\"\n | \"indicator\"\n | \"indicatorHidden\"\n | \"indicatorProps\"\n | \"itemContentProps\"\n | \"itemProps\"\n | \"items\"\n | \"labelProps\"\n | \"linkProps\"\n | \"loadingScheme\"\n | \"menuProps\"\n | \"render\"\n | \"startElement\"\n | \"startElementProps\"\n | \"tooltipProps\"\n | \"triggerProps\"\n> {}\n\nconst [SidePanelComponentContext, useSidePanelComponentContext] =\n createContext<SidePanelComponentContext>({\n name: \"SidePanelComponentContext\",\n })\n\nexport interface SidebarRootProps\n extends\n HTMLStyledProps<\"div\">,\n ThemeProps<SidebarStyle>,\n Omit<UseSidebarProps, \"mobile\"> {\n /**\n * The breakpoint to use for the sidebar. If `false`, the sidebar will be always visible.\n *\n * @default 'md'\n */\n breakpoint?: Exclude<Breakpoint, \"base\"> | false\n}\n\nconst {\n ComponentContext,\n PropsContext: SidebarPropsContext,\n useComponentContext,\n usePropsContext: useSidebarPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<SidebarRootProps, SidebarStyle, ComponentContext>(\n \"sidebar\",\n sidebarStyle,\n)\n\nexport { SidebarPropsContext, useSidebarPropsContext }\n\n/**\n * `Sidebar` is a component that is used to display a list of items in a sidebar.\n *\n * @see https://yamada-ui.com/docs/components/sidebar\n */\nexport const SidebarRoot = withProvider<\n \"div\",\n SidebarRootProps,\n \"mode\" | \"placement\"\n>(\n ({\n breakpoint = \"md\",\n mode: modeProp = \"offcanvas\",\n placement: placementProp = \"start\",\n ...rest\n }) => {\n const mobile =\n useBreakpointValue<boolean | undefined>(\n breakpoint ? { [breakpoint]: true } : { base: false },\n ) ?? false\n const mode = useValue(modeProp)\n const placement = useValue(placementProp)\n const {\n descendants,\n expandedValue,\n open,\n selectedValue,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getRootProps,\n getSidePanelProps,\n getTriggerProps,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n } = useSidebar({ mobile, ...rest })\n const context = useMemo(\n () => ({\n expandedValue,\n mobile,\n open,\n selectedValue,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n }),\n [\n mobile,\n expandedValue,\n open,\n selectedValue,\n onClose,\n onExpandedChange,\n onOpen,\n onSelectedChange,\n onToggle,\n ],\n )\n const componentContext = useMemo(\n () => ({\n breakpoint,\n mode,\n placement,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getSidePanelProps,\n getTriggerProps,\n }),\n [\n breakpoint,\n mode,\n placement,\n getContentProps,\n getFooterProps,\n getHeaderProps,\n getSidePanelProps,\n getTriggerProps,\n ],\n )\n\n return (\n <SidebarDescendantsContext value={descendants}>\n <SidebarContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div data-group {...getRootProps()} />\n </ComponentContext>\n </SidebarContext>\n </SidebarDescendantsContext>\n )\n },\n \"root\",\n { transferProps: [\"mode\", \"placement\"] },\n)()\n\nexport interface SidebarMainPanelProps extends HTMLStyledProps {}\n\nexport const SidebarMainPanel = withContext<\"div\", SidebarMainPanelProps>(\n \"div\",\n \"mainPanel\",\n)()\n\nexport interface SidebarTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarTrigger = withContext<\"button\", SidebarTriggerProps>(\n \"button\",\n \"trigger\",\n)(undefined, (props) => {\n const { getTriggerProps } = useComponentContext()\n\n return { asChild: true, ...getTriggerProps(props) }\n})\n\nexport interface SidebarSidePanelProps\n extends\n Omit<HTMLStyledProps<\"aside\">, \"content\">,\n Pick<SidebarContentProps, \"items\">,\n Pick<\n SidebarItemProps,\n | \"animated\"\n | \"endElement\"\n | \"endElementProps\"\n | \"indicator\"\n | \"indicatorProps\"\n | \"labelProps\"\n | \"linkProps\"\n | \"loadingScheme\"\n | \"render\"\n | \"startElement\"\n | \"startElementProps\"\n | \"tooltipProps\"\n | \"triggerProps\"\n > {\n /**\n * The content of the sidebar.\n */\n content?: ReactNode\n /**\n * The footer of the sidebar.\n */\n footer?: ReactNode\n /**\n * The header of the sidebar.\n */\n header?: ReactNode\n /**\n * If `true`, hide the tree indicator icon for all items.\n *\n * @default false\n */\n indicatorHidden?: boolean\n /**\n * If `true`, the sidebar will be rendered with a handle.\n *\n * @default true\n */\n withHandle?: boolean\n /**\n * Props for the content component.\n */\n contentProps?: SidebarContentProps\n /**\n * Props for the drawer component.\n */\n drawerProps?: Omit<\n Drawer.RootProps,\n | \"body\"\n | \"cancel\"\n | \"children\"\n | \"footer\"\n | \"header\"\n | \"middle\"\n | \"onCancel\"\n | \"onClose\"\n | \"onMiddle\"\n | \"onOpen\"\n | \"onSuccess\"\n | \"open\"\n | \"success\"\n | \"title\"\n | \"trigger\"\n >\n /**\n * Props for the footer component.\n */\n footerProps?: SidebarFooterProps\n /**\n * Props for the group content component.\n */\n groupContentProps?: Omit<SidebarGroupContentProps, \"children\">\n /**\n * Props for the group component.\n */\n groupProps?: Omit<SidebarGroupProps, \"children\" | \"label\" | \"value\">\n /**\n * Props for the handle component.\n */\n handleProps?: SidebarHandleProps\n /**\n * Props for the header component.\n */\n headerProps?: SidebarHeaderProps\n /**\n * Props for the item content component.\n */\n itemContentProps?: SidebarItemContentProps\n /**\n * Props for the item component.\n */\n itemProps?: Omit<\n SidebarItemProps,\n \"children\" | \"items\" | \"label\" | \"open\" | \"value\"\n >\n /**\n * Props for the menu component.\n *\n * @default 'md'\n */\n menuProps?: SidebarMenuProps\n}\n\nexport const SidebarSidePanel = withContext<\"aside\", SidebarSidePanelProps>(\n ({\n animated = true,\n children,\n content,\n endElement,\n footer,\n header,\n indicator,\n indicatorHidden,\n items,\n loadingScheme,\n render,\n startElement,\n withHandle = true,\n contentProps,\n drawerProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ...rest\n }) => {\n const { mobile, open, onClose } = useSidebarContext()\n const { breakpoint, placement, getSidePanelProps } = useComponentContext()\n const [\n omittedChildren,\n customHeader,\n customContent,\n customFooter,\n customHandle,\n ] = useSplitChildren(\n children,\n SidebarHeader,\n SidebarContent,\n SidebarFooter,\n SidebarHandle,\n )\n const context = useMemo(\n () => ({\n animated,\n endElement,\n indicator,\n indicatorHidden,\n items,\n loadingScheme,\n render,\n startElement,\n contentProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n }),\n [\n animated,\n endElement,\n indicator,\n indicatorHidden,\n items,\n render,\n loadingScheme,\n startElement,\n contentProps,\n endElementProps,\n footerProps,\n groupContentProps,\n groupProps,\n handleProps,\n headerProps,\n indicatorProps,\n itemContentProps,\n itemProps,\n labelProps,\n linkProps,\n menuProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ],\n )\n\n return (\n <SidePanelComponentContext value={context}>\n {mobile ? (\n <Drawer.Root\n size=\"sm\"\n autoFocus={false}\n duration={!animated ? 0 : undefined}\n open={open}\n placement={`inline-${placement}`}\n withCloseButton={false}\n portalProps={{ disabled: true }}\n onClose={onClose}\n {...drawerProps}\n >\n <Drawer.Content>\n {customHeader ??\n (header ? <SidebarHeader>{header}</SidebarHeader> : null)}\n\n {customContent ??\n (content || items ? (\n <SidebarContent>{content}</SidebarContent>\n ) : null)}\n\n {customFooter ??\n (footer ? <SidebarFooter>{footer}</SidebarFooter> : null)}\n </Drawer.Content>\n </Drawer.Root>\n ) : (\n <>\n <SidebarGap\n data-animated={dataAttr(animated)}\n display={\n breakpoint\n ? { base: undefined, [breakpoint]: \"none\" }\n : undefined\n }\n />\n\n <styled.aside\n data-animated={dataAttr(animated)}\n data-group\n display={\n breakpoint\n ? { base: undefined, [breakpoint]: \"none\" }\n : undefined\n }\n {...getSidePanelProps(rest)}\n >\n {customHeader ??\n (header ? <SidebarHeader>{header}</SidebarHeader> : null)}\n {customContent ??\n (content || items ? (\n <SidebarContent>{content}</SidebarContent>\n ) : null)}\n {customFooter ??\n (footer ? <SidebarFooter>{footer}</SidebarFooter> : null)}\n {customHandle ?? (withHandle ? <SidebarHandle /> : null)}\n\n {omittedChildren}\n </styled.aside>\n </>\n )}\n </SidePanelComponentContext>\n )\n },\n \"sidePanel\",\n)()\n\ninterface SidebarGapProps extends HTMLStyledProps<\"div\"> {}\n\nconst SidebarGap = withContext<\"div\", SidebarGapProps>(\"div\", \"gap\")()\n\nexport interface SidebarHeaderProps extends HTMLStyledProps<\"header\"> {}\n\nexport const SidebarHeader = withContext<\"header\", SidebarHeaderProps>(\n \"header\",\n \"header\",\n)(undefined, (props) => {\n const { getHeaderProps } = useComponentContext()\n const { headerProps } = useSidePanelComponentContext()\n\n return getHeaderProps(mergeProps(headerProps, props)())\n})\n\nexport interface SidebarFooterProps extends HTMLStyledProps<\"footer\"> {}\n\nexport const SidebarFooter = withContext<\"footer\", SidebarFooterProps>(\n \"footer\",\n \"footer\",\n)(undefined, (props) => {\n const { getFooterProps } = useComponentContext()\n const { footerProps } = useSidePanelComponentContext()\n\n return getFooterProps(mergeProps(footerProps, props)())\n})\n\nexport interface SidebarContentProps extends HTMLStyledProps<\"ul\"> {\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItem[]\n}\n\nexport const SidebarContent = withContext<\"ul\", SidebarContentProps>(\n ({ children, items, ...rest }) => {\n const { getContentProps } = useComponentContext()\n const { items: rootItems, contentProps } = useSidePanelComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (items ?? rootItems)?.map((props, index) => {\n const key = createKey(props, index)\n\n if (\"group\" in props) {\n const { children, group: _, ...rest } = props\n\n return <SidebarGroup key={key} items={children} {...rest} />\n } else {\n const { children, ...rest } = props\n\n return <SidebarItem key={key} items={children} {...rest} />\n }\n })\n }, [children, items, rootItems])\n\n return (\n <styled.ul {...getContentProps(mergeProps(contentProps, rest)())}>\n {computedChildren}\n </styled.ul>\n )\n },\n \"content\",\n)()\n\nexport interface SidebarHandleProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarHandle = withContext<\"button\", SidebarHandleProps>(\n (props) => {\n const { handleProps } = useSidePanelComponentContext()\n\n return (\n <SidebarTrigger {...mergeProps(handleProps, props)()}>\n <styled.button tabIndex={-1} />\n </SidebarTrigger>\n )\n },\n \"handle\",\n)()\n\nexport interface SidebarGroupProps\n extends\n Omit<HTMLStyledProps<\"li\">, \"content\" | \"value\">,\n UseSidebarGroupProps {\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItemWithValue[]\n /**\n * The label of the group.\n */\n label?: ReactNode\n /**\n * Props for the content component.\n */\n contentProps?: Omit<SidebarGroupContentProps, \"children\">\n /**\n * Props for the label component.\n */\n labelProps?: HTMLStyledProps<\"span\">\n}\n\nexport const SidebarGroup = withContext<\"li\", SidebarGroupProps>(\n ({\n children,\n items,\n label,\n value: valueProp = isString(label) ? label : undefined,\n contentProps,\n labelProps,\n ...rest\n }) => {\n const { groupProps } = useSidePanelComponentContext()\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [children, items])\n const [omittedChildren, customLabel, customContent] = useSplitChildren(\n computedChildren,\n SidebarGroupLabel,\n SidebarGroupContent,\n )\n const { getContentProps, getLabelProps, getRootProps } = useSidebarGroup({\n ...mergeProps(groupProps, rest)(),\n value: valueProp,\n })\n const context = useMemo(\n () => ({ contentProps, getContentProps, getLabelProps, labelProps }),\n [getLabelProps, labelProps, getContentProps, contentProps],\n )\n\n return (\n <GroupComponentContext value={context}>\n <styled.li {...getRootProps()}>\n {customLabel ??\n (label ? <SidebarGroupLabel>{label}</SidebarGroupLabel> : null)}\n {customContent ?? (\n <SidebarGroupContent>{omittedChildren}</SidebarGroupContent>\n )}\n </styled.li>\n </GroupComponentContext>\n )\n },\n \"group\",\n)()\n\nexport interface SidebarGroupLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SidebarGroupLabel = withContext<\"span\", SidebarGroupLabelProps>(\n \"span\",\n \"groupLabel\",\n)(undefined, (props) => {\n const { getLabelProps, labelProps } = useGroupComponentContext()\n\n return getLabelProps(mergeProps(labelProps, props)())\n})\n\nexport interface SidebarGroupContentProps extends HTMLStyledProps<\"div\"> {}\n\nexport const SidebarGroupContent = withContext<\"div\", SidebarGroupContentProps>(\n \"div\",\n \"groupContent\",\n)(undefined, ({ children, ...rest }) => {\n const validChildren = useValidChildren(children)\n const list = useIncludesChildren(validChildren, SidebarItem)\n const { groupContentProps } = useSidePanelComponentContext()\n const { contentProps, getContentProps } = useGroupComponentContext()\n\n return {\n as: list ? \"ul\" : \"div\",\n children,\n ...getContentProps(mergeProps(groupContentProps, contentProps, rest)()),\n }\n})\n\nexport interface SidebarMenuProps extends HTMLStyledProps<\"div\"> {}\n\nexport const SidebarMenu = withContext<\"div\", SidebarMenuProps>(\"div\", \"menu\")(\n undefined,\n (props) => {\n const { menuProps } = useSidePanelComponentContext()\n\n return { \"data-menu\": \"\", ...mergeProps(menuProps, props)() }\n },\n)\n\nexport interface SidebarMenuButtonProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarMenuButton = withContext<\"button\", SidebarMenuButtonProps>(\n \"button\",\n [\"menu\", \"button\"],\n)(undefined, (props) => {\n const { open } = useSidebarContext()\n const { mode } = useComponentContext()\n const { menuProps } = useSidePanelComponentContext()\n const offcanvas = mode === \"offcanvas\"\n const { disabled, ...rest } = mergeProps(menuProps, props)()\n\n return {\n \"data-menu\": \"\",\n disabled,\n ...rest,\n tabIndex: (!offcanvas || open) && !disabled ? 0 : -1,\n }\n})\n\nexport interface SidebarItemProps\n extends\n Omit<HTMLStyledProps<\"li\">, \"value\">,\n Omit<UseSidebarItemProps, \"asyncChildren\"> {\n /**\n * The label to display in the item.\n */\n label: ReactNode\n /**\n * If `true`, the sidebar item will be animated.\n *\n * @default true\n */\n animated?: boolean\n /**\n * The element to display at the end of the item.\n */\n endElement?: SidebarItemReactNode\n /**\n * The sidebar item indicator icon to use.\n */\n indicator?: ReactNodeOrFunction<SidebarItemCallBackProps>\n /**\n * If provided, generate elements based on items.\n */\n items?: SidebarItemWithValue[]\n /**\n * The loading scheme.\n *\n * @default 'oval'\n */\n loadingScheme?: Loading.Scheme\n /**\n * If provided, the sidebar item will be rendered with custom components.\n */\n render?: SidebarItemRender\n /**\n * The element to display at the start of the item.\n */\n startElement?: SidebarItemReactNode\n /**\n * Props for the content component.\n */\n contentProps?: Omit<SidebarItemContentProps, \"children\">\n /**\n * Props for the end component.\n */\n endElementProps?: SidebarItemEndElementProps\n /**\n * Props for the indicator component.\n */\n indicatorProps?: SidebarItemIndicatorProps\n /**\n * Props for the label component.\n */\n labelProps?: SidebarItemLabelProps\n /**\n * Props for the link component.\n */\n linkProps?: SidebarItemLinkProps\n /**\n * Props for the start component.\n */\n startElementProps?: SidebarItemStartElementProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: Omit<SidebarItemTooltipProps, \"children\" | \"content\">\n /**\n * Props for the trigger component.\n */\n triggerProps?: SidebarItemTriggerProps\n /**\n * If provided, the sidebar item will be rendered as an async sidebar item.\n */\n asyncChildren?: () => Promise<SidebarItemWithValue[]>\n}\n\nexport const SidebarItem = withContext<\"li\", SidebarItemProps>(\n ({\n animated: animatedProp,\n asyncChildren: asyncChildrenProp,\n children: childrenProp,\n endElement,\n indicator: indicatorProp,\n items,\n label,\n loadingScheme,\n render,\n startElement,\n contentProps,\n endElementProps,\n indicatorProps,\n labelProps,\n linkProps,\n startElementProps,\n tooltipProps,\n triggerProps,\n ...rest\n }) => {\n const { mode } = useComponentContext()\n const offcanvas = mode === \"offcanvas\"\n const componentContext = useSidePanelComponentContext()\n const Loading = useLoadingComponent(\n loadingScheme ?? componentContext.loadingScheme ?? \"oval\",\n )\n const computedChildren = useMemo(() => {\n if (childrenProp) return childrenProp\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [childrenProp, items])\n const asyncChildren = useCallback(async () => {\n const items = await asyncChildrenProp?.()\n\n return items?.map(({ children, ...rest }, index) => {\n const key = createKey(rest, index)\n\n return <SidebarItem key={key} items={children} {...rest} />\n })\n }, [asyncChildrenProp])\n const {\n branchOpen,\n children,\n disabled,\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n open,\n selected,\n selectedValue,\n value,\n getContentProps,\n getIndicatorProps,\n getItemProps,\n getLabelProps,\n getLinkProps,\n getTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n } = useSidebarItem({\n ...mergeProps(componentContext.itemProps, rest)(),\n asyncChildren: asyncChildrenProp ? asyncChildren : undefined,\n children: computedChildren,\n })\n const animated = animatedProp ?? componentContext.animated ?? true\n const tabIndex = offcanvas\n ? open && expanded && !disabled\n ? 0\n : -1\n : expanded && !disabled\n ? 0\n : -1\n const callbackProps = useMemo(\n () => ({ disabled, expanded: groupOpen }),\n [disabled, groupOpen],\n )\n const mergedTriggerProps = useMemo(() => {\n return getTriggerProps({\n tabIndex,\n ...mergeProps(componentContext.triggerProps, triggerProps)(),\n }) as SidebarItemTriggerProps\n }, [getTriggerProps, tabIndex, componentContext.triggerProps, triggerProps])\n const mergedLinkProps = useMemo(() => {\n return getLinkProps({\n tabIndex,\n ...mergeProps(componentContext.linkProps, linkProps)(),\n }) as SidebarItemLinkProps\n }, [getLinkProps, tabIndex, componentContext.linkProps, linkProps])\n const indicator = useMemo<ReactNode>(\n () => runIfFn(indicatorProp ?? componentContext.indicator, callbackProps),\n [indicatorProp, componentContext.indicator, callbackProps],\n )\n const groupStartElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"group\",\n startElement,\n componentContext.startElement,\n ),\n callbackProps,\n ),\n [startElement, componentContext.startElement, callbackProps],\n )\n const groupEndElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"group\",\n endElement,\n componentContext.endElement,\n ),\n callbackProps,\n ),\n [endElement, componentContext.endElement, callbackProps],\n )\n const itemStartElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"item\",\n startElement,\n componentContext.startElement,\n ),\n callbackProps,\n ),\n [startElement, componentContext.startElement, callbackProps],\n )\n const itemEndElement = useMemo<ReactNode>(\n () =>\n runIfFn(\n getReactNodeOrFunction(\n \"item\",\n endElement,\n componentContext.endElement,\n ),\n callbackProps,\n ),\n [endElement, componentContext.endElement, callbackProps],\n )\n const trigger = useMemo<ReactNode>(\n () =>\n runIfFn(render?.trigger ?? componentContext.render?.trigger, {\n endElement: groupEndElement,\n expanded,\n expandedValue,\n groupLoading,\n groupOpen,\n indicator,\n label,\n selected,\n selectedValue,\n startElement: groupStartElement,\n value,\n triggerProps: mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n }),\n [\n render?.trigger,\n componentContext.render?.trigger,\n groupEndElement,\n expanded,\n expandedValue,\n groupLoading,\n groupOpen,\n indicator,\n label,\n selected,\n selectedValue,\n groupStartElement,\n value,\n mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n ],\n )\n const link = useMemo<ReactNode>(\n () =>\n runIfFn(render?.link ?? componentContext.render?.link, {\n endElement: itemEndElement,\n expanded,\n expandedValue,\n label,\n selected,\n selectedValue,\n startElement: itemStartElement,\n value,\n linkProps: mergedLinkProps,\n onExpandedChange,\n onSelectedChange,\n }),\n [\n render?.link,\n componentContext.render?.link,\n itemEndElement,\n expanded,\n expandedValue,\n label,\n selected,\n selectedValue,\n itemStartElement,\n value,\n mergedLinkProps,\n onExpandedChange,\n onSelectedChange,\n ],\n )\n const item = useMemo<ReactNode>(\n () =>\n runIfFn(render?.item ?? componentContext.render?.item, {\n children,\n endElement: { group: groupEndElement, item: itemEndElement },\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n indicator,\n label,\n link,\n selected,\n selectedValue,\n startElement: { group: groupStartElement, item: itemStartElement },\n trigger,\n value,\n itemProps: getItemProps() as HTMLStyledProps<\"li\">,\n linkProps: mergedLinkProps,\n triggerProps: mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n }),\n [\n render?.item,\n componentContext.render?.item,\n children,\n groupEndElement,\n itemEndElement,\n expanded,\n expandedValue,\n group,\n groupLoading,\n groupOpen,\n indicator,\n label,\n link,\n selected,\n selectedValue,\n groupStartElement,\n itemStartElement,\n trigger,\n value,\n getItemProps,\n mergedLinkProps,\n mergedTriggerProps,\n onExpandedChange,\n onGroupClose,\n onGroupOpen,\n onGroupToggle,\n onSelectedChange,\n ],\n )\n const context = useMemo(\n () => ({ branchOpen, groupOpen }),\n [branchOpen, groupOpen],\n )\n const itemComponentContext = useMemo(\n () => ({\n contentProps: {\n duration: !animated ? 0 : undefined,\n open: groupOpen,\n ...getContentProps(\n mergeProps(componentContext.itemContentProps, contentProps)(),\n ),\n },\n endElementProps: mergeProps(\n componentContext.endElementProps,\n endElementProps,\n )(),\n indicatorProps: getIndicatorProps({\n \"data-animated\": dataAttr(animated),\n ...mergeProps(componentContext.indicatorProps, indicatorProps)(),\n }) as SidebarItemIndicatorProps,\n labelProps: getLabelProps(\n mergeProps(componentContext.labelProps, labelProps)(),\n ) as SidebarItemLabelProps,\n startElementProps: mergeProps(\n componentContext.startElementProps,\n startElementProps,\n )(),\n tooltipProps: {\n content: label,\n disabled: open,\n ...mergeProps(componentContext.tooltipProps, tooltipProps)(),\n },\n }),\n [\n animated,\n componentContext.endElementProps,\n componentContext.indicatorProps,\n componentContext.itemContentProps,\n componentContext.labelProps,\n componentContext.startElementProps,\n componentContext.tooltipProps,\n contentProps,\n endElementProps,\n getContentProps,\n getIndicatorProps,\n getLabelProps,\n groupOpen,\n indicatorProps,\n label,\n labelProps,\n open,\n startElementProps,\n tooltipProps,\n ],\n )\n\n return (\n <SidebarItemContext value={context}>\n <ItemComponentContext value={itemComponentContext}>\n {item ?? (\n <styled.li {...getItemProps()}>\n {group ? (\n <>\n {trigger ?? (\n <SidebarItemTrigger {...mergedTriggerProps}>\n {groupStartElement ? (\n <SidebarItemStartElement>\n {groupStartElement}\n </SidebarItemStartElement>\n ) : null}\n {label ? (\n <SidebarItemLabel>{label}</SidebarItemLabel>\n ) : null}\n {groupEndElement ? (\n <SidebarItemEndElement>\n {groupEndElement}\n </SidebarItemEndElement>\n ) : null}\n <SidebarItemIndicator>\n {groupLoading ? (\n <Loading />\n ) : (\n runIfFn(indicator, callbackProps)\n )}\n </SidebarItemIndicator>\n </SidebarItemTrigger>\n )}\n\n <SidebarItemContent>{children}</SidebarItemContent>\n </>\n ) : (\n (link ?? (\n <SidebarItemLink {...mergedLinkProps}>\n {itemStartElement ? (\n <SidebarItemStartElement>\n {itemStartElement}\n </SidebarItemStartElement>\n ) : null}\n {label ? (\n <SidebarItemLabel>{label}</SidebarItemLabel>\n ) : null}\n {itemEndElement ? (\n <SidebarItemEndElement>\n {itemEndElement}\n </SidebarItemEndElement>\n ) : null}\n </SidebarItemLink>\n ))\n )}\n </styled.li>\n )}\n </ItemComponentContext>\n </SidebarItemContext>\n )\n },\n \"item\",\n)()\n\ninterface SidebarItemTooltipProps extends TooltipProps {}\n\nconst SidebarItemTooltip: FC<SidebarItemTooltipProps> = (props) => {\n const { tooltipProps } = useItemComponentContext()\n const { children, disabled, ...rest } = mergeProps(tooltipProps, props)()\n const { mode, placement } = useComponentContext()\n const offcanvas = mode === \"offcanvas\"\n\n if (offcanvas || disabled) return children\n else\n return (\n <Tooltip\n closeOnClick={false}\n gutter={16}\n placement={`center-${placement === \"start\" ? \"end\" : \"start\"}`}\n {...rest}\n >\n {children}\n </Tooltip>\n )\n}\n\nexport interface SidebarItemTriggerProps extends HTMLStyledProps<\"button\"> {}\n\nexport const SidebarItemTrigger = withContext<\n \"button\",\n SidebarItemTriggerProps\n>((props) => {\n return (\n <SidebarItemTooltip>\n <styled.button {...props} />\n </SidebarItemTooltip>\n )\n}, \"itemTrigger\")()\n\nexport interface SidebarItemLinkProps extends HTMLStyledProps<\"a\"> {}\n\nexport const SidebarItemLink = withContext<\"a\", SidebarItemLinkProps>(\n (props) => {\n return (\n <SidebarItemTooltip>\n <styled.a {...props} />\n </SidebarItemTooltip>\n )\n },\n \"itemLink\",\n)()\n\nexport interface SidebarItemContentProps\n extends\n Omit<HTMLStyledProps<\"ul\">, \"transition\">,\n Pick<CollapseProps, \"animationOpacity\" | keyof WithTransitionProps> {}\n\nexport const SidebarItemContent = withContext<\"ul\", SidebarItemContentProps>(\n (props) => {\n const { contentProps } = useItemComponentContext()\n\n return (\n <Collapse\n as=\"ul\"\n {...cast<CollapseProps>(mergeProps(contentProps, props)())}\n />\n )\n },\n \"itemContent\",\n)()\n\nexport interface SidebarItemIndicatorProps extends HTMLStyledProps<\"svg\"> {}\n\nexport const SidebarItemIndicator = withContext<\n \"svg\",\n SidebarItemIndicatorProps\n>(({ children = <ChevronRightIcon />, ...rest }) => {\n const { indicatorHidden } = useSidePanelComponentContext()\n\n if (indicatorHidden) return null\n\n if (isValidElement<HTMLProps<\"svg\">>(children))\n return cloneElement(children, { ...rest, ...children.props })\n\n return Children.count(children) > 1 ? Children.only(null) : null\n}, \"itemIndicator\")(undefined, (props) => {\n const { indicatorProps } = useItemComponentContext()\n\n return mergeProps(indicatorProps, props)()\n})\n\nexport interface SidebarItemStartElementProps extends HTMLStyledProps {}\n\nexport const SidebarItemStartElement = withContext<\n \"div\",\n SidebarItemStartElementProps\n>(\"div\", {\n name: \"ItemStartElement\",\n slot: [\"itemElement\", \"start\"],\n})(undefined, (props) => {\n const { startElementProps } = useItemComponentContext()\n\n return mergeProps(startElementProps, props)()\n})\n\nexport interface SidebarItemEndElementProps extends HTMLStyledProps {}\n\nexport const SidebarItemEndElement = withContext<\n \"div\",\n SidebarItemEndElementProps\n>(\"div\", {\n name: \"ItemEndElement\",\n slot: [\"itemElement\", \"end\"],\n})(undefined, (props) => {\n const { endElementProps } = useItemComponentContext()\n\n return mergeProps(endElementProps, props)()\n})\n\nexport interface SidebarItemLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const SidebarItemLabel = withContext<\"span\", SidebarItemLabelProps>(\n \"span\",\n \"itemLabel\",\n)(undefined, (props) => {\n const { labelProps } = useItemComponentContext()\n\n return mergeProps(labelProps, props)()\n})\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA4JA,MAAM,aAAa,OAAoB,UAAkB;CACvD,OAAO,WAAW,QAAQ,MAAM,SAAS,QAAQ;AACnD;AAEA,MAAM,0BACJ,MACA,QACA,SACkD;CAClD,KAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,MAAM,MAAM,WAAW,UAAU,UAAU,SACtD,OAAO,OAAO;MACX,IAAI,QAAQ,OAAO;MACnB,KAAA,GAAA,oBAAA,cAAI,SAAA,CAAS,IAAI,MAAM,WAAW,QAAQ,UAAU,OACvD,OAAO,KAAK;MACT,OAAO;AACd;AAoBA,MAAM,CAAC,uBAAuB,4BAC5BA,gBAAAA,cAAqC,EAAE,MAAM,wBAAwB,CAAC;AAWxE,MAAM,CAAC,sBAAsB,2BAC3BA,gBAAAA,cAAoC,EAAE,MAAM,uBAAuB,CAAC;AA8BtE,MAAM,CAAC,2BAA2B,gCAChCA,gBAAAA,cAAyC,EACvC,MAAM,4BACR,CAAC;AAeH,MAAM,EACJ,kBACA,cAAc,qBACd,qBACA,iBAAiB,wBACjB,aACA,iBACEC,yBAAAA,oBACF,WACAC,sBAAAA,YACF;;;;;;AASA,MAAa,cAAc,cAKxB,EACC,aAAa,MACb,MAAM,WAAW,aACjB,WAAW,gBAAgB,SAC3B,GAAG,WACC;CACJ,MAAM,SACJC,6BAAAA,mBACE,aAAa,GAAG,aAAa,KAAK,IAAI,EAAE,MAAM,MAAM,CACtD,KAAK;CACP,MAAM,OAAOC,8BAAAA,SAAS,QAAQ;CAC9B,MAAM,YAAYA,8BAAAA,SAAS,aAAa;CACxC,MAAM,EACJ,aACA,eACA,MACA,eACA,iBACA,gBACA,gBACA,cACA,mBACA,iBACA,SACA,kBACA,QACA,kBACA,aACEC,oBAAAA,WAAW;EAAE;EAAQ,GAAG;CAAK,CAAC;CAClC,MAAM,WAAA,GAAUC,MAAAA,QAAAA,QACP;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,oBAAA,GAAmBA,MAAAA,QAAAA,QAChB;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,2BAAD;EAA2B,OAAO;EAChC,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,gBAAD;GAAgB,OAAO;GACrB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAAC,kBAAD;IAAkB,OAAO;IACvB,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,KAAR;KAAY,cAAA;KAAW,GAAI,aAAa;IAAI,CAAA;GAC5B,CAAA;EACJ,CAAA;CACS,CAAA;AAE/B,GACA,QACA,EAAE,eAAe,CAAC,QAAQ,WAAW,EAAE,CACzC,CAAC,CAAC;AAIF,MAAa,mBAAmB,YAC9B,OACA,WACF,CAAC,CAAC;AAIF,MAAa,iBAAiB,YAC5B,UACA,SACF,CAAC,CAAC,KAAA,IAAY,UAAU;CACtB,MAAM,EAAE,oBAAoB,oBAAoB;CAEhD,OAAO;EAAE,SAAS;EAAM,GAAG,gBAAgB,KAAK;CAAE;AACpD,CAAC;AA8GD,MAAa,mBAAmB,aAC7B,EACC,WAAW,MACX,UACA,SACA,YACA,QACA,QACA,WACA,iBACA,OACA,eACA,QACA,cACA,aAAa,MACb,cACA,aACA,iBACA,aACA,mBACA,YACA,aACA,aACA,gBACA,kBACA,WACA,YACA,WACA,WACA,mBACA,cACA,cACA,GAAG,WACC;CACJ,MAAM,EAAE,QAAQ,MAAM,YAAYC,oBAAAA,kBAAkB;CACpD,MAAM,EAAE,YAAY,WAAW,sBAAsB,oBAAoB;CACzE,MAAM,CACJ,iBACA,cACA,eACA,cACA,gBACEC,iBAAAA,iBACF,UACA,eACA,gBACA,eACA,aACF;CACA,MAAM,WAAA,GAAUL,MAAAA,QAAAA,QACP;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,2BAAD;EAA2B,OAAO;EAC/B,UAAA,SACC,iBAAA,GAAA,kBAAA,IAAA,CAAA,eAAA,YAAA;GACE,MAAK;GACL,WAAW;GACX,UAAU,CAAC,WAAW,IAAI,KAAA;GACpB;GACN,WAAW,UAAU;GACrB,iBAAiB;GACjB,aAAa,EAAE,UAAU,KAAK;GACrB;GACT,GAAI;GAEJ,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAAA,eAAA,eAAA,EAAA,UAAA;IACG,iBACE,SAAS,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,EAAA,UAAgB,OAAsB,CAAA,IAAI;IAErD,kBACE,WAAW,QACV,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD,EAAA,UAAiB,QAAwB,CAAA,IACvC;IAEL,iBACE,SAAS,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,EAAA,UAAgB,OAAsB,CAAA,IAAI;GACxC,EAAA,CAAA;EACL,CAAA,IAEb,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,YAAD;GACE,kBAAA,GAAA,oBAAA,cAAe,SAAA,CAAS,QAAQ;GAChC,SACE,aACI;IAAE,MAAM,KAAA;KAAY,aAAa;GAAO,IACxC,KAAA;EAEP,CAAA,GAED,iBAAA,GAAA,kBAAA,KAAA,CAACG,gBAAAA,OAAO,OAAR;GACE,kBAAA,GAAA,oBAAA,cAAe,SAAA,CAAS,QAAQ;GAChC,cAAA;GACA,SACE,aACI;IAAE,MAAM,KAAA;KAAY,aAAa;GAAO,IACxC,KAAA;GAEN,GAAI,kBAAkB,IAAI;GAR5B,UAAA;IAUG,iBACE,SAAS,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,EAAA,UAAgB,OAAsB,CAAA,IAAI;IACrD,kBACE,WAAW,QACV,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD,EAAA,UAAiB,QAAwB,CAAA,IACvC;IACL,iBACE,SAAS,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,EAAA,UAAgB,OAAsB,CAAA,IAAI;IACrD,iBAAiB,aAAa,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD,CAAgB,CAAA,IAAI;IAElD;GACW;EACd,CAAA,CAAA,EAAA,CAAA;CAEqB,CAAA;AAE/B,GACA,WACF,CAAC,CAAC;AAIF,MAAM,aAAa,YAAoC,OAAO,KAAK,CAAC,CAAC;AAIrE,MAAa,gBAAgB,YAC3B,UACA,QACF,CAAC,CAAC,KAAA,IAAY,UAAU;CACtB,MAAM,EAAE,mBAAmB,oBAAoB;CAC/C,MAAM,EAAE,gBAAgB,6BAA6B;CAErD,OAAO,eAAeG,cAAAA,WAAW,aAAa,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAID,MAAa,gBAAgB,YAC3B,UACA,QACF,CAAC,CAAC,KAAA,IAAY,UAAU;CACtB,MAAM,EAAE,mBAAmB,oBAAoB;CAC/C,MAAM,EAAE,gBAAgB,6BAA6B;CAErD,OAAO,eAAeA,cAAAA,WAAW,aAAa,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AASD,MAAa,iBAAiB,aAC3B,EAAE,UAAU,OAAO,GAAG,WAAW;CAChC,MAAM,EAAE,oBAAoB,oBAAoB;CAChD,MAAM,EAAE,OAAO,WAAW,iBAAiB,6BAA6B;CACxE,MAAM,oBAAA,GAAmBN,MAAAA,QAAAA,OAAc;EACrC,IAAI,UAAU,OAAO;EAErB,QAAQ,SAAS,UAAA,EAAY,KAAK,OAAO,UAAU;GACjD,MAAM,MAAM,UAAU,OAAO,KAAK;GAElC,IAAI,WAAW,OAAO;IACpB,MAAM,EAAE,UAAU,OAAO,GAAG,GAAG,SAAS;IAExC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,cAAD;KAAwB,OAAO;KAAU,GAAI;IAAO,GAAjC,GAAiC;GAC7D,OAAO;IACL,MAAM,EAAE,UAAU,GAAG,SAAS;IAE9B,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;KAAuB,OAAO;KAAU,GAAI;IAAO,GAAjC,GAAiC;GAC5D;EACF,CAAC;CACH,GAAG;EAAC;EAAU;EAAO;CAAS,CAAC;CAE/B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACG,gBAAAA,OAAO,IAAR;EAAW,GAAI,gBAAgBG,cAAAA,WAAW,cAAc,IAAI,CAAC,CAAC,CAAC;EAC5D,UAAA;CACQ,CAAA;AAEf,GACA,SACF,CAAC,CAAC;AAIF,MAAa,gBAAgB,aAC1B,UAAU;CACT,MAAM,EAAE,gBAAgB,6BAA6B;CAErD,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,gBAAD;EAAgB,GAAIA,cAAAA,WAAW,aAAa,KAAK,CAAC,CAAC;EACjD,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACH,gBAAAA,OAAO,QAAR,EAAe,UAAU,GAAK,CAAA;CAChB,CAAA;AAEpB,GACA,QACF,CAAC,CAAC;AAwBF,MAAa,eAAe,aACzB,EACC,UACA,OACA,OACA,OAAO,aAAA,GAAA,oBAAA,cAAY,SAAA,CAAS,KAAK,IAAI,QAAQ,KAAA,GAC7C,cACA,YACA,GAAG,WACC;CACJ,MAAM,EAAE,eAAe,6BAA6B;CACpD,MAAM,oBAAA,GAAmBH,MAAAA,QAAAA,OAAc;EACrC,IAAI,UAAU,OAAO;EAErB,OAAO,OAAO,KAAK,EAAE,UAAU,GAAG,QAAQ,UAAU;GAClD,MAAM,MAAM,UAAU,MAAM,KAAK;GAEjC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;IAAuB,OAAO;IAAU,GAAI;GAAO,GAAjC,GAAiC;EAC5D,CAAC;CACH,GAAG,CAAC,UAAU,KAAK,CAAC;CACpB,MAAM,CAAC,iBAAiB,aAAa,iBAAiBK,iBAAAA,iBACpD,kBACA,mBACA,mBACF;CACA,MAAM,EAAE,iBAAiB,eAAe,iBAAiBE,oBAAAA,gBAAgB;EACvE,GAAGD,cAAAA,WAAW,YAAY,IAAI,CAAC,CAAC;EAChC,OAAO;CACT,CAAC;CACD,MAAM,WAAA,GAAUN,MAAAA,QAAAA,QACP;EAAE;EAAc;EAAiB;EAAe;CAAW,IAClE;EAAC;EAAe;EAAY;EAAiB;CAAY,CAC3D;CAEA,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD;EAAuB,OAAO;EAC5B,UAAA,iBAAA,GAAA,kBAAA,KAAA,CAACG,gBAAAA,OAAO,IAAR;GAAW,GAAI,aAAa;GAA5B,UAAA,CACG,gBACE,QAAQ,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD,EAAA,UAAoB,MAAyB,CAAA,IAAI,OAC3D,iBACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,qBAAD,EAAA,UAAsB,gBAAqC,CAAA,CAEpD;;CACU,CAAA;AAE3B,GACA,OACF,CAAC,CAAC;AAIF,MAAa,oBAAoB,YAC/B,QACA,YACF,CAAC,CAAC,KAAA,IAAY,UAAU;CACtB,MAAM,EAAE,eAAe,eAAe,yBAAyB;CAE/D,OAAO,cAAcG,cAAAA,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC;AAID,MAAa,sBAAsB,YACjC,OACA,cACF,CAAC,CAAC,KAAA,IAAY,EAAE,UAAU,GAAG,WAAW;CACtC,MAAM,gBAAgBE,iBAAAA,iBAAiB,QAAQ;CAC/C,MAAM,OAAOC,iBAAAA,oBAAoB,eAAe,WAAW;CAC3D,MAAM,EAAE,sBAAsB,6BAA6B;CAC3D,MAAM,EAAE,cAAc,oBAAoB,yBAAyB;CAEnE,OAAO;EACL,IAAI,OAAO,OAAO;EAClB;EACA,GAAG,gBAAgBH,cAAAA,WAAW,mBAAmB,cAAc,IAAI,CAAC,CAAC,CAAC;CACxE;AACF,CAAC;AAID,MAAa,cAAc,YAAqC,OAAO,MAAM,CAAC,CAC5E,KAAA,IACC,UAAU;CACT,MAAM,EAAE,cAAc,6BAA6B;CAEnD,OAAO;EAAE,aAAa;EAAI,GAAGA,cAAAA,WAAW,WAAW,KAAK,CAAC,CAAC;CAAE;AAC9D,CACF;AAIA,MAAa,oBAAoB,YAC/B,UACA,CAAC,QAAQ,QAAQ,CACnB,CAAC,CAAC,KAAA,IAAY,UAAU;CACtB,MAAM,EAAE,SAASF,oBAAAA,kBAAkB;CACnC,MAAM,EAAE,SAAS,oBAAoB;CACrC,MAAM,EAAE,cAAc,6BAA6B;CACnD,MAAM,YAAY,SAAS;CAC3B,MAAM,EAAE,UAAU,GAAG,SAASE,cAAAA,WAAW,WAAW,KAAK,CAAC,CAAC;CAE3D,OAAO;EACL,aAAa;EACb;EACA,GAAG;EACH,WAAW,CAAC,aAAa,SAAS,CAAC,WAAW,IAAI;CACpD;AACF,CAAC;AAgFD,MAAa,cAAc,aACxB,EACC,UAAU,cACV,eAAe,mBACf,UAAU,cACV,YACA,WAAW,eACX,OACA,OACA,eACA,QACA,cACA,cACA,iBACA,gBACA,YACA,WACA,mBACA,cACA,cACA,GAAG,WACC;CACJ,MAAM,EAAE,SAAS,oBAAoB;CACrC,MAAM,YAAY,SAAS;CAC3B,MAAM,mBAAmB,6BAA6B;CACtD,MAAM,UAAUI,8BAAAA,oBACd,iBAAiB,iBAAiB,iBAAiB,MACrD;CACA,MAAM,oBAAA,GAAmBV,MAAAA,QAAAA,OAAc;EACrC,IAAI,cAAc,OAAO;EAEzB,OAAO,OAAO,KAAK,EAAE,UAAU,GAAG,QAAQ,UAAU;GAClD,MAAM,MAAM,UAAU,MAAM,KAAK;GAEjC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;IAAuB,OAAO;IAAU,GAAI;GAAO,GAAjC,GAAiC;EAC5D,CAAC;CACH,GAAG,CAAC,cAAc,KAAK,CAAC;CACxB,MAAM,iBAAA,GAAgBW,MAAAA,YAAAA,CAAY,YAAY;EAG5C,QAAO,MAFa,oBAAoB,EAAA,EAE1B,KAAK,EAAE,UAAU,GAAG,QAAQ,UAAU;GAClD,MAAM,MAAM,UAAU,MAAM,KAAK;GAEjC,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAAC,aAAD;IAAuB,OAAO;IAAU,GAAI;GAAO,GAAjC,GAAiC;EAC5D,CAAC;CACH,GAAG,CAAC,iBAAiB,CAAC;CACtB,MAAM,EACJ,YACA,UACA,UACA,UACA,eACA,OACA,cACA,WACA,MACA,UACA,eACA,OACA,iBACA,mBACA,cACA,eACA,cACA,iBACA,kBACA,cACA,aACA,eACA,qBACEC,oBAAAA,eAAe;EACjB,GAAGN,cAAAA,WAAW,iBAAiB,WAAW,IAAI,CAAC,CAAC;EAChD,eAAe,oBAAoB,gBAAgB,KAAA;EACnD,UAAU;CACZ,CAAC;CACD,MAAM,WAAW,gBAAgB,iBAAiB,YAAY;CAC9D,MAAM,WAAW,YACb,QAAQ,YAAY,CAAC,WACnB,IACA,KACF,YAAY,CAAC,WACX,IACA;CACN,MAAM,iBAAA,GAAgBN,MAAAA,QAAAA,QACb;EAAE;EAAU,UAAU;CAAU,IACvC,CAAC,UAAU,SAAS,CACtB;CACA,MAAM,sBAAA,GAAqBA,MAAAA,QAAAA,OAAc;EACvC,OAAO,gBAAgB;GACrB;GACA,GAAGM,cAAAA,WAAW,iBAAiB,cAAc,YAAY,CAAC,CAAC;EAC7D,CAAC;CACH,GAAG;EAAC;EAAiB;EAAU,iBAAiB;EAAc;CAAY,CAAC;CAC3E,MAAM,mBAAA,GAAkBN,MAAAA,QAAAA,OAAc;EACpC,OAAO,aAAa;GAClB;GACA,GAAGM,cAAAA,WAAW,iBAAiB,WAAW,SAAS,CAAC,CAAC;EACvD,CAAC;CACH,GAAG;EAAC;EAAc;EAAU,iBAAiB;EAAW;CAAS,CAAC;CAClE,MAAM,aAAA,GAAYN,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cACV,QAAA,CAAQ,iBAAiB,iBAAiB,WAAW,aAAa,GACxE;EAAC;EAAe,iBAAiB;EAAW;CAAa,CAC3D;CACA,MAAM,qBAAA,GAAoBA,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cAEtB,QAAA,CACE,uBACE,SACA,cACA,iBAAiB,YACnB,GACA,aACF,GACF;EAAC;EAAc,iBAAiB;EAAc;CAAa,CAC7D;CACA,MAAM,mBAAA,GAAkBA,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cAEpB,QAAA,CACE,uBACE,SACA,YACA,iBAAiB,UACnB,GACA,aACF,GACF;EAAC;EAAY,iBAAiB;EAAY;CAAa,CACzD;CACA,MAAM,oBAAA,GAAmBA,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cAErB,QAAA,CACE,uBACE,QACA,cACA,iBAAiB,YACnB,GACA,aACF,GACF;EAAC;EAAc,iBAAiB;EAAc;CAAa,CAC7D;CACA,MAAM,kBAAA,GAAiBA,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cAEnB,QAAA,CACE,uBACE,QACA,YACA,iBAAiB,UACnB,GACA,aACF,GACF;EAAC;EAAY,iBAAiB;EAAY;CAAa,CACzD;CACA,MAAM,WAAA,GAAUA,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cAEZ,QAAA,CAAQ,QAAQ,WAAW,iBAAiB,QAAQ,SAAS;EAC3D,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA,cAAc;EACd;EACA;EACA;EACA;EACA;CACF,CAAC,GACH;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,QAAA,GAAOA,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cAET,QAAA,CAAQ,QAAQ,QAAQ,iBAAiB,QAAQ,MAAM;EACrD,YAAY;EACZ;EACA;EACA;EACA;EACA;EACA,cAAc;EACd;EACA,WAAW;EACX;EACA;CACF,CAAC,GACH;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,QAAA,GAAOA,MAAAA,QAAAA,QAAAA,GAAAA,oBAAAA,cAET,QAAA,CAAQ,QAAQ,QAAQ,iBAAiB,QAAQ,MAAM;EACrD;EACA,YAAY;GAAE,OAAO;GAAiB,MAAM;EAAe;EAC3D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,cAAc;GAAE,OAAO;GAAmB,MAAM;EAAiB;EACjE;EACA;EACA,WAAW,aAAa;EACxB,WAAW;EACX,cAAc;EACd;EACA;EACA;EACA;EACA;CACF,CAAC,GACH;EACE,QAAQ;EACR,iBAAiB,QAAQ;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CACA,MAAM,WAAA,GAAUA,MAAAA,QAAAA,QACP;EAAE;EAAY;CAAU,IAC/B,CAAC,YAAY,SAAS,CACxB;CACA,MAAM,wBAAA,GAAuBA,MAAAA,QAAAA,QACpB;EACL,cAAc;GACZ,UAAU,CAAC,WAAW,IAAI,KAAA;GAC1B,MAAM;GACN,GAAG,gBACDM,cAAAA,WAAW,iBAAiB,kBAAkB,YAA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"}
|