@yamada-ui/react 2.2.3-dev-20260622141401 → 2.2.3-dev-20260624122859

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/cjs/components/accordion/use-accordion.cjs.map +1 -1
  2. package/dist/cjs/components/autocomplete/use-autocomplete.cjs.map +1 -1
  3. package/dist/cjs/components/calendar/use-calendar.cjs +1 -1
  4. package/dist/cjs/components/calendar/use-calendar.cjs.map +1 -1
  5. package/dist/cjs/components/carousel/carousel.cjs.map +1 -1
  6. package/dist/cjs/components/chart/chart.cjs.map +1 -1
  7. package/dist/cjs/components/chart/use-polar-chart.cjs.map +1 -1
  8. package/dist/cjs/components/checkbox/checkbox.cjs.map +1 -1
  9. package/dist/cjs/components/checkbox/use-checkbox-group.cjs.map +1 -1
  10. package/dist/cjs/components/checkbox-card/checkbox-card.cjs.map +1 -1
  11. package/dist/cjs/components/collapse/collapse.cjs.map +1 -1
  12. package/dist/cjs/components/color-picker/use-color-picker.cjs.map +1 -1
  13. package/dist/cjs/components/color-swatch/color-swatch-group.cjs.map +1 -1
  14. package/dist/cjs/components/date-picker/date-picker.cjs.map +1 -1
  15. package/dist/cjs/components/date-picker/use-date-picker.cjs +1 -1
  16. package/dist/cjs/components/date-picker/use-date-picker.cjs.map +1 -1
  17. package/dist/cjs/components/editable/use-editable.cjs.map +1 -1
  18. package/dist/cjs/components/field/field.cjs.map +1 -1
  19. package/dist/cjs/components/file-input/file-input.cjs.map +1 -1
  20. package/dist/cjs/components/flip/flip.cjs.map +1 -1
  21. package/dist/cjs/components/highlight/highlight.cjs.map +1 -1
  22. package/dist/cjs/components/indicator/indicator.cjs.map +1 -1
  23. package/dist/cjs/components/infinite-scroll-area/use-infinite-scroll.cjs.map +1 -1
  24. package/dist/cjs/components/input/input-group.cjs.map +1 -1
  25. package/dist/cjs/components/list/list.cjs.map +1 -1
  26. package/dist/cjs/components/menu/use-menu.cjs.map +1 -1
  27. package/dist/cjs/components/native-select/use-native-select.cjs.map +1 -1
  28. package/dist/cjs/components/native-table/native-table.cjs.map +1 -1
  29. package/dist/cjs/components/notice/notice.cjs.map +1 -1
  30. package/dist/cjs/components/number-input/use-number-input.cjs.map +1 -1
  31. package/dist/cjs/components/pagination/pagination.cjs.map +1 -1
  32. package/dist/cjs/components/pagination/use-pagination.cjs.map +1 -1
  33. package/dist/cjs/components/picture/picture.cjs.map +1 -1
  34. package/dist/cjs/components/pin-input/pin-input.cjs.map +1 -1
  35. package/dist/cjs/components/pin-input/use-pin-input.cjs.map +1 -1
  36. package/dist/cjs/components/qr-code/use-qr-code.cjs.map +1 -1
  37. package/dist/cjs/components/radio/use-radio-group.cjs.map +1 -1
  38. package/dist/cjs/components/segmented-control/segmented-control.cjs.map +1 -1
  39. package/dist/cjs/components/select/use-select.cjs.map +1 -1
  40. package/dist/cjs/components/show/show.cjs.map +1 -1
  41. package/dist/cjs/components/sidebar/sidebar.cjs.map +1 -1
  42. package/dist/cjs/components/sidebar/use-sidebar.cjs.map +1 -1
  43. package/dist/cjs/components/simple-grid/simple-grid.cjs.map +1 -1
  44. package/dist/cjs/components/stack/z-stack.cjs.map +1 -1
  45. package/dist/cjs/components/steps/steps.cjs.map +1 -1
  46. package/dist/cjs/components/steps/use-steps.cjs.map +1 -1
  47. package/dist/cjs/components/table/table.cjs.map +1 -1
  48. package/dist/cjs/components/tabs/tabs.cjs.map +1 -1
  49. package/dist/cjs/components/toggle/use-toggle-group.cjs.map +1 -1
  50. package/dist/cjs/components/toggle/use-toggle.cjs.map +1 -1
  51. package/dist/cjs/components/tree/tree.cjs.map +1 -1
  52. package/dist/cjs/components/tree/use-tree.cjs.map +1 -1
  53. package/dist/cjs/core/components/create-component.cjs.map +1 -1
  54. package/dist/cjs/core/components/props.cjs.map +1 -1
  55. package/dist/cjs/core/components/use-component-style.cjs.map +1 -1
  56. package/dist/cjs/core/css/animation.cjs.map +1 -1
  57. package/dist/cjs/core/css/at-rule.cjs.map +1 -1
  58. package/dist/cjs/core/css/calc.cjs.map +1 -1
  59. package/dist/cjs/core/css/color-mix.cjs.map +1 -1
  60. package/dist/cjs/core/css/config.cjs.map +1 -1
  61. package/dist/cjs/core/css/css.cjs.map +1 -1
  62. package/dist/cjs/core/css/gradient.cjs.map +1 -1
  63. package/dist/cjs/core/css/grid.cjs.map +1 -1
  64. package/dist/cjs/core/css/transition.cjs.map +1 -1
  65. package/dist/cjs/core/css/utils.cjs.map +1 -1
  66. package/dist/cjs/core/system/breakpoint.cjs.map +1 -1
  67. package/dist/cjs/core/system/color-mode-provider.cjs.map +1 -1
  68. package/dist/cjs/core/system/create-system.cjs.map +1 -1
  69. package/dist/cjs/core/system/environment-provider.cjs.map +1 -1
  70. package/dist/cjs/core/system/storage-manager.cjs.map +1 -1
  71. package/dist/cjs/core/system/storage-script.cjs.map +1 -1
  72. package/dist/cjs/core/system/use-system-color-mode.cjs.map +1 -1
  73. package/dist/cjs/core/system/var.cjs.map +1 -1
  74. package/dist/cjs/hooks/use-animation/index.cjs.map +1 -1
  75. package/dist/cjs/hooks/use-breakpoint/use-breakpoint-value.cjs.map +1 -1
  76. package/dist/cjs/hooks/use-breakpoint/use-breakpoint.cjs.map +1 -1
  77. package/dist/cjs/hooks/use-clickable/index.cjs.map +1 -1
  78. package/dist/cjs/hooks/use-clipboard/index.cjs.map +1 -1
  79. package/dist/cjs/hooks/use-controllable-state/index.cjs.map +1 -1
  80. package/dist/cjs/hooks/use-counter/index.cjs.map +1 -1
  81. package/dist/cjs/hooks/use-descendants/index.cjs.map +1 -1
  82. package/dist/cjs/hooks/use-focus/index.cjs.map +1 -1
  83. package/dist/cjs/hooks/use-local-storage/index.cjs.map +1 -1
  84. package/dist/cjs/hooks/use-mounted/index.cjs.map +1 -1
  85. package/dist/cjs/hooks/use-outside-click/index.cjs.map +1 -1
  86. package/dist/cjs/providers/i18n-provider/i18n-provider.cjs.map +1 -1
  87. package/dist/cjs/utils/children.cjs.map +1 -1
  88. package/dist/cjs/utils/dom.cjs.map +1 -1
  89. package/dist/cjs/utils/store.cjs.map +1 -1
  90. package/dist/esm/components/accordion/use-accordion.js.map +1 -1
  91. package/dist/esm/components/autocomplete/use-autocomplete.js.map +1 -1
  92. package/dist/esm/components/calendar/use-calendar.js +1 -1
  93. package/dist/esm/components/calendar/use-calendar.js.map +1 -1
  94. package/dist/esm/components/carousel/carousel.js.map +1 -1
  95. package/dist/esm/components/chart/chart.js.map +1 -1
  96. package/dist/esm/components/chart/use-polar-chart.js.map +1 -1
  97. package/dist/esm/components/checkbox/checkbox.js.map +1 -1
  98. package/dist/esm/components/checkbox/use-checkbox-group.js.map +1 -1
  99. package/dist/esm/components/checkbox-card/checkbox-card.js.map +1 -1
  100. package/dist/esm/components/collapse/collapse.js.map +1 -1
  101. package/dist/esm/components/color-picker/use-color-picker.js.map +1 -1
  102. package/dist/esm/components/color-swatch/color-swatch-group.js.map +1 -1
  103. package/dist/esm/components/date-picker/date-picker.js.map +1 -1
  104. package/dist/esm/components/date-picker/use-date-picker.js +1 -1
  105. package/dist/esm/components/date-picker/use-date-picker.js.map +1 -1
  106. package/dist/esm/components/editable/use-editable.js.map +1 -1
  107. package/dist/esm/components/field/field.js.map +1 -1
  108. package/dist/esm/components/file-input/file-input.js.map +1 -1
  109. package/dist/esm/components/flip/flip.js.map +1 -1
  110. package/dist/esm/components/highlight/highlight.js.map +1 -1
  111. package/dist/esm/components/indicator/indicator.js.map +1 -1
  112. package/dist/esm/components/infinite-scroll-area/use-infinite-scroll.js.map +1 -1
  113. package/dist/esm/components/input/input-group.js.map +1 -1
  114. package/dist/esm/components/list/list.js.map +1 -1
  115. package/dist/esm/components/menu/use-menu.js.map +1 -1
  116. package/dist/esm/components/native-select/use-native-select.js.map +1 -1
  117. package/dist/esm/components/native-table/native-table.js.map +1 -1
  118. package/dist/esm/components/notice/notice.js.map +1 -1
  119. package/dist/esm/components/number-input/use-number-input.js.map +1 -1
  120. package/dist/esm/components/pagination/pagination.js.map +1 -1
  121. package/dist/esm/components/pagination/use-pagination.js.map +1 -1
  122. package/dist/esm/components/picture/picture.js.map +1 -1
  123. package/dist/esm/components/pin-input/pin-input.js.map +1 -1
  124. package/dist/esm/components/pin-input/use-pin-input.js.map +1 -1
  125. package/dist/esm/components/qr-code/use-qr-code.js.map +1 -1
  126. package/dist/esm/components/radio/use-radio-group.js.map +1 -1
  127. package/dist/esm/components/segmented-control/segmented-control.js.map +1 -1
  128. package/dist/esm/components/select/use-select.js.map +1 -1
  129. package/dist/esm/components/show/show.js.map +1 -1
  130. package/dist/esm/components/sidebar/sidebar.js.map +1 -1
  131. package/dist/esm/components/sidebar/use-sidebar.js.map +1 -1
  132. package/dist/esm/components/simple-grid/simple-grid.js.map +1 -1
  133. package/dist/esm/components/stack/z-stack.js.map +1 -1
  134. package/dist/esm/components/steps/steps.js.map +1 -1
  135. package/dist/esm/components/steps/use-steps.js.map +1 -1
  136. package/dist/esm/components/table/table.js.map +1 -1
  137. package/dist/esm/components/tabs/tabs.js.map +1 -1
  138. package/dist/esm/components/toggle/use-toggle-group.js.map +1 -1
  139. package/dist/esm/components/toggle/use-toggle.js.map +1 -1
  140. package/dist/esm/components/tree/tree.js.map +1 -1
  141. package/dist/esm/components/tree/use-tree.js.map +1 -1
  142. package/dist/esm/core/components/create-component.js.map +1 -1
  143. package/dist/esm/core/components/props.js.map +1 -1
  144. package/dist/esm/core/components/use-component-style.js.map +1 -1
  145. package/dist/esm/core/css/animation.js.map +1 -1
  146. package/dist/esm/core/css/at-rule.js.map +1 -1
  147. package/dist/esm/core/css/calc.js.map +1 -1
  148. package/dist/esm/core/css/color-mix.js.map +1 -1
  149. package/dist/esm/core/css/config.js.map +1 -1
  150. package/dist/esm/core/css/css.js.map +1 -1
  151. package/dist/esm/core/css/gradient.js.map +1 -1
  152. package/dist/esm/core/css/grid.js.map +1 -1
  153. package/dist/esm/core/css/transition.js.map +1 -1
  154. package/dist/esm/core/css/utils.js.map +1 -1
  155. package/dist/esm/core/system/breakpoint.js.map +1 -1
  156. package/dist/esm/core/system/color-mode-provider.js.map +1 -1
  157. package/dist/esm/core/system/create-system.js.map +1 -1
  158. package/dist/esm/core/system/environment-provider.js.map +1 -1
  159. package/dist/esm/core/system/storage-manager.js.map +1 -1
  160. package/dist/esm/core/system/storage-script.js.map +1 -1
  161. package/dist/esm/core/system/use-system-color-mode.js.map +1 -1
  162. package/dist/esm/core/system/var.js.map +1 -1
  163. package/dist/esm/hooks/use-animation/index.js.map +1 -1
  164. package/dist/esm/hooks/use-breakpoint/use-breakpoint-value.js.map +1 -1
  165. package/dist/esm/hooks/use-breakpoint/use-breakpoint.js.map +1 -1
  166. package/dist/esm/hooks/use-clickable/index.js.map +1 -1
  167. package/dist/esm/hooks/use-clipboard/index.js.map +1 -1
  168. package/dist/esm/hooks/use-controllable-state/index.js.map +1 -1
  169. package/dist/esm/hooks/use-counter/index.js.map +1 -1
  170. package/dist/esm/hooks/use-descendants/index.js.map +1 -1
  171. package/dist/esm/hooks/use-focus/index.js.map +1 -1
  172. package/dist/esm/hooks/use-local-storage/index.js.map +1 -1
  173. package/dist/esm/hooks/use-mounted/index.js.map +1 -1
  174. package/dist/esm/hooks/use-outside-click/index.js.map +1 -1
  175. package/dist/esm/providers/i18n-provider/i18n-provider.js.map +1 -1
  176. package/dist/esm/utils/children.js.map +1 -1
  177. package/dist/esm/utils/dom.js.map +1 -1
  178. package/dist/esm/utils/store.js.map +1 -1
  179. package/dist/types/components/autocomplete/autocomplete.style.d.ts +1 -1
  180. package/dist/types/components/breadcrumb/breadcrumb.style.d.ts +1 -1
  181. package/dist/types/components/calendar/calendar.style.d.ts +2 -2
  182. package/dist/types/components/carousel/carousel.style.d.ts +2 -2
  183. package/dist/types/components/date-picker/date-picker.style.d.ts +1 -1
  184. package/dist/types/components/field/use-field-props.d.ts +1 -1
  185. package/dist/types/components/file-button/use-file-button.d.ts +2 -2
  186. package/dist/types/components/file-input/use-file-input.d.ts +2 -2
  187. package/dist/types/components/menu/menu.style.d.ts +2 -2
  188. package/dist/types/components/progress/use-progress.d.ts +6 -6
  189. package/dist/types/components/rating/rating.style.d.ts +2 -2
  190. package/dist/types/components/select/select.style.d.ts +1 -1
  191. package/dist/types/components/steps/steps.style.d.ts +1 -1
  192. package/dist/types/components/tabs/tabs.style.d.ts +1 -1
  193. package/dist/types/components/tree/tree.style.d.ts +1 -1
  194. package/dist/types/components/tree/use-tree.d.ts +2 -2
  195. package/dist/types/hooks/use-clickable/index.d.ts +2 -2
  196. package/dist/types/providers/i18n-provider/i18n-provider.d.ts +1 -1
  197. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"chart.cjs","names":["createSlotComponent","chartStyle","useChart","useSplitChildren","ChartContext","styled","ResponsiveContainer","Fragment","varAttr","createContext","mergeProps","useChartLegend","Legend","useChartTooltip","Tooltip","useChartLabelList","LabelList","useChartLabel","Label"],"sources":["../../../../src/components/chart/chart.tsx"],"sourcesContent":["\"use client\"\n\nimport type {\n JSXElementConstructor,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n RefObject,\n} from \"react\"\nimport type {\n ActiveDotProps,\n DataKey,\n DefaultLegendContentProps,\n DotItemDotProps,\n DotProps,\n LabelProps,\n RenderableText,\n ResponsiveContainerProps,\n TooltipContentProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n CSSProps,\n ExtractStyleValueWithCondition,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport type { ChartStyle } from \"./chart.style\"\nimport type {\n UseChartLabelListProps,\n UseChartLabelProps,\n UseChartLegendProps,\n UseChartLegendReturn,\n UseChartTooltipProps,\n} from \"./use-chart\"\nimport { Fragment, isValidElement, useMemo, useRef } from \"react\"\nimport {\n Label,\n LabelList,\n Legend,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\"\nimport { createSlotComponent, mergeProps, styled, varAttr } from \"../../core\"\nimport {\n cast,\n createContext,\n isArray,\n isNull,\n isNumber,\n isObject,\n isString,\n isUndefined,\n useSplitChildren,\n} from \"../../utils\"\nimport { chartStyle } from \"./chart.style\"\nimport {\n ChartContext,\n useChart,\n useChartLabel,\n useChartLabelList,\n useChartLegend,\n useChartTooltip,\n} from \"./use-chart\"\n\nexport type ChartDot =\n | ((props: DotItemDotProps) => ReactNode)\n | boolean\n | Merge<Partial<DotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartActiveDot =\n | ((props: ActiveDotProps) => ReactNode)\n | boolean\n | Merge<Partial<ActiveDotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartLabel =\n | ((props: any) => ReactElement | RenderableText)\n | boolean\n | (Merge<\n HTMLStyledProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"content\"\n | \"formatter\"\n | \"index\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"textBreakAll\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n > & { dataKey?: DataKey<any> })\n | number\n | ReactElement\n | string\n\nexport type ChartLabelList =\n | ((props: LabelProps) => ReactElement | RenderableText)\n | boolean\n | ChartLabelListProps\n | ReactElement\n\nexport type ChartTickLine = boolean | HTMLStyledProps<\"line\">\n\nexport type GradientStrategy = \"invert\" | \"shade\" | \"tint\"\n\nexport function mergeSeries<Y>(\n series: Y[],\n color: CSSProps[\"color\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { color: CSSProps[\"color\"] })[] {\n const colors = gradients(series.length, color, strategy)\n\n return series.map((item, index) => ({ ...item, color: colors[index] }))\n}\n\nexport function mergeData<Y>(\n data: Y[],\n color: ExtractStyleValueWithCondition<CSSProps[\"fill\"]> = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { fill: CSSProps[\"fill\"] })[] {\n const colors = gradients(data.length, color, strategy)\n\n return data.map((item, index) => ({ ...item, fill: colors[index] }))\n}\n\nexport function gradients(\n length: number,\n color: ExtractStyleValueWithCondition<CSSProps[\"color\"]> = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): CSSProps[\"color\"][] {\n return Array.from({ length }, (_, index) => {\n const value = Math.floor(100 - (100 / length) * index)\n const percent = `${value}%`\n\n if (strategy === \"invert\") {\n return [\n `tint(colors.${color as string}, ${percent})`,\n `shade(colors.${color as string}, ${percent})`,\n ]\n } else {\n return `${strategy}(colors.${color as string}, ${percent})`\n }\n })\n}\n\nfunction parseJSON(value: any) {\n try {\n return JSON.parse(value)\n } catch {\n return value\n }\n}\n\ninterface ComponentContext extends Pick<\n ChartProps,\n \"legendProps\" | \"tooltipProps\"\n> {\n nameKeyRef: RefObject<string | undefined>\n}\n\nexport interface ChartProps extends HTMLStyledProps, ThemeProps<ChartStyle> {\n /**\n * The components to render the chart components.\n */\n components: {\n component: JSXElementConstructor<any>\n fallback: ReactNode\n }[]\n /**\n * The function to render the chart.\n */\n render: (props: PropsWithChildren) => ReactNode\n /**\n * The color of the label list.\n */\n labelListColor?: CSSProps[\"color\"]\n /**\n * The fill of the label list.\n */\n labelListFill?: CSSProps[\"fill\"]\n /**\n * The fill of the tooltip cursor.\n */\n tooltipCursorFill?: CSSProps[\"fill\"]\n /**\n * The fill opacity of the tooltip cursor.\n */\n tooltipCursorFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The stroke of the tooltip cursor.\n */\n tooltipCursorStroke?: CSSProps[\"stroke\"]\n /**\n * If `true`, legend is visible.\n *\n * @default false\n */\n withLegend?: boolean\n /**\n * If `true`, tooltip is visible.\n *\n * @default true\n */\n withTooltip?: boolean\n /**\n * Props for the legend component.\n */\n legendProps?: ChartLegendProps\n /**\n * Props for the responsive container component.\n */\n responsiveContainerProps?: ResponsiveContainerProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: ChartTooltipProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ChartPropsContext,\n useComponentContext: useChartComponentContext,\n usePropsContext: useChartPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ChartProps, ChartStyle, ComponentContext>(\n \"chart\",\n chartStyle,\n)\n\nexport { ChartPropsContext, useChartComponentContext, useChartPropsContext }\n\nexport const Chart = withProvider(\n ({\n children,\n components: componentsProp,\n render,\n withLegend = false,\n withTooltip = true,\n legendProps,\n responsiveContainerProps,\n tooltipProps,\n ...rest\n }: ChartProps) => {\n const { highlightedDataKey, onHighlight } = useChart()\n const nameKeyRef = useRef<string | undefined>(undefined)\n const components = useMemo(\n () => [\n ...componentsProp,\n {\n component: ChartLegend,\n fallback: withLegend ? <ChartLegend /> : null,\n },\n {\n component: ChartTooltip,\n fallback: withTooltip ? <ChartTooltip /> : null,\n },\n ],\n [componentsProp, withLegend, withTooltip],\n )\n const [omittedChildren, ...customComponents] = useSplitChildren(\n children,\n ...components.map(({ component }) => component),\n )\n const context = useMemo(\n () => ({\n highlightedDataKey,\n onHighlight,\n }),\n [highlightedDataKey, onHighlight],\n )\n const componentContext = useMemo(\n () => ({\n nameKeyRef,\n legendProps,\n tooltipProps,\n }),\n [legendProps, tooltipProps],\n )\n\n return (\n <ChartContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div {...rest}>\n <ResponsiveContainer {...responsiveContainerProps}>\n {render({\n children: (\n <>\n {components.map(({ fallback }, index) => (\n <Fragment key={index}>\n {customComponents[index] ?? fallback}\n </Fragment>\n ))}\n\n {omittedChildren}\n </>\n ),\n })}\n </ResponsiveContainer>\n </styled.div>\n </ComponentContext>\n </ChartContext>\n )\n },\n \"root\",\n)(\n undefined,\n ({\n labelListColor,\n labelListFill,\n tooltipCursorFill,\n tooltipCursorFillOpacity,\n tooltipCursorStroke,\n ...rest\n }) => ({\n \"--label-list-color\": varAttr(labelListColor, \"colors\"),\n \"--label-list-fill\": varAttr(labelListFill, \"colors\"),\n \"--tooltip-cursor-fill\": varAttr(tooltipCursorFill, \"colors\"),\n \"--tooltip-cursor-fill-opacity\": tooltipCursorFillOpacity,\n \"--tooltip-cursor-stroke\": varAttr(tooltipCursorStroke, \"colors\"),\n ...rest,\n }),\n)\n\ninterface ChartLegendContext extends Pick<\n UseChartLegendReturn,\n \"getLegendItemProps\"\n> {}\n\nconst [ChartLegendContext, useChartLegendContext] =\n createContext<ChartLegendContext>({\n name: \"ChartLegendContext\",\n })\n\nexport interface ChartLegendProps extends Merge<\n HTMLStyledProps,\n UseChartLegendProps\n> {\n /**\n * Props for the content component.\n */\n contentProps?: Omit<ChartLegendContentProps, \"formatter\" | \"payload\">\n}\n\nexport const ChartLegend = withContext<\"div\", ChartLegendProps>((props) => {\n const { legendProps } = useChartComponentContext()\n const { contentProps, ...rest } = mergeProps(legendProps, props)()\n const {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n } = useChartLegend({\n content: ({ formatter, payload }) => (\n <ChartLegendContent\n formatter={formatter}\n payload={payload}\n {...getLegendContentProps(contentProps)}\n />\n ),\n ...rest,\n })\n const context = useMemo(() => ({ getLegendItemProps }), [getLegendItemProps])\n\n return (\n <ChartLegendContext value={context}>\n <styled.div asChild {...getRootProps()}>\n <Legend {...getLegendProps()} />\n </styled.div>\n </ChartLegendContext>\n )\n}, \"legend\")()\n\ninterface ChartLegendContentProps\n extends\n HTMLStyledProps,\n Pick<DefaultLegendContentProps, \"formatter\" | \"payload\"> {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartLegendContent = withContext<\"div\", ChartLegendContentProps>(\n ({ formatter, payload, withSwatch = true, ...rest }) => {\n const { nameKeyRef } = useChartComponentContext()\n const { getLegendItemProps } = useChartLegendContext()\n\n return (\n <styled.div {...rest}>\n {payload?.map((data, index) => {\n let value = data.value\n\n if (nameKeyRef.current)\n value = (data.payload as any)?.[nameKeyRef.current]\n\n const dataKey =\n isString(data.dataKey) || isNumber(data.dataKey)\n ? data.dataKey\n : value\n const color = parseJSON(data.color)\n const formattedValue = formatter?.(value, data, index) ?? value\n\n return (\n <ChartLegendItem key={index} {...getLegendItemProps({ dataKey })}>\n {withSwatch ? <ChartLegendSwatch bg={color} /> : null}\n <ChartLegendValue>{formattedValue}</ChartLegendValue>\n </ChartLegendItem>\n )\n })}\n </styled.div>\n )\n },\n \"legendContent\",\n)()\n\ninterface ChartLegendItemProps extends HTMLStyledProps {}\n\nconst ChartLegendItem = withContext<\"div\", ChartLegendItemProps>(\n \"div\",\n \"legendItem\",\n)()\n\ninterface ChartLegendSwatchProps extends HTMLStyledProps {}\n\nconst ChartLegendSwatch = withContext<\"div\", ChartLegendSwatchProps>(\n \"div\",\n \"legendSwatch\",\n)()\n\ninterface ChartLegendValueProps extends HTMLStyledProps<\"span\"> {}\n\nconst ChartLegendValue = withContext<\"span\", ChartLegendValueProps>(\n \"span\",\n \"legendValue\",\n)()\n\nexport interface ChartTooltipProps<\n Y extends (number | string)[] | number | string = number,\n M extends number | string = string,\n> extends Omit<Merge<HTMLStyledProps, UseChartTooltipProps<Y, M>>, \"cursor\"> {\n /**\n * Props for the cursor component.\n */\n cursor?: boolean | ChartTooltipCursorProps | ReactElement\n /**\n * Props for the content component.\n */\n contentProps?: Omit<\n ChartTooltipContentProps,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n >\n}\n\nexport const ChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>(\n props: ChartTooltipProps<Y, M>,\n) => {\n const { tooltipProps } = useChartComponentContext()\n const {\n cursor = false,\n contentProps,\n ...rest\n } = {\n ...tooltipProps,\n ...props,\n } as ChartTooltipProps<Y, M>\n const { getContentProps, getRootProps } = useChartTooltip<Y, M>({\n content: ({ formatter, label, labelFormatter, payload }) => (\n <ChartTooltipContent\n formatter={formatter}\n label={label}\n labelFormatter={labelFormatter}\n payload={payload}\n {...getContentProps(contentProps)}\n />\n ),\n cursor:\n isValidElement(cursor) || !cursor ? (\n cursor\n ) : (\n <ChartTooltipCursor {...(isObject(cursor) ? cursor : {})} />\n ),\n ...rest,\n })\n\n return <Tooltip {...cast<TooltipProps>(getRootProps())} />\n}\n\ninterface ChartTooltipCursorProps extends Omit<\n HTMLStyledProps<\"path\">,\n \"height\" | \"points\" | \"width\" | \"x\" | \"y\"\n> {\n brushBottom?: number\n height?: number\n payload?: Dict[]\n payloadIndex?: number\n points?: { x: number; y: number }[]\n width?: number\n x?: number\n y?: number\n}\n\nconst ChartTooltipCursor = withContext<\"path\", ChartTooltipCursorProps>(\n \"path\",\n \"tooltipCursor\",\n)(\n undefined,\n ({\n bottom: _bottom,\n brushBottom: _brushBottom,\n fill,\n height,\n left: _left,\n payload: _payload,\n payloadIndex: _payloadIndex,\n points,\n right: _right,\n stroke,\n top: _top,\n width,\n x,\n y,\n ...rest\n }) => {\n const d = points\n ? `M${points[0]?.x},${points[0]?.y}L${points[1]?.x},${points[1]?.y}`\n : `M ${x},${y} h ${width} v ${height} h -${width} Z`\n return {\n asChild: true,\n children: <path d={d} height={height} width={width} />,\n fill: fill === \"#ccc\" ? undefined : fill,\n stroke: stroke === \"#ccc\" ? undefined : stroke,\n ...rest,\n }\n },\n)\n\ninterface ChartTooltipContentProps\n extends\n HTMLStyledProps,\n Pick<\n TooltipContentProps<any, any>,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n > {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartTooltipContent = withContext<\"div\", ChartTooltipContentProps>(\n ({\n formatter,\n label: labelProp,\n labelFormatter,\n payload,\n withSwatch = true,\n ...rest\n }) => {\n const { nameKeyRef } = useChartComponentContext()\n const label = labelFormatter\n ? labelFormatter(labelProp, payload)\n : labelProp\n\n return (\n <styled.div {...rest}>\n {!isUndefined(label) && !isNull(label) ? (\n <ChartTooltipLabel>{label}</ChartTooltipLabel>\n ) : null}\n\n <ChartTooltipList>\n {payload.map((data, index) => {\n if (nameKeyRef.current) data.name = data.payload[nameKeyRef.current]\n\n const color = parseJSON(data.color) || data.payload.fill\n const result =\n formatter?.(data.value, data.name, data, index, payload) ??\n (isArray(data.value) ? data.value.join(\", \") : data.value)\n const [value, name] = isArray(result) ? result : [result, data.name]\n\n return (\n <ChartTooltipItem key={index}>\n {withSwatch ? <ChartTooltipSwatch bg={color} /> : null}\n <ChartTooltipName>{name}</ChartTooltipName>\n <ChartTooltipValue>{value}</ChartTooltipValue>\n </ChartTooltipItem>\n )\n })}\n </ChartTooltipList>\n </styled.div>\n )\n },\n \"tooltipContent\",\n)()\n\ninterface ChartTooltipLabel extends HTMLStyledProps<\"p\"> {}\n\nconst ChartTooltipLabel = withContext<\"p\", ChartTooltipLabel>(\n \"p\",\n \"tooltipLabel\",\n)()\n\ninterface ChartTooltipList extends HTMLStyledProps {}\n\nconst ChartTooltipList = withContext<\"div\", ChartTooltipList>(\n \"div\",\n \"tooltipList\",\n)()\n\ninterface ChartTooltipItem extends HTMLStyledProps {}\n\nconst ChartTooltipItem = withContext<\"div\", ChartTooltipItem>(\n \"div\",\n \"tooltipItem\",\n)()\n\ninterface ChartTooltipSwatch extends HTMLStyledProps {}\n\nconst ChartTooltipSwatch = withContext<\"div\", ChartTooltipSwatch>(\n \"div\",\n \"tooltipSwatch\",\n)()\n\ninterface ChartTooltipName extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipName = withContext<\"span\", ChartTooltipName>(\n \"span\",\n \"tooltipName\",\n)()\n\ninterface ChartTooltipValue extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipValue = withContext<\"span\", ChartTooltipValue>(\n \"span\",\n \"tooltipValue\",\n)()\n\nexport interface ChartLabelListProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelListProps\n> {}\n\nexport const ChartLabelList = withContext<\"text\", ChartLabelListProps>(\n (props) => {\n const { getLabelListProps, getRootProps } = useChartLabelList(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <LabelList {...getLabelListProps()} />\n </styled.text>\n )\n },\n \"labelList\",\n)()\n\nexport interface ChartLabelProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelProps\n> {}\n\nexport const ChartLabel = withContext<\"text\", ChartLabelProps>((props) => {\n const { getLabelProps, getRootProps } = useChartLabel(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <Label {...getLabelProps()} />\n </styled.text>\n )\n}, \"label\")()\n"],"mappings":"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"}
1
+ {"version":3,"file":"chart.cjs","names":["createSlotComponent","chartStyle","useChart","useSplitChildren","ChartContext","styled","ResponsiveContainer","Fragment","varAttr","createContext","mergeProps","useChartLegend","Legend","useChartTooltip","Tooltip","useChartLabelList","LabelList","useChartLabel","Label"],"sources":["../../../../src/components/chart/chart.tsx"],"sourcesContent":["\"use client\"\n\nimport type {\n JSXElementConstructor,\n PropsWithChildren,\n ReactElement,\n ReactNode,\n RefObject,\n} from \"react\"\nimport type {\n ActiveDotProps,\n DataKey,\n DefaultLegendContentProps,\n DotItemDotProps,\n DotProps,\n LabelProps,\n RenderableText,\n ResponsiveContainerProps,\n TooltipContentProps,\n TooltipProps,\n} from \"recharts\"\nimport type {\n CSSProps,\n ExtractStyleValueWithCondition,\n HTMLStyledProps,\n ThemeProps,\n} from \"../../core\"\nimport type { Dict, Merge } from \"../../utils\"\nimport type { ChartStyle } from \"./chart.style\"\nimport type {\n UseChartLabelListProps,\n UseChartLabelProps,\n UseChartLegendProps,\n UseChartLegendReturn,\n UseChartTooltipProps,\n} from \"./use-chart\"\nimport { Fragment, isValidElement, useMemo, useRef } from \"react\"\nimport {\n Label,\n LabelList,\n Legend,\n ResponsiveContainer,\n Tooltip,\n} from \"recharts\"\nimport { createSlotComponent, mergeProps, styled, varAttr } from \"../../core\"\nimport {\n cast,\n createContext,\n isArray,\n isNull,\n isNumber,\n isObject,\n isString,\n isUndefined,\n useSplitChildren,\n} from \"../../utils\"\nimport { chartStyle } from \"./chart.style\"\nimport {\n ChartContext,\n useChart,\n useChartLabel,\n useChartLabelList,\n useChartLegend,\n useChartTooltip,\n} from \"./use-chart\"\n\nexport type ChartDot =\n | ((props: DotItemDotProps) => ReactNode)\n | boolean\n | Merge<Partial<DotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartActiveDot =\n | ((props: ActiveDotProps) => ReactNode)\n | boolean\n | Merge<Partial<ActiveDotProps>, HTMLStyledProps<\"circle\">>\n | ReactElement\n\nexport type ChartLabel =\n | ((props: any) => ReactElement | RenderableText)\n | boolean\n | (Merge<\n HTMLStyledProps<\"text\">,\n Pick<\n LabelProps,\n | \"angle\"\n | \"content\"\n | \"formatter\"\n | \"index\"\n | \"labelRef\"\n | \"offset\"\n | \"parentViewBox\"\n | \"position\"\n | \"textBreakAll\"\n | \"value\"\n | \"viewBox\"\n | \"zIndex\"\n >\n > & { dataKey?: DataKey<any> })\n | number\n | ReactElement\n | string\n\nexport type ChartLabelList =\n | ((props: LabelProps) => ReactElement | RenderableText)\n | boolean\n | ChartLabelListProps\n | ReactElement\n\nexport type ChartTickLine = boolean | HTMLStyledProps<\"line\">\n\nexport type GradientStrategy = \"invert\" | \"shade\" | \"tint\"\n\nexport function mergeSeries<Y>(\n series: Y[],\n color: CSSProps[\"color\"] = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { color: CSSProps[\"color\"] })[] {\n const colors = gradients(series.length, color, strategy)\n\n return series.map((item, index) => ({ ...item, color: colors[index] }))\n}\n\nexport function mergeData<Y>(\n data: Y[],\n color: ExtractStyleValueWithCondition<CSSProps[\"fill\"]> = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): (Y & { fill: CSSProps[\"fill\"] })[] {\n const colors = gradients(data.length, color, strategy)\n\n return data.map((item, index) => ({ ...item, fill: colors[index] }))\n}\n\nexport function gradients(\n length: number,\n color: ExtractStyleValueWithCondition<CSSProps[\"color\"]> = \"mono\",\n strategy: GradientStrategy = \"invert\",\n): CSSProps[\"color\"][] {\n return Array.from({ length }, (_, index) => {\n const value = Math.floor(100 - (100 / length) * index)\n const percent = `${value}%`\n\n if (strategy === \"invert\")\n return [\n `tint(colors.${color as string}, ${percent})`,\n `shade(colors.${color as string}, ${percent})`,\n ]\n else return `${strategy}(colors.${color as string}, ${percent})`\n })\n}\n\nfunction parseJSON(value: any) {\n try {\n return JSON.parse(value)\n } catch {\n return value\n }\n}\n\ninterface ComponentContext extends Pick<\n ChartProps,\n \"legendProps\" | \"tooltipProps\"\n> {\n nameKeyRef: RefObject<string | undefined>\n}\n\nexport interface ChartProps extends HTMLStyledProps, ThemeProps<ChartStyle> {\n /**\n * The components to render the chart components.\n */\n components: {\n component: JSXElementConstructor<any>\n fallback: ReactNode\n }[]\n /**\n * The function to render the chart.\n */\n render: (props: PropsWithChildren) => ReactNode\n /**\n * The color of the label list.\n */\n labelListColor?: CSSProps[\"color\"]\n /**\n * The fill of the label list.\n */\n labelListFill?: CSSProps[\"fill\"]\n /**\n * The fill of the tooltip cursor.\n */\n tooltipCursorFill?: CSSProps[\"fill\"]\n /**\n * The fill opacity of the tooltip cursor.\n */\n tooltipCursorFillOpacity?: CSSProps[\"fillOpacity\"]\n /**\n * The stroke of the tooltip cursor.\n */\n tooltipCursorStroke?: CSSProps[\"stroke\"]\n /**\n * If `true`, legend is visible.\n *\n * @default false\n */\n withLegend?: boolean\n /**\n * If `true`, tooltip is visible.\n *\n * @default true\n */\n withTooltip?: boolean\n /**\n * Props for the legend component.\n */\n legendProps?: ChartLegendProps\n /**\n * Props for the responsive container component.\n */\n responsiveContainerProps?: ResponsiveContainerProps\n /**\n * Props for the tooltip component.\n */\n tooltipProps?: ChartTooltipProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ChartPropsContext,\n useComponentContext: useChartComponentContext,\n usePropsContext: useChartPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ChartProps, ChartStyle, ComponentContext>(\n \"chart\",\n chartStyle,\n)\n\nexport { ChartPropsContext, useChartComponentContext, useChartPropsContext }\n\nexport const Chart = withProvider(\n ({\n children,\n components: componentsProp,\n render,\n withLegend = false,\n withTooltip = true,\n legendProps,\n responsiveContainerProps,\n tooltipProps,\n ...rest\n }: ChartProps) => {\n const { highlightedDataKey, onHighlight } = useChart()\n const nameKeyRef = useRef<string | undefined>(undefined)\n const components = useMemo(\n () => [\n ...componentsProp,\n {\n component: ChartLegend,\n fallback: withLegend ? <ChartLegend /> : null,\n },\n {\n component: ChartTooltip,\n fallback: withTooltip ? <ChartTooltip /> : null,\n },\n ],\n [componentsProp, withLegend, withTooltip],\n )\n const [omittedChildren, ...customComponents] = useSplitChildren(\n children,\n ...components.map(({ component }) => component),\n )\n const context = useMemo(\n () => ({\n highlightedDataKey,\n onHighlight,\n }),\n [highlightedDataKey, onHighlight],\n )\n const componentContext = useMemo(\n () => ({\n nameKeyRef,\n legendProps,\n tooltipProps,\n }),\n [legendProps, tooltipProps],\n )\n\n return (\n <ChartContext value={context}>\n <ComponentContext value={componentContext}>\n <styled.div {...rest}>\n <ResponsiveContainer {...responsiveContainerProps}>\n {render({\n children: (\n <>\n {components.map(({ fallback }, index) => (\n <Fragment key={index}>\n {customComponents[index] ?? fallback}\n </Fragment>\n ))}\n\n {omittedChildren}\n </>\n ),\n })}\n </ResponsiveContainer>\n </styled.div>\n </ComponentContext>\n </ChartContext>\n )\n },\n \"root\",\n)(\n undefined,\n ({\n labelListColor,\n labelListFill,\n tooltipCursorFill,\n tooltipCursorFillOpacity,\n tooltipCursorStroke,\n ...rest\n }) => ({\n \"--label-list-color\": varAttr(labelListColor, \"colors\"),\n \"--label-list-fill\": varAttr(labelListFill, \"colors\"),\n \"--tooltip-cursor-fill\": varAttr(tooltipCursorFill, \"colors\"),\n \"--tooltip-cursor-fill-opacity\": tooltipCursorFillOpacity,\n \"--tooltip-cursor-stroke\": varAttr(tooltipCursorStroke, \"colors\"),\n ...rest,\n }),\n)\n\ninterface ChartLegendContext extends Pick<\n UseChartLegendReturn,\n \"getLegendItemProps\"\n> {}\n\nconst [ChartLegendContext, useChartLegendContext] =\n createContext<ChartLegendContext>({\n name: \"ChartLegendContext\",\n })\n\nexport interface ChartLegendProps extends Merge<\n HTMLStyledProps,\n UseChartLegendProps\n> {\n /**\n * Props for the content component.\n */\n contentProps?: Omit<ChartLegendContentProps, \"formatter\" | \"payload\">\n}\n\nexport const ChartLegend = withContext<\"div\", ChartLegendProps>((props) => {\n const { legendProps } = useChartComponentContext()\n const { contentProps, ...rest } = mergeProps(legendProps, props)()\n const {\n getLegendContentProps,\n getLegendItemProps,\n getLegendProps,\n getRootProps,\n } = useChartLegend({\n content: ({ formatter, payload }) => (\n <ChartLegendContent\n formatter={formatter}\n payload={payload}\n {...getLegendContentProps(contentProps)}\n />\n ),\n ...rest,\n })\n const context = useMemo(() => ({ getLegendItemProps }), [getLegendItemProps])\n\n return (\n <ChartLegendContext value={context}>\n <styled.div asChild {...getRootProps()}>\n <Legend {...getLegendProps()} />\n </styled.div>\n </ChartLegendContext>\n )\n}, \"legend\")()\n\ninterface ChartLegendContentProps\n extends\n HTMLStyledProps,\n Pick<DefaultLegendContentProps, \"formatter\" | \"payload\"> {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartLegendContent = withContext<\"div\", ChartLegendContentProps>(\n ({ formatter, payload, withSwatch = true, ...rest }) => {\n const { nameKeyRef } = useChartComponentContext()\n const { getLegendItemProps } = useChartLegendContext()\n\n return (\n <styled.div {...rest}>\n {payload?.map((data, index) => {\n let value = data.value\n\n if (nameKeyRef.current)\n value = (data.payload as any)?.[nameKeyRef.current]\n\n const dataKey =\n isString(data.dataKey) || isNumber(data.dataKey)\n ? data.dataKey\n : value\n const color = parseJSON(data.color)\n const formattedValue = formatter?.(value, data, index) ?? value\n\n return (\n <ChartLegendItem key={index} {...getLegendItemProps({ dataKey })}>\n {withSwatch ? <ChartLegendSwatch bg={color} /> : null}\n <ChartLegendValue>{formattedValue}</ChartLegendValue>\n </ChartLegendItem>\n )\n })}\n </styled.div>\n )\n },\n \"legendContent\",\n)()\n\ninterface ChartLegendItemProps extends HTMLStyledProps {}\n\nconst ChartLegendItem = withContext<\"div\", ChartLegendItemProps>(\n \"div\",\n \"legendItem\",\n)()\n\ninterface ChartLegendSwatchProps extends HTMLStyledProps {}\n\nconst ChartLegendSwatch = withContext<\"div\", ChartLegendSwatchProps>(\n \"div\",\n \"legendSwatch\",\n)()\n\ninterface ChartLegendValueProps extends HTMLStyledProps<\"span\"> {}\n\nconst ChartLegendValue = withContext<\"span\", ChartLegendValueProps>(\n \"span\",\n \"legendValue\",\n)()\n\nexport interface ChartTooltipProps<\n Y extends (number | string)[] | number | string = number,\n M extends number | string = string,\n> extends Omit<Merge<HTMLStyledProps, UseChartTooltipProps<Y, M>>, \"cursor\"> {\n /**\n * Props for the cursor component.\n */\n cursor?: boolean | ChartTooltipCursorProps | ReactElement\n /**\n * Props for the content component.\n */\n contentProps?: Omit<\n ChartTooltipContentProps,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n >\n}\n\nexport const ChartTooltip = <\n Y extends (number | string)[] | number | string,\n M extends number | string,\n>(\n props: ChartTooltipProps<Y, M>,\n) => {\n const { tooltipProps } = useChartComponentContext()\n const {\n cursor = false,\n contentProps,\n ...rest\n } = {\n ...tooltipProps,\n ...props,\n } as ChartTooltipProps<Y, M>\n const { getContentProps, getRootProps } = useChartTooltip<Y, M>({\n content: ({ formatter, label, labelFormatter, payload }) => (\n <ChartTooltipContent\n formatter={formatter}\n label={label}\n labelFormatter={labelFormatter}\n payload={payload}\n {...getContentProps(contentProps)}\n />\n ),\n cursor:\n isValidElement(cursor) || !cursor ? (\n cursor\n ) : (\n <ChartTooltipCursor {...(isObject(cursor) ? cursor : {})} />\n ),\n ...rest,\n })\n\n return <Tooltip {...cast<TooltipProps>(getRootProps())} />\n}\n\ninterface ChartTooltipCursorProps extends Omit<\n HTMLStyledProps<\"path\">,\n \"height\" | \"points\" | \"width\" | \"x\" | \"y\"\n> {\n brushBottom?: number\n height?: number\n payload?: Dict[]\n payloadIndex?: number\n points?: { x: number; y: number }[]\n width?: number\n x?: number\n y?: number\n}\n\nconst ChartTooltipCursor = withContext<\"path\", ChartTooltipCursorProps>(\n \"path\",\n \"tooltipCursor\",\n)(\n undefined,\n ({\n bottom: _bottom,\n brushBottom: _brushBottom,\n fill,\n height,\n left: _left,\n payload: _payload,\n payloadIndex: _payloadIndex,\n points,\n right: _right,\n stroke,\n top: _top,\n width,\n x,\n y,\n ...rest\n }) => {\n const d = points\n ? `M${points[0]?.x},${points[0]?.y}L${points[1]?.x},${points[1]?.y}`\n : `M ${x},${y} h ${width} v ${height} h -${width} Z`\n return {\n asChild: true,\n children: <path d={d} height={height} width={width} />,\n fill: fill === \"#ccc\" ? undefined : fill,\n stroke: stroke === \"#ccc\" ? undefined : stroke,\n ...rest,\n }\n },\n)\n\ninterface ChartTooltipContentProps\n extends\n HTMLStyledProps,\n Pick<\n TooltipContentProps<any, any>,\n \"formatter\" | \"label\" | \"labelFormatter\" | \"payload\"\n > {\n /**\n * If `true`, swatch is visible.\n */\n withSwatch?: boolean\n}\n\nconst ChartTooltipContent = withContext<\"div\", ChartTooltipContentProps>(\n ({\n formatter,\n label: labelProp,\n labelFormatter,\n payload,\n withSwatch = true,\n ...rest\n }) => {\n const { nameKeyRef } = useChartComponentContext()\n const label = labelFormatter\n ? labelFormatter(labelProp, payload)\n : labelProp\n\n return (\n <styled.div {...rest}>\n {!isUndefined(label) && !isNull(label) ? (\n <ChartTooltipLabel>{label}</ChartTooltipLabel>\n ) : null}\n\n <ChartTooltipList>\n {payload.map((data, index) => {\n if (nameKeyRef.current) data.name = data.payload[nameKeyRef.current]\n\n const color = parseJSON(data.color) || data.payload.fill\n const result =\n formatter?.(data.value, data.name, data, index, payload) ??\n (isArray(data.value) ? data.value.join(\", \") : data.value)\n const [value, name] = isArray(result) ? result : [result, data.name]\n\n return (\n <ChartTooltipItem key={index}>\n {withSwatch ? <ChartTooltipSwatch bg={color} /> : null}\n <ChartTooltipName>{name}</ChartTooltipName>\n <ChartTooltipValue>{value}</ChartTooltipValue>\n </ChartTooltipItem>\n )\n })}\n </ChartTooltipList>\n </styled.div>\n )\n },\n \"tooltipContent\",\n)()\n\ninterface ChartTooltipLabel extends HTMLStyledProps<\"p\"> {}\n\nconst ChartTooltipLabel = withContext<\"p\", ChartTooltipLabel>(\n \"p\",\n \"tooltipLabel\",\n)()\n\ninterface ChartTooltipList extends HTMLStyledProps {}\n\nconst ChartTooltipList = withContext<\"div\", ChartTooltipList>(\n \"div\",\n \"tooltipList\",\n)()\n\ninterface ChartTooltipItem extends HTMLStyledProps {}\n\nconst ChartTooltipItem = withContext<\"div\", ChartTooltipItem>(\n \"div\",\n \"tooltipItem\",\n)()\n\ninterface ChartTooltipSwatch extends HTMLStyledProps {}\n\nconst ChartTooltipSwatch = withContext<\"div\", ChartTooltipSwatch>(\n \"div\",\n \"tooltipSwatch\",\n)()\n\ninterface ChartTooltipName extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipName = withContext<\"span\", ChartTooltipName>(\n \"span\",\n \"tooltipName\",\n)()\n\ninterface ChartTooltipValue extends HTMLStyledProps<\"span\"> {}\n\nconst ChartTooltipValue = withContext<\"span\", ChartTooltipValue>(\n \"span\",\n \"tooltipValue\",\n)()\n\nexport interface ChartLabelListProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelListProps\n> {}\n\nexport const ChartLabelList = withContext<\"text\", ChartLabelListProps>(\n (props) => {\n const { getLabelListProps, getRootProps } = useChartLabelList(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <LabelList {...getLabelListProps()} />\n </styled.text>\n )\n },\n \"labelList\",\n)()\n\nexport interface ChartLabelProps extends Merge<\n HTMLStyledProps<\"text\">,\n UseChartLabelProps\n> {}\n\nexport const ChartLabel = withContext<\"text\", ChartLabelProps>((props) => {\n const { getLabelProps, getRootProps } = useChartLabel(props)\n\n return (\n <styled.text asChild {...getRootProps()}>\n <Label {...getLabelProps()} />\n </styled.text>\n )\n}, \"label\")()\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-polar-chart.cjs","names":["mergeProps","useChartContext"],"sources":["../../../../src/components/chart/use-polar-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n CurveProps,\n PieLabelRenderProps,\n PieProps,\n PieSectorDataItem,\n PolarAngleAxisProps,\n PolarGridProps,\n PolarRadiusAxisProps,\n RadarProps,\n RadialBarProps,\n RenderableText,\n SectorProps,\n TextProps,\n} from \"recharts\"\nimport type { PolarChartProps } from \"recharts/types/util/types\"\nimport type { Dict, Merge } from \"../../utils\"\nimport { isValidElement, useCallback, useMemo } from \"react\"\nimport { type HTMLProps, mergeProps, type PropGetter } from \"../../core\"\nimport { dataAttr, isFunction, isObject, isUndefined } from \"../../utils\"\nimport { useChartContext } from \"./use-chart\"\n\nexport interface UsePolarChartProps<Y extends Dict>\n extends\n HTMLProps,\n Pick<\n PolarChartProps,\n | \"accessibilityLayer\"\n | \"barCategoryGap\"\n | \"barGap\"\n | \"barSize\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"layout\"\n | \"maxBarSize\"\n | \"outerRadius\"\n | \"responsive\"\n | \"reverseStackOrder\"\n | \"stackOffset\"\n | \"startAngle\"\n | \"syncId\"\n | \"syncMethod\"\n > {\n /**\n * Chart data.\n */\n data?: Y[]\n}\n\nexport const usePolarChart = <Y extends Dict>({\n accessibilityLayer = true,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...rest\n}: UsePolarChartProps<Y>) => {\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getChartProps: PropGetter<PolarChartProps> = useCallback(\n (props) => ({\n accessibilityLayer,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n margin: { left: 16, right: 16 },\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...props,\n }),\n [\n accessibilityLayer,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n outerRadius,\n responsive,\n startAngle,\n syncId,\n syncMethod,\n barCategoryGap,\n barGap,\n barSize,\n maxBarSize,\n reverseStackOrder,\n stackOffset,\n ],\n )\n\n return {\n getChartProps,\n getRootProps,\n }\n}\n\nexport type UsePolarChartReturn<Y extends Dict> = ReturnType<\n typeof usePolarChart<Y>\n>\n\nexport interface UseChartPieProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n PieProps,\n | \"activeShape\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"data\"\n | \"dataKey\"\n | \"endAngle\"\n | \"hide\"\n | \"inactiveShape\"\n | \"innerRadius\"\n | \"isAnimationActive\"\n | \"label\"\n | \"labelLine\"\n | \"legendType\"\n | \"maxRadius\"\n | \"minAngle\"\n | \"nameKey\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"rootTabIndex\"\n | \"shape\"\n | \"startAngle\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartPie = ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey: dataKeyProp,\n endAngle = -270,\n hide,\n inactiveShape,\n innerRadius = \"0%\",\n isAnimationActive = false,\n label,\n labelLine = false,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius = !label ? \"100%\" : undefined,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle = 90,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartPieProps = {}) => {\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPieProps: PropGetter<PieProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey,\n endAngle,\n fill: \"\",\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n stroke: \"\",\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKeyProp,\n endAngle,\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getPieProps, getRootProps }\n}\n\nexport type UseChartPieReturn = ReturnType<typeof useChartPie>\n\nexport interface UseChartSectorProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n SectorProps,\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"forceCornerRadius\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"startAngle\"\n >\n> {}\n\nexport const useChartSector = ({\n name: nameProp,\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...rest\n}: UseChartSectorProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getSectorProps: PropGetter<SectorProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...props,\n }),\n [\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n highlightedDataKey,\n innerRadius,\n nameProp,\n outerRadius,\n startAngle,\n ],\n )\n\n return { getRootProps, getSectorProps }\n}\n\nexport type UseChartSectorReturn = ReturnType<typeof useChartSector>\n\nexport interface UseChartPieLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PieLabelRenderProps,\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"endAngle\"\n | \"index\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"textAnchor\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n | \"x\"\n | \"y\"\n >\n> {\n /**\n * Offset for the label.\n *\n * @default 24\n */\n offset?: number\n /**\n * Formatter for the label.\n */\n formatter?: (value: number, percent: number) => RenderableText\n}\n\nexport const useChartPieLabel = ({\n name: nameProp,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n index,\n innerRadius,\n maxRadius,\n midAngle = 0,\n middleRadius = 0,\n offset: offsetProp = 24,\n outerRadius,\n paddingAngle,\n payload,\n percent = 0,\n startAngle,\n textAnchor: _textAnchor,\n tooltipPayload,\n tooltipPosition,\n value,\n x: _x,\n y: _y,\n ...rest\n}: UseChartPieLabelProps) => {\n const { highlightedDataKey } = useChartContext()\n const offset = (outerRadius - innerRadius) * 0.5 + offsetProp\n const radian = Math.PI / 180\n const x = cx + (middleRadius + offset) * Math.cos(-midAngle * radian)\n const y = cy + (middleRadius + offset) * Math.sin(-midAngle * radian)\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getTextProps: PropGetter<TextProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n alignmentBaseline: \"middle\",\n children: formatter?.(value, percent) ?? value,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n textAnchor: x > cx ? \"start\" : x < cx ? \"end\" : \"middle\",\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ...props,\n }),\n [\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n highlightedDataKey,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n nameProp,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ],\n )\n\n return { getRootProps, getTextProps }\n}\n\nexport type UseChartPieLabelReturn = ReturnType<typeof useChartPieLabel>\n\nexport interface UseChartPieLabelLineProps\n extends\n Merge<\n Omit<HTMLProps<\"path\">, \"points\">,\n Pick<\n PieSectorDataItem,\n | \"cornerRadius\"\n | \"dataKey\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n >\n >,\n Pick<CurveProps, \"points\"> {\n index?: number\n}\n\nexport const useChartPieLabelLine = ({\n name: nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...rest\n}: UseChartPieLabelLineProps) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getCurveProps: PropGetter<CurveProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...props,\n }),\n [\n highlightedDataKey,\n nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ],\n )\n\n return { getCurveProps, getRootProps }\n}\n\nexport type UseChartPieLabelLineReturn = ReturnType<typeof useChartPieLabelLine>\n\nexport interface UseChartRadarProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n RadarProps,\n | \"activeDot\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"baseLinePoints\"\n | \"connectNulls\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"isRange\"\n | \"label\"\n | \"legendType\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stroke\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartRadar = ({\n activeDot: activeDotProp,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n isRange,\n label: labelProp,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartRadarProps) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartRadarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartRadarProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartRadarProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadarProps: PropGetter<RadarProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n dataKeyProp,\n highlightedDataKey,\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n stroke,\n shape,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ],\n )\n\n return { getRadarProps, getRootProps }\n}\n\nexport type UseChartRadarReturn = ReturnType<typeof useChartRadar>\n\nexport interface UseAngleAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarAngleAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"angleAxisId\"\n | \"axisLine\"\n | \"axisLineType\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {}\n\nexport const useAngleAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine: axisLineProp,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseAngleAxisProps) => {\n const tick = useMemo<UseAngleAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { fill: \"\", ...(isObject(tickProp) ? tickProp : {}) }\n }, [tickProp])\n const tickLine = useMemo<UseAngleAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseAngleAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseAngleAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getAngleAxisProps: PropGetter<PolarAngleAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n name,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n type,\n unit,\n zIndex,\n ],\n )\n\n return { getAngleAxisProps, getRootProps }\n}\n\nexport type UseAngleAxisReturn = ReturnType<typeof useAngleAxis>\n\nexport interface UseRadiusAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarRadiusAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {\n /**\n * The ticks to use for the axis.\n */\n ticks?: number[]\n}\n\nexport const useRadiusAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle = 90,\n axisLine: axisLineProp = true,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseRadiusAxisProps) => {\n const tick = useMemo<UseRadiusAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return {\n fill: \"\",\n ...(isObject(tickProp) ? tickProp : {}),\n }\n }, [tickProp])\n const tickLine = useMemo<UseRadiusAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseRadiusAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseRadiusAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadiusAxisProps: PropGetter<PolarRadiusAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ],\n )\n\n return { getRadiusAxisProps, getRootProps }\n}\n\nexport type UseRadiusAxisReturn = ReturnType<typeof useRadiusAxis>\n\nexport interface UsePolarGridProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n PolarGridProps,\n | \"angleAxisId\"\n | \"cx\"\n | \"cy\"\n | \"gridType\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"polarAngles\"\n | \"polarRadius\"\n | \"radialLines\"\n | \"radiusAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const usePolarGrid = ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...rest\n}: UsePolarGridProps) => {\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPolarGridProps: PropGetter<PolarGridProps> = useCallback(\n (props) => ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...props,\n }),\n [\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ],\n )\n\n return { getPolarGridProps, getRootProps }\n}\n\nexport type UsePolarGridReturn = ReturnType<typeof usePolarGrid>\n\nexport interface UseChartRadialProps<Y extends Dict = Dict> extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n RadialBarProps,\n | \"activeShape\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"background\"\n | \"barSize\"\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"dataKey\"\n | \"forceCornerRadius\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"maxBarSize\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stackId\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {\n /**\n * The key to use for the name.\n */\n nameKey: keyof Y\n}\n\nexport const useChartRadial = <Y extends Dict>({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background: backgroundProp,\n barSize,\n cornerIsExternal,\n stackId,\n cornerRadius = !stackId ? 4 : undefined,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive = false,\n label,\n legendType,\n maxBarSize,\n nameKey,\n radius,\n radiusAxisId,\n shape: shapeProp,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartRadialProps<Y>) => {\n const shape = useMemo<UseChartRadialProps<Y>[\"shape\"]>(() => {\n if (isFunction(shapeProp)) {\n return (props: any) => {\n props.className = props.className?.replace(/\\s*\\bundefined\\b/g, \"\")\n\n const name = props.payload?.[nameKey]\n\n return shapeProp({ name, ...props })\n }\n } else {\n return shapeProp\n }\n }, [nameKey, shapeProp])\n const background = useMemo<UseChartRadialProps<Y>[\"background\"]>(() => {\n if (!backgroundProp) return backgroundProp\n if (isFunction(backgroundProp) || isValidElement(backgroundProp))\n return backgroundProp\n\n return {\n fill: \"\",\n ...(backgroundProp !== true ? backgroundProp : {}),\n }\n }, [backgroundProp])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadialProps: PropGetter<\n Partial<RadialBarProps>,\n undefined,\n RadialBarProps\n > = useCallback(\n (props) => ({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getRadialProps, getRootProps }\n}\n\nexport type UseChartRadialReturn = ReturnType<typeof useChartRadial>\n"],"mappings":";;;;;;AAoDA,MAAa,iBAAiC,EAC5C,qBAAqB,MACrB,gBACA,QACA,SACA,IACA,IACA,MACA,UACA,aACA,QACA,YACA,aACA,YACA,mBACA,aACA,YACA,QACA,YACA,GAAG,WACwB;CAC3B,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA+CA,OAAO;EACL,gBAAA,GAAA,MAAA,YAAA,EA7CC,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;IAAE,MAAM;IAAI,OAAO;GAAG;GAC9B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAIY;EACZ;CACF;AACF;AAkDA,MAAa,eAAe,EAC1B,aACA,gBACA,mBACA,iBACA,cACA,IACA,IACA,MACA,SAAS,aACT,WAAW,MACX,MACA,eACA,cAAc,MACd,oBAAoB,OACpB,OACA,YAAY,OACZ,YACA,WACA,UACA,SACA,cAAc,CAAC,QAAQ,SAAS,KAAA,GAChC,cACA,cACA,OACA,aAAa,IACb,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAsFA,OAAO;EAAE,cAAA,GAAA,MAAA,YAAA,EAnFN,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGiB;EAAG;CAAa;AACrC;AAoBA,MAAa,kBAAkB,EAC7B,MAAM,UACN,kBACA,cACA,IACA,IACA,UACA,mBACA,aACA,aACA,YACA,GAAG,SACoB,CAAC,MAAM;CAC9B,MAAM,EAAE,uBAAuBC,kBAAAA,gBAAgB;CA0C/C,OAAO;EAAE,eAAA,GAAA,MAAA,YAAA,EAvCN,UAAUD,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAsCa;EAAG,iBAAA,GAAA,MAAA,YAAA,EAlCpB,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAA,oBAAA,cAAA,SAAA,CACE,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAA,oBAAA,cAAA,SAAA,CACE,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,kBAAkB,KAAK,uBAAuB,IAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkC;CAAE;AACxC;AA4CA,MAAa,oBAAoB,EAC/B,MAAM,UACN,cACA,IACA,IACA,SACA,UACA,WACA,OACA,aACA,WACA,WAAW,GACX,eAAe,GACf,QAAQ,aAAa,IACrB,aACA,cACA,SACA,UAAU,GACV,YACA,YAAY,aACZ,gBACA,iBACA,OACA,GAAG,IACH,GAAG,IACH,GAAG,WACwB;CAC3B,MAAM,EAAE,uBAAuBC,kBAAAA,gBAAgB;CAC/C,MAAM,UAAU,cAAc,eAAe,KAAM;CACnD,MAAM,SAAS,KAAK,KAAK;CACzB,MAAM,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AAG,CAAC,SAAS,CAAC;CAEd,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA4EA,OAAO;EAAE,qBAAA,GAAA,MAAA,YAAA,EAzEN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGwB;EAAG;CAAa;AAC5C;AAsBA,MAAa,gBAAgB,EAC3B,aACA,IACA,IACA,UACA,aACA,aACA,aACA,aACA,aACA,cACA,QACA,GAAG,WACoB;CACvB,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAgCA,OAAO;EAAE,oBAAA,GAAA,MAAA,YAAA,EA7BN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGuB;EAAG;CAAa;AAC3C;AAgDA,MAAa,kBAAkC,EAC7C,aACA,aACA,gBACA,mBACA,iBACA,YAAY,gBACZ,SACA,kBACA,SACA,eAAe,CAAC,UAAU,IAAI,KAAA,GAC9B,SACA,mBACA,MACA,oBAAoB,OACpB,OACA,YACA,YACA,SACA,QACA,cACA,OAAO,WACP,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACyB;CAC5B,MAAM,SAAA,GAAA,MAAA,QAAA,OAAuD;EAC3D,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,SAAS,GACtB,QAAQ,UAAe;GACrB,MAAM,YAAY,MAAM,WAAW,QAAQ,qBAAqB,EAAE;GAElE,MAAM,OAAO,MAAM,UAAU;GAE7B,OAAO,UAAU;IAAE;IAAM,GAAG;GAAM,CAAC;EACrC;OAEA,OAAO;CAEX,GAAG,CAAC,SAAS,SAAS,CAAC;CACvB,MAAM,cAAA,GAAA,MAAA,QAAA,OAAiE;EACrE,IAAI,CAAC,gBAAgB,OAAO;EAC5B,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,cAAc,MAAA,GAAA,MAAA,eAAA,CAAoB,cAAc,GAC7D,OAAO;EAET,OAAO;GACL,MAAM;GACN,GAAI,mBAAmB,OAAO,iBAAiB,CAAC;EAClD;CACF,GAAG,CAAC,cAAc,CAAC;CAEnB,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA8EA,OAAO;EAAE,iBAAA,GAAA,MAAA,YAAA,EAvEN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGoB;EAAG;CAAa;AACxC"}
1
+ {"version":3,"file":"use-polar-chart.cjs","names":["mergeProps","useChartContext"],"sources":["../../../../src/components/chart/use-polar-chart.ts"],"sourcesContent":["\"use client\"\n\nimport type {\n CurveProps,\n PieLabelRenderProps,\n PieProps,\n PieSectorDataItem,\n PolarAngleAxisProps,\n PolarGridProps,\n PolarRadiusAxisProps,\n RadarProps,\n RadialBarProps,\n RenderableText,\n SectorProps,\n TextProps,\n} from \"recharts\"\nimport type { PolarChartProps } from \"recharts/types/util/types\"\nimport type { Dict, Merge } from \"../../utils\"\nimport { isValidElement, useCallback, useMemo } from \"react\"\nimport { type HTMLProps, mergeProps, type PropGetter } from \"../../core\"\nimport { dataAttr, isFunction, isObject, isUndefined } from \"../../utils\"\nimport { useChartContext } from \"./use-chart\"\n\nexport interface UsePolarChartProps<Y extends Dict>\n extends\n HTMLProps,\n Pick<\n PolarChartProps,\n | \"accessibilityLayer\"\n | \"barCategoryGap\"\n | \"barGap\"\n | \"barSize\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"layout\"\n | \"maxBarSize\"\n | \"outerRadius\"\n | \"responsive\"\n | \"reverseStackOrder\"\n | \"stackOffset\"\n | \"startAngle\"\n | \"syncId\"\n | \"syncMethod\"\n > {\n /**\n * Chart data.\n */\n data?: Y[]\n}\n\nexport const usePolarChart = <Y extends Dict>({\n accessibilityLayer = true,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...rest\n}: UsePolarChartProps<Y>) => {\n const getRootProps: PropGetter = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getChartProps: PropGetter<PolarChartProps> = useCallback(\n (props) => ({\n accessibilityLayer,\n barCategoryGap,\n barGap,\n barSize,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n margin: { left: 16, right: 16 },\n maxBarSize,\n outerRadius,\n responsive,\n reverseStackOrder,\n stackOffset,\n startAngle,\n syncId,\n syncMethod,\n ...props,\n }),\n [\n accessibilityLayer,\n cx,\n cy,\n data,\n endAngle,\n innerRadius,\n layout,\n outerRadius,\n responsive,\n startAngle,\n syncId,\n syncMethod,\n barCategoryGap,\n barGap,\n barSize,\n maxBarSize,\n reverseStackOrder,\n stackOffset,\n ],\n )\n\n return {\n getChartProps,\n getRootProps,\n }\n}\n\nexport type UsePolarChartReturn<Y extends Dict> = ReturnType<\n typeof usePolarChart<Y>\n>\n\nexport interface UseChartPieProps extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n PieProps,\n | \"activeShape\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"data\"\n | \"dataKey\"\n | \"endAngle\"\n | \"hide\"\n | \"inactiveShape\"\n | \"innerRadius\"\n | \"isAnimationActive\"\n | \"label\"\n | \"labelLine\"\n | \"legendType\"\n | \"maxRadius\"\n | \"minAngle\"\n | \"nameKey\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"rootTabIndex\"\n | \"shape\"\n | \"startAngle\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartPie = ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey: dataKeyProp,\n endAngle = -270,\n hide,\n inactiveShape,\n innerRadius = \"0%\",\n isAnimationActive = false,\n label,\n labelLine = false,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius = !label ? \"100%\" : undefined,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle = 90,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartPieProps = {}) => {\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPieProps: PropGetter<PieProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKey,\n endAngle,\n fill: \"\",\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n stroke: \"\",\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n animationBegin,\n animationDuration,\n animationEasing,\n cornerRadius,\n cx,\n cy,\n data,\n dataKeyProp,\n endAngle,\n hide,\n inactiveShape,\n innerRadius,\n isAnimationActive,\n label,\n labelLine,\n legendType,\n maxRadius,\n minAngle,\n nameKey,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n outerRadius,\n paddingAngle,\n rootTabIndex,\n shape,\n startAngle,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getPieProps, getRootProps }\n}\n\nexport type UseChartPieReturn = ReturnType<typeof useChartPie>\n\nexport interface UseChartSectorProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n SectorProps,\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"endAngle\"\n | \"forceCornerRadius\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"startAngle\"\n >\n> {}\n\nexport const useChartSector = ({\n name: nameProp,\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...rest\n}: UseChartSectorProps = {}) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getSectorProps: PropGetter<SectorProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n innerRadius,\n outerRadius,\n startAngle,\n ...props,\n }),\n [\n cornerIsExternal,\n cornerRadius,\n cx,\n cy,\n endAngle,\n forceCornerRadius,\n highlightedDataKey,\n innerRadius,\n nameProp,\n outerRadius,\n startAngle,\n ],\n )\n\n return { getRootProps, getSectorProps }\n}\n\nexport type UseChartSectorReturn = ReturnType<typeof useChartSector>\n\nexport interface UseChartPieLabelProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PieLabelRenderProps,\n | \"cornerRadius\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"endAngle\"\n | \"index\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"textAnchor\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n | \"x\"\n | \"y\"\n >\n> {\n /**\n * Offset for the label.\n *\n * @default 24\n */\n offset?: number\n /**\n * Formatter for the label.\n */\n formatter?: (value: number, percent: number) => RenderableText\n}\n\nexport const useChartPieLabel = ({\n name: nameProp,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n index,\n innerRadius,\n maxRadius,\n midAngle = 0,\n middleRadius = 0,\n offset: offsetProp = 24,\n outerRadius,\n paddingAngle,\n payload,\n percent = 0,\n startAngle,\n textAnchor: _textAnchor,\n tooltipPayload,\n tooltipPosition,\n value,\n x: _x,\n y: _y,\n ...rest\n}: UseChartPieLabelProps) => {\n const { highlightedDataKey } = useChartContext()\n const offset = (outerRadius - innerRadius) * 0.5 + offsetProp\n const radian = Math.PI / 180\n const x = cx + (middleRadius + offset) * Math.cos(-midAngle * radian)\n const y = cy + (middleRadius + offset) * Math.sin(-midAngle * radian)\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getTextProps: PropGetter<TextProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n alignmentBaseline: \"middle\",\n children: formatter?.(value, percent) ?? value,\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n textAnchor: x > cx ? \"start\" : x < cx ? \"end\" : \"middle\",\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ...props,\n }),\n [\n cornerRadius,\n cx,\n cy,\n dataKey,\n endAngle,\n formatter,\n highlightedDataKey,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n nameProp,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n x,\n y,\n ],\n )\n\n return { getRootProps, getTextProps }\n}\n\nexport type UseChartPieLabelReturn = ReturnType<typeof useChartPieLabel>\n\nexport interface UseChartPieLabelLineProps\n extends\n Merge<\n Omit<HTMLProps<\"path\">, \"points\">,\n Pick<\n PieSectorDataItem,\n | \"cornerRadius\"\n | \"dataKey\"\n | \"endAngle\"\n | \"innerRadius\"\n | \"maxRadius\"\n | \"midAngle\"\n | \"middleRadius\"\n | \"name\"\n | \"outerRadius\"\n | \"paddingAngle\"\n | \"payload\"\n | \"percent\"\n | \"startAngle\"\n | \"tooltipPayload\"\n | \"tooltipPosition\"\n | \"value\"\n >\n >,\n Pick<CurveProps, \"points\"> {\n index?: number\n}\n\nexport const useChartPieLabelLine = ({\n name: nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...rest\n}: UseChartPieLabelLineProps) => {\n const { highlightedDataKey } = useChartContext()\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getCurveProps: PropGetter<CurveProps> = useCallback(\n ({ name = nameProp, ...props } = {}) => ({\n name,\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === name,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== name,\n ),\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ...props,\n }),\n [\n highlightedDataKey,\n nameProp,\n cornerRadius,\n dataKey,\n endAngle,\n index,\n innerRadius,\n maxRadius,\n midAngle,\n middleRadius,\n outerRadius,\n paddingAngle,\n payload,\n percent,\n points,\n startAngle,\n tooltipPayload,\n tooltipPosition,\n value,\n ],\n )\n\n return { getCurveProps, getRootProps }\n}\n\nexport type UseChartPieLabelLineReturn = ReturnType<typeof useChartPieLabelLine>\n\nexport interface UseChartRadarProps extends Merge<\n HTMLProps<\"path\">,\n Pick<\n RadarProps,\n | \"activeDot\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"baseLinePoints\"\n | \"connectNulls\"\n | \"dataKey\"\n | \"dot\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"isRange\"\n | \"label\"\n | \"legendType\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stroke\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {}\n\nexport const useChartRadar = ({\n activeDot: activeDotProp,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey: dataKeyProp,\n dot: dotProp,\n hide,\n isAnimationActive = false,\n isRange,\n label: labelProp,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...rest\n}: UseChartRadarProps) => {\n const { highlightedDataKey } = useChartContext()\n const label = useMemo<UseChartRadarProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n offset: 12,\n position: \"top\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n const dot = useMemo<UseChartRadarProps[\"dot\"]>(() => {\n if (!dotProp) return dotProp\n if (isFunction(dotProp) || isValidElement(dotProp)) return dotProp\n\n return { fill: \"\", stroke: \"\", ...(isObject(dotProp) ? dotProp : {}) }\n }, [dotProp])\n const activeDot = useMemo<UseChartRadarProps[\"activeDot\"]>(() => {\n if (!activeDotProp) return activeDotProp\n if (isFunction(activeDotProp) || isValidElement(activeDotProp))\n return activeDotProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(activeDotProp) ? activeDotProp : {}),\n }\n }, [activeDotProp])\n\n const getRootProps: PropGetter<\"path\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadarProps: PropGetter<RadarProps> = useCallback(\n ({ dataKey = dataKeyProp, ...props } = {}) => ({\n \"data-active\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey === dataKey,\n ),\n \"data-inactive\": dataAttr(\n !isUndefined(highlightedDataKey) && highlightedDataKey !== dataKey,\n ),\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dataKey,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n shape,\n stroke,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ...props,\n }),\n [\n dataKeyProp,\n highlightedDataKey,\n activeDot,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n baseLinePoints,\n connectNulls,\n dot,\n hide,\n isAnimationActive,\n isRange,\n label,\n legendType,\n points,\n radiusAxisId,\n stroke,\n shape,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onMouseEnter,\n onMouseLeave,\n ],\n )\n\n return { getRadarProps, getRootProps }\n}\n\nexport type UseChartRadarReturn = ReturnType<typeof useChartRadar>\n\nexport interface UseAngleAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarAngleAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"angleAxisId\"\n | \"axisLine\"\n | \"axisLineType\"\n | \"cx\"\n | \"cy\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"ticks\"\n | \"tickSize\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {}\n\nexport const useAngleAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine: axisLineProp,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseAngleAxisProps) => {\n const tick = useMemo<UseAngleAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return { fill: \"\", ...(isObject(tickProp) ? tickProp : {}) }\n }, [tickProp])\n const tickLine = useMemo<UseAngleAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseAngleAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseAngleAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getAngleAxisProps: PropGetter<PolarAngleAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n angleAxisId,\n axisLine,\n axisLineType,\n cx,\n cy,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n name,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n orientation,\n radius,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n tickSize,\n type,\n unit,\n zIndex,\n ],\n )\n\n return { getAngleAxisProps, getRootProps }\n}\n\nexport type UseAngleAxisReturn = ReturnType<typeof useAngleAxis>\n\nexport interface UseRadiusAxisProps extends Merge<\n HTMLProps<\"text\">,\n Pick<\n PolarRadiusAxisProps,\n | \"allowDataOverflow\"\n | \"allowDecimals\"\n | \"allowDuplicatedCategory\"\n | \"angle\"\n | \"axisLine\"\n | \"dataKey\"\n | \"domain\"\n | \"hide\"\n | \"includeHidden\"\n | \"label\"\n | \"name\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"orientation\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"range\"\n | \"reversed\"\n | \"scale\"\n | \"tick\"\n | \"tickCount\"\n | \"tickFormatter\"\n | \"tickLine\"\n | \"type\"\n | \"unit\"\n | \"zIndex\"\n >\n> {\n /**\n * The ticks to use for the axis.\n */\n ticks?: number[]\n}\n\nexport const useRadiusAxis = ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle = 90,\n axisLine: axisLineProp = true,\n dataKey,\n domain,\n hide,\n includeHidden,\n label: labelProp,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick: tickProp,\n tickCount,\n tickFormatter,\n tickLine: tickLineProp,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseRadiusAxisProps) => {\n const tick = useMemo<UseRadiusAxisProps[\"tick\"]>(() => {\n if (!tickProp) return tickProp\n if (isFunction(tickProp) || isValidElement(tickProp)) return tickProp\n\n return {\n fill: \"\",\n ...(isObject(tickProp) ? tickProp : {}),\n }\n }, [tickProp])\n const tickLine = useMemo<UseRadiusAxisProps[\"tickLine\"]>(() => {\n if (!tickLineProp) return tickLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(tickLineProp) ? tickLineProp : {}),\n }\n }, [tickLineProp])\n const axisLine = useMemo<UseRadiusAxisProps[\"axisLine\"]>(() => {\n if (!axisLineProp) return axisLineProp\n\n return {\n fill: \"\",\n stroke: \"\",\n ...(isObject(axisLineProp) ? axisLineProp : {}),\n }\n }, [axisLineProp])\n const label = useMemo<UseRadiusAxisProps[\"label\"]>(() => {\n if (!labelProp) return labelProp\n if (isFunction(labelProp) || isValidElement(labelProp)) return labelProp\n\n return {\n fill: \"\",\n ...(isObject(labelProp) ? labelProp : {}),\n }\n }, [labelProp])\n\n const getRootProps: PropGetter<\"text\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadiusAxisProps: PropGetter<PolarRadiusAxisProps> = useCallback(\n (props) => ({\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n type,\n name,\n allowDataOverflow,\n allowDecimals,\n allowDuplicatedCategory,\n angle,\n axisLine,\n dataKey,\n domain,\n hide,\n includeHidden,\n label,\n orientation,\n radius,\n radiusAxisId,\n range,\n reversed,\n scale,\n tick,\n tickCount,\n tickFormatter,\n tickLine,\n ticks,\n unit,\n zIndex,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ],\n )\n\n return { getRadiusAxisProps, getRootProps }\n}\n\nexport type UseRadiusAxisReturn = ReturnType<typeof useRadiusAxis>\n\nexport interface UsePolarGridProps extends Merge<\n HTMLProps<\"line\">,\n Pick<\n PolarGridProps,\n | \"angleAxisId\"\n | \"cx\"\n | \"cy\"\n | \"gridType\"\n | \"innerRadius\"\n | \"outerRadius\"\n | \"polarAngles\"\n | \"polarRadius\"\n | \"radialLines\"\n | \"radiusAxisId\"\n | \"zIndex\"\n >\n> {}\n\nexport const usePolarGrid = ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...rest\n}: UsePolarGridProps) => {\n const getRootProps: PropGetter<\"line\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getPolarGridProps: PropGetter<PolarGridProps> = useCallback(\n (props) => ({\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ...props,\n }),\n [\n angleAxisId,\n cx,\n cy,\n gridType,\n innerRadius,\n outerRadius,\n polarAngles,\n polarRadius,\n radialLines,\n radiusAxisId,\n zIndex,\n ],\n )\n\n return { getPolarGridProps, getRootProps }\n}\n\nexport type UsePolarGridReturn = ReturnType<typeof usePolarGrid>\n\nexport interface UseChartRadialProps<Y extends Dict = Dict> extends Merge<\n HTMLProps<\"svg\">,\n Pick<\n RadialBarProps,\n | \"activeShape\"\n | \"angleAxisId\"\n | \"animationBegin\"\n | \"animationDuration\"\n | \"animationEasing\"\n | \"background\"\n | \"barSize\"\n | \"cornerIsExternal\"\n | \"cornerRadius\"\n | \"dataKey\"\n | \"forceCornerRadius\"\n | \"hide\"\n | \"isAnimationActive\"\n | \"label\"\n | \"legendType\"\n | \"maxBarSize\"\n | \"onAnimationEnd\"\n | \"onAnimationStart\"\n | \"onClick\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"radius\"\n | \"radiusAxisId\"\n | \"shape\"\n | \"stackId\"\n | \"tooltipType\"\n | \"zIndex\"\n >\n> {\n /**\n * The key to use for the name.\n */\n nameKey: keyof Y\n}\n\nexport const useChartRadial = <Y extends Dict>({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background: backgroundProp,\n barSize,\n cornerIsExternal,\n stackId,\n cornerRadius = !stackId ? 4 : undefined,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive = false,\n label,\n legendType,\n maxBarSize,\n nameKey,\n radius,\n radiusAxisId,\n shape: shapeProp,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...rest\n}: UseChartRadialProps<Y>) => {\n const shape = useMemo<UseChartRadialProps<Y>[\"shape\"]>(() => {\n if (isFunction(shapeProp))\n return (props: any) => {\n props.className = props.className?.replace(/\\s*\\bundefined\\b/g, \"\")\n\n const name = props.payload?.[nameKey]\n\n return shapeProp({ name, ...props })\n }\n else return shapeProp\n }, [nameKey, shapeProp])\n const background = useMemo<UseChartRadialProps<Y>[\"background\"]>(() => {\n if (!backgroundProp) return backgroundProp\n if (isFunction(backgroundProp) || isValidElement(backgroundProp))\n return backgroundProp\n\n return {\n fill: \"\",\n ...(backgroundProp !== true ? backgroundProp : {}),\n }\n }, [backgroundProp])\n\n const getRootProps: PropGetter<\"svg\"> = useCallback(\n (props) => mergeProps(rest, props)(),\n [rest],\n )\n\n const getRadialProps: PropGetter<\n Partial<RadialBarProps>,\n undefined,\n RadialBarProps\n > = useCallback(\n (props) => ({\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n ...props,\n }),\n [\n activeShape,\n angleAxisId,\n animationBegin,\n animationDuration,\n animationEasing,\n background,\n barSize,\n cornerIsExternal,\n cornerRadius,\n dataKey,\n forceCornerRadius,\n hide,\n isAnimationActive,\n label,\n legendType,\n maxBarSize,\n onAnimationEnd,\n onAnimationStart,\n onClick,\n onMouseDown,\n onMouseEnter,\n onMouseLeave,\n onMouseMove,\n onMouseOut,\n onMouseOver,\n onMouseUp,\n radius,\n radiusAxisId,\n shape,\n stackId,\n tooltipType,\n zIndex,\n ],\n )\n\n return { getRadialProps, getRootProps }\n}\n\nexport type UseChartRadialReturn = ReturnType<typeof useChartRadial>\n"],"mappings":";;;;;;AAoDA,MAAa,iBAAiC,EAC5C,qBAAqB,MACrB,gBACA,QACA,SACA,IACA,IACA,MACA,UACA,aACA,QACA,YACA,aACA,YACA,mBACA,aACA,YACA,QACA,YACA,GAAG,WACwB;CAC3B,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA+CA,OAAO;EACL,gBAAA,GAAA,MAAA,YAAA,EA7CC,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;IAAE,MAAM;IAAI,OAAO;GAAG;GAC9B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAIY;EACZ;CACF;AACF;AAkDA,MAAa,eAAe,EAC1B,aACA,gBACA,mBACA,iBACA,cACA,IACA,IACA,MACA,SAAS,aACT,WAAW,MACX,MACA,eACA,cAAc,MACd,oBAAoB,OACpB,OACA,YAAY,OACZ,YACA,WACA,UACA,SACA,cAAc,CAAC,QAAQ,SAAS,KAAA,GAChC,cACA,cACA,OACA,aAAa,IACb,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,SACiB,CAAC,MAAM;CAC3B,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAsFA,OAAO;EAAE,cAAA,GAAA,MAAA,YAAA,EAnFN,EAAE,UAAU,aAAa,GAAG,UAAU,CAAC,OAAO;GAC7C;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,QAAQ;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGiB;EAAG;CAAa;AACrC;AAoBA,MAAa,kBAAkB,EAC7B,MAAM,UACN,kBACA,cACA,IACA,IACA,UACA,mBACA,aACA,aACA,YACA,GAAG,SACoB,CAAC,MAAM;CAC9B,MAAM,EAAE,uBAAuBC,kBAAAA,gBAAgB;CA0C/C,OAAO;EAAE,eAAA,GAAA,MAAA,YAAA,EAvCN,UAAUD,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CAsCa;EAAG,iBAAA,GAAA,MAAA,YAAA,EAlCpB,EAAE,OAAO,UAAU,GAAG,UAAU,CAAC,OAAO;GACvC;GACA,gBAAA,GAAA,oBAAA,cAAA,SAAA,CACE,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,kBAAkB,KAAK,uBAAuB,IAC7D;GACA,kBAAA,GAAA,oBAAA,cAAA,SAAA,CACE,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,kBAAkB,KAAK,uBAAuB,IAC7D;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGkC;CAAE;AACxC;AA4CA,MAAa,oBAAoB,EAC/B,MAAM,UACN,cACA,IACA,IACA,SACA,UACA,WACA,OACA,aACA,WACA,WAAW,GACX,eAAe,GACf,QAAQ,aAAa,IACrB,aACA,cACA,SACA,UAAU,GACV,YACA,YAAY,aACZ,gBACA,iBACA,OACA,GAAG,IACH,GAAG,IACH,GAAG,WACwB;CAC3B,MAAM,EAAE,uBAAuBC,kBAAAA,gBAAgB;CAC/C,MAAM,UAAU,cAAc,eAAe,KAAM;CACnD,MAAM,SAAS,KAAK,KAAK;CACzB,MAAM,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AAG,CAAC,SAAS,CAAC;CAEd,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA4EA,OAAO;EAAE,qBAAA,GAAA,MAAA,YAAA,EAzEN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGwB;EAAG;CAAa;AAC5C;AAsBA,MAAa,gBAAgB,EAC3B,aACA,IACA,IACA,UACA,aACA,aACA,aACA,aACA,aACA,cACA,QACA,GAAG,WACoB;CACvB,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CAgCA,OAAO;EAAE,oBAAA,GAAA,MAAA,YAAA,EA7BN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGuB;EAAG;CAAa;AAC3C;AAgDA,MAAa,kBAAkC,EAC7C,aACA,aACA,gBACA,mBACA,iBACA,YAAY,gBACZ,SACA,kBACA,SACA,eAAe,CAAC,UAAU,IAAI,KAAA,GAC9B,SACA,mBACA,MACA,oBAAoB,OACpB,OACA,YACA,YACA,SACA,QACA,cACA,OAAO,WACP,aACA,QACA,gBACA,kBACA,SACA,aACA,cACA,cACA,aACA,YACA,aACA,WACA,GAAG,WACyB;CAC5B,MAAM,SAAA,GAAA,MAAA,QAAA,OAAuD;EAC3D,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,SAAS,GACtB,QAAQ,UAAe;GACrB,MAAM,YAAY,MAAM,WAAW,QAAQ,qBAAqB,EAAE;GAElE,MAAM,OAAO,MAAM,UAAU;GAE7B,OAAO,UAAU;IAAE;IAAM,GAAG;GAAM,CAAC;EACrC;OACG,OAAO;CACd,GAAG,CAAC,SAAS,SAAS,CAAC;CACvB,MAAM,cAAA,GAAA,MAAA,QAAA,OAAiE;EACrE,IAAI,CAAC,gBAAgB,OAAO;EAC5B,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,cAAc,MAAA,GAAA,MAAA,eAAA,CAAoB,cAAc,GAC7D,OAAO;EAET,OAAO;GACL,MAAM;GACN,GAAI,mBAAmB,OAAO,iBAAiB,CAAC;EAClD;CACF,GAAG,CAAC,cAAc,CAAC;CAEnB,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,UAAUA,cAAAA,WAAW,MAAM,KAAK,CAAC,CAAC,GACnC,CAAC,IAAI,CACP;CA8EA,OAAO;EAAE,iBAAA,GAAA,MAAA,YAAA,EAvEN,WAAW;GACV;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,GAAG;EACL,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAGoB;EAAG;CAAa;AACxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.cjs","names":["createSlotComponent","checkboxStyle","useCheckbox","useInputBorder","MinusIcon","CheckIcon","styled"],"sources":["../../../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { GenericsComponent, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { CheckboxStyle } from \"./checkbox.style\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { CheckIcon, MinusIcon } from \"../icon\"\nimport { useInputBorder } from \"../input\"\nimport { checkboxStyle } from \"./checkbox.style\"\nimport { useCheckbox } from \"./use-checkbox\"\n\nexport interface CheckboxProps<Y extends string = string>\n extends\n Merge<HTMLStyledProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<CheckboxStyle>,\n UseInputBorderProps {\n /**\n * The icon to display in the checkbox when it is checked.\n */\n checkedIcon?: ReactNode\n /**\n * The icon to display in the checkbox when it is indeterminate.\n */\n indeterminateIcon?: ReactNode\n /**\n * Props for the indicator component.\n */\n indicatorProps?: CheckboxIndicatorProps\n /**\n * Props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for the label component.\n */\n labelProps?: CheckboxLabelProps\n /**\n * Props for the label element.\n */\n rootProps?: HTMLStyledProps<\"label\">\n}\n\nconst {\n component,\n PropsContext: CheckboxPropsContext,\n usePropsContext: useCheckboxPropsContext,\n withContext,\n withProvider,\n useRootComponentProps,\n} = createSlotComponent<CheckboxProps, CheckboxStyle>(\"checkbox\", checkboxStyle)\n\nexport {\n CheckboxPropsContext,\n component,\n useCheckboxPropsContext,\n useRootComponentProps,\n}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see https://yamada-ui.com/docs/components/checkbox\n */\nexport const Checkbox = withProvider<\"label\", CheckboxProps>(\n ({\n checkedIcon,\n children,\n errorBorderColor,\n focusBorderColor,\n indeterminateIcon,\n indicatorProps,\n inputProps,\n labelProps,\n rootProps,\n ...rest\n }) => {\n const {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n } = useCheckbox(rest)\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const icon = useMemo(() => {\n if (indeterminate) {\n return indeterminateIcon || <MinusIcon />\n } else if (checked) {\n return checkedIcon || <CheckIcon />\n } else {\n return null\n }\n }, [indeterminate, indeterminateIcon, checked, checkedIcon])\n const input = useMemo(() => {\n return <styled.input {...getInputProps(inputProps)} />\n }, [getInputProps, inputProps])\n const indicator = useMemo(() => {\n return (\n <CheckboxIndicator {...getIndicatorProps(indicatorProps)}>\n {icon}\n </CheckboxIndicator>\n )\n }, [getIndicatorProps, indicatorProps, icon])\n\n return (\n <styled.label {...getRootProps({ ...varProps, ...rootProps })}>\n {input}\n {indicator}\n {children ? (\n <CheckboxLabel {...labelProps}>{children}</CheckboxLabel>\n ) : null}\n </styled.label>\n )\n },\n \"root\",\n)() as GenericsComponent<{\n <Y extends string = string>(props: CheckboxProps<Y>): ReactElement\n}>\n\ninterface CheckboxIndicatorProps extends HTMLStyledProps {}\n\nconst CheckboxIndicator = withContext<\"div\", CheckboxIndicatorProps>(\n \"div\",\n \"indicator\",\n)({ \"data-indicator\": \"\" })\n\ninterface CheckboxLabelProps extends HTMLStyledProps<\"span\"> {}\n\nconst CheckboxLabel = withContext<\"span\", CheckboxLabelProps>(\"span\", \"label\")()\n"],"mappings":";;;;;;;;;;;AA8CA,MAAM,EACJ,WACA,cAAc,sBACd,iBAAiB,yBACjB,aACA,cACA,0BACEA,yBAAAA,oBAAkD,YAAYC,uBAAAA,aAAa;;;;;;AAc/E,MAAa,WAAW,cACrB,EACC,aACA,UACA,kBACA,kBACA,mBACA,gBACA,YACA,YACA,WACA,GAAG,WACC;CACJ,MAAM,EACJ,SACA,eACA,mBACA,eACA,iBACEC,qBAAAA,YAAY,IAAI;CACpB,MAAM,WAAWC,yBAAAA,eAAe;EAAE;EAAkB;CAAiB,CAAC;CACtE,MAAM,QAAA,GAAA,MAAA,QAAA,OAAqB;EACzB,IAAI,eACF,OAAO,qBAAqB,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OACnC,IAAI,SACT,OAAO,eAAe,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OAElC,OAAO;CAEX,GAAG;EAAC;EAAe;EAAmB;EAAS;CAAW,CAAC;CAC3D,MAAM,SAAA,GAAA,MAAA,QAAA,OAAsB;EAC1B,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,OAAR,EAAc,GAAI,cAAc,UAAU,EAAI,CAAA;CACvD,GAAG,CAAC,eAAe,UAAU,CAAC;CAC9B,MAAM,aAAA,GAAA,MAAA,QAAA,OAA0B;EAC9B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;GAAmB,GAAI,kBAAkB,cAAc;aACpD;EACgB,CAAA;CAEvB,GAAG;EAAC;EAAmB;EAAgB;CAAI,CAAC;CAE5C,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACA,gBAAAA,OAAO,OAAR;EAAc,GAAI,aAAa;GAAE,GAAG;GAAU,GAAG;EAAU,CAAC;YAA5D;GACG;GACA;GACA,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD;IAAe,GAAI;IAAa;GAAwB,CAAA,IACtD;EACQ;;AAElB,GACA,MACF,CAAC,CAAC;AAMF,MAAM,oBAAoB,YACxB,OACA,WACF,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC;AAI1B,MAAM,gBAAgB,YAAwC,QAAQ,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"checkbox.cjs","names":["createSlotComponent","checkboxStyle","useCheckbox","useInputBorder","MinusIcon","CheckIcon","styled"],"sources":["../../../../src/components/checkbox/checkbox.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { GenericsComponent, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { CheckboxStyle } from \"./checkbox.style\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { CheckIcon, MinusIcon } from \"../icon\"\nimport { useInputBorder } from \"../input\"\nimport { checkboxStyle } from \"./checkbox.style\"\nimport { useCheckbox } from \"./use-checkbox\"\n\nexport interface CheckboxProps<Y extends string = string>\n extends\n Merge<HTMLStyledProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<CheckboxStyle>,\n UseInputBorderProps {\n /**\n * The icon to display in the checkbox when it is checked.\n */\n checkedIcon?: ReactNode\n /**\n * The icon to display in the checkbox when it is indeterminate.\n */\n indeterminateIcon?: ReactNode\n /**\n * Props for the indicator component.\n */\n indicatorProps?: CheckboxIndicatorProps\n /**\n * Props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for the label component.\n */\n labelProps?: CheckboxLabelProps\n /**\n * Props for the label element.\n */\n rootProps?: HTMLStyledProps<\"label\">\n}\n\nconst {\n component,\n PropsContext: CheckboxPropsContext,\n usePropsContext: useCheckboxPropsContext,\n withContext,\n withProvider,\n useRootComponentProps,\n} = createSlotComponent<CheckboxProps, CheckboxStyle>(\"checkbox\", checkboxStyle)\n\nexport {\n CheckboxPropsContext,\n component,\n useCheckboxPropsContext,\n useRootComponentProps,\n}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see https://yamada-ui.com/docs/components/checkbox\n */\nexport const Checkbox = withProvider<\"label\", CheckboxProps>(\n ({\n checkedIcon,\n children,\n errorBorderColor,\n focusBorderColor,\n indeterminateIcon,\n indicatorProps,\n inputProps,\n labelProps,\n rootProps,\n ...rest\n }) => {\n const {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n } = useCheckbox(rest)\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const icon = useMemo(() => {\n if (indeterminate) return indeterminateIcon || <MinusIcon />\n else if (checked) return checkedIcon || <CheckIcon />\n else return null\n }, [indeterminate, indeterminateIcon, checked, checkedIcon])\n const input = useMemo(() => {\n return <styled.input {...getInputProps(inputProps)} />\n }, [getInputProps, inputProps])\n const indicator = useMemo(() => {\n return (\n <CheckboxIndicator {...getIndicatorProps(indicatorProps)}>\n {icon}\n </CheckboxIndicator>\n )\n }, [getIndicatorProps, indicatorProps, icon])\n\n return (\n <styled.label {...getRootProps({ ...varProps, ...rootProps })}>\n {input}\n {indicator}\n {children ? (\n <CheckboxLabel {...labelProps}>{children}</CheckboxLabel>\n ) : null}\n </styled.label>\n )\n },\n \"root\",\n)() as GenericsComponent<{\n <Y extends string = string>(props: CheckboxProps<Y>): ReactElement\n}>\n\ninterface CheckboxIndicatorProps extends HTMLStyledProps {}\n\nconst CheckboxIndicator = withContext<\"div\", CheckboxIndicatorProps>(\n \"div\",\n \"indicator\",\n)({ \"data-indicator\": \"\" })\n\ninterface CheckboxLabelProps extends HTMLStyledProps<\"span\"> {}\n\nconst CheckboxLabel = withContext<\"span\", CheckboxLabelProps>(\"span\", \"label\")()\n"],"mappings":";;;;;;;;;;;AA8CA,MAAM,EACJ,WACA,cAAc,sBACd,iBAAiB,yBACjB,aACA,cACA,0BACEA,yBAAAA,oBAAkD,YAAYC,uBAAAA,aAAa;;;;;;AAc/E,MAAa,WAAW,cACrB,EACC,aACA,UACA,kBACA,kBACA,mBACA,gBACA,YACA,YACA,WACA,GAAG,WACC;CACJ,MAAM,EACJ,SACA,eACA,mBACA,eACA,iBACEC,qBAAAA,YAAY,IAAI;CACpB,MAAM,WAAWC,yBAAAA,eAAe;EAAE;EAAkB;CAAiB,CAAC;CACtE,MAAM,QAAA,GAAA,MAAA,QAAA,OAAqB;EACzB,IAAI,eAAe,OAAO,qBAAqB,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OACtD,IAAI,SAAS,OAAO,eAAe,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OAC/C,OAAO;CACd,GAAG;EAAC;EAAe;EAAmB;EAAS;CAAW,CAAC;CAC3D,MAAM,SAAA,GAAA,MAAA,QAAA,OAAsB;EAC1B,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,OAAR,EAAc,GAAI,cAAc,UAAU,EAAI,CAAA;CACvD,GAAG,CAAC,eAAe,UAAU,CAAC;CAC9B,MAAM,aAAA,GAAA,MAAA,QAAA,OAA0B;EAC9B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;GAAmB,GAAI,kBAAkB,cAAc;aACpD;EACgB,CAAA;CAEvB,GAAG;EAAC;EAAmB;EAAgB;CAAI,CAAC;CAE5C,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACA,gBAAAA,OAAO,OAAR;EAAc,GAAI,aAAa;GAAE,GAAG;GAAU,GAAG;EAAU,CAAC;YAA5D;GACG;GACA;GACA,WACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,eAAD;IAAe,GAAI;IAAa;GAAwB,CAAA,IACtD;EACQ;;AAElB,GACA,MACF,CAAC,CAAC;AAMF,MAAM,oBAAoB,YACxB,OACA,WACF,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC;AAI1B,MAAM,gBAAgB,YAAwC,QAAQ,OAAO,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-checkbox-group.cjs","names":["createContext","useFieldProps","useControllableState","mergeProps","visuallyHiddenAttributes"],"sources":["../../../../src/components/checkbox/use-checkbox-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n ariaAttr,\n createContext,\n cx,\n dataAttr,\n handlerAll,\n isNumber,\n isObject,\n isString,\n isUndefined,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\ninterface CheckboxGroupContext extends Omit<\n UseCheckboxGroupReturn,\n \"getRootProps\"\n> {}\n\nconst [CheckboxGroupContext, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport { CheckboxGroupContext, useCheckboxGroupContext }\n\nexport interface UseCheckboxGroupProps<Y extends string = string>\n extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\">, FieldProps {\n /**\n * The initial value of the checkbox group.\n *\n * @default []\n */\n defaultValue?: Y[]\n /**\n * The maximum number of checkboxes that can be checked.\n */\n max?: number\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <Y extends string = string>(\n props: UseCheckboxGroupProps<Y> = {},\n) => {\n const {\n context: { labelId } = {},\n props: {\n defaultValue = [],\n disabled,\n max,\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps: { \"aria-describedby\": ariaDescribedbyProp, ...ariaProps },\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onChange = useCallback(\n (valueOrEv: ChangeEvent<HTMLInputElement> | Y) => {\n if (!interactive) return\n\n if (isObject(valueOrEv)) valueOrEv = valueOrEv.target.value as Y\n\n setValue((prev) => {\n if (prev.includes(valueOrEv)) {\n return prev.filter((prevValue) => prevValue !== valueOrEv)\n } else if (!isNumber(max) || prev.length < max) {\n return [...prev, valueOrEv]\n } else {\n return prev\n }\n })\n },\n [interactive, max, setValue],\n )\n\n const getRootProps: PropGetter = useCallback(\n ({\n ref,\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby,\n ...props\n } = {}) =>\n mergeProps(\n dataProps,\n {\n \"aria-describedby\": cx(ariaDescribedbyProp, ariaDescribedby),\n \"aria-labelledby\": cx(labelId, ariaLabelledby),\n role: \"group\",\n },\n rest,\n props,\n {\n ref,\n },\n )(),\n [ariaDescribedbyProp, dataProps, labelId, rest],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => {\n const checked =\n !isUndefined(value) &&\n (isString(props.value) || isNumber(props.value)) &&\n value.includes(props.value as Y)\n const trulyDisabled = !checked && isNumber(max) && value.length >= max\n\n return {\n ...dataProps,\n ...ariaProps,\n type: \"checkbox\",\n style: visuallyHiddenAttributes.style,\n \"aria-checked\": checked,\n \"aria-disabled\": ariaAttr(trulyDisabled),\n \"data-checked\": dataAttr(checked),\n \"data-disabled\": dataAttr(trulyDisabled),\n checked,\n readOnly,\n required,\n ...props,\n disabled: Boolean(props.disabled || trulyDisabled),\n onBlur: handlerAll(props.onBlur, eventProps.onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, eventProps.onFocus),\n }\n },\n [\n ariaProps,\n dataProps,\n eventProps,\n max,\n onChange,\n readOnly,\n required,\n value,\n ],\n )\n\n const getLabelProps: PropGetter<\"label\"> = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n return {\n max,\n value,\n getInputProps,\n getLabelProps,\n getRootProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn = ReturnType<typeof useCheckboxGroup>\n"],"mappings":";;;;;;;;;AA2BA,MAAM,CAAC,sBAAsB,2BAC3BA,gBAAAA,cAAoC;CAClC,MAAM;CACN,QAAQ;AACV,CAAC;AA0BH,MAAa,oBACX,QAAkC,CAAC,MAChC;CACH,MAAM,EACJ,SAAS,EAAE,YAAY,CAAC,GACxB,OAAO,EACL,eAAe,CAAC,GAChB,UACA,KACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,QAEL,WAAW,EAAE,oBAAoB,qBAAqB,GAAG,aACzD,WACA,eACEC,wBAAAA,cAAc,KAAK;CACvB,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,CAAC,OAAO,YAAYC,2CAAAA,qBAAqB;EAC7C;EACA,OAAO;EACP,UAAU;CACZ,CAAC;CAED,MAAM,YAAA,GAAA,MAAA,YAAA,EACH,cAAiD;EAChD,IAAI,CAAC,aAAa;EAElB,KAAA,GAAA,oBAAA,cAAA,SAAA,CAAa,SAAS,GAAG,YAAY,UAAU,OAAO;EAEtD,UAAU,SAAS;GACjB,IAAI,KAAK,SAAS,SAAS,GACzB,OAAO,KAAK,QAAQ,cAAc,cAAc,SAAS;QACpD,IAAI,EAAA,GAAA,oBAAA,cAAA,SAAA,CAAU,GAAG,KAAK,KAAK,SAAS,KACzC,OAAO,CAAC,GAAG,MAAM,SAAS;QAE1B,OAAO;EAEX,CAAC;CACH,GACA;EAAC;EAAa;EAAK;CAAQ,CAC7B;CAEA,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,EACC,KACA,oBAAoB,iBACpB,mBAAmB,gBACnB,GAAG,UACD,CAAC,MACHC,cAAAA,WACE,WACA;EACE,qBAAA,GAAA,oBAAA,cAAA,GAAA,CAAuB,qBAAqB,eAAe;EAC3D,oBAAA,GAAA,oBAAA,cAAA,GAAA,CAAsB,SAAS,cAAc;EAC7C,MAAM;CACR,GACA,MACA,OACA,EACE,IACF,CACF,CAAC,CAAC,GACJ;EAAC;EAAqB;EAAW;EAAS;CAAI,CAChD;CAiDA,OAAO;EACL;EACA;EACA,gBAAA,GAAA,MAAA,YAAA,EAjDC,QAAQ,CAAC,MAAM;GACd,MAAM,UACJ,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,KAAK,OAAA,GAAA,oBAAA,cAAA,SAAA,CACR,MAAM,KAAK,MAAA,GAAA,oBAAA,cAAA,SAAA,CAAc,MAAM,KAAK,MAC9C,MAAM,SAAS,MAAM,KAAU;GACjC,MAAM,gBAAgB,CAAC,YAAA,GAAA,oBAAA,cAAA,SAAA,CAAoB,GAAG,KAAK,MAAM,UAAU;GAEnE,OAAO;IACL,GAAG;IACH,GAAG;IACH,MAAM;IACN,OAAOC,YAAAA,yBAAyB;IAChC,gBAAgB;IAChB,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,aAAa;IACvC,iBAAA,GAAA,oBAAA,cAAA,SAAA,CAAyB,OAAO;IAChC,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,aAAa;IACvC;IACA;IACA;IACA,GAAG;IACH,UAAU,QAAQ,MAAM,YAAY,aAAa;IACjD,SAAA,GAAA,oBAAA,cAAA,WAAA,CAAmB,MAAM,QAAQ,WAAW,MAAM;IAClD,WAAA,GAAA,oBAAA,cAAA,WAAA,CAAqB,MAAM,UAAU,QAAQ;IAC7C,UAAA,GAAA,oBAAA,cAAA,WAAA,CAAoB,MAAM,SAAS,WAAW,OAAO;GACvD;EACF,GACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAcY;EACZ,gBAAA,GAAA,MAAA,YAAA,EAXC,WAAW;GACV,GAAG;GACH,GAAG;EACL,IACA,CAAC,SAAS,CAOE;EACZ;EACA;CACF;AACF"}
1
+ {"version":3,"file":"use-checkbox-group.cjs","names":["createContext","useFieldProps","useControllableState","mergeProps","visuallyHiddenAttributes"],"sources":["../../../../src/components/checkbox/use-checkbox-group.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent } from \"react\"\nimport type { HTMLProps, PropGetter } from \"../../core\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback } from \"react\"\nimport { mergeProps } from \"../../core\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport {\n ariaAttr,\n createContext,\n cx,\n dataAttr,\n handlerAll,\n isNumber,\n isObject,\n isString,\n isUndefined,\n visuallyHiddenAttributes,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\ninterface CheckboxGroupContext extends Omit<\n UseCheckboxGroupReturn,\n \"getRootProps\"\n> {}\n\nconst [CheckboxGroupContext, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport { CheckboxGroupContext, useCheckboxGroupContext }\n\nexport interface UseCheckboxGroupProps<Y extends string = string>\n extends Omit<HTMLProps, \"defaultValue\" | \"onChange\" | \"value\">, FieldProps {\n /**\n * The initial value of the checkbox group.\n *\n * @default []\n */\n defaultValue?: Y[]\n /**\n * The maximum number of checkboxes that can be checked.\n */\n max?: number\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <Y extends string = string>(\n props: UseCheckboxGroupProps<Y> = {},\n) => {\n const {\n context: { labelId } = {},\n props: {\n defaultValue = [],\n disabled,\n max,\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n ...rest\n },\n ariaProps: { \"aria-describedby\": ariaDescribedbyProp, ...ariaProps },\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const interactive = !(readOnly || disabled)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n\n const onChange = useCallback(\n (valueOrEv: ChangeEvent<HTMLInputElement> | Y) => {\n if (!interactive) return\n\n if (isObject(valueOrEv)) valueOrEv = valueOrEv.target.value as Y\n\n setValue((prev) => {\n if (prev.includes(valueOrEv))\n return prev.filter((prevValue) => prevValue !== valueOrEv)\n else if (!isNumber(max) || prev.length < max)\n return [...prev, valueOrEv]\n else return prev\n })\n },\n [interactive, max, setValue],\n )\n\n const getRootProps: PropGetter = useCallback(\n ({\n ref,\n \"aria-describedby\": ariaDescribedby,\n \"aria-labelledby\": ariaLabelledby,\n ...props\n } = {}) =>\n mergeProps(\n dataProps,\n {\n \"aria-describedby\": cx(ariaDescribedbyProp, ariaDescribedby),\n \"aria-labelledby\": cx(labelId, ariaLabelledby),\n role: \"group\",\n },\n rest,\n props,\n {\n ref,\n },\n )(),\n [ariaDescribedbyProp, dataProps, labelId, rest],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}) => {\n const checked =\n !isUndefined(value) &&\n (isString(props.value) || isNumber(props.value)) &&\n value.includes(props.value as Y)\n const trulyDisabled = !checked && isNumber(max) && value.length >= max\n\n return {\n ...dataProps,\n ...ariaProps,\n type: \"checkbox\",\n style: visuallyHiddenAttributes.style,\n \"aria-checked\": checked,\n \"aria-disabled\": ariaAttr(trulyDisabled),\n \"data-checked\": dataAttr(checked),\n \"data-disabled\": dataAttr(trulyDisabled),\n checked,\n readOnly,\n required,\n ...props,\n disabled: Boolean(props.disabled || trulyDisabled),\n onBlur: handlerAll(props.onBlur, eventProps.onBlur),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, eventProps.onFocus),\n }\n },\n [\n ariaProps,\n dataProps,\n eventProps,\n max,\n onChange,\n readOnly,\n required,\n value,\n ],\n )\n\n const getLabelProps: PropGetter<\"label\"> = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n return {\n max,\n value,\n getInputProps,\n getLabelProps,\n getRootProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn = ReturnType<typeof useCheckboxGroup>\n"],"mappings":";;;;;;;;;AA2BA,MAAM,CAAC,sBAAsB,2BAC3BA,gBAAAA,cAAoC;CAClC,MAAM;CACN,QAAQ;AACV,CAAC;AA0BH,MAAa,oBACX,QAAkC,CAAC,MAChC;CACH,MAAM,EACJ,SAAS,EAAE,YAAY,CAAC,GACxB,OAAO,EACL,eAAe,CAAC,GAChB,UACA,KACA,UACA,UACA,OAAO,WACP,UAAU,cACV,GAAG,QAEL,WAAW,EAAE,oBAAoB,qBAAqB,GAAG,aACzD,WACA,eACEC,wBAAAA,cAAc,KAAK;CACvB,MAAM,cAAc,EAAE,YAAY;CAClC,MAAM,CAAC,OAAO,YAAYC,2CAAAA,qBAAqB;EAC7C;EACA,OAAO;EACP,UAAU;CACZ,CAAC;CAED,MAAM,YAAA,GAAA,MAAA,YAAA,EACH,cAAiD;EAChD,IAAI,CAAC,aAAa;EAElB,KAAA,GAAA,oBAAA,cAAA,SAAA,CAAa,SAAS,GAAG,YAAY,UAAU,OAAO;EAEtD,UAAU,SAAS;GACjB,IAAI,KAAK,SAAS,SAAS,GACzB,OAAO,KAAK,QAAQ,cAAc,cAAc,SAAS;QACtD,IAAI,EAAA,GAAA,oBAAA,cAAA,SAAA,CAAU,GAAG,KAAK,KAAK,SAAS,KACvC,OAAO,CAAC,GAAG,MAAM,SAAS;QACvB,OAAO;EACd,CAAC;CACH,GACA;EAAC;EAAa;EAAK;CAAQ,CAC7B;CAEA,MAAM,gBAAA,GAAA,MAAA,YAAA,EACH,EACC,KACA,oBAAoB,iBACpB,mBAAmB,gBACnB,GAAG,UACD,CAAC,MACHC,cAAAA,WACE,WACA;EACE,qBAAA,GAAA,oBAAA,cAAA,GAAA,CAAuB,qBAAqB,eAAe;EAC3D,oBAAA,GAAA,oBAAA,cAAA,GAAA,CAAsB,SAAS,cAAc;EAC7C,MAAM;CACR,GACA,MACA,OACA,EACE,IACF,CACF,CAAC,CAAC,GACJ;EAAC;EAAqB;EAAW;EAAS;CAAI,CAChD;CAiDA,OAAO;EACL;EACA;EACA,gBAAA,GAAA,MAAA,YAAA,EAjDC,QAAQ,CAAC,MAAM;GACd,MAAM,UACJ,EAAA,GAAA,oBAAA,cAAA,YAAA,CAAa,KAAK,OAAA,GAAA,oBAAA,cAAA,SAAA,CACR,MAAM,KAAK,MAAA,GAAA,oBAAA,cAAA,SAAA,CAAc,MAAM,KAAK,MAC9C,MAAM,SAAS,MAAM,KAAU;GACjC,MAAM,gBAAgB,CAAC,YAAA,GAAA,oBAAA,cAAA,SAAA,CAAoB,GAAG,KAAK,MAAM,UAAU;GAEnE,OAAO;IACL,GAAG;IACH,GAAG;IACH,MAAM;IACN,OAAOC,YAAAA,yBAAyB;IAChC,gBAAgB;IAChB,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,aAAa;IACvC,iBAAA,GAAA,oBAAA,cAAA,SAAA,CAAyB,OAAO;IAChC,kBAAA,GAAA,oBAAA,cAAA,SAAA,CAA0B,aAAa;IACvC;IACA;IACA;IACA,GAAG;IACH,UAAU,QAAQ,MAAM,YAAY,aAAa;IACjD,SAAA,GAAA,oBAAA,cAAA,WAAA,CAAmB,MAAM,QAAQ,WAAW,MAAM;IAClD,WAAA,GAAA,oBAAA,cAAA,WAAA,CAAqB,MAAM,UAAU,QAAQ;IAC7C,UAAA,GAAA,oBAAA,cAAA,WAAA,CAAoB,MAAM,SAAS,WAAW,OAAO;GACvD;EACF,GACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAcY;EACZ,gBAAA,GAAA,MAAA,YAAA,EAXC,WAAW;GACV,GAAG;GACH,GAAG;EACL,IACA,CAAC,SAAS,CAOE;EACZ;EACA;CACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-card.cjs","names":["createSlotComponent","checkboxCardStyle","useCheckbox","useInputBorder","MinusIcon","CheckIcon","styled"],"sources":["../../../../src/components/checkbox-card/checkbox-card.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { GenericsComponent, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { UseCheckboxProps } from \"../checkbox\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { CheckboxCardStyle } from \"./checkbox-card.style\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useCheckbox } from \"../checkbox\"\nimport { CheckIcon, MinusIcon } from \"../icon\"\nimport { useInputBorder } from \"../input\"\nimport { checkboxCardStyle } from \"./checkbox-card.style\"\n\nexport interface CheckboxCardRootProps<Y extends string = string>\n extends\n Merge<HTMLStyledProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<CheckboxCardStyle>,\n UseInputBorderProps {\n /**\n * The addon of the checkbox card.\n */\n addon?: ReactNode\n /**\n * The icon to display in the checkbox when it is checked.\n */\n checkedIcon?: ReactNode\n /**\n * The description of the checkbox card.\n */\n description?: ReactNode\n /**\n * The icon to display in the checkbox when it is indeterminate.\n */\n indeterminateIcon?: ReactNode\n /**\n * The label of the checkbox card.\n */\n label?: ReactNode\n /**\n * If `true`, the indicator will be displayed.\n *\n * @default true\n */\n withIndicator?: boolean\n /**\n * Props for the addon component.\n */\n addonProps?: CheckboxCardAddonProps\n /**\n * Props for the description component.\n */\n descriptionProps?: CheckboxCardDescriptionProps\n /**\n * Props for the indicator component.\n */\n indicatorProps?: CheckboxCardIndicatorProps\n /**\n * Props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for the label component.\n */\n labelProps?: CheckboxCardLabelProps\n /**\n * Props for the label element.\n */\n rootProps?: HTMLStyledProps<\"label\">\n}\n\nconst {\n component,\n PropsContext: CheckboxCardPropsContext,\n usePropsContext: useCheckboxCardPropsContext,\n withContext,\n withProvider,\n useRootComponentProps,\n} = createSlotComponent<CheckboxCardRootProps, CheckboxCardStyle>(\n \"checkbox-card\",\n checkboxCardStyle,\n)\n\nexport {\n CheckboxCardPropsContext,\n component,\n useCheckboxCardPropsContext,\n useRootComponentProps,\n}\n\n/**\n * `CheckboxCard` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see https://yamada-ui.com/docs/components/checkbox-card\n */\nexport const CheckboxCardRoot = withProvider<\"label\", CheckboxCardRootProps>(\n ({\n addon,\n checkedIcon,\n children,\n description,\n errorBorderColor,\n focusBorderColor,\n indeterminateIcon,\n label,\n withIndicator = true,\n addonProps,\n descriptionProps,\n indicatorProps,\n inputProps,\n labelProps,\n rootProps,\n ...rest\n }) => {\n const {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n } = useCheckbox(rest)\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const icon = useMemo(() => {\n if (indeterminate) {\n return indeterminateIcon || <MinusIcon />\n } else if (checked) {\n return checkedIcon || <CheckIcon />\n } else {\n return null\n }\n }, [indeterminate, indeterminateIcon, checked, checkedIcon])\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n {label ? (\n <CheckboxCardLabel {...labelProps}>{label}</CheckboxCardLabel>\n ) : null}\n {description ? (\n <CheckboxCardDescription {...descriptionProps}>\n {description}\n </CheckboxCardDescription>\n ) : null}\n {addon ? (\n <CheckboxCardAddon {...addonProps}>{addon}</CheckboxCardAddon>\n ) : null}\n </>\n )\n }, [\n addon,\n addonProps,\n children,\n description,\n descriptionProps,\n label,\n labelProps,\n ])\n\n return (\n <styled.label {...getRootProps({ ...varProps, ...rootProps })}>\n <styled.input {...getInputProps(inputProps)} />\n {withIndicator ? (\n <CheckboxCardIndicator {...getIndicatorProps(indicatorProps)}>\n {icon}\n </CheckboxCardIndicator>\n ) : null}\n\n {computedChildren}\n </styled.label>\n )\n },\n \"root\",\n)() as GenericsComponent<{\n <Y extends string = string>(props: CheckboxCardRootProps<Y>): ReactElement\n}>\n\ninterface CheckboxCardIndicatorProps extends HTMLStyledProps {}\n\nconst CheckboxCardIndicator = withContext<\"div\", CheckboxCardIndicatorProps>(\n \"div\",\n \"indicator\",\n)({ \"data-indicator\": \"\" })\n\nexport interface CheckboxCardLabelProps extends HTMLStyledProps {}\n\nexport const CheckboxCardLabel = withContext<\"span\", CheckboxCardLabelProps>(\n \"span\",\n \"label\",\n)()\n\nexport interface CheckboxCardDescriptionProps extends HTMLStyledProps {}\n\nexport const CheckboxCardDescription = withContext<\n \"span\",\n CheckboxCardDescriptionProps\n>(\"span\", \"description\")()\n\nexport interface CheckboxCardAddonProps extends HTMLStyledProps {}\n\nexport const CheckboxCardAddon = withContext<\"span\", CheckboxCardAddonProps>(\n \"span\",\n \"addon\",\n)()\n"],"mappings":";;;;;;;;;;;AAwEA,MAAM,EACJ,WACA,cAAc,0BACd,iBAAiB,6BACjB,aACA,cACA,0BACEA,yBAAAA,oBACF,iBACAC,4BAAAA,iBACF;;;;;;AAcA,MAAa,mBAAmB,cAC7B,EACC,OACA,aACA,UACA,aACA,kBACA,kBACA,mBACA,OACA,gBAAgB,MAChB,YACA,kBACA,gBACA,YACA,YACA,WACA,GAAG,WACC;CACJ,MAAM,EACJ,SACA,eACA,mBACA,eACA,iBACEC,qBAAAA,YAAY,IAAI;CACpB,MAAM,WAAWC,yBAAAA,eAAe;EAAE;EAAkB;CAAiB,CAAC;CACtE,MAAM,QAAA,GAAA,MAAA,QAAA,OAAqB;EACzB,IAAI,eACF,OAAO,qBAAqB,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OACnC,IAAI,SACT,OAAO,eAAe,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OAElC,OAAO;CAEX,GAAG;EAAC;EAAe;EAAmB;EAAS;CAAW,CAAC;CAC3D,MAAM,oBAAA,GAAA,MAAA,QAAA,OAAiC;EACrC,IAAI,UAAU,OAAO;EAErB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;GACG,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;IAAmB,GAAI;cAAa;GAAyB,CAAA,IAC3D;GACH,cACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,yBAAD;IAAyB,GAAI;cAC1B;GACsB,CAAA,IACvB;GACH,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;IAAmB,GAAI;cAAa;GAAyB,CAAA,IAC3D;EACJ,EAAA,CAAA;CAEN,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,OAAO,OAAR;EAAc,GAAI,aAAa;GAAE,GAAG;GAAU,GAAG;EAAU,CAAC;YAA5D;GACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,gBAAAA,OAAO,OAAR,EAAc,GAAI,cAAc,UAAU,EAAI,CAAA;GAC7C,gBACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD;IAAuB,GAAI,kBAAkB,cAAc;cACxD;GACoB,CAAA,IACrB;GAEH;EACW;;AAElB,GACA,MACF,CAAC,CAAC;AAMF,MAAM,wBAAwB,YAC5B,OACA,WACF,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC;AAI1B,MAAa,oBAAoB,YAC/B,QACA,OACF,CAAC,CAAC;AAIF,MAAa,0BAA0B,YAGrC,QAAQ,aAAa,CAAC,CAAC;AAIzB,MAAa,oBAAoB,YAC/B,QACA,OACF,CAAC,CAAC"}
1
+ {"version":3,"file":"checkbox-card.cjs","names":["createSlotComponent","checkboxCardStyle","useCheckbox","useInputBorder","MinusIcon","CheckIcon","styled"],"sources":["../../../../src/components/checkbox-card/checkbox-card.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactElement, ReactNode } from \"react\"\nimport type { GenericsComponent, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { UseCheckboxProps } from \"../checkbox\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { CheckboxCardStyle } from \"./checkbox-card.style\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled } from \"../../core\"\nimport { useCheckbox } from \"../checkbox\"\nimport { CheckIcon, MinusIcon } from \"../icon\"\nimport { useInputBorder } from \"../input\"\nimport { checkboxCardStyle } from \"./checkbox-card.style\"\n\nexport interface CheckboxCardRootProps<Y extends string = string>\n extends\n Merge<HTMLStyledProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<CheckboxCardStyle>,\n UseInputBorderProps {\n /**\n * The addon of the checkbox card.\n */\n addon?: ReactNode\n /**\n * The icon to display in the checkbox when it is checked.\n */\n checkedIcon?: ReactNode\n /**\n * The description of the checkbox card.\n */\n description?: ReactNode\n /**\n * The icon to display in the checkbox when it is indeterminate.\n */\n indeterminateIcon?: ReactNode\n /**\n * The label of the checkbox card.\n */\n label?: ReactNode\n /**\n * If `true`, the indicator will be displayed.\n *\n * @default true\n */\n withIndicator?: boolean\n /**\n * Props for the addon component.\n */\n addonProps?: CheckboxCardAddonProps\n /**\n * Props for the description component.\n */\n descriptionProps?: CheckboxCardDescriptionProps\n /**\n * Props for the indicator component.\n */\n indicatorProps?: CheckboxCardIndicatorProps\n /**\n * Props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for the label component.\n */\n labelProps?: CheckboxCardLabelProps\n /**\n * Props for the label element.\n */\n rootProps?: HTMLStyledProps<\"label\">\n}\n\nconst {\n component,\n PropsContext: CheckboxCardPropsContext,\n usePropsContext: useCheckboxCardPropsContext,\n withContext,\n withProvider,\n useRootComponentProps,\n} = createSlotComponent<CheckboxCardRootProps, CheckboxCardStyle>(\n \"checkbox-card\",\n checkboxCardStyle,\n)\n\nexport {\n CheckboxCardPropsContext,\n component,\n useCheckboxCardPropsContext,\n useRootComponentProps,\n}\n\n/**\n * `CheckboxCard` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see https://yamada-ui.com/docs/components/checkbox-card\n */\nexport const CheckboxCardRoot = withProvider<\"label\", CheckboxCardRootProps>(\n ({\n addon,\n checkedIcon,\n children,\n description,\n errorBorderColor,\n focusBorderColor,\n indeterminateIcon,\n label,\n withIndicator = true,\n addonProps,\n descriptionProps,\n indicatorProps,\n inputProps,\n labelProps,\n rootProps,\n ...rest\n }) => {\n const {\n checked,\n indeterminate,\n getIndicatorProps,\n getInputProps,\n getRootProps,\n } = useCheckbox(rest)\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const icon = useMemo(() => {\n if (indeterminate) return indeterminateIcon || <MinusIcon />\n else if (checked) return checkedIcon || <CheckIcon />\n else return null\n }, [indeterminate, indeterminateIcon, checked, checkedIcon])\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n {label ? (\n <CheckboxCardLabel {...labelProps}>{label}</CheckboxCardLabel>\n ) : null}\n {description ? (\n <CheckboxCardDescription {...descriptionProps}>\n {description}\n </CheckboxCardDescription>\n ) : null}\n {addon ? (\n <CheckboxCardAddon {...addonProps}>{addon}</CheckboxCardAddon>\n ) : null}\n </>\n )\n }, [\n addon,\n addonProps,\n children,\n description,\n descriptionProps,\n label,\n labelProps,\n ])\n\n return (\n <styled.label {...getRootProps({ ...varProps, ...rootProps })}>\n <styled.input {...getInputProps(inputProps)} />\n {withIndicator ? (\n <CheckboxCardIndicator {...getIndicatorProps(indicatorProps)}>\n {icon}\n </CheckboxCardIndicator>\n ) : null}\n\n {computedChildren}\n </styled.label>\n )\n },\n \"root\",\n)() as GenericsComponent<{\n <Y extends string = string>(props: CheckboxCardRootProps<Y>): ReactElement\n}>\n\ninterface CheckboxCardIndicatorProps extends HTMLStyledProps {}\n\nconst CheckboxCardIndicator = withContext<\"div\", CheckboxCardIndicatorProps>(\n \"div\",\n \"indicator\",\n)({ \"data-indicator\": \"\" })\n\nexport interface CheckboxCardLabelProps extends HTMLStyledProps {}\n\nexport const CheckboxCardLabel = withContext<\"span\", CheckboxCardLabelProps>(\n \"span\",\n \"label\",\n)()\n\nexport interface CheckboxCardDescriptionProps extends HTMLStyledProps {}\n\nexport const CheckboxCardDescription = withContext<\n \"span\",\n CheckboxCardDescriptionProps\n>(\"span\", \"description\")()\n\nexport interface CheckboxCardAddonProps extends HTMLStyledProps {}\n\nexport const CheckboxCardAddon = withContext<\"span\", CheckboxCardAddonProps>(\n \"span\",\n \"addon\",\n)()\n"],"mappings":";;;;;;;;;;;AAwEA,MAAM,EACJ,WACA,cAAc,0BACd,iBAAiB,6BACjB,aACA,cACA,0BACEA,yBAAAA,oBACF,iBACAC,4BAAAA,iBACF;;;;;;AAcA,MAAa,mBAAmB,cAC7B,EACC,OACA,aACA,UACA,aACA,kBACA,kBACA,mBACA,OACA,gBAAgB,MAChB,YACA,kBACA,gBACA,YACA,YACA,WACA,GAAG,WACC;CACJ,MAAM,EACJ,SACA,eACA,mBACA,eACA,iBACEC,qBAAAA,YAAY,IAAI;CACpB,MAAM,WAAWC,yBAAAA,eAAe;EAAE;EAAkB;CAAiB,CAAC;CACtE,MAAM,QAAA,GAAA,MAAA,QAAA,OAAqB;EACzB,IAAI,eAAe,OAAO,qBAAqB,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OACtD,IAAI,SAAS,OAAO,eAAe,iBAAA,GAAA,kBAAA,IAAA,CAACC,mBAAAA,WAAD,CAAY,CAAA;OAC/C,OAAO;CACd,GAAG;EAAC;EAAe;EAAmB;EAAS;CAAW,CAAC;CAC3D,MAAM,oBAAA,GAAA,MAAA,QAAA,OAAiC;EACrC,IAAI,UAAU,OAAO;EAErB,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAA,kBAAA,UAAA,EAAA,UAAA;GACG,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;IAAmB,GAAI;cAAa;GAAyB,CAAA,IAC3D;GACH,cACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,yBAAD;IAAyB,GAAI;cAC1B;GACsB,CAAA,IACvB;GACH,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAD;IAAmB,GAAI;cAAa;GAAyB,CAAA,IAC3D;EACJ,EAAA,CAAA;CAEN,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;CAED,OACE,iBAAA,GAAA,kBAAA,KAAA,CAACC,gBAAAA,OAAO,OAAR;EAAc,GAAI,aAAa;GAAE,GAAG;GAAU,GAAG;EAAU,CAAC;YAA5D;GACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,gBAAAA,OAAO,OAAR,EAAc,GAAI,cAAc,UAAU,EAAI,CAAA;GAC7C,gBACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,uBAAD;IAAuB,GAAI,kBAAkB,cAAc;cACxD;GACoB,CAAA,IACrB;GAEH;EACW;;AAElB,GACA,MACF,CAAC,CAAC;AAMF,MAAM,wBAAwB,YAC5B,OACA,WACF,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC;AAI1B,MAAa,oBAAoB,YAC/B,QACA,OACF,CAAC,CAAC;AAIF,MAAa,0BAA0B,YAGrC,QAAQ,aAAa,CAAC,CAAC;AAIzB,MAAa,oBAAoB,YAC/B,QACA,OACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"collapse.cjs","names":["createTransition","createComponent","collapseStyle","AnimatePresence","motion"],"sources":["../../../../src/components/collapse/collapse.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Variants } from \"motion/react\"\nimport type { ThemeProps } from \"../../core\"\nimport type {\n HTMLMotionProps,\n MotionTransitionVariants,\n WithTransitionProps,\n} from \"../motion\"\nimport type { CollapseStyle } from \"./collapse.style\"\nimport { AnimatePresence } from \"motion/react\"\nimport { useEffect, useMemo, useState } from \"react\"\nimport { createComponent } from \"../../core\"\nimport { createdDom, isNumeric } from \"../../utils\"\nimport { createTransition, motion } from \"../motion\"\nimport { collapseStyle } from \"./collapse.style\"\n\nconst variants: Variants = {\n enter: ({\n animationOpacity,\n delay,\n duration,\n endingHeight: height,\n enter,\n transition,\n transitionEnd,\n } = {}) => ({\n ...(animationOpacity ? { opacity: 1 } : {}),\n height,\n transition: createTransition.enter(transition?.enter)(delay, duration),\n transitionEnd: transitionEnd?.enter,\n ...enter,\n }),\n exit: ({\n animationOpacity,\n delay,\n duration,\n exit,\n startingHeight: height,\n transition,\n transitionEnd,\n } = {}) => ({\n ...(animationOpacity ? { opacity: isNumeric(height) ? 1 : 0 } : {}),\n height,\n transition: createTransition.exit(transition?.exit)(delay, duration),\n transitionEnd: transitionEnd?.exit,\n ...exit,\n }),\n} satisfies MotionTransitionVariants\n\nexport interface CollapseProps\n extends WithTransitionProps<HTMLMotionProps>, ThemeProps<CollapseStyle> {\n /**\n * If `true`, the opacity of the content will be animated.\n *\n * @default true\n */\n animationOpacity?: boolean\n /**\n * The height you want the content in its expanded state.\n *\n * @default 'auto'\n */\n endingHeight?: number | string\n /**\n * The height you want the content in its collapsed state.\n *\n * @default 0\n */\n startingHeight?: number | string\n}\n\nconst {\n PropsContext: CollapsePropsContext,\n usePropsContext: useCollapsePropsContext,\n withContext,\n} = createComponent<CollapseProps, CollapseStyle>(\"collapse\", collapseStyle)\n\nexport { CollapsePropsContext, useCollapsePropsContext }\n\n/**\n * `Collapse` is a component that allows you to expand or collapse an element for display.\n *\n * @see https://yamada-ui.com/docs/components/collapse\n */\nexport const Collapse = withContext<\"div\", CollapseProps>(\n ({\n style,\n animationOpacity = true,\n delay,\n duration,\n endingHeight = \"auto\",\n open: openProp,\n startingHeight = 0,\n transition: transitionProp,\n transitionEnd,\n unmountOnExit,\n ...rest\n }) => {\n const [mounted, setMounted] = useState(false)\n const animate = openProp || unmountOnExit ? \"enter\" : \"exit\"\n const open = unmountOnExit ? openProp : true\n\n const transition = useMemo(() => {\n if (!mounted) {\n return { enter: { duration: 0 } }\n } else if (transitionProp) {\n return transitionProp\n } else {\n return {\n enter: {\n height: {\n duration: duration ?? 0.3,\n ease: [0.25, 0.1, 0.25, 1],\n },\n opacity: {\n duration: duration ?? 0.4,\n ease: [0.25, 0.1, 0.25, 1],\n },\n },\n exit: {\n height: {\n duration: duration ?? 0.3,\n ease: [0.25, 0.1, 0.25, 1],\n },\n opacity: {\n duration: duration ?? 0.4,\n ease: [0.25, 0.1, 0.25, 1],\n },\n },\n }\n }\n }, [mounted, duration, transitionProp])\n\n const custom = useMemo(\n () => ({\n animationOpacity,\n delay,\n duration,\n endingHeight,\n startingHeight,\n transition,\n transitionEnd,\n }),\n [\n animationOpacity,\n delay,\n duration,\n endingHeight,\n startingHeight,\n transition,\n transitionEnd,\n ],\n )\n\n useEffect(() => {\n if (createdDom()) setMounted(true)\n }, [])\n\n return (\n <AnimatePresence custom={custom} initial={false}>\n {open ? (\n <motion.div\n style={{ overflow: \"hidden\", ...style }}\n animate={animate}\n custom={custom}\n exit=\"exit\"\n initial={unmountOnExit ? \"exit\" : false}\n variants={variants}\n {...rest}\n />\n ) : null}\n </AnimatePresence>\n )\n },\n)()\n"],"mappings":";;;;;;;;;;AAiBA,MAAM,WAAqB;CACzB,QAAQ,EACN,kBACA,OACA,UACA,cAAc,QACd,OACA,YACA,kBACE,CAAC,OAAO;EACV,GAAI,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC;EACzC;EACA,YAAYA,mBAAAA,iBAAiB,MAAM,YAAY,KAAK,CAAC,CAAC,OAAO,QAAQ;EACrE,eAAe,eAAe;EAC9B,GAAG;CACL;CACA,OAAO,EACL,kBACA,OACA,UACA,MACA,gBAAgB,QAChB,YACA,kBACE,CAAC,OAAO;EACV,GAAI,mBAAmB,EAAE,UAAA,GAAA,oBAAA,cAAA,UAAA,CAAmB,MAAM,IAAI,IAAI,EAAE,IAAI,CAAC;EACjE;EACA,YAAYA,mBAAAA,iBAAiB,KAAK,YAAY,IAAI,CAAC,CAAC,OAAO,QAAQ;EACnE,eAAe,eAAe;EAC9B,GAAG;CACL;AACF;AAwBA,MAAM,EACJ,cAAc,sBACd,iBAAiB,yBACjB,gBACEC,yBAAAA,gBAA8C,YAAYC,uBAAAA,aAAa;;;;;;AAS3E,MAAa,WAAW,aACrB,EACC,OACA,mBAAmB,MACnB,OACA,UACA,eAAe,QACf,MAAM,UACN,iBAAiB,GACjB,YAAY,gBACZ,eACA,eACA,GAAG,WACC;CACJ,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,SAAA,CAAuB,KAAK;CAC5C,MAAM,UAAU,YAAY,gBAAgB,UAAU;CACtD,MAAM,OAAO,gBAAgB,WAAW;CAExC,MAAM,cAAA,GAAA,MAAA,QAAA,OAA2B;EAC/B,IAAI,CAAC,SACH,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;OAC3B,IAAI,gBACT,OAAO;OAEP,OAAO;GACL,OAAO;IACL,QAAQ;KACN,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;IACA,SAAS;KACP,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;GACF;GACA,MAAM;IACJ,QAAQ;KACN,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;IACA,SAAS;KACP,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;GACF;EACF;CAEJ,GAAG;EAAC;EAAS;EAAU;CAAc,CAAC;CAEtC,MAAM,UAAA,GAAA,MAAA,QAAA,QACG;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,GAAG,WAAW,IAAI;CACnC,GAAG,CAAC,CAAC;CAEL,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,iBAAD;EAAyB;EAAQ,SAAS;YACvC,OACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,KAAR;GACE,OAAO;IAAE,UAAU;IAAU,GAAG;GAAM;GAC7B;GACD;GACR,MAAK;GACL,SAAS,gBAAgB,SAAS;GACxB;GACV,GAAI;EACL,CAAA,IACC;CACW,CAAA;AAErB,CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"collapse.cjs","names":["createTransition","createComponent","collapseStyle","AnimatePresence","motion"],"sources":["../../../../src/components/collapse/collapse.tsx"],"sourcesContent":["\"use client\"\n\nimport type { Variants } from \"motion/react\"\nimport type { ThemeProps } from \"../../core\"\nimport type {\n HTMLMotionProps,\n MotionTransitionVariants,\n WithTransitionProps,\n} from \"../motion\"\nimport type { CollapseStyle } from \"./collapse.style\"\nimport { AnimatePresence } from \"motion/react\"\nimport { useEffect, useMemo, useState } from \"react\"\nimport { createComponent } from \"../../core\"\nimport { createdDom, isNumeric } from \"../../utils\"\nimport { createTransition, motion } from \"../motion\"\nimport { collapseStyle } from \"./collapse.style\"\n\nconst variants: Variants = {\n enter: ({\n animationOpacity,\n delay,\n duration,\n endingHeight: height,\n enter,\n transition,\n transitionEnd,\n } = {}) => ({\n ...(animationOpacity ? { opacity: 1 } : {}),\n height,\n transition: createTransition.enter(transition?.enter)(delay, duration),\n transitionEnd: transitionEnd?.enter,\n ...enter,\n }),\n exit: ({\n animationOpacity,\n delay,\n duration,\n exit,\n startingHeight: height,\n transition,\n transitionEnd,\n } = {}) => ({\n ...(animationOpacity ? { opacity: isNumeric(height) ? 1 : 0 } : {}),\n height,\n transition: createTransition.exit(transition?.exit)(delay, duration),\n transitionEnd: transitionEnd?.exit,\n ...exit,\n }),\n} satisfies MotionTransitionVariants\n\nexport interface CollapseProps\n extends WithTransitionProps<HTMLMotionProps>, ThemeProps<CollapseStyle> {\n /**\n * If `true`, the opacity of the content will be animated.\n *\n * @default true\n */\n animationOpacity?: boolean\n /**\n * The height you want the content in its expanded state.\n *\n * @default 'auto'\n */\n endingHeight?: number | string\n /**\n * The height you want the content in its collapsed state.\n *\n * @default 0\n */\n startingHeight?: number | string\n}\n\nconst {\n PropsContext: CollapsePropsContext,\n usePropsContext: useCollapsePropsContext,\n withContext,\n} = createComponent<CollapseProps, CollapseStyle>(\"collapse\", collapseStyle)\n\nexport { CollapsePropsContext, useCollapsePropsContext }\n\n/**\n * `Collapse` is a component that allows you to expand or collapse an element for display.\n *\n * @see https://yamada-ui.com/docs/components/collapse\n */\nexport const Collapse = withContext<\"div\", CollapseProps>(\n ({\n style,\n animationOpacity = true,\n delay,\n duration,\n endingHeight = \"auto\",\n open: openProp,\n startingHeight = 0,\n transition: transitionProp,\n transitionEnd,\n unmountOnExit,\n ...rest\n }) => {\n const [mounted, setMounted] = useState(false)\n const animate = openProp || unmountOnExit ? \"enter\" : \"exit\"\n const open = unmountOnExit ? openProp : true\n\n const transition = useMemo(() => {\n if (!mounted) return { enter: { duration: 0 } }\n else if (transitionProp) return transitionProp\n else\n return {\n enter: {\n height: {\n duration: duration ?? 0.3,\n ease: [0.25, 0.1, 0.25, 1],\n },\n opacity: {\n duration: duration ?? 0.4,\n ease: [0.25, 0.1, 0.25, 1],\n },\n },\n exit: {\n height: {\n duration: duration ?? 0.3,\n ease: [0.25, 0.1, 0.25, 1],\n },\n opacity: {\n duration: duration ?? 0.4,\n ease: [0.25, 0.1, 0.25, 1],\n },\n },\n }\n }, [mounted, duration, transitionProp])\n\n const custom = useMemo(\n () => ({\n animationOpacity,\n delay,\n duration,\n endingHeight,\n startingHeight,\n transition,\n transitionEnd,\n }),\n [\n animationOpacity,\n delay,\n duration,\n endingHeight,\n startingHeight,\n transition,\n transitionEnd,\n ],\n )\n\n useEffect(() => {\n if (createdDom()) setMounted(true)\n }, [])\n\n return (\n <AnimatePresence custom={custom} initial={false}>\n {open ? (\n <motion.div\n style={{ overflow: \"hidden\", ...style }}\n animate={animate}\n custom={custom}\n exit=\"exit\"\n initial={unmountOnExit ? \"exit\" : false}\n variants={variants}\n {...rest}\n />\n ) : null}\n </AnimatePresence>\n )\n },\n)()\n"],"mappings":";;;;;;;;;;AAiBA,MAAM,WAAqB;CACzB,QAAQ,EACN,kBACA,OACA,UACA,cAAc,QACd,OACA,YACA,kBACE,CAAC,OAAO;EACV,GAAI,mBAAmB,EAAE,SAAS,EAAE,IAAI,CAAC;EACzC;EACA,YAAYA,mBAAAA,iBAAiB,MAAM,YAAY,KAAK,CAAC,CAAC,OAAO,QAAQ;EACrE,eAAe,eAAe;EAC9B,GAAG;CACL;CACA,OAAO,EACL,kBACA,OACA,UACA,MACA,gBAAgB,QAChB,YACA,kBACE,CAAC,OAAO;EACV,GAAI,mBAAmB,EAAE,UAAA,GAAA,oBAAA,cAAA,UAAA,CAAmB,MAAM,IAAI,IAAI,EAAE,IAAI,CAAC;EACjE;EACA,YAAYA,mBAAAA,iBAAiB,KAAK,YAAY,IAAI,CAAC,CAAC,OAAO,QAAQ;EACnE,eAAe,eAAe;EAC9B,GAAG;CACL;AACF;AAwBA,MAAM,EACJ,cAAc,sBACd,iBAAiB,yBACjB,gBACEC,yBAAAA,gBAA8C,YAAYC,uBAAAA,aAAa;;;;;;AAS3E,MAAa,WAAW,aACrB,EACC,OACA,mBAAmB,MACnB,OACA,UACA,eAAe,QACf,MAAM,UACN,iBAAiB,GACjB,YAAY,gBACZ,eACA,eACA,GAAG,WACC;CACJ,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,SAAA,CAAuB,KAAK;CAC5C,MAAM,UAAU,YAAY,gBAAgB,UAAU;CACtD,MAAM,OAAO,gBAAgB,WAAW;CAExC,MAAM,cAAA,GAAA,MAAA,QAAA,OAA2B;EAC/B,IAAI,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;OACzC,IAAI,gBAAgB,OAAO;OAE9B,OAAO;GACL,OAAO;IACL,QAAQ;KACN,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;IACA,SAAS;KACP,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;GACF;GACA,MAAM;IACJ,QAAQ;KACN,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;IACA,SAAS;KACP,UAAU,YAAY;KACtB,MAAM;MAAC;MAAM;MAAK;MAAM;KAAC;IAC3B;GACF;EACF;CACJ,GAAG;EAAC;EAAS;EAAU;CAAc,CAAC;CAEtC,MAAM,UAAA,GAAA,MAAA,QAAA,QACG;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,CAAA,GAAA,MAAA,UAAA,OAAgB;EACd,KAAA,GAAA,oBAAA,cAAA,WAAA,CAAe,GAAG,WAAW,IAAI;CACnC,GAAG,CAAC,CAAC;CAEL,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,iBAAD;EAAyB;EAAQ,SAAS;YACvC,OACC,iBAAA,GAAA,kBAAA,IAAA,CAACC,gBAAAA,OAAO,KAAR;GACE,OAAO;IAAE,UAAU;IAAU,GAAG;GAAM;GAC7B;GACD;GACR,MAAK;GACL,SAAS,gBAAgB,SAAS;GACxB;GACV,GAAI;EACL,CAAA,IACC;CACW,CAAA;AAErB,CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-color-picker.cjs","names":["useI18n","useFieldProps","useCombobox","useControllableState","useEyeDropper","mergeRefs","runKeyAction"],"sources":["../../../../src/components/color-picker/use-color-picker.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, FocusEvent, MouseEvent } from \"react\"\nimport type { HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { UseComboboxProps } from \"../../hooks/use-combobox\"\nimport type { ColorFormat } from \"../../utils\"\nimport type { UseColorSelectorProps } from \"../color-selector\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport { useCombobox } from \"../../hooks/use-combobox\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useEyeDropper } from \"../../hooks/use-eye-dropper\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n calcFormat,\n contains,\n convertColor,\n cx,\n focusTransfer,\n handlerAll,\n mergeRefs,\n runIfFn,\n runKeyAction,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseColorPickerProps\n extends\n Omit<\n UseComboboxProps,\n | \"closeOnSelect\"\n | \"initialFocusValue\"\n | \"onChange\"\n | \"ref\"\n | \"selectFocusRef\"\n | \"selectOnSpace\"\n >,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, allows input.\n *\n * @default true\n */\n allowInput?: boolean\n /**\n * If `true`, the color picker will be closed when the input value changes.\n *\n * @default false\n */\n closeOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * The initial value of the color picker.\n */\n defaultValue?: string\n /**\n * The fallback value of the color picker.\n *\n * @default '#FFFFFF'\n */\n fallbackValue?: string\n /**\n * The format of the color picker.\n * Automatically determines the format of `value` or `defaultValue`.\n *\n * @default 'hex'\n */\n format?: ColorFormat\n /**\n * The `id` attribute of the input element.\n */\n id?: string\n /**\n * The `name` attribute of the input element.\n */\n name?: string\n /**\n * If `true`, the color picker will be opened when the input value changes.\n *\n * @default true\n */\n openOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * If `true`, the color picker will be opened when the input is focused.\n *\n * @default false\n */\n openOnFocus?: boolean\n /**\n * The pattern used to check the input element.\n */\n pattern?: RegExp\n /**\n * The placeholder for color picker.\n */\n placeholder?: string\n /**\n * The value of the color picker.\n */\n value?: string\n /**\n * The function to format the input value.\n */\n formatInput?: (value: string) => string\n /**\n * The callback invoked when the value changes.\n */\n onChange?: (value: string) => void\n /**\n * The callback invoked when input value state changes.\n */\n onInputChange?: (ev: ChangeEvent<HTMLInputElement>) => void\n}\n\nexport const useColorPicker = (props: UseColorPickerProps) => {\n const { t } = useI18n(\"colorPicker\")\n const {\n props: {\n id,\n ref,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledbyProp,\n allowInput = true,\n closeOnChange = false,\n defaultValue,\n disabled,\n fallbackValue = \"#FFFFFF\",\n format: formatProp,\n formatInput,\n openOnChange = true,\n openOnClick = true,\n openOnFocus = true,\n pattern,\n placeholder,\n placement = \"end-start\",\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n onInputChange: onInputChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const {\n interactive,\n open,\n getContentProps: getComboboxContentProps,\n getTriggerProps,\n popoverProps,\n onClose,\n onOpen,\n } = useCombobox({\n disabled,\n matchWidth: false,\n openOnClick: false,\n openOnEnter: !allowInput,\n openOnSpace: !allowInput,\n placement,\n readOnly,\n transferFocus: false,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n ...rest,\n })\n const format =\n formatProp ?? calcFormat(valueProp ?? defaultValue ?? fallbackValue)\n const alpha = format.endsWith(\"a\")\n const fieldRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const focusByClickRef = useRef<boolean>(false)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const { supported: supportedEyeDropper, onOpen: onOpenEyeDropper } =\n useEyeDropper()\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n focusByClickRef.current = true\n\n if (allowInput) inputRef.current?.focus()\n\n if (openOnClick) onOpen()\n }, [allowInput, interactive, onOpen, openOnClick])\n\n const onMouseDown = useCallback(\n (ev: MouseEvent<HTMLDivElement | HTMLInputElement>) => {\n if (!openOnFocus) return\n\n ev.preventDefault()\n ev.stopPropagation()\n },\n [openOnFocus],\n )\n\n const onFieldFocus = useCallback(() => {\n if (allowInput) return\n\n if (openOnFocus) onOpen()\n\n focusByClickRef.current = false\n }, [allowInput, onOpen, openOnFocus])\n\n const onInputFocus = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n ev.preventDefault()\n ev.stopPropagation()\n\n if (openOnFocus && !focusByClickRef.current) onOpen()\n\n focusByClickRef.current = false\n },\n [onOpen, openOnFocus],\n )\n\n const onBlur = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n if (\n contains(fieldRef.current, ev.relatedTarget) ||\n contains(contentRef.current, ev.relatedTarget)\n ) {\n ev.preventDefault()\n } else {\n setValue((prev) => {\n if (!prev) return prev\n\n let value = convertColor(prev)(format)\n\n if (!value) return prev\n\n if (formatInput) value = formatInput(value)\n\n if (pattern) value = value.replace(pattern, \"\")\n\n return value\n })\n }\n },\n [format, formatInput, pattern, setValue],\n )\n\n const onInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!allowInput) return\n\n onInputChangeProp?.(ev)\n\n if (runIfFn(closeOnChange, ev)) {\n onClose()\n } else if (runIfFn(openOnChange, ev)) {\n onOpen()\n }\n\n let inputValue = ev.target.value\n\n if (formatInput) inputValue = formatInput(inputValue)\n\n if (pattern) inputValue = inputValue.replace(pattern, \"\")\n\n setValue(inputValue)\n },\n [\n allowInput,\n closeOnChange,\n formatInput,\n onClose,\n onInputChangeProp,\n onOpen,\n openOnChange,\n pattern,\n setValue,\n ],\n )\n\n const onEyeDropperClick = useCallback(async () => {\n if (!interactive) return\n\n const result = await onOpenEyeDropper()\n\n if (result?.sRGBHex) setValue(result.sRGBHex)\n }, [interactive, onOpenEyeDropper, setValue])\n\n useEffect(() => {\n if (!open) return\n\n return focusTransfer(\n contentRef.current,\n allowInput ? inputRef.current : fieldRef.current,\n )\n }, [allowInput, open])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n const getFieldProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getTriggerProps({\n ref: mergeRefs(ref, fieldRef),\n \"aria-haspopup\": \"dialog\",\n tabIndex: !allowInput ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onClick),\n onFocus: handlerAll(props.onFocus, onFieldFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n\n [allowInput, getTriggerProps, onClick, onFieldFocus, onMouseDown],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id,\n ref: mergeRefs(props.ref, ref, inputRef),\n name,\n style: {\n ...(!allowInput ? { pointerEvents: \"none\" } : {}),\n ...props.style,\n },\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": cx(ariaLabelledby, ariaLabelledbyProp),\n autoComplete: \"off\",\n disabled,\n placeholder,\n readOnly,\n required,\n tabIndex: allowInput ? 0 : -1,\n value,\n ...dataProps,\n ...props,\n onBlur: handlerAll(props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onInputChange),\n onFocus: handlerAll(props.onFocus, onInputFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n [\n allowInput,\n ariaLabel,\n ariaLabelledbyProp,\n dataProps,\n disabled,\n id,\n name,\n onBlur,\n onInputChange,\n onInputFocus,\n onMouseDown,\n placeholder,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getEyeDropperProps: PropGetter = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": t(\"Pick a color\"),\n hidden: !supportedEyeDropper,\n role: \"button\",\n tabIndex: interactive ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onEyeDropperClick),\n onKeyDown: handlerAll(props.onKeyDown, (ev) =>\n runKeyAction(ev, {\n Enter: onEyeDropperClick,\n Space: onEyeDropperClick,\n }),\n ),\n }),\n [dataProps, interactive, onEyeDropperClick, supportedEyeDropper, t],\n )\n\n const getContentProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getComboboxContentProps({\n ref: mergeRefs(ref, contentRef),\n role: \"dialog\",\n ...props,\n }),\n [getComboboxContentProps],\n )\n\n const getSelectorProps: PropGetter<UseColorSelectorProps> = useCallback(\n (props = {}) => ({\n disabled,\n fallbackValue,\n format,\n readOnly,\n value,\n ...props,\n onChange: handlerAll(props.onChange, setValue),\n }),\n [disabled, fallbackValue, format, readOnly, value, setValue],\n )\n\n return {\n alpha,\n format,\n interactive,\n open,\n setValue,\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n onClose,\n onOpen,\n }\n}\n\nexport type UseColorPickerReturn = ReturnType<typeof useColorPicker>\n"],"mappings":"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"}
1
+ {"version":3,"file":"use-color-picker.cjs","names":["useI18n","useFieldProps","useCombobox","useControllableState","useEyeDropper","mergeRefs","runKeyAction"],"sources":["../../../../src/components/color-picker/use-color-picker.ts"],"sourcesContent":["\"use client\"\n\nimport type { ChangeEvent, FocusEvent, MouseEvent } from \"react\"\nimport type { HTMLRefAttributes, PropGetter } from \"../../core\"\nimport type { UseComboboxProps } from \"../../hooks/use-combobox\"\nimport type { ColorFormat } from \"../../utils\"\nimport type { UseColorSelectorProps } from \"../color-selector\"\nimport type { FieldProps } from \"../field\"\nimport { useCallback, useEffect, useRef } from \"react\"\nimport { useCombobox } from \"../../hooks/use-combobox\"\nimport { useControllableState } from \"../../hooks/use-controllable-state\"\nimport { useEyeDropper } from \"../../hooks/use-eye-dropper\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport {\n ariaAttr,\n calcFormat,\n contains,\n convertColor,\n cx,\n focusTransfer,\n handlerAll,\n mergeRefs,\n runIfFn,\n runKeyAction,\n} from \"../../utils\"\nimport { useFieldProps } from \"../field\"\n\nexport interface UseColorPickerProps\n extends\n Omit<\n UseComboboxProps,\n | \"closeOnSelect\"\n | \"initialFocusValue\"\n | \"onChange\"\n | \"ref\"\n | \"selectFocusRef\"\n | \"selectOnSpace\"\n >,\n HTMLRefAttributes<\"input\">,\n FieldProps {\n /**\n * If `true`, allows input.\n *\n * @default true\n */\n allowInput?: boolean\n /**\n * If `true`, the color picker will be closed when the input value changes.\n *\n * @default false\n */\n closeOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * The initial value of the color picker.\n */\n defaultValue?: string\n /**\n * The fallback value of the color picker.\n *\n * @default '#FFFFFF'\n */\n fallbackValue?: string\n /**\n * The format of the color picker.\n * Automatically determines the format of `value` or `defaultValue`.\n *\n * @default 'hex'\n */\n format?: ColorFormat\n /**\n * The `id` attribute of the input element.\n */\n id?: string\n /**\n * The `name` attribute of the input element.\n */\n name?: string\n /**\n * If `true`, the color picker will be opened when the input value changes.\n *\n * @default true\n */\n openOnChange?: ((ev: ChangeEvent<HTMLInputElement>) => boolean) | boolean\n /**\n * If `true`, the color picker will be opened when the input is focused.\n *\n * @default false\n */\n openOnFocus?: boolean\n /**\n * The pattern used to check the input element.\n */\n pattern?: RegExp\n /**\n * The placeholder for color picker.\n */\n placeholder?: string\n /**\n * The value of the color picker.\n */\n value?: string\n /**\n * The function to format the input value.\n */\n formatInput?: (value: string) => string\n /**\n * The callback invoked when the value changes.\n */\n onChange?: (value: string) => void\n /**\n * The callback invoked when input value state changes.\n */\n onInputChange?: (ev: ChangeEvent<HTMLInputElement>) => void\n}\n\nexport const useColorPicker = (props: UseColorPickerProps) => {\n const { t } = useI18n(\"colorPicker\")\n const {\n props: {\n id,\n ref,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledbyProp,\n allowInput = true,\n closeOnChange = false,\n defaultValue,\n disabled,\n fallbackValue = \"#FFFFFF\",\n format: formatProp,\n formatInput,\n openOnChange = true,\n openOnClick = true,\n openOnFocus = true,\n pattern,\n placeholder,\n placement = \"end-start\",\n readOnly,\n required,\n value: valueProp,\n onChange: onChangeProp,\n onInputChange: onInputChangeProp,\n ...rest\n },\n ariaProps,\n dataProps,\n eventProps,\n } = useFieldProps(props)\n const {\n interactive,\n open,\n getContentProps: getComboboxContentProps,\n getTriggerProps,\n popoverProps,\n onClose,\n onOpen,\n } = useCombobox({\n disabled,\n matchWidth: false,\n openOnClick: false,\n openOnEnter: !allowInput,\n openOnSpace: !allowInput,\n placement,\n readOnly,\n transferFocus: false,\n ...ariaProps,\n ...dataProps,\n ...eventProps,\n ...rest,\n })\n const format =\n formatProp ?? calcFormat(valueProp ?? defaultValue ?? fallbackValue)\n const alpha = format.endsWith(\"a\")\n const fieldRef = useRef<HTMLDivElement>(null)\n const contentRef = useRef<HTMLDivElement>(null)\n const inputRef = useRef<HTMLInputElement>(null)\n const focusByClickRef = useRef<boolean>(false)\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const { supported: supportedEyeDropper, onOpen: onOpenEyeDropper } =\n useEyeDropper()\n\n const onClick = useCallback(() => {\n if (!interactive) return\n\n focusByClickRef.current = true\n\n if (allowInput) inputRef.current?.focus()\n\n if (openOnClick) onOpen()\n }, [allowInput, interactive, onOpen, openOnClick])\n\n const onMouseDown = useCallback(\n (ev: MouseEvent<HTMLDivElement | HTMLInputElement>) => {\n if (!openOnFocus) return\n\n ev.preventDefault()\n ev.stopPropagation()\n },\n [openOnFocus],\n )\n\n const onFieldFocus = useCallback(() => {\n if (allowInput) return\n\n if (openOnFocus) onOpen()\n\n focusByClickRef.current = false\n }, [allowInput, onOpen, openOnFocus])\n\n const onInputFocus = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n ev.preventDefault()\n ev.stopPropagation()\n\n if (openOnFocus && !focusByClickRef.current) onOpen()\n\n focusByClickRef.current = false\n },\n [onOpen, openOnFocus],\n )\n\n const onBlur = useCallback(\n (ev: FocusEvent<HTMLInputElement>) => {\n if (\n contains(fieldRef.current, ev.relatedTarget) ||\n contains(contentRef.current, ev.relatedTarget)\n )\n ev.preventDefault()\n else\n setValue((prev) => {\n if (!prev) return prev\n\n let value = convertColor(prev)(format)\n\n if (!value) return prev\n\n if (formatInput) value = formatInput(value)\n\n if (pattern) value = value.replace(pattern, \"\")\n\n return value\n })\n },\n [format, formatInput, pattern, setValue],\n )\n\n const onInputChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (!allowInput) return\n\n onInputChangeProp?.(ev)\n\n if (runIfFn(closeOnChange, ev)) onClose()\n else if (runIfFn(openOnChange, ev)) onOpen()\n\n let inputValue = ev.target.value\n\n if (formatInput) inputValue = formatInput(inputValue)\n\n if (pattern) inputValue = inputValue.replace(pattern, \"\")\n\n setValue(inputValue)\n },\n [\n allowInput,\n closeOnChange,\n formatInput,\n onClose,\n onInputChangeProp,\n onOpen,\n openOnChange,\n pattern,\n setValue,\n ],\n )\n\n const onEyeDropperClick = useCallback(async () => {\n if (!interactive) return\n\n const result = await onOpenEyeDropper()\n\n if (result?.sRGBHex) setValue(result.sRGBHex)\n }, [interactive, onOpenEyeDropper, setValue])\n\n useEffect(() => {\n if (!open) return\n\n return focusTransfer(\n contentRef.current,\n allowInput ? inputRef.current : fieldRef.current,\n )\n }, [allowInput, open])\n\n const getRootProps: PropGetter = useCallback(\n (props) => ({\n ...dataProps,\n ...props,\n }),\n [dataProps],\n )\n\n const getFieldProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getTriggerProps({\n ref: mergeRefs(ref, fieldRef),\n \"aria-haspopup\": \"dialog\",\n tabIndex: !allowInput ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onClick),\n onFocus: handlerAll(props.onFocus, onFieldFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n\n [allowInput, getTriggerProps, onClick, onFieldFocus, onMouseDown],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n ({ \"aria-labelledby\": ariaLabelledby, ...props } = {}) => ({\n id,\n ref: mergeRefs(props.ref, ref, inputRef),\n name,\n style: {\n ...(!allowInput ? { pointerEvents: \"none\" } : {}),\n ...props.style,\n },\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": cx(ariaLabelledby, ariaLabelledbyProp),\n autoComplete: \"off\",\n disabled,\n placeholder,\n readOnly,\n required,\n tabIndex: allowInput ? 0 : -1,\n value,\n ...dataProps,\n ...props,\n onBlur: handlerAll(props.onBlur, onBlur),\n onChange: handlerAll(props.onChange, onInputChange),\n onFocus: handlerAll(props.onFocus, onInputFocus),\n onMouseDown: handlerAll(props.onMouseDown, onMouseDown),\n }),\n [\n allowInput,\n ariaLabel,\n ariaLabelledbyProp,\n dataProps,\n disabled,\n id,\n name,\n onBlur,\n onInputChange,\n onInputFocus,\n onMouseDown,\n placeholder,\n readOnly,\n ref,\n required,\n value,\n ],\n )\n\n const getEyeDropperProps: PropGetter = useCallback(\n (props = {}) => ({\n ...dataProps,\n \"aria-disabled\": ariaAttr(!interactive),\n \"aria-label\": t(\"Pick a color\"),\n hidden: !supportedEyeDropper,\n role: \"button\",\n tabIndex: interactive ? 0 : -1,\n ...props,\n onClick: handlerAll(props.onClick, onEyeDropperClick),\n onKeyDown: handlerAll(props.onKeyDown, (ev) =>\n runKeyAction(ev, {\n Enter: onEyeDropperClick,\n Space: onEyeDropperClick,\n }),\n ),\n }),\n [dataProps, interactive, onEyeDropperClick, supportedEyeDropper, t],\n )\n\n const getContentProps: PropGetter = useCallback(\n ({ ref, ...props } = {}) =>\n getComboboxContentProps({\n ref: mergeRefs(ref, contentRef),\n role: \"dialog\",\n ...props,\n }),\n [getComboboxContentProps],\n )\n\n const getSelectorProps: PropGetter<UseColorSelectorProps> = useCallback(\n (props = {}) => ({\n disabled,\n fallbackValue,\n format,\n readOnly,\n value,\n ...props,\n onChange: handlerAll(props.onChange, setValue),\n }),\n [disabled, fallbackValue, format, readOnly, value, setValue],\n )\n\n return {\n alpha,\n format,\n interactive,\n open,\n setValue,\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n onClose,\n onOpen,\n }\n}\n\nexport type UseColorPickerReturn = ReturnType<typeof useColorPicker>\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"color-swatch-group.cjs","names":["useI18n","ColorSwatch","Grid"],"sources":["../../../../src/components/color-swatch/color-swatch-group.tsx"],"sourcesContent":["import type { Component, CSSProps } from \"../../core\"\nimport type { ColorSwatchProps } from \"./color-swatch\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport { Grid } from \"../grid\"\nimport { ColorSwatch } from \"./color-swatch\"\n\nexport interface ColorSwatchGroupProps extends Omit<ColorSwatchProps, \"color\"> {\n /**\n * The color used for the swatch element.\n *\n * @default '#ffffff00'\n */\n items?: CSSProps[\"color\"][]\n /**\n * The props for the `ColorSwatch` component.\n */\n itemProps?: ColorSwatchProps\n}\n\n/**\n * `ColorSwatchGroup` is a component that displays color samples.\n *\n * @see https://yamada-ui.com/docs/components/color-swatch\n */\nexport const ColorSwatchGroup = (({\n items = [],\n layers,\n withShadow = true,\n itemProps,\n ...rest\n}: ColorSwatchGroupProps) => {\n const { t } = useI18n(\"colorSwatch\")\n\n if (items.length > 4)\n console.warn(\"ColorSwatchGroup: doesn't support more than 4 items\")\n\n const empty = items.length === 0\n const threeColors = items.length === 3\n\n if (empty) {\n return (\n <ColorSwatch\n aria-label={t(\"Color swatch group\")}\n layers={layers}\n overflow=\"hidden\"\n withShadow={withShadow}\n {...rest}\n />\n )\n } else {\n return (\n <ColorSwatch\n aria-label={t(\"Color swatch group\")}\n layers={withShadow ? [{ boxShadow: \"inner\" }] : []}\n {...rest}\n >\n <Grid templateColumns=\"repeat(2, 1fr)\">\n {items.map((color, index) => (\n <ColorSwatch\n key={index}\n boxSize=\"inherit\"\n color={color}\n gridColumn={threeColors && !index ? \"1 / 3\" : undefined}\n rounded=\"0\"\n w={threeColors && !index ? \"unset\" : undefined}\n withShadow={false}\n {...itemProps}\n />\n ))}\n </Grid>\n </ColorSwatch>\n )\n }\n}) as Component<\"div\", ColorSwatchGroupProps>\n"],"mappings":";;;;;;;;;;AAwBA,MAAa,qBAAqB,EAChC,QAAQ,CAAC,GACT,QACA,aAAa,MACb,WACA,GAAG,WACwB;CAC3B,MAAM,EAAE,MAAMA,sBAAAA,QAAQ,aAAa;CAEnC,IAAI,MAAM,SAAS,GACjB,QAAQ,KAAK,qDAAqD;CAEpE,MAAM,QAAQ,MAAM,WAAW;CAC/B,MAAM,cAAc,MAAM,WAAW;CAErC,IAAI,OACF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,qBAAAA,aAAD;EACE,cAAY,EAAE,oBAAoB;EAC1B;EACR,UAAS;EACG;EACZ,GAAI;CACL,CAAA;MAGH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,qBAAAA,aAAD;EACE,cAAY,EAAE,oBAAoB;EAClC,QAAQ,aAAa,CAAC,EAAE,WAAW,QAAQ,CAAC,IAAI,CAAC;EACjD,GAAI;YAEJ,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,MAAD;GAAM,iBAAgB;aACnB,MAAM,KAAK,OAAO,UACjB,iBAAA,GAAA,kBAAA,IAAA,CAACD,qBAAAA,aAAD;IAEE,SAAQ;IACD;IACP,YAAY,eAAe,CAAC,QAAQ,UAAU,KAAA;IAC9C,SAAQ;IACR,GAAG,eAAe,CAAC,QAAQ,UAAU,KAAA;IACrC,YAAY;IACZ,GAAI;GACL,GARM,KAQN,CACF;EACG,CAAA;CACK,CAAA;AAGnB"}
1
+ {"version":3,"file":"color-swatch-group.cjs","names":["useI18n","ColorSwatch","Grid"],"sources":["../../../../src/components/color-swatch/color-swatch-group.tsx"],"sourcesContent":["import type { Component, CSSProps } from \"../../core\"\nimport type { ColorSwatchProps } from \"./color-swatch\"\nimport { useI18n } from \"../../providers/i18n-provider\"\nimport { Grid } from \"../grid\"\nimport { ColorSwatch } from \"./color-swatch\"\n\nexport interface ColorSwatchGroupProps extends Omit<ColorSwatchProps, \"color\"> {\n /**\n * The color used for the swatch element.\n *\n * @default '#ffffff00'\n */\n items?: CSSProps[\"color\"][]\n /**\n * The props for the `ColorSwatch` component.\n */\n itemProps?: ColorSwatchProps\n}\n\n/**\n * `ColorSwatchGroup` is a component that displays color samples.\n *\n * @see https://yamada-ui.com/docs/components/color-swatch\n */\nexport const ColorSwatchGroup = (({\n items = [],\n layers,\n withShadow = true,\n itemProps,\n ...rest\n}: ColorSwatchGroupProps) => {\n const { t } = useI18n(\"colorSwatch\")\n\n if (items.length > 4)\n console.warn(\"ColorSwatchGroup: doesn't support more than 4 items\")\n\n const empty = items.length === 0\n const threeColors = items.length === 3\n\n if (empty)\n return (\n <ColorSwatch\n aria-label={t(\"Color swatch group\")}\n layers={layers}\n overflow=\"hidden\"\n withShadow={withShadow}\n {...rest}\n />\n )\n else\n return (\n <ColorSwatch\n aria-label={t(\"Color swatch group\")}\n layers={withShadow ? [{ boxShadow: \"inner\" }] : []}\n {...rest}\n >\n <Grid templateColumns=\"repeat(2, 1fr)\">\n {items.map((color, index) => (\n <ColorSwatch\n key={index}\n boxSize=\"inherit\"\n color={color}\n gridColumn={threeColors && !index ? \"1 / 3\" : undefined}\n rounded=\"0\"\n w={threeColors && !index ? \"unset\" : undefined}\n withShadow={false}\n {...itemProps}\n />\n ))}\n </Grid>\n </ColorSwatch>\n )\n}) as Component<\"div\", ColorSwatchGroupProps>\n"],"mappings":";;;;;;;;;;AAwBA,MAAa,qBAAqB,EAChC,QAAQ,CAAC,GACT,QACA,aAAa,MACb,WACA,GAAG,WACwB;CAC3B,MAAM,EAAE,MAAMA,sBAAAA,QAAQ,aAAa;CAEnC,IAAI,MAAM,SAAS,GACjB,QAAQ,KAAK,qDAAqD;CAEpE,MAAM,QAAQ,MAAM,WAAW;CAC/B,MAAM,cAAc,MAAM,WAAW;CAErC,IAAI,OACF,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACC,qBAAAA,aAAD;EACE,cAAY,EAAE,oBAAoB;EAC1B;EACR,UAAS;EACG;EACZ,GAAI;CACL,CAAA;MAGH,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,qBAAAA,aAAD;EACE,cAAY,EAAE,oBAAoB;EAClC,QAAQ,aAAa,CAAC,EAAE,WAAW,QAAQ,CAAC,IAAI,CAAC;EACjD,GAAI;YAEJ,iBAAA,GAAA,kBAAA,IAAA,CAACC,aAAAA,MAAD;GAAM,iBAAgB;aACnB,MAAM,KAAK,OAAO,UACjB,iBAAA,GAAA,kBAAA,IAAA,CAACD,qBAAAA,aAAD;IAEE,SAAQ;IACD;IACP,YAAY,eAAe,CAAC,QAAQ,UAAU,KAAA;IAC9C,SAAQ;IACR,GAAG,eAAe,CAAC,QAAQ,UAAU,KAAA;IACrC,YAAY;IACZ,GAAI;GACL,GARM,KAQN,CACF;EACG,CAAA;CACK,CAAA;AAEnB"}