@yamada-ui/react 2.2.1-dev-20260412150024 → 2.2.1-dev-20260412151802
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/color-picker/color-picker.cjs +9 -16
- package/dist/cjs/components/color-picker/color-picker.cjs.map +1 -1
- package/dist/cjs/components/color-selector/color-selector.cjs +7 -25
- package/dist/cjs/components/color-selector/color-selector.cjs.map +1 -1
- package/dist/esm/components/color-picker/color-picker.js +9 -16
- package/dist/esm/components/color-picker/color-picker.js.map +1 -1
- package/dist/esm/components/color-selector/color-selector.js +7 -25
- package/dist/esm/components/color-selector/color-selector.js.map +1 -1
- package/dist/types/components/accordion/accordion.d.ts +2 -2
- package/dist/types/components/accordion/accordion.style.d.ts +1 -1
- package/dist/types/components/accordion/use-accordion.d.ts +11 -11
- package/dist/types/components/action-bar/action-bar.d.ts +2 -2
- package/dist/types/components/airy/airy.d.ts +2 -2
- package/dist/types/components/alert/alert.d.ts +2 -2
- package/dist/types/components/alpha-slider/alpha-slider.d.ts +2 -2
- package/dist/types/components/aspect-ratio/aspect-ratio.d.ts +2 -2
- package/dist/types/components/autocomplete/autocomplete.d.ts +2 -2
- package/dist/types/components/autocomplete/autocomplete.style.d.ts +1 -1
- package/dist/types/components/autocomplete/use-autocomplete.d.ts +5 -5
- package/dist/types/components/avatar/avatar.d.ts +5 -5
- package/dist/types/components/avatar/avatar.style.d.ts +1 -1
- package/dist/types/components/avatar/use-avatar-group.d.ts +2 -2
- package/dist/types/components/badge/badge.d.ts +2 -2
- package/dist/types/components/bleed/bleed.d.ts +2 -2
- package/dist/types/components/blockquote/blockquote.d.ts +2 -2
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +2 -2
- package/dist/types/components/breadcrumb/use-breadcrumb.d.ts +2 -2
- package/dist/types/components/button/button.d.ts +2 -2
- package/dist/types/components/button/icon-button.d.ts +2 -2
- package/dist/types/components/calendar/calendar.d.ts +2 -2
- package/dist/types/components/calendar/calendar.style.d.ts +2 -2
- package/dist/types/components/calendar/use-calendar.d.ts +8 -8
- package/dist/types/components/card/card.d.ts +2 -2
- package/dist/types/components/carousel/carousel.d.ts +2 -2
- package/dist/types/components/carousel/carousel.style.d.ts +2 -2
- package/dist/types/components/carousel/use-carousel.d.ts +3 -3
- package/dist/types/components/center/center.d.ts +2 -2
- package/dist/types/components/chart/chart.d.ts +5 -5
- package/dist/types/components/chart/composed-chart.d.ts +2 -2
- package/dist/types/components/chart/line-chart.d.ts +2 -2
- package/dist/types/components/chart/pie-chart.d.ts +2 -2
- package/dist/types/components/chart/radar-chart.d.ts +2 -2
- package/dist/types/components/chart/radial-chart.d.ts +2 -2
- package/dist/types/components/chart/use-chart.d.ts +2 -2
- package/dist/types/components/checkbox/checkbox.d.ts +4 -4
- package/dist/types/components/checkbox/use-checkbox-group.d.ts +2 -2
- package/dist/types/components/checkbox-card/checkbox-card.d.ts +4 -4
- package/dist/types/components/circle-progress/circle-progress.d.ts +2 -2
- package/dist/types/components/close-button/close-button.d.ts +2 -2
- package/dist/types/components/code/code.d.ts +2 -2
- package/dist/types/components/collapse/collapse.d.ts +2 -2
- package/dist/types/components/color-picker/color-picker.d.ts +2 -2
- package/dist/types/components/color-picker/color-picker.style.d.ts +1 -1
- package/dist/types/components/color-picker/use-color-picker.d.ts +2 -2
- package/dist/types/components/color-selector/color-selector.d.ts +2 -2
- package/dist/types/components/color-selector/color-selector.style.d.ts +2 -2
- package/dist/types/components/color-selector/use-color-selector.d.ts +3 -3
- package/dist/types/components/color-swatch/color-swatch.d.ts +2 -2
- package/dist/types/components/container/container.d.ts +2 -2
- package/dist/types/components/data-list/data-list.d.ts +2 -2
- package/dist/types/components/date-picker/date-picker.d.ts +2 -2
- package/dist/types/components/date-picker/use-date-picker.d.ts +4 -4
- package/dist/types/components/drawer/drawer.d.ts +2 -2
- package/dist/types/components/drawer/drawer.style.d.ts +2 -2
- package/dist/types/components/dropzone/dropzone.d.ts +3 -3
- package/dist/types/components/dropzone/dropzone.style.d.ts +1 -1
- package/dist/types/components/editable/editable.d.ts +4 -4
- package/dist/types/components/editable/use-editable.d.ts +2 -2
- package/dist/types/components/em/em.d.ts +2 -2
- package/dist/types/components/empty-state/empty-state.d.ts +2 -2
- package/dist/types/components/fade/fade.d.ts +2 -2
- package/dist/types/components/field/field.d.ts +3 -3
- package/dist/types/components/field/use-field-props.d.ts +3 -3
- package/dist/types/components/fieldset/fieldset.d.ts +3 -3
- package/dist/types/components/file-button/file-button.d.ts +2 -2
- package/dist/types/components/file-button/use-file-button.d.ts +18 -18
- package/dist/types/components/file-input/file-input.d.ts +2 -2
- package/dist/types/components/file-input/file-input.style.d.ts +1 -1
- package/dist/types/components/file-input/use-file-input.d.ts +15 -15
- package/dist/types/components/flex/flex.d.ts +2 -2
- package/dist/types/components/flip/flip.d.ts +4 -4
- package/dist/types/components/float/float.d.ts +2 -2
- package/dist/types/components/form/form.d.ts +3 -3
- package/dist/types/components/format/format-byte.d.ts +4 -4
- package/dist/types/components/format/format-date-time.d.ts +4 -4
- package/dist/types/components/format/format-number.d.ts +2 -2
- package/dist/types/components/grid/grid-item.d.ts +2 -2
- package/dist/types/components/grid/grid.d.ts +2 -2
- package/dist/types/components/group/group.d.ts +2 -2
- package/dist/types/components/group/use-group.d.ts +2 -2
- package/dist/types/components/heading/heading.d.ts +2 -2
- package/dist/types/components/hue-slider/hue-slider.d.ts +3 -3
- package/dist/types/components/hue-slider/hue-slider.style.d.ts +2 -2
- package/dist/types/components/icon/icon.d.ts +5 -5
- package/dist/types/components/image/image.d.ts +2 -2
- package/dist/types/components/indicator/indicator.d.ts +5 -5
- package/dist/types/components/indicator/indicator.style.d.ts +1 -1
- package/dist/types/components/infinite-scroll-area/infinite-scroll-area.d.ts +2 -2
- package/dist/types/components/input/input-addon.d.ts +2 -2
- package/dist/types/components/input/input-element.d.ts +2 -2
- package/dist/types/components/input/input.d.ts +2 -2
- package/dist/types/components/kbd/kbd.d.ts +2 -2
- package/dist/types/components/link/link.d.ts +2 -2
- package/dist/types/components/link-box/link-box.d.ts +2 -2
- package/dist/types/components/list/list.d.ts +2 -2
- package/dist/types/components/loading/loading-provider.d.ts +2 -2
- package/dist/types/components/loading/loading.d.ts +3 -3
- package/dist/types/components/mark/mark.d.ts +2 -2
- package/dist/types/components/menu/menu.d.ts +2 -2
- package/dist/types/components/menu/use-menu.d.ts +11 -11
- package/dist/types/components/modal/modal.d.ts +2 -2
- package/dist/types/components/modal/modal.style.d.ts +2 -2
- package/dist/types/components/native-accordion/native-accordion.d.ts +2 -2
- package/dist/types/components/native-accordion/native-accordion.style.d.ts +2 -2
- package/dist/types/components/native-accordion/use-native-accordion.d.ts +2 -2
- package/dist/types/components/native-popover/native-popover.d.ts +2 -2
- package/dist/types/components/native-select/native-select.d.ts +2 -2
- package/dist/types/components/native-table/native-table.d.ts +4 -4
- package/dist/types/components/notice/notice.style.d.ts +1 -1
- package/dist/types/components/number-input/number-input.d.ts +2 -2
- package/dist/types/components/pagination/pagination.d.ts +2 -2
- package/dist/types/components/pagination/use-pagination.d.ts +2 -2
- package/dist/types/components/password-input/password-input.d.ts +2 -2
- package/dist/types/components/password-input/strength-meter.d.ts +2 -2
- package/dist/types/components/password-input/use-password-input.d.ts +2 -2
- package/dist/types/components/pin-input/pin-input.d.ts +2 -2
- package/dist/types/components/pin-input/use-pin-input.d.ts +7 -7
- package/dist/types/components/popover/popover.d.ts +2 -2
- package/dist/types/components/progress/progress.d.ts +4 -4
- package/dist/types/components/progress/use-progress.d.ts +706 -706
- package/dist/types/components/qr-code/qr-code.d.ts +2 -2
- package/dist/types/components/qr-code/qr-code.style.d.ts +2 -2
- package/dist/types/components/radio/radio.d.ts +4 -4
- package/dist/types/components/radio/use-radio-group.d.ts +2 -2
- package/dist/types/components/radio-card/radio-card.d.ts +4 -4
- package/dist/types/components/rating/use-rating.d.ts +7 -7
- package/dist/types/components/reorder/reorder.d.ts +2 -2
- package/dist/types/components/reorder/use-reorder.d.ts +3 -3
- package/dist/types/components/resizable/resizable.d.ts +2 -2
- package/dist/types/components/resizable/use-resizable.d.ts +2 -2
- package/dist/types/components/ripple/ripple.d.ts +2 -2
- package/dist/types/components/ripple/use-ripple.d.ts +2 -2
- package/dist/types/components/rotate/rotate.d.ts +2 -2
- package/dist/types/components/saturation-slider/saturation-slider.d.ts +2 -2
- package/dist/types/components/saturation-slider/use-saturation-slider.d.ts +2 -2
- package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
- package/dist/types/components/segmented-control/segmented-control.d.ts +2 -2
- package/dist/types/components/segmented-control/use-segmented-control.d.ts +9 -9
- package/dist/types/components/select/select.d.ts +2 -2
- package/dist/types/components/select/select.style.d.ts +1 -1
- package/dist/types/components/select/use-select.d.ts +4 -4
- package/dist/types/components/separator/separator.d.ts +2 -2
- package/dist/types/components/sidebar/sidebar.d.ts +2 -2
- package/dist/types/components/sidebar/use-sidebar.d.ts +9 -9
- package/dist/types/components/simple-grid/simple-grid.d.ts +2 -2
- package/dist/types/components/skeleton/skeleton.d.ts +2 -2
- package/dist/types/components/slide/slide.d.ts +2 -2
- package/dist/types/components/slide-fade/slide-fade.d.ts +2 -2
- package/dist/types/components/slider/slider.d.ts +2 -2
- package/dist/types/components/slider/use-slider.d.ts +2 -2
- package/dist/types/components/stack/h-stack.d.ts +2 -2
- package/dist/types/components/stack/stack.d.ts +2 -2
- package/dist/types/components/stack/v-stack.d.ts +2 -2
- package/dist/types/components/stack/z-stack.d.ts +2 -2
- package/dist/types/components/stat/stat.d.ts +2 -2
- package/dist/types/components/stat/stat.style.d.ts +2 -2
- package/dist/types/components/status/status.d.ts +2 -2
- package/dist/types/components/steps/steps.d.ts +2 -2
- package/dist/types/components/steps/use-steps.d.ts +10 -10
- package/dist/types/components/switch/switch.d.ts +2 -2
- package/dist/types/components/table/table.d.ts +2 -2
- package/dist/types/components/tabs/tabs.d.ts +2 -2
- package/dist/types/components/tabs/use-tabs.d.ts +16 -16
- package/dist/types/components/tag/tag.d.ts +2 -2
- package/dist/types/components/tag/tag.style.d.ts +1 -1
- package/dist/types/components/text/text.d.ts +2 -2
- package/dist/types/components/textarea/textarea.d.ts +2 -2
- package/dist/types/components/textarea/use-autosize.d.ts +2 -2
- package/dist/types/components/timeline/timeline.d.ts +4 -4
- package/dist/types/components/toggle/toggle.d.ts +5 -5
- package/dist/types/components/toggle/use-toggle-group.d.ts +2 -2
- package/dist/types/components/toggle/use-toggle.d.ts +2 -2
- package/dist/types/components/tooltip/tooltip.d.ts +2 -2
- package/dist/types/components/tree/tree.d.ts +2 -2
- package/dist/types/components/tree/use-tree.d.ts +183 -183
- package/dist/types/components/visually-hidden/visually-hidden.d.ts +2 -2
- package/dist/types/components/wrap/wrap.d.ts +2 -2
- package/dist/types/core/components/create-component.d.ts +7 -7
- package/dist/types/core/system/color-mode-provider.d.ts +2 -2
- package/dist/types/core/system/styled.d.ts +2 -2
- package/dist/types/core/system/system-provider.d.ts +2 -2
- package/dist/types/hooks/use-breakpoint/use-breakpoint-state.d.ts +2 -2
- package/dist/types/hooks/use-clickable/index.d.ts +7 -7
- package/dist/types/hooks/use-clipboard/index.d.ts +2 -2
- package/dist/types/hooks/use-combobox/index.d.ts +12 -12
- package/dist/types/hooks/use-counter/index.d.ts +2 -2
- package/dist/types/hooks/use-descendants/index.d.ts +2 -2
- package/dist/types/hooks/use-field-sizing/index.d.ts +2 -2
- package/dist/types/hooks/use-hover/index.d.ts +2 -2
- package/dist/types/hooks/use-popper/index.d.ts +2 -2
- package/dist/types/hooks/use-resize-observer/index.d.ts +3 -3
- package/dist/types/providers/i18n-provider/i18n-provider.d.ts +2 -2
- package/dist/types/providers/ui-provider/ui-provider.d.ts +2 -2
- package/package.json +1 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
4
4
|
const require_utils_index = require('../../utils/index.cjs');
|
|
5
|
+
const require_props = require('../../core/components/props.cjs');
|
|
5
6
|
const require_create_component = require('../../core/components/create-component.cjs');
|
|
6
7
|
require('../../core/index.cjs');
|
|
7
8
|
const require_pipette_icon = require('../icon/icons/pipette-icon.cjs');
|
|
@@ -66,17 +67,14 @@ const ColorPicker = withProvider((props) => {
|
|
|
66
67
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_popover.PopoverRoot, {
|
|
67
68
|
...mergedPopoverProps,
|
|
68
69
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_input_group.InputGroupRoot, {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
...rootProps
|
|
75
|
-
}),
|
|
70
|
+
...require_props.mergeProps({
|
|
71
|
+
className,
|
|
72
|
+
css,
|
|
73
|
+
colorScheme
|
|
74
|
+
}, getRootProps(groupItemProps), rootProps)(),
|
|
76
75
|
children: [
|
|
77
76
|
withColorSwatch ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input_element.InputElement, {
|
|
78
|
-
...elementProps,
|
|
79
|
-
...startElementProps,
|
|
77
|
+
...require_props.mergeProps(elementProps, startElementProps)(),
|
|
80
78
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ColorPickerColorSwatch, { ...colorSwatchProps })
|
|
81
79
|
}) : null,
|
|
82
80
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_popover.PopoverTrigger, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ColorPickerField, { ...getFieldProps({
|
|
@@ -84,9 +82,7 @@ const ColorPicker = withProvider((props) => {
|
|
|
84
82
|
...fieldProps
|
|
85
83
|
}) }) }),
|
|
86
84
|
withEyeDropper ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input_element.InputElement, {
|
|
87
|
-
clickable: true,
|
|
88
|
-
...elementProps,
|
|
89
|
-
...endElementProps,
|
|
85
|
+
...require_props.mergeProps({ clickable: true }, elementProps, endElementProps)(),
|
|
90
86
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ColorPickerEyeDropper, { ...getEyeDropperProps(eyeDropperProps) })
|
|
91
87
|
}) : null
|
|
92
88
|
]
|
|
@@ -111,10 +107,7 @@ const ColorPicker = withProvider((props) => {
|
|
|
111
107
|
})
|
|
112
108
|
});
|
|
113
109
|
}, "root", { transferProps: ["size"] })((props) => {
|
|
114
|
-
return
|
|
115
|
-
...require_input.useInputPropsContext(),
|
|
116
|
-
...props
|
|
117
|
-
};
|
|
110
|
+
return require_props.mergeProps(require_input.useInputPropsContext(), props)();
|
|
118
111
|
});
|
|
119
112
|
const ColorPickerField = withContext("div", "field")({ "data-group-propagate": "" }, (props) => {
|
|
120
113
|
const { getInputProps, inputProps } = useComponentContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-picker.cjs","names":["createSlotComponent","colorPickerStyle","useGroupItemProps","usePopoverStyleProps","useColorPicker","useInputBorder","useInputPropsContext","ColorSwatch","PipetteIcon"],"sources":["../../../../src/components/color-picker/color-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UsePopoverStyleProps, UsePopupAnimationProps } from \"../popover\"\nimport type { ColorPickerStyle } from \"./color-picker.style\"\nimport type {\n UseColorPickerProps,\n UseColorPickerReturn,\n} from \"./use-color-picker\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent } from \"../../core\"\nimport { cast } from \"../../utils\"\nimport { ColorSelector } from \"../color-selector\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { useGroupItemProps } from \"../group\"\nimport { PipetteIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover, usePopoverStyleProps } from \"../popover\"\nimport { colorPickerStyle } from \"./color-picker.style\"\nimport { useColorPicker } from \"./use-color-picker\"\n\ninterface ComponentContext\n extends\n Pick<ColorPickerProps, \"inputProps\">,\n Pick<\n UseColorPickerReturn,\n \"getEyeDropperProps\" | \"getInputProps\" | \"value\"\n > {}\n\nexport interface ColorPickerProps\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"offset\" | \"onChange\" | \"ref\">,\n Merge<UseColorPickerProps, UsePopoverStyleProps>,\n UsePopupAnimationProps,\n Pick<\n ColorSelector.RootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupColumns\"\n | \"colorSwatchGroupLabel\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n >,\n ThemeProps<ColorPickerStyle>,\n UseInputBorderProps {\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Popover.RootProps[\"placement\"]\n /**\n * If `true`, the color swatch component will be displayed.\n *\n * @default true\n */\n withColorSwatch?: boolean\n /**\n * If `true`, the eye dropper component will be displayed.\n *\n * @default true\n */\n withEyeDropper?: boolean\n /**\n * Props for the color swatch component.\n */\n colorSwatchProps?: ColorPickerColorSwatchProps\n /**\n * Props for content element.\n */\n contentProps?: ColorPickerContentProps\n /**\n * The props for the input element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * The props for the end element.\n */\n endElementProps?: InputGroup.ElementProps\n /**\n * Props for the eye dropper component.\n */\n eyeDropperProps?: ColorPickerEyeDropperProps\n /**\n * The props for the field component.\n */\n fieldProps?: ColorPickerFieldProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n /**\n * Props for the selector component.\n */\n selectorProps?: ColorSelector.RootProps\n /**\n * The props for the start element.\n */\n startElementProps?: InputGroup.ElementProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorPickerPropsContext,\n useComponentContext,\n usePropsContext: useColorPickerPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ColorPickerProps, ColorPickerStyle, ComponentContext>(\n \"color-picker\",\n colorPickerStyle,\n)\n\nexport { ColorPickerPropsContext, useColorPickerPropsContext }\n\n/**\n * `ColorPicker` is a component used by the user to select a color or enter an arbitrary color value.\n *\n * @see https://yamada-ui.com/docs/components/color-picker\n */\nexport const ColorPicker = withProvider<\"input\", ColorPickerProps, \"size\">(\n (props) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n size,\n animationScheme = \"block-start\",\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n duration,\n errorBorderColor,\n focusBorderColor,\n withColorSwatch = true,\n withEyeDropper = true,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n colorSwatchProps,\n contentProps,\n elementProps,\n endElementProps,\n eyeDropperProps,\n fieldProps,\n hueSliderProps,\n inputProps,\n rootProps,\n saturationSliderProps,\n selectorProps,\n startElementProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const popoverStyleProps = usePopoverStyleProps(rest)\n const {\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n } = useColorPicker({ ...rest, ...popoverStyleProps })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const componentContext = useMemo(\n () => ({ value, getEyeDropperProps, getInputProps, inputProps }),\n [getEyeDropperProps, getInputProps, inputProps, value],\n )\n\n return (\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n className={className}\n css={css}\n colorScheme={colorScheme}\n {...getRootProps({ ...groupItemProps, ...rootProps })}\n >\n {withColorSwatch ? (\n <InputGroup.Element {...elementProps} {...startElementProps}>\n <ColorPickerColorSwatch {...colorSwatchProps} />\n </InputGroup.Element>\n ) : null}\n\n <Popover.Trigger>\n <ColorPickerField\n {...getFieldProps({ ...varProps, ...fieldProps })}\n />\n </Popover.Trigger>\n\n {withEyeDropper ? (\n <InputGroup.Element\n clickable\n {...elementProps}\n {...endElementProps}\n >\n <ColorPickerEyeDropper\n {...getEyeDropperProps(eyeDropperProps)}\n />\n </InputGroup.Element>\n ) : null}\n </InputGroup.Root>\n\n <ColorPickerContent\n {...cast<ColorPickerContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n <ColorSelector.Root\n size={size}\n {...getSelectorProps({\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...selectorProps,\n })}\n />\n </ColorPickerContent>\n </Popover.Root>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\"] },\n)((props) => {\n const context = useInputPropsContext()\n\n return { ...context, ...props }\n})\n\ninterface ColorPickerFieldProps extends HTMLStyledProps {}\n\nconst ColorPickerField = withContext<\"div\", ColorPickerFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, (props) => {\n const { getInputProps, inputProps } = useComponentContext()\n\n return {\n children: <ColorPickerInput {...getInputProps(inputProps)} />,\n ...props,\n }\n})\n\ninterface ColorPickerInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst ColorPickerInput = withContext<\"input\", ColorPickerInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface ColorPickerColorSwatchProps extends ColorSwatchProps {}\n\nconst ColorPickerColorSwatch = withContext<\"div\", ColorPickerColorSwatchProps>(\n ColorSwatch,\n \"colorSwatch\",\n)(undefined, (props) => {\n const { value } = useComponentContext()\n\n return { variant: \"circle\", color: value, ...props }\n})\n\ninterface ColorPickerEyeDropperProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst ColorPickerEyeDropper = withContext<\"div\", ColorPickerEyeDropperProps>(\n \"div\",\n \"eyeDropper\",\n)(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\ninterface ColorPickerContentProps extends Popover.ContentProps {}\n\nconst ColorPickerContent = withContext<\"div\", ColorPickerContentProps>(\n Popover.Content,\n \"content\",\n)()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAgHA,MAAM,EACJ,kBACA,cAAc,yBACd,qBACA,iBAAiB,4BACjB,aACA,iBACEA,6CACF,gBACAC,4CACD;;;;;;AASD,MAAa,cAAc,cACxB,UAAU;CACT,MAAM,CACJ,gBACA,EACE,WACA,KACA,aACA,MACA,kBAAkB,eAClB,eACA,yBACA,uBACA,UACA,kBACA,kBACA,kBAAkB,MAClB,iBAAiB,MACjB,kBACA,4BACA,uBACA,sBACA,kBACA,cACA,cACA,iBACA,iBACA,YACA,gBACA,YACA,WACA,uBACA,eACA,mBACA,GAAG,UAEHC,oCAAkB,MAAM;CAC5B,MAAM,oBAAoBC,qCAAqB,KAAK;CACpD,MAAM,EACJ,OACA,iBACA,oBACA,eACA,eACA,cACA,kBACA,iBACEC,wCAAe;EAAE,GAAG;EAAM,GAAG;EAAmB,CAAC;CACrD,MAAM,+CACG;EACL;EACA;EACA,GAAG;EACJ,GACD;EAAC;EAAiB;EAAU;EAAa,CAC1C;CACD,MAAM,WAAWC,wCAAe;EAAE;EAAkB;EAAkB,CAAC;AAMvE,QACE,2CAAC;EAAiB,iCALX;GAAE;GAAO;GAAoB;GAAe;GAAY,GAC/D;GAAC;GAAoB;GAAe;GAAY;GAAM,CACvD;YAIG;GAAc,GAAI;cAChB;IACa;IACN;IACQ;IACb,GAAI,aAAa;KAAE,GAAG;KAAgB,GAAG;KAAW,CAAC;;KAEpD,kBACC;MAAoB,GAAI;MAAc,GAAI;gBACxC,2CAAC,0BAAuB,GAAI,mBAAoB;OAC7B,GACnB;KAEJ,uFACE,2CAAC,oBACC,GAAI,cAAc;MAAE,GAAG;MAAU,GAAG;MAAY,CAAC,GACjD,GACc;KAEjB,iBACC;MACE;MACA,GAAI;MACJ,GAAI;gBAEJ,2CAAC,yBACC,GAAI,mBAAmB,gBAAgB,GACvC;OACiB,GACnB;;KACY,EAElB,2CAAC;IACC,+CACE,4DAAgC,aAAa,CAAC,CAC/C;cAED;KACQ;KACN,GAAI,iBAAiB;MACnB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,GAAG;MACJ,CAAC;MACF;KACiB;IACR;GACE;GAGvB,QACA,EAAE,eAAe,CAAC,OAAO,EAAE,CAC5B,EAAE,UAAU;AAGX,QAAO;EAAE,GAFOC,oCAAsB;EAEjB,GAAG;EAAO;EAC/B;AAIF,MAAM,mBAAmB,YACvB,OACA,QACD,CAAC,EAAE,wBAAwB,IAAI,GAAG,UAAU;CAC3C,MAAM,EAAE,eAAe,eAAe,qBAAqB;AAE3D,QAAO;EACL,UAAU,2CAAC,oBAAiB,GAAI,cAAc,WAAW,GAAI;EAC7D,GAAG;EACJ;EACD;AAIF,MAAM,mBAAmB,YACvB,SACA,QACD,EAAE;AAIH,MAAM,yBAAyB,YAC7BC,kCACA,cACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,UAAU,qBAAqB;AAEvC,QAAO;EAAE,SAAS;EAAU,OAAO;EAAO,GAAG;EAAO;EACpD;AAMF,MAAM,wBAAwB,YAC5B,OACA,aACD,CAAC,SAAY,EAAE,UAAU,MAAM,GAAG,WAAW;CAC5C,MAAM,EAAE,uBAAuB,qBAAqB;AAEpD,QAAO,mBAAmB;EACxB,UAAU,QAAQ,YAAY,2CAACC,qCAAc;EAC7C,GAAG;EACJ,CAAC;EACF;AAIF,MAAM,qBAAqB,4CAEzB,UACD,EAAE"}
|
|
1
|
+
{"version":3,"file":"color-picker.cjs","names":["createSlotComponent","colorPickerStyle","useGroupItemProps","usePopoverStyleProps","useColorPicker","useInputBorder","mergeProps","useInputPropsContext","ColorSwatch","PipetteIcon"],"sources":["../../../../src/components/color-picker/color-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UsePopoverStyleProps, UsePopupAnimationProps } from \"../popover\"\nimport type { ColorPickerStyle } from \"./color-picker.style\"\nimport type {\n UseColorPickerProps,\n UseColorPickerReturn,\n} from \"./use-color-picker\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, mergeProps } from \"../../core\"\nimport { cast } from \"../../utils\"\nimport { ColorSelector } from \"../color-selector\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { useGroupItemProps } from \"../group\"\nimport { PipetteIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover, usePopoverStyleProps } from \"../popover\"\nimport { colorPickerStyle } from \"./color-picker.style\"\nimport { useColorPicker } from \"./use-color-picker\"\n\ninterface ComponentContext\n extends\n Pick<ColorPickerProps, \"inputProps\">,\n Pick<\n UseColorPickerReturn,\n \"getEyeDropperProps\" | \"getInputProps\" | \"value\"\n > {}\n\nexport interface ColorPickerProps\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"offset\" | \"onChange\" | \"ref\">,\n Merge<UseColorPickerProps, UsePopoverStyleProps>,\n UsePopupAnimationProps,\n Pick<\n ColorSelector.RootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupColumns\"\n | \"colorSwatchGroupLabel\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n >,\n ThemeProps<ColorPickerStyle>,\n UseInputBorderProps {\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Popover.RootProps[\"placement\"]\n /**\n * If `true`, the color swatch component will be displayed.\n *\n * @default true\n */\n withColorSwatch?: boolean\n /**\n * If `true`, the eye dropper component will be displayed.\n *\n * @default true\n */\n withEyeDropper?: boolean\n /**\n * Props for the color swatch component.\n */\n colorSwatchProps?: ColorPickerColorSwatchProps\n /**\n * Props for content element.\n */\n contentProps?: ColorPickerContentProps\n /**\n * The props for the input element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * The props for the end element.\n */\n endElementProps?: InputGroup.ElementProps\n /**\n * Props for the eye dropper component.\n */\n eyeDropperProps?: ColorPickerEyeDropperProps\n /**\n * The props for the field component.\n */\n fieldProps?: ColorPickerFieldProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n /**\n * Props for the selector component.\n */\n selectorProps?: ColorSelector.RootProps\n /**\n * The props for the start element.\n */\n startElementProps?: InputGroup.ElementProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorPickerPropsContext,\n useComponentContext,\n usePropsContext: useColorPickerPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ColorPickerProps, ColorPickerStyle, ComponentContext>(\n \"color-picker\",\n colorPickerStyle,\n)\n\nexport { ColorPickerPropsContext, useColorPickerPropsContext }\n\n/**\n * `ColorPicker` is a component used by the user to select a color or enter an arbitrary color value.\n *\n * @see https://yamada-ui.com/docs/components/color-picker\n */\nexport const ColorPicker = withProvider<\"input\", ColorPickerProps, \"size\">(\n (props) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n size,\n animationScheme = \"block-start\",\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n duration,\n errorBorderColor,\n focusBorderColor,\n withColorSwatch = true,\n withEyeDropper = true,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n colorSwatchProps,\n contentProps,\n elementProps,\n endElementProps,\n eyeDropperProps,\n fieldProps,\n hueSliderProps,\n inputProps,\n rootProps,\n saturationSliderProps,\n selectorProps,\n startElementProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const popoverStyleProps = usePopoverStyleProps(rest)\n const {\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n } = useColorPicker({ ...rest, ...popoverStyleProps })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const componentContext = useMemo(\n () => ({ value, getEyeDropperProps, getInputProps, inputProps }),\n [getEyeDropperProps, getInputProps, inputProps, value],\n )\n\n return (\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n {...mergeProps(\n { className, css, colorScheme },\n getRootProps(groupItemProps),\n rootProps,\n )()}\n >\n {withColorSwatch ? (\n <InputGroup.Element\n {...mergeProps(elementProps, startElementProps)()}\n >\n <ColorPickerColorSwatch {...colorSwatchProps} />\n </InputGroup.Element>\n ) : null}\n\n <Popover.Trigger>\n <ColorPickerField\n {...getFieldProps({ ...varProps, ...fieldProps })}\n />\n </Popover.Trigger>\n\n {withEyeDropper ? (\n <InputGroup.Element\n {...mergeProps(\n { clickable: true },\n elementProps,\n endElementProps,\n )()}\n >\n <ColorPickerEyeDropper\n {...getEyeDropperProps(eyeDropperProps)}\n />\n </InputGroup.Element>\n ) : null}\n </InputGroup.Root>\n\n <ColorPickerContent\n {...cast<ColorPickerContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n <ColorSelector.Root\n size={size}\n {...getSelectorProps({\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...selectorProps,\n })}\n />\n </ColorPickerContent>\n </Popover.Root>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\"] },\n)((props) => {\n const context = useInputPropsContext()\n\n return mergeProps(context, props)()\n})\n\ninterface ColorPickerFieldProps extends HTMLStyledProps {}\n\nconst ColorPickerField = withContext<\"div\", ColorPickerFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, (props) => {\n const { getInputProps, inputProps } = useComponentContext()\n\n return {\n children: <ColorPickerInput {...getInputProps(inputProps)} />,\n ...props,\n }\n})\n\ninterface ColorPickerInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst ColorPickerInput = withContext<\"input\", ColorPickerInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface ColorPickerColorSwatchProps extends ColorSwatchProps {}\n\nconst ColorPickerColorSwatch = withContext<\"div\", ColorPickerColorSwatchProps>(\n ColorSwatch,\n \"colorSwatch\",\n)(undefined, (props) => {\n const { value } = useComponentContext()\n\n return { variant: \"circle\", color: value, ...props }\n})\n\ninterface ColorPickerEyeDropperProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst ColorPickerEyeDropper = withContext<\"div\", ColorPickerEyeDropperProps>(\n \"div\",\n \"eyeDropper\",\n)(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\ninterface ColorPickerContentProps extends Popover.ContentProps {}\n\nconst ColorPickerContent = withContext<\"div\", ColorPickerContentProps>(\n Popover.Content,\n \"content\",\n)()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgHA,MAAM,EACJ,kBACA,cAAc,yBACd,qBACA,iBAAiB,4BACjB,aACA,iBACEA,6CACF,gBACAC,4CACD;;;;;;AASD,MAAa,cAAc,cACxB,UAAU;CACT,MAAM,CACJ,gBACA,EACE,WACA,KACA,aACA,MACA,kBAAkB,eAClB,eACA,yBACA,uBACA,UACA,kBACA,kBACA,kBAAkB,MAClB,iBAAiB,MACjB,kBACA,4BACA,uBACA,sBACA,kBACA,cACA,cACA,iBACA,iBACA,YACA,gBACA,YACA,WACA,uBACA,eACA,mBACA,GAAG,UAEHC,oCAAkB,MAAM;CAC5B,MAAM,oBAAoBC,qCAAqB,KAAK;CACpD,MAAM,EACJ,OACA,iBACA,oBACA,eACA,eACA,cACA,kBACA,iBACEC,wCAAe;EAAE,GAAG;EAAM,GAAG;EAAmB,CAAC;CACrD,MAAM,+CACG;EACL;EACA;EACA,GAAG;EACJ,GACD;EAAC;EAAiB;EAAU;EAAa,CAC1C;CACD,MAAM,WAAWC,wCAAe;EAAE;EAAkB;EAAkB,CAAC;AAMvE,QACE,2CAAC;EAAiB,iCALX;GAAE;GAAO;GAAoB;GAAe;GAAY,GAC/D;GAAC;GAAoB;GAAe;GAAY;GAAM,CACvD;YAIG;GAAc,GAAI;cAChB;IACE,GAAIC,yBACF;KAAE;KAAW;KAAK;KAAa,EAC/B,aAAa,eAAe,EAC5B,UACD,EAAE;;KAEF,kBACC;MACE,GAAIA,yBAAW,cAAc,kBAAkB,EAAE;gBAEjD,2CAAC,0BAAuB,GAAI,mBAAoB;OAC7B,GACnB;KAEJ,uFACE,2CAAC,oBACC,GAAI,cAAc;MAAE,GAAG;MAAU,GAAG;MAAY,CAAC,GACjD,GACc;KAEjB,iBACC;MACE,GAAIA,yBACF,EAAE,WAAW,MAAM,EACnB,cACA,gBACD,EAAE;gBAEH,2CAAC,yBACC,GAAI,mBAAmB,gBAAgB,GACvC;OACiB,GACnB;;KACY,EAElB,2CAAC;IACC,+CACE,4DAAgC,aAAa,CAAC,CAC/C;cAED;KACQ;KACN,GAAI,iBAAiB;MACnB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,GAAG;MACJ,CAAC;MACF;KACiB;IACR;GACE;GAGvB,QACA,EAAE,eAAe,CAAC,OAAO,EAAE,CAC5B,EAAE,UAAU;AAGX,QAAOA,yBAFSC,oCAAsB,EAEX,MAAM,EAAE;EACnC;AAIF,MAAM,mBAAmB,YACvB,OACA,QACD,CAAC,EAAE,wBAAwB,IAAI,GAAG,UAAU;CAC3C,MAAM,EAAE,eAAe,eAAe,qBAAqB;AAE3D,QAAO;EACL,UAAU,2CAAC,oBAAiB,GAAI,cAAc,WAAW,GAAI;EAC7D,GAAG;EACJ;EACD;AAIF,MAAM,mBAAmB,YACvB,SACA,QACD,EAAE;AAIH,MAAM,yBAAyB,YAC7BC,kCACA,cACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,UAAU,qBAAqB;AAEvC,QAAO;EAAE,SAAS;EAAU,OAAO;EAAO,GAAG;EAAO;EACpD;AAMF,MAAM,wBAAwB,YAC5B,OACA,aACD,CAAC,SAAY,EAAE,UAAU,MAAM,GAAG,WAAW;CAC5C,MAAM,EAAE,uBAAuB,qBAAqB;AAEpD,QAAO,mBAAmB;EACxB,UAAU,QAAQ,YAAY,2CAACC,qCAAc;EAC7C,GAAG;EACJ,CAAC;EACF;AAIF,MAAM,qBAAqB,4CAEzB,UACD,EAAE"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
4
4
|
const require_var = require('../../core/system/var.cjs');
|
|
5
5
|
const require_factory = require('../../core/system/factory.cjs');
|
|
6
|
+
const require_props = require('../../core/components/props.cjs');
|
|
6
7
|
const require_create_component = require('../../core/components/create-component.cjs');
|
|
7
8
|
require('../../core/index.cjs');
|
|
8
9
|
const require_pipette_icon = require('../icon/icons/pipette-icon.cjs');
|
|
@@ -98,10 +99,7 @@ const ColorSelectorSaturationSlider = withContext((props) => {
|
|
|
98
99
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_saturation_slider.SaturationSliderRoot, {
|
|
99
100
|
size,
|
|
100
101
|
shape,
|
|
101
|
-
...getSaturationSliderProps(
|
|
102
|
-
...saturationSliderProps,
|
|
103
|
-
...props
|
|
104
|
-
})
|
|
102
|
+
...getSaturationSliderProps(require_props.mergeProps(saturationSliderProps, props)())
|
|
105
103
|
});
|
|
106
104
|
}, "saturationSlider")();
|
|
107
105
|
const ColorSelectorHueSlider = withContext((props) => {
|
|
@@ -109,10 +107,7 @@ const ColorSelectorHueSlider = withContext((props) => {
|
|
|
109
107
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_hue_slider.HueSliderRoot, {
|
|
110
108
|
size,
|
|
111
109
|
shape,
|
|
112
|
-
...getHueSliderProps(
|
|
113
|
-
...hueSliderProps,
|
|
114
|
-
...props
|
|
115
|
-
})
|
|
110
|
+
...getHueSliderProps(require_props.mergeProps(hueSliderProps, props)())
|
|
116
111
|
});
|
|
117
112
|
}, "hueSlider")();
|
|
118
113
|
const ColorSelectorAlphaSlider = withContext((props) => {
|
|
@@ -121,10 +116,7 @@ const ColorSelectorAlphaSlider = withContext((props) => {
|
|
|
121
116
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_alpha_slider.AlphaSliderRoot, {
|
|
122
117
|
size,
|
|
123
118
|
shape,
|
|
124
|
-
...getAlphaSliderProps(
|
|
125
|
-
...alphaSliderProps,
|
|
126
|
-
...props
|
|
127
|
-
})
|
|
119
|
+
...getAlphaSliderProps(require_props.mergeProps(alphaSliderProps, props)())
|
|
128
120
|
});
|
|
129
121
|
}, "alphaSlider")();
|
|
130
122
|
const ColorSelectorEyeDropper = withContext("div", "eyeDropper")(void 0, ({ children, icon, ...rest }) => {
|
|
@@ -136,25 +128,15 @@ const ColorSelectorEyeDropper = withContext("div", "eyeDropper")(void 0, ({ chil
|
|
|
136
128
|
});
|
|
137
129
|
const ColorSelectorColorSwatchGroupLabel = withContext("span", "colorSwatchGroupLabel")(void 0, (props) => {
|
|
138
130
|
const { colorSwatchGroupLabelProps, getColorSwatchGroupLabelProps } = useComponentContext();
|
|
139
|
-
return getColorSwatchGroupLabelProps(
|
|
140
|
-
...colorSwatchGroupLabelProps,
|
|
141
|
-
...props
|
|
142
|
-
});
|
|
131
|
+
return getColorSwatchGroupLabelProps(require_props.mergeProps(colorSwatchGroupLabelProps, props)());
|
|
143
132
|
});
|
|
144
133
|
const ColorSelectorColorSwatchGroup = withContext("div", "colorSwatchGroup")(void 0, ({ children, ...rest }) => {
|
|
145
134
|
const { colorSwatches, colorSwatchGroupProps, getColorSwatchGroupProps } = useComponentContext();
|
|
146
|
-
return getColorSwatchGroupProps({
|
|
147
|
-
children: children ?? colorSwatchGroupProps?.children ?? colorSwatches?.map((value, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ColorSelectorColorSwatchItem, { value }, index)),
|
|
148
|
-
...colorSwatchGroupProps,
|
|
149
|
-
...rest
|
|
150
|
-
});
|
|
135
|
+
return getColorSwatchGroupProps(require_props.mergeProps(colorSwatchGroupProps, rest, { children: children ?? colorSwatchGroupProps?.children ?? colorSwatches?.map((value, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ColorSelectorColorSwatchItem, { value }, index)) })());
|
|
151
136
|
});
|
|
152
137
|
const ColorSelectorColorSwatchItem = withContext(require_color_swatch.ColorSwatch, "colorSwatchItem")(void 0, (props) => {
|
|
153
138
|
const { colorSwatchItemProps, getColorSwatchItemProps } = useComponentContext();
|
|
154
|
-
return getColorSwatchItemProps(
|
|
155
|
-
...colorSwatchItemProps,
|
|
156
|
-
...props
|
|
157
|
-
});
|
|
139
|
+
return getColorSwatchItemProps(require_props.mergeProps(colorSwatchItemProps, props)());
|
|
158
140
|
});
|
|
159
141
|
|
|
160
142
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-selector.cjs","names":["createSlotComponent","colorSelectorStyle","useColorSelector","styled","varAttr","PipetteIcon","ColorSwatch"],"sources":["../../../../src/components/color-selector/color-selector.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLStyledProps, StyleValue, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { ColorSelectorStyle } from \"./color-selector.style\"\nimport type {\n UseColorSelectorProps,\n UseColorSelectorReturn,\n} from \"./use-color-selector\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled, varAttr } from \"../../core\"\nimport { AlphaSlider } from \"../alpha-slider\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { HueSlider } from \"../hue-slider\"\nimport { PipetteIcon } from \"../icon\"\nimport { SaturationSlider } from \"../saturation-slider\"\nimport { colorSelectorStyle } from \"./color-selector.style\"\nimport { useColorSelector } from \"./use-color-selector\"\n\ninterface ComponentContext\n extends\n Pick<\n ColorSelectorRootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n | \"shape\"\n | \"size\"\n >,\n Pick<\n UseColorSelectorReturn,\n | \"alpha\"\n | \"getAlphaSliderProps\"\n | \"getColorSwatchGroupLabelProps\"\n | \"getColorSwatchGroupProps\"\n | \"getColorSwatchItemProps\"\n | \"getEyeDropperProps\"\n | \"getHueSliderProps\"\n | \"getSaturationSliderProps\"\n > {}\n\nexport interface ColorSelectorRootProps\n extends\n Merge<HTMLStyledProps, UseColorSelectorProps>,\n ThemeProps<ColorSelectorStyle> {\n /**\n * An array of colors in one of the supported formats.\n * Used to render swatches list below the color selector.\n */\n colorSwatches?: string[]\n /**\n * The number of columns in the color swatch group.\n *\n * @default 8\n */\n colorSwatchGroupColumns?: StyleValue<number>\n /**\n * The label of the color swatch group.\n */\n colorSwatchGroupLabel?: ReactNode\n /**\n * If `true`, the alpha slider will be displayed.\n *\n * @default false\n */\n withAlpha?: boolean\n /**\n * Props for the alpha slider.\n */\n alphaSliderProps?: ColorSelectorAlphaSliderProps\n /**\n * Props for the color swatch group label.\n */\n colorSwatchGroupLabelProps?: ColorSelectorColorSwatchGroupLabelProps\n /**\n * Props for the color swatch group.\n */\n colorSwatchGroupProps?: ColorSelectorColorSwatchGroupProps\n /**\n * Props for the color swatch item.\n */\n colorSwatchItemProps?: Omit<ColorSelectorColorSwatchItemProps, \"value\">\n /**\n * Props for the hue slider.\n */\n hueSliderProps?: ColorSelectorHueSliderProps\n /**\n * Props for the saturation slider.\n */\n saturationSliderProps?: ColorSelectorSaturationSliderProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorSelectorPropsContext,\n useComponentContext,\n usePropsContext: useColorSelectorPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<\n ColorSelectorRootProps,\n ColorSelectorStyle,\n ComponentContext\n>(\"color-selector\", colorSelectorStyle)\n\nexport { ColorSelectorPropsContext, useColorSelectorPropsContext }\n\n/**\n * `ColorSelector` is a component used by the user to select a color.\n *\n * @see https://yamada-ui.com/docs/components/color-selector\n */\nexport const ColorSelectorRoot = withProvider<\n \"div\",\n ColorSelectorRootProps,\n \"shape\" | \"size\"\n>(\n ({\n size,\n children,\n colorSwatches,\n colorSwatchGroupLabel,\n shape,\n withAlpha,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...rest\n }) => {\n const {\n alpha,\n getAlphaSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n getEyeDropperProps,\n getHueSliderProps,\n getRootProps,\n getSaturationSliderProps,\n } = useColorSelector(rest)\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n <ColorSelectorSaturationSlider />\n <ColorSelectorHueSlider />\n <ColorSelectorAlphaSlider />\n\n {colorSwatchGroupLabel ? (\n <ColorSelectorColorSwatchGroupLabel>\n {colorSwatchGroupLabel}\n </ColorSelectorColorSwatchGroupLabel>\n ) : null}\n {colorSwatches ? <ColorSelectorColorSwatchGroup /> : null}\n </>\n )\n }, [children, colorSwatchGroupLabel, colorSwatches])\n const context = useMemo(\n () => ({\n size,\n alpha: withAlpha ?? alpha,\n colorSwatches,\n colorSwatchGroupLabel,\n shape,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n getAlphaSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n getEyeDropperProps,\n getHueSliderProps,\n getSaturationSliderProps,\n hueSliderProps,\n saturationSliderProps,\n }),\n [\n size,\n withAlpha,\n alpha,\n shape,\n colorSwatches,\n colorSwatchGroupLabel,\n alphaSliderProps,\n getAlphaSliderProps,\n getEyeDropperProps,\n getHueSliderProps,\n getSaturationSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n ],\n )\n\n return (\n <ComponentContext value={context}>\n <styled.div {...getRootProps()}>{computedChildren}</styled.div>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\", \"shape\"] },\n)(undefined, ({ colorSwatchGroupColumns = 8, ...rest }) => ({\n \"--color-swatch-group-columns\": varAttr(colorSwatchGroupColumns),\n ...rest,\n}))\n\nexport interface ColorSelectorSaturationSliderProps\n extends SaturationSlider.RootProps {}\n\nexport const ColorSelectorSaturationSlider = withContext<\n \"input\",\n ColorSelectorSaturationSliderProps\n>((props) => {\n const { size, shape, getSaturationSliderProps, saturationSliderProps } =\n useComponentContext()\n\n return (\n <SaturationSlider.Root\n size={size}\n shape={shape}\n {...getSaturationSliderProps({ ...saturationSliderProps, ...props })}\n />\n )\n}, \"saturationSlider\")()\n\nexport interface ColorSelectorHueSliderProps extends HueSlider.RootProps {}\n\nexport const ColorSelectorHueSlider = withContext<\n \"input\",\n ColorSelectorHueSliderProps\n>((props) => {\n const { size, shape, getHueSliderProps, hueSliderProps } =\n useComponentContext()\n\n return (\n <HueSlider.Root\n size={size}\n shape={shape}\n {...getHueSliderProps({ ...hueSliderProps, ...props })}\n />\n )\n}, \"hueSlider\")()\n\nexport interface ColorSelectorAlphaSliderProps extends Partial<AlphaSlider.RootProps> {}\n\nexport const ColorSelectorAlphaSlider = withContext<\n \"input\",\n ColorSelectorAlphaSliderProps\n>((props) => {\n const { size, alpha, shape, alphaSliderProps, getAlphaSliderProps } =\n useComponentContext()\n\n if (!alpha) return null\n\n return (\n <AlphaSlider.Root\n size={size}\n shape={shape}\n {...getAlphaSliderProps({ ...alphaSliderProps, ...props })}\n />\n )\n}, \"alphaSlider\")()\n\nexport interface ColorSelectorEyeDropperProps extends HTMLStyledProps {\n /**\n * The icon to display in the eye dropper.\n */\n icon?: ReactNode\n}\n\nexport const ColorSelectorEyeDropper = withContext<\n \"div\",\n ColorSelectorEyeDropperProps\n>(\"div\", \"eyeDropper\")(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\nexport interface ColorSelectorColorSwatchGroupLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const ColorSelectorColorSwatchGroupLabel = withContext<\n \"span\",\n ColorSelectorColorSwatchGroupLabelProps\n>(\"span\", \"colorSwatchGroupLabel\")(undefined, (props) => {\n const { colorSwatchGroupLabelProps, getColorSwatchGroupLabelProps } =\n useComponentContext()\n\n return getColorSwatchGroupLabelProps({\n ...colorSwatchGroupLabelProps,\n ...props,\n })\n})\n\nexport interface ColorSelectorColorSwatchGroupProps extends HTMLStyledProps {}\n\nexport const ColorSelectorColorSwatchGroup = withContext<\n \"div\",\n ColorSelectorColorSwatchGroupProps\n>(\"div\", \"colorSwatchGroup\")(undefined, ({ children, ...rest }) => {\n const { colorSwatches, colorSwatchGroupProps, getColorSwatchGroupProps } =\n useComponentContext()\n\n return getColorSwatchGroupProps({\n children:\n children ??\n colorSwatchGroupProps?.children ??\n colorSwatches?.map((value, index) => (\n <ColorSelectorColorSwatchItem key={index} value={value} />\n )),\n ...colorSwatchGroupProps,\n ...rest,\n })\n})\n\nexport interface ColorSelectorColorSwatchItemProps extends Omit<\n ColorSwatchProps,\n \"color\"\n> {\n /**\n * The value of the color swatch.\n */\n value: string\n}\n\nexport const ColorSelectorColorSwatchItem = withContext<\n \"div\",\n ColorSelectorColorSwatchItemProps\n>(ColorSwatch, \"colorSwatchItem\")(undefined, (props) => {\n const { colorSwatchItemProps, getColorSwatchItemProps } =\n useComponentContext()\n\n return getColorSwatchItemProps({ ...colorSwatchItemProps, ...props })\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"color-selector.cjs","names":["createSlotComponent","colorSelectorStyle","useColorSelector","styled","varAttr","mergeProps","PipetteIcon","ColorSwatch"],"sources":["../../../../src/components/color-selector/color-selector.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLStyledProps, StyleValue, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { ColorSelectorStyle } from \"./color-selector.style\"\nimport type {\n UseColorSelectorProps,\n UseColorSelectorReturn,\n} from \"./use-color-selector\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, mergeProps, styled, varAttr } from \"../../core\"\nimport { AlphaSlider } from \"../alpha-slider\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { HueSlider } from \"../hue-slider\"\nimport { PipetteIcon } from \"../icon\"\nimport { SaturationSlider } from \"../saturation-slider\"\nimport { colorSelectorStyle } from \"./color-selector.style\"\nimport { useColorSelector } from \"./use-color-selector\"\n\ninterface ComponentContext\n extends\n Pick<\n ColorSelectorRootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n | \"shape\"\n | \"size\"\n >,\n Pick<\n UseColorSelectorReturn,\n | \"alpha\"\n | \"getAlphaSliderProps\"\n | \"getColorSwatchGroupLabelProps\"\n | \"getColorSwatchGroupProps\"\n | \"getColorSwatchItemProps\"\n | \"getEyeDropperProps\"\n | \"getHueSliderProps\"\n | \"getSaturationSliderProps\"\n > {}\n\nexport interface ColorSelectorRootProps\n extends\n Merge<HTMLStyledProps, UseColorSelectorProps>,\n ThemeProps<ColorSelectorStyle> {\n /**\n * An array of colors in one of the supported formats.\n * Used to render swatches list below the color selector.\n */\n colorSwatches?: string[]\n /**\n * The number of columns in the color swatch group.\n *\n * @default 8\n */\n colorSwatchGroupColumns?: StyleValue<number>\n /**\n * The label of the color swatch group.\n */\n colorSwatchGroupLabel?: ReactNode\n /**\n * If `true`, the alpha slider will be displayed.\n *\n * @default false\n */\n withAlpha?: boolean\n /**\n * Props for the alpha slider.\n */\n alphaSliderProps?: ColorSelectorAlphaSliderProps\n /**\n * Props for the color swatch group label.\n */\n colorSwatchGroupLabelProps?: ColorSelectorColorSwatchGroupLabelProps\n /**\n * Props for the color swatch group.\n */\n colorSwatchGroupProps?: ColorSelectorColorSwatchGroupProps\n /**\n * Props for the color swatch item.\n */\n colorSwatchItemProps?: Omit<ColorSelectorColorSwatchItemProps, \"value\">\n /**\n * Props for the hue slider.\n */\n hueSliderProps?: ColorSelectorHueSliderProps\n /**\n * Props for the saturation slider.\n */\n saturationSliderProps?: ColorSelectorSaturationSliderProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorSelectorPropsContext,\n useComponentContext,\n usePropsContext: useColorSelectorPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<\n ColorSelectorRootProps,\n ColorSelectorStyle,\n ComponentContext\n>(\"color-selector\", colorSelectorStyle)\n\nexport { ColorSelectorPropsContext, useColorSelectorPropsContext }\n\n/**\n * `ColorSelector` is a component used by the user to select a color.\n *\n * @see https://yamada-ui.com/docs/components/color-selector\n */\nexport const ColorSelectorRoot = withProvider<\n \"div\",\n ColorSelectorRootProps,\n \"shape\" | \"size\"\n>(\n ({\n size,\n children,\n colorSwatches,\n colorSwatchGroupLabel,\n shape,\n withAlpha,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...rest\n }) => {\n const {\n alpha,\n getAlphaSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n getEyeDropperProps,\n getHueSliderProps,\n getRootProps,\n getSaturationSliderProps,\n } = useColorSelector(rest)\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n <ColorSelectorSaturationSlider />\n <ColorSelectorHueSlider />\n <ColorSelectorAlphaSlider />\n\n {colorSwatchGroupLabel ? (\n <ColorSelectorColorSwatchGroupLabel>\n {colorSwatchGroupLabel}\n </ColorSelectorColorSwatchGroupLabel>\n ) : null}\n {colorSwatches ? <ColorSelectorColorSwatchGroup /> : null}\n </>\n )\n }, [children, colorSwatchGroupLabel, colorSwatches])\n const context = useMemo(\n () => ({\n size,\n alpha: withAlpha ?? alpha,\n colorSwatches,\n colorSwatchGroupLabel,\n shape,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n getAlphaSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n getEyeDropperProps,\n getHueSliderProps,\n getSaturationSliderProps,\n hueSliderProps,\n saturationSliderProps,\n }),\n [\n size,\n withAlpha,\n alpha,\n shape,\n colorSwatches,\n colorSwatchGroupLabel,\n alphaSliderProps,\n getAlphaSliderProps,\n getEyeDropperProps,\n getHueSliderProps,\n getSaturationSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n ],\n )\n\n return (\n <ComponentContext value={context}>\n <styled.div {...getRootProps()}>{computedChildren}</styled.div>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\", \"shape\"] },\n)(undefined, ({ colorSwatchGroupColumns = 8, ...rest }) => ({\n \"--color-swatch-group-columns\": varAttr(colorSwatchGroupColumns),\n ...rest,\n}))\n\nexport interface ColorSelectorSaturationSliderProps\n extends SaturationSlider.RootProps {}\n\nexport const ColorSelectorSaturationSlider = withContext<\n \"input\",\n ColorSelectorSaturationSliderProps\n>((props) => {\n const { size, shape, getSaturationSliderProps, saturationSliderProps } =\n useComponentContext()\n\n return (\n <SaturationSlider.Root\n size={size}\n shape={shape}\n {...getSaturationSliderProps(mergeProps(saturationSliderProps, props)())}\n />\n )\n}, \"saturationSlider\")()\n\nexport interface ColorSelectorHueSliderProps extends HueSlider.RootProps {}\n\nexport const ColorSelectorHueSlider = withContext<\n \"input\",\n ColorSelectorHueSliderProps\n>((props) => {\n const { size, shape, getHueSliderProps, hueSliderProps } =\n useComponentContext()\n\n return (\n <HueSlider.Root\n size={size}\n shape={shape}\n {...getHueSliderProps(mergeProps(hueSliderProps, props)())}\n />\n )\n}, \"hueSlider\")()\n\nexport interface ColorSelectorAlphaSliderProps extends Partial<AlphaSlider.RootProps> {}\n\nexport const ColorSelectorAlphaSlider = withContext<\n \"input\",\n ColorSelectorAlphaSliderProps\n>((props) => {\n const { size, alpha, shape, alphaSliderProps, getAlphaSliderProps } =\n useComponentContext()\n\n if (!alpha) return null\n\n return (\n <AlphaSlider.Root\n size={size}\n shape={shape}\n {...getAlphaSliderProps(mergeProps(alphaSliderProps, props)())}\n />\n )\n}, \"alphaSlider\")()\n\nexport interface ColorSelectorEyeDropperProps extends HTMLStyledProps {\n /**\n * The icon to display in the eye dropper.\n */\n icon?: ReactNode\n}\n\nexport const ColorSelectorEyeDropper = withContext<\n \"div\",\n ColorSelectorEyeDropperProps\n>(\"div\", \"eyeDropper\")(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\nexport interface ColorSelectorColorSwatchGroupLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const ColorSelectorColorSwatchGroupLabel = withContext<\n \"span\",\n ColorSelectorColorSwatchGroupLabelProps\n>(\"span\", \"colorSwatchGroupLabel\")(undefined, (props) => {\n const { colorSwatchGroupLabelProps, getColorSwatchGroupLabelProps } =\n useComponentContext()\n\n return getColorSwatchGroupLabelProps(\n mergeProps(colorSwatchGroupLabelProps, props)(),\n )\n})\n\nexport interface ColorSelectorColorSwatchGroupProps extends HTMLStyledProps {}\n\nexport const ColorSelectorColorSwatchGroup = withContext<\n \"div\",\n ColorSelectorColorSwatchGroupProps\n>(\"div\", \"colorSwatchGroup\")(undefined, ({ children, ...rest }) => {\n const { colorSwatches, colorSwatchGroupProps, getColorSwatchGroupProps } =\n useComponentContext()\n const computedChildren =\n children ??\n colorSwatchGroupProps?.children ??\n colorSwatches?.map((value, index) => (\n <ColorSelectorColorSwatchItem key={index} value={value} />\n ))\n\n return getColorSwatchGroupProps(\n mergeProps(colorSwatchGroupProps, rest, { children: computedChildren })(),\n )\n})\n\nexport interface ColorSelectorColorSwatchItemProps extends Omit<\n ColorSwatchProps,\n \"color\"\n> {\n /**\n * The value of the color swatch.\n */\n value: string\n}\n\nexport const ColorSelectorColorSwatchItem = withContext<\n \"div\",\n ColorSelectorColorSwatchItemProps\n>(ColorSwatch, \"colorSwatchItem\")(undefined, (props) => {\n const { colorSwatchItemProps, getColorSwatchItemProps } =\n useComponentContext()\n\n return getColorSwatchItemProps(mergeProps(colorSwatchItemProps, props)())\n})\n"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import { utils_exports } from "../../utils/index.js";
|
|
4
|
+
import { mergeProps } from "../../core/components/props.js";
|
|
4
5
|
import { createSlotComponent } from "../../core/components/create-component.js";
|
|
5
6
|
import "../../core/index.js";
|
|
6
7
|
import { PipetteIcon } from "../icon/icons/pipette-icon.js";
|
|
@@ -65,17 +66,14 @@ const ColorPicker = withProvider((props) => {
|
|
|
65
66
|
children: /* @__PURE__ */ jsxs(PopoverRoot, {
|
|
66
67
|
...mergedPopoverProps,
|
|
67
68
|
children: [/* @__PURE__ */ jsxs(InputGroupRoot, {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
...rootProps
|
|
74
|
-
}),
|
|
69
|
+
...mergeProps({
|
|
70
|
+
className,
|
|
71
|
+
css,
|
|
72
|
+
colorScheme
|
|
73
|
+
}, getRootProps(groupItemProps), rootProps)(),
|
|
75
74
|
children: [
|
|
76
75
|
withColorSwatch ? /* @__PURE__ */ jsx(InputElement, {
|
|
77
|
-
...elementProps,
|
|
78
|
-
...startElementProps,
|
|
76
|
+
...mergeProps(elementProps, startElementProps)(),
|
|
79
77
|
children: /* @__PURE__ */ jsx(ColorPickerColorSwatch, { ...colorSwatchProps })
|
|
80
78
|
}) : null,
|
|
81
79
|
/* @__PURE__ */ jsx(PopoverTrigger, { children: /* @__PURE__ */ jsx(ColorPickerField, { ...getFieldProps({
|
|
@@ -83,9 +81,7 @@ const ColorPicker = withProvider((props) => {
|
|
|
83
81
|
...fieldProps
|
|
84
82
|
}) }) }),
|
|
85
83
|
withEyeDropper ? /* @__PURE__ */ jsx(InputElement, {
|
|
86
|
-
clickable: true,
|
|
87
|
-
...elementProps,
|
|
88
|
-
...endElementProps,
|
|
84
|
+
...mergeProps({ clickable: true }, elementProps, endElementProps)(),
|
|
89
85
|
children: /* @__PURE__ */ jsx(ColorPickerEyeDropper, { ...getEyeDropperProps(eyeDropperProps) })
|
|
90
86
|
}) : null
|
|
91
87
|
]
|
|
@@ -110,10 +106,7 @@ const ColorPicker = withProvider((props) => {
|
|
|
110
106
|
})
|
|
111
107
|
});
|
|
112
108
|
}, "root", { transferProps: ["size"] })((props) => {
|
|
113
|
-
return
|
|
114
|
-
...useInputPropsContext(),
|
|
115
|
-
...props
|
|
116
|
-
};
|
|
109
|
+
return mergeProps(useInputPropsContext(), props)();
|
|
117
110
|
});
|
|
118
111
|
const ColorPickerField = withContext("div", "field")({ "data-group-propagate": "" }, (props) => {
|
|
119
112
|
const { getInputProps, inputProps } = useComponentContext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-picker.js","names":["Popover.Root","InputGroup.Root","InputGroup.Element","Popover.Trigger","ColorSelector.Root","Popover.Content"],"sources":["../../../../src/components/color-picker/color-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UsePopoverStyleProps, UsePopupAnimationProps } from \"../popover\"\nimport type { ColorPickerStyle } from \"./color-picker.style\"\nimport type {\n UseColorPickerProps,\n UseColorPickerReturn,\n} from \"./use-color-picker\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent } from \"../../core\"\nimport { cast } from \"../../utils\"\nimport { ColorSelector } from \"../color-selector\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { useGroupItemProps } from \"../group\"\nimport { PipetteIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover, usePopoverStyleProps } from \"../popover\"\nimport { colorPickerStyle } from \"./color-picker.style\"\nimport { useColorPicker } from \"./use-color-picker\"\n\ninterface ComponentContext\n extends\n Pick<ColorPickerProps, \"inputProps\">,\n Pick<\n UseColorPickerReturn,\n \"getEyeDropperProps\" | \"getInputProps\" | \"value\"\n > {}\n\nexport interface ColorPickerProps\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"offset\" | \"onChange\" | \"ref\">,\n Merge<UseColorPickerProps, UsePopoverStyleProps>,\n UsePopupAnimationProps,\n Pick<\n ColorSelector.RootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupColumns\"\n | \"colorSwatchGroupLabel\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n >,\n ThemeProps<ColorPickerStyle>,\n UseInputBorderProps {\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Popover.RootProps[\"placement\"]\n /**\n * If `true`, the color swatch component will be displayed.\n *\n * @default true\n */\n withColorSwatch?: boolean\n /**\n * If `true`, the eye dropper component will be displayed.\n *\n * @default true\n */\n withEyeDropper?: boolean\n /**\n * Props for the color swatch component.\n */\n colorSwatchProps?: ColorPickerColorSwatchProps\n /**\n * Props for content element.\n */\n contentProps?: ColorPickerContentProps\n /**\n * The props for the input element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * The props for the end element.\n */\n endElementProps?: InputGroup.ElementProps\n /**\n * Props for the eye dropper component.\n */\n eyeDropperProps?: ColorPickerEyeDropperProps\n /**\n * The props for the field component.\n */\n fieldProps?: ColorPickerFieldProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n /**\n * Props for the selector component.\n */\n selectorProps?: ColorSelector.RootProps\n /**\n * The props for the start element.\n */\n startElementProps?: InputGroup.ElementProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorPickerPropsContext,\n useComponentContext,\n usePropsContext: useColorPickerPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ColorPickerProps, ColorPickerStyle, ComponentContext>(\n \"color-picker\",\n colorPickerStyle,\n)\n\nexport { ColorPickerPropsContext, useColorPickerPropsContext }\n\n/**\n * `ColorPicker` is a component used by the user to select a color or enter an arbitrary color value.\n *\n * @see https://yamada-ui.com/docs/components/color-picker\n */\nexport const ColorPicker = withProvider<\"input\", ColorPickerProps, \"size\">(\n (props) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n size,\n animationScheme = \"block-start\",\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n duration,\n errorBorderColor,\n focusBorderColor,\n withColorSwatch = true,\n withEyeDropper = true,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n colorSwatchProps,\n contentProps,\n elementProps,\n endElementProps,\n eyeDropperProps,\n fieldProps,\n hueSliderProps,\n inputProps,\n rootProps,\n saturationSliderProps,\n selectorProps,\n startElementProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const popoverStyleProps = usePopoverStyleProps(rest)\n const {\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n } = useColorPicker({ ...rest, ...popoverStyleProps })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const componentContext = useMemo(\n () => ({ value, getEyeDropperProps, getInputProps, inputProps }),\n [getEyeDropperProps, getInputProps, inputProps, value],\n )\n\n return (\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n className={className}\n css={css}\n colorScheme={colorScheme}\n {...getRootProps({ ...groupItemProps, ...rootProps })}\n >\n {withColorSwatch ? (\n <InputGroup.Element {...elementProps} {...startElementProps}>\n <ColorPickerColorSwatch {...colorSwatchProps} />\n </InputGroup.Element>\n ) : null}\n\n <Popover.Trigger>\n <ColorPickerField\n {...getFieldProps({ ...varProps, ...fieldProps })}\n />\n </Popover.Trigger>\n\n {withEyeDropper ? (\n <InputGroup.Element\n clickable\n {...elementProps}\n {...endElementProps}\n >\n <ColorPickerEyeDropper\n {...getEyeDropperProps(eyeDropperProps)}\n />\n </InputGroup.Element>\n ) : null}\n </InputGroup.Root>\n\n <ColorPickerContent\n {...cast<ColorPickerContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n <ColorSelector.Root\n size={size}\n {...getSelectorProps({\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...selectorProps,\n })}\n />\n </ColorPickerContent>\n </Popover.Root>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\"] },\n)((props) => {\n const context = useInputPropsContext()\n\n return { ...context, ...props }\n})\n\ninterface ColorPickerFieldProps extends HTMLStyledProps {}\n\nconst ColorPickerField = withContext<\"div\", ColorPickerFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, (props) => {\n const { getInputProps, inputProps } = useComponentContext()\n\n return {\n children: <ColorPickerInput {...getInputProps(inputProps)} />,\n ...props,\n }\n})\n\ninterface ColorPickerInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst ColorPickerInput = withContext<\"input\", ColorPickerInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface ColorPickerColorSwatchProps extends ColorSwatchProps {}\n\nconst ColorPickerColorSwatch = withContext<\"div\", ColorPickerColorSwatchProps>(\n ColorSwatch,\n \"colorSwatch\",\n)(undefined, (props) => {\n const { value } = useComponentContext()\n\n return { variant: \"circle\", color: value, ...props }\n})\n\ninterface ColorPickerEyeDropperProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst ColorPickerEyeDropper = withContext<\"div\", ColorPickerEyeDropperProps>(\n \"div\",\n \"eyeDropper\",\n)(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\ninterface ColorPickerContentProps extends Popover.ContentProps {}\n\nconst ColorPickerContent = withContext<\"div\", ColorPickerContentProps>(\n Popover.Content,\n \"content\",\n)()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAgHA,MAAM,EACJ,kBACA,cAAc,yBACd,qBACA,iBAAiB,4BACjB,aACA,iBACE,oBACF,gBACA,iBACD;;;;;;AASD,MAAa,cAAc,cACxB,UAAU;CACT,MAAM,CACJ,gBACA,EACE,WACA,KACA,aACA,MACA,kBAAkB,eAClB,eACA,yBACA,uBACA,UACA,kBACA,kBACA,kBAAkB,MAClB,iBAAiB,MACjB,kBACA,4BACA,uBACA,sBACA,kBACA,cACA,cACA,iBACA,iBACA,YACA,gBACA,YACA,WACA,uBACA,eACA,mBACA,GAAG,UAEH,kBAAkB,MAAM;CAC5B,MAAM,oBAAoB,qBAAqB,KAAK;CACpD,MAAM,EACJ,OACA,iBACA,oBACA,eACA,eACA,cACA,kBACA,iBACE,eAAe;EAAE,GAAG;EAAM,GAAG;EAAmB,CAAC;CACrD,MAAM,qBAAqB,eAClB;EACL;EACA;EACA,GAAG;EACJ,GACD;EAAC;EAAiB;EAAU;EAAa,CAC1C;CACD,MAAM,WAAW,eAAe;EAAE;EAAkB;EAAkB,CAAC;AAMvE,QACE,oBAAC;EAAiB,OANK,eAChB;GAAE;GAAO;GAAoB;GAAe;GAAY,GAC/D;GAAC;GAAoB;GAAe;GAAY;GAAM,CACvD;YAIG,qBAACA;GAAa,GAAI;cAChB,qBAACC;IACY;IACN;IACQ;IACb,GAAI,aAAa;KAAE,GAAG;KAAgB,GAAG;KAAW,CAAC;;KAEpD,kBACC,oBAACC;MAAmB,GAAI;MAAc,GAAI;gBACxC,oBAAC,0BAAuB,GAAI,mBAAoB;OAC7B,GACnB;KAEJ,oBAACC,4BACC,oBAAC,oBACC,GAAI,cAAc;MAAE,GAAG;MAAU,GAAG;MAAY,CAAC,GACjD,GACc;KAEjB,iBACC,oBAACD;MACC;MACA,GAAI;MACJ,GAAI;gBAEJ,oBAAC,yBACC,GAAI,mBAAmB,gBAAgB,GACvC;OACiB,GACnB;;KACY,EAElB,oBAAC;IACC,2BACE,wCAAgC,aAAa,CAAC,CAC/C;cAED,oBAACE;KACO;KACN,GAAI,iBAAiB;MACnB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,GAAG;MACJ,CAAC;MACF;KACiB;IACR;GACE;GAGvB,QACA,EAAE,eAAe,CAAC,OAAO,EAAE,CAC5B,EAAE,UAAU;AAGX,QAAO;EAAE,GAFO,sBAAsB;EAEjB,GAAG;EAAO;EAC/B;AAIF,MAAM,mBAAmB,YACvB,OACA,QACD,CAAC,EAAE,wBAAwB,IAAI,GAAG,UAAU;CAC3C,MAAM,EAAE,eAAe,eAAe,qBAAqB;AAE3D,QAAO;EACL,UAAU,oBAAC,oBAAiB,GAAI,cAAc,WAAW,GAAI;EAC7D,GAAG;EACJ;EACD;AAIF,MAAM,mBAAmB,YACvB,SACA,QACD,EAAE;AAIH,MAAM,yBAAyB,YAC7B,aACA,cACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,UAAU,qBAAqB;AAEvC,QAAO;EAAE,SAAS;EAAU,OAAO;EAAO,GAAG;EAAO;EACpD;AAMF,MAAM,wBAAwB,YAC5B,OACA,aACD,CAAC,SAAY,EAAE,UAAU,MAAM,GAAG,WAAW;CAC5C,MAAM,EAAE,uBAAuB,qBAAqB;AAEpD,QAAO,mBAAmB;EACxB,UAAU,QAAQ,YAAY,oBAAC,gBAAc;EAC7C,GAAG;EACJ,CAAC;EACF;AAIF,MAAM,qBAAqB,YACzBC,gBACA,UACD,EAAE"}
|
|
1
|
+
{"version":3,"file":"color-picker.js","names":["Popover.Root","InputGroup.Root","InputGroup.Element","Popover.Trigger","ColorSelector.Root","Popover.Content"],"sources":["../../../../src/components/color-picker/color-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLProps, HTMLStyledProps, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { UseInputBorderProps } from \"../input\"\nimport type { UsePopoverStyleProps, UsePopupAnimationProps } from \"../popover\"\nimport type { ColorPickerStyle } from \"./color-picker.style\"\nimport type {\n UseColorPickerProps,\n UseColorPickerReturn,\n} from \"./use-color-picker\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, mergeProps } from \"../../core\"\nimport { cast } from \"../../utils\"\nimport { ColorSelector } from \"../color-selector\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { useGroupItemProps } from \"../group\"\nimport { PipetteIcon } from \"../icon\"\nimport { InputGroup, useInputBorder, useInputPropsContext } from \"../input\"\nimport { Popover, usePopoverStyleProps } from \"../popover\"\nimport { colorPickerStyle } from \"./color-picker.style\"\nimport { useColorPicker } from \"./use-color-picker\"\n\ninterface ComponentContext\n extends\n Pick<ColorPickerProps, \"inputProps\">,\n Pick<\n UseColorPickerReturn,\n \"getEyeDropperProps\" | \"getInputProps\" | \"value\"\n > {}\n\nexport interface ColorPickerProps\n extends\n Omit<HTMLStyledProps, \"defaultValue\" | \"offset\" | \"onChange\" | \"ref\">,\n Merge<UseColorPickerProps, UsePopoverStyleProps>,\n UsePopupAnimationProps,\n Pick<\n ColorSelector.RootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupColumns\"\n | \"colorSwatchGroupLabel\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n >,\n ThemeProps<ColorPickerStyle>,\n UseInputBorderProps {\n /**\n * The placement of the popper relative to its reference.\n *\n * @default 'end-start'\n */\n placement?: Popover.RootProps[\"placement\"]\n /**\n * If `true`, the color swatch component will be displayed.\n *\n * @default true\n */\n withColorSwatch?: boolean\n /**\n * If `true`, the eye dropper component will be displayed.\n *\n * @default true\n */\n withEyeDropper?: boolean\n /**\n * Props for the color swatch component.\n */\n colorSwatchProps?: ColorPickerColorSwatchProps\n /**\n * Props for content element.\n */\n contentProps?: ColorPickerContentProps\n /**\n * The props for the input element.\n */\n elementProps?: InputGroup.ElementProps\n /**\n * The props for the end element.\n */\n endElementProps?: InputGroup.ElementProps\n /**\n * Props for the eye dropper component.\n */\n eyeDropperProps?: ColorPickerEyeDropperProps\n /**\n * The props for the field component.\n */\n fieldProps?: ColorPickerFieldProps\n /**\n * The props for the input element.\n */\n inputProps?: HTMLStyledProps<\"input\">\n /**\n * Props for root element.\n */\n rootProps?: InputGroup.RootProps\n /**\n * Props for the selector component.\n */\n selectorProps?: ColorSelector.RootProps\n /**\n * The props for the start element.\n */\n startElementProps?: InputGroup.ElementProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorPickerPropsContext,\n useComponentContext,\n usePropsContext: useColorPickerPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<ColorPickerProps, ColorPickerStyle, ComponentContext>(\n \"color-picker\",\n colorPickerStyle,\n)\n\nexport { ColorPickerPropsContext, useColorPickerPropsContext }\n\n/**\n * `ColorPicker` is a component used by the user to select a color or enter an arbitrary color value.\n *\n * @see https://yamada-ui.com/docs/components/color-picker\n */\nexport const ColorPicker = withProvider<\"input\", ColorPickerProps, \"size\">(\n (props) => {\n const [\n groupItemProps,\n {\n className,\n css,\n colorScheme,\n size,\n animationScheme = \"block-start\",\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n duration,\n errorBorderColor,\n focusBorderColor,\n withColorSwatch = true,\n withEyeDropper = true,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n colorSwatchProps,\n contentProps,\n elementProps,\n endElementProps,\n eyeDropperProps,\n fieldProps,\n hueSliderProps,\n inputProps,\n rootProps,\n saturationSliderProps,\n selectorProps,\n startElementProps,\n ...rest\n },\n ] = useGroupItemProps(props)\n const popoverStyleProps = usePopoverStyleProps(rest)\n const {\n value,\n getContentProps,\n getEyeDropperProps,\n getFieldProps,\n getInputProps,\n getRootProps,\n getSelectorProps,\n popoverProps,\n } = useColorPicker({ ...rest, ...popoverStyleProps })\n const mergedPopoverProps = useMemo<Popover.RootProps>(\n () => ({\n animationScheme,\n duration,\n ...popoverProps,\n }),\n [animationScheme, duration, popoverProps],\n )\n const varProps = useInputBorder({ errorBorderColor, focusBorderColor })\n const componentContext = useMemo(\n () => ({ value, getEyeDropperProps, getInputProps, inputProps }),\n [getEyeDropperProps, getInputProps, inputProps, value],\n )\n\n return (\n <ComponentContext value={componentContext}>\n <Popover.Root {...mergedPopoverProps}>\n <InputGroup.Root\n {...mergeProps(\n { className, css, colorScheme },\n getRootProps(groupItemProps),\n rootProps,\n )()}\n >\n {withColorSwatch ? (\n <InputGroup.Element\n {...mergeProps(elementProps, startElementProps)()}\n >\n <ColorPickerColorSwatch {...colorSwatchProps} />\n </InputGroup.Element>\n ) : null}\n\n <Popover.Trigger>\n <ColorPickerField\n {...getFieldProps({ ...varProps, ...fieldProps })}\n />\n </Popover.Trigger>\n\n {withEyeDropper ? (\n <InputGroup.Element\n {...mergeProps(\n { clickable: true },\n elementProps,\n endElementProps,\n )()}\n >\n <ColorPickerEyeDropper\n {...getEyeDropperProps(eyeDropperProps)}\n />\n </InputGroup.Element>\n ) : null}\n </InputGroup.Root>\n\n <ColorPickerContent\n {...cast<ColorPickerContentProps>(\n getContentProps(cast<HTMLProps>(contentProps)),\n )}\n >\n <ColorSelector.Root\n size={size}\n {...getSelectorProps({\n colorSwatches,\n colorSwatchGroupColumns,\n colorSwatchGroupLabel,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...selectorProps,\n })}\n />\n </ColorPickerContent>\n </Popover.Root>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\"] },\n)((props) => {\n const context = useInputPropsContext()\n\n return mergeProps(context, props)()\n})\n\ninterface ColorPickerFieldProps extends HTMLStyledProps {}\n\nconst ColorPickerField = withContext<\"div\", ColorPickerFieldProps>(\n \"div\",\n \"field\",\n)({ \"data-group-propagate\": \"\" }, (props) => {\n const { getInputProps, inputProps } = useComponentContext()\n\n return {\n children: <ColorPickerInput {...getInputProps(inputProps)} />,\n ...props,\n }\n})\n\ninterface ColorPickerInputProps extends HTMLStyledProps<\"input\"> {}\n\nconst ColorPickerInput = withContext<\"input\", ColorPickerInputProps>(\n \"input\",\n \"input\",\n)()\n\ninterface ColorPickerColorSwatchProps extends ColorSwatchProps {}\n\nconst ColorPickerColorSwatch = withContext<\"div\", ColorPickerColorSwatchProps>(\n ColorSwatch,\n \"colorSwatch\",\n)(undefined, (props) => {\n const { value } = useComponentContext()\n\n return { variant: \"circle\", color: value, ...props }\n})\n\ninterface ColorPickerEyeDropperProps extends HTMLStyledProps {\n icon?: ReactNode\n}\n\nconst ColorPickerEyeDropper = withContext<\"div\", ColorPickerEyeDropperProps>(\n \"div\",\n \"eyeDropper\",\n)(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\ninterface ColorPickerContentProps extends Popover.ContentProps {}\n\nconst ColorPickerContent = withContext<\"div\", ColorPickerContentProps>(\n Popover.Content,\n \"content\",\n)()\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAgHA,MAAM,EACJ,kBACA,cAAc,yBACd,qBACA,iBAAiB,4BACjB,aACA,iBACE,oBACF,gBACA,iBACD;;;;;;AASD,MAAa,cAAc,cACxB,UAAU;CACT,MAAM,CACJ,gBACA,EACE,WACA,KACA,aACA,MACA,kBAAkB,eAClB,eACA,yBACA,uBACA,UACA,kBACA,kBACA,kBAAkB,MAClB,iBAAiB,MACjB,kBACA,4BACA,uBACA,sBACA,kBACA,cACA,cACA,iBACA,iBACA,YACA,gBACA,YACA,WACA,uBACA,eACA,mBACA,GAAG,UAEH,kBAAkB,MAAM;CAC5B,MAAM,oBAAoB,qBAAqB,KAAK;CACpD,MAAM,EACJ,OACA,iBACA,oBACA,eACA,eACA,cACA,kBACA,iBACE,eAAe;EAAE,GAAG;EAAM,GAAG;EAAmB,CAAC;CACrD,MAAM,qBAAqB,eAClB;EACL;EACA;EACA,GAAG;EACJ,GACD;EAAC;EAAiB;EAAU;EAAa,CAC1C;CACD,MAAM,WAAW,eAAe;EAAE;EAAkB;EAAkB,CAAC;AAMvE,QACE,oBAAC;EAAiB,OANK,eAChB;GAAE;GAAO;GAAoB;GAAe;GAAY,GAC/D;GAAC;GAAoB;GAAe;GAAY;GAAM,CACvD;YAIG,qBAACA;GAAa,GAAI;cAChB,qBAACC;IACC,GAAI,WACF;KAAE;KAAW;KAAK;KAAa,EAC/B,aAAa,eAAe,EAC5B,UACD,EAAE;;KAEF,kBACC,oBAACC;MACC,GAAI,WAAW,cAAc,kBAAkB,EAAE;gBAEjD,oBAAC,0BAAuB,GAAI,mBAAoB;OAC7B,GACnB;KAEJ,oBAACC,4BACC,oBAAC,oBACC,GAAI,cAAc;MAAE,GAAG;MAAU,GAAG;MAAY,CAAC,GACjD,GACc;KAEjB,iBACC,oBAACD;MACC,GAAI,WACF,EAAE,WAAW,MAAM,EACnB,cACA,gBACD,EAAE;gBAEH,oBAAC,yBACC,GAAI,mBAAmB,gBAAgB,GACvC;OACiB,GACnB;;KACY,EAElB,oBAAC;IACC,2BACE,wCAAgC,aAAa,CAAC,CAC/C;cAED,oBAACE;KACO;KACN,GAAI,iBAAiB;MACnB;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA,GAAG;MACJ,CAAC;MACF;KACiB;IACR;GACE;GAGvB,QACA,EAAE,eAAe,CAAC,OAAO,EAAE,CAC5B,EAAE,UAAU;AAGX,QAAO,WAFS,sBAAsB,EAEX,MAAM,EAAE;EACnC;AAIF,MAAM,mBAAmB,YACvB,OACA,QACD,CAAC,EAAE,wBAAwB,IAAI,GAAG,UAAU;CAC3C,MAAM,EAAE,eAAe,eAAe,qBAAqB;AAE3D,QAAO;EACL,UAAU,oBAAC,oBAAiB,GAAI,cAAc,WAAW,GAAI;EAC7D,GAAG;EACJ;EACD;AAIF,MAAM,mBAAmB,YACvB,SACA,QACD,EAAE;AAIH,MAAM,yBAAyB,YAC7B,aACA,cACD,CAAC,SAAY,UAAU;CACtB,MAAM,EAAE,UAAU,qBAAqB;AAEvC,QAAO;EAAE,SAAS;EAAU,OAAO;EAAO,GAAG;EAAO;EACpD;AAMF,MAAM,wBAAwB,YAC5B,OACA,aACD,CAAC,SAAY,EAAE,UAAU,MAAM,GAAG,WAAW;CAC5C,MAAM,EAAE,uBAAuB,qBAAqB;AAEpD,QAAO,mBAAmB;EACxB,UAAU,QAAQ,YAAY,oBAAC,gBAAc;EAC7C,GAAG;EACJ,CAAC;EACF;AAIF,MAAM,qBAAqB,YACzBC,gBACA,UACD,EAAE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { varAttr } from "../../core/system/var.js";
|
|
4
4
|
import { styled } from "../../core/system/factory.js";
|
|
5
|
+
import { mergeProps } from "../../core/components/props.js";
|
|
5
6
|
import { createSlotComponent } from "../../core/components/create-component.js";
|
|
6
7
|
import "../../core/index.js";
|
|
7
8
|
import { PipetteIcon } from "../icon/icons/pipette-icon.js";
|
|
@@ -97,10 +98,7 @@ const ColorSelectorSaturationSlider = withContext((props) => {
|
|
|
97
98
|
return /* @__PURE__ */ jsx(SaturationSliderRoot, {
|
|
98
99
|
size,
|
|
99
100
|
shape,
|
|
100
|
-
...getSaturationSliderProps(
|
|
101
|
-
...saturationSliderProps,
|
|
102
|
-
...props
|
|
103
|
-
})
|
|
101
|
+
...getSaturationSliderProps(mergeProps(saturationSliderProps, props)())
|
|
104
102
|
});
|
|
105
103
|
}, "saturationSlider")();
|
|
106
104
|
const ColorSelectorHueSlider = withContext((props) => {
|
|
@@ -108,10 +106,7 @@ const ColorSelectorHueSlider = withContext((props) => {
|
|
|
108
106
|
return /* @__PURE__ */ jsx(HueSliderRoot, {
|
|
109
107
|
size,
|
|
110
108
|
shape,
|
|
111
|
-
...getHueSliderProps(
|
|
112
|
-
...hueSliderProps,
|
|
113
|
-
...props
|
|
114
|
-
})
|
|
109
|
+
...getHueSliderProps(mergeProps(hueSliderProps, props)())
|
|
115
110
|
});
|
|
116
111
|
}, "hueSlider")();
|
|
117
112
|
const ColorSelectorAlphaSlider = withContext((props) => {
|
|
@@ -120,10 +115,7 @@ const ColorSelectorAlphaSlider = withContext((props) => {
|
|
|
120
115
|
return /* @__PURE__ */ jsx(AlphaSliderRoot, {
|
|
121
116
|
size,
|
|
122
117
|
shape,
|
|
123
|
-
...getAlphaSliderProps(
|
|
124
|
-
...alphaSliderProps,
|
|
125
|
-
...props
|
|
126
|
-
})
|
|
118
|
+
...getAlphaSliderProps(mergeProps(alphaSliderProps, props)())
|
|
127
119
|
});
|
|
128
120
|
}, "alphaSlider")();
|
|
129
121
|
const ColorSelectorEyeDropper = withContext("div", "eyeDropper")(void 0, ({ children, icon, ...rest }) => {
|
|
@@ -135,25 +127,15 @@ const ColorSelectorEyeDropper = withContext("div", "eyeDropper")(void 0, ({ chil
|
|
|
135
127
|
});
|
|
136
128
|
const ColorSelectorColorSwatchGroupLabel = withContext("span", "colorSwatchGroupLabel")(void 0, (props) => {
|
|
137
129
|
const { colorSwatchGroupLabelProps, getColorSwatchGroupLabelProps } = useComponentContext();
|
|
138
|
-
return getColorSwatchGroupLabelProps(
|
|
139
|
-
...colorSwatchGroupLabelProps,
|
|
140
|
-
...props
|
|
141
|
-
});
|
|
130
|
+
return getColorSwatchGroupLabelProps(mergeProps(colorSwatchGroupLabelProps, props)());
|
|
142
131
|
});
|
|
143
132
|
const ColorSelectorColorSwatchGroup = withContext("div", "colorSwatchGroup")(void 0, ({ children, ...rest }) => {
|
|
144
133
|
const { colorSwatches, colorSwatchGroupProps, getColorSwatchGroupProps } = useComponentContext();
|
|
145
|
-
return getColorSwatchGroupProps({
|
|
146
|
-
children: children ?? colorSwatchGroupProps?.children ?? colorSwatches?.map((value, index) => /* @__PURE__ */ jsx(ColorSelectorColorSwatchItem, { value }, index)),
|
|
147
|
-
...colorSwatchGroupProps,
|
|
148
|
-
...rest
|
|
149
|
-
});
|
|
134
|
+
return getColorSwatchGroupProps(mergeProps(colorSwatchGroupProps, rest, { children: children ?? colorSwatchGroupProps?.children ?? colorSwatches?.map((value, index) => /* @__PURE__ */ jsx(ColorSelectorColorSwatchItem, { value }, index)) })());
|
|
150
135
|
});
|
|
151
136
|
const ColorSelectorColorSwatchItem = withContext(ColorSwatch, "colorSwatchItem")(void 0, (props) => {
|
|
152
137
|
const { colorSwatchItemProps, getColorSwatchItemProps } = useComponentContext();
|
|
153
|
-
return getColorSwatchItemProps(
|
|
154
|
-
...colorSwatchItemProps,
|
|
155
|
-
...props
|
|
156
|
-
});
|
|
138
|
+
return getColorSwatchItemProps(mergeProps(colorSwatchItemProps, props)());
|
|
157
139
|
});
|
|
158
140
|
|
|
159
141
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color-selector.js","names":["SaturationSlider.Root","HueSlider.Root","AlphaSlider.Root"],"sources":["../../../../src/components/color-selector/color-selector.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLStyledProps, StyleValue, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { ColorSelectorStyle } from \"./color-selector.style\"\nimport type {\n UseColorSelectorProps,\n UseColorSelectorReturn,\n} from \"./use-color-selector\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, styled, varAttr } from \"../../core\"\nimport { AlphaSlider } from \"../alpha-slider\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { HueSlider } from \"../hue-slider\"\nimport { PipetteIcon } from \"../icon\"\nimport { SaturationSlider } from \"../saturation-slider\"\nimport { colorSelectorStyle } from \"./color-selector.style\"\nimport { useColorSelector } from \"./use-color-selector\"\n\ninterface ComponentContext\n extends\n Pick<\n ColorSelectorRootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n | \"shape\"\n | \"size\"\n >,\n Pick<\n UseColorSelectorReturn,\n | \"alpha\"\n | \"getAlphaSliderProps\"\n | \"getColorSwatchGroupLabelProps\"\n | \"getColorSwatchGroupProps\"\n | \"getColorSwatchItemProps\"\n | \"getEyeDropperProps\"\n | \"getHueSliderProps\"\n | \"getSaturationSliderProps\"\n > {}\n\nexport interface ColorSelectorRootProps\n extends\n Merge<HTMLStyledProps, UseColorSelectorProps>,\n ThemeProps<ColorSelectorStyle> {\n /**\n * An array of colors in one of the supported formats.\n * Used to render swatches list below the color selector.\n */\n colorSwatches?: string[]\n /**\n * The number of columns in the color swatch group.\n *\n * @default 8\n */\n colorSwatchGroupColumns?: StyleValue<number>\n /**\n * The label of the color swatch group.\n */\n colorSwatchGroupLabel?: ReactNode\n /**\n * If `true`, the alpha slider will be displayed.\n *\n * @default false\n */\n withAlpha?: boolean\n /**\n * Props for the alpha slider.\n */\n alphaSliderProps?: ColorSelectorAlphaSliderProps\n /**\n * Props for the color swatch group label.\n */\n colorSwatchGroupLabelProps?: ColorSelectorColorSwatchGroupLabelProps\n /**\n * Props for the color swatch group.\n */\n colorSwatchGroupProps?: ColorSelectorColorSwatchGroupProps\n /**\n * Props for the color swatch item.\n */\n colorSwatchItemProps?: Omit<ColorSelectorColorSwatchItemProps, \"value\">\n /**\n * Props for the hue slider.\n */\n hueSliderProps?: ColorSelectorHueSliderProps\n /**\n * Props for the saturation slider.\n */\n saturationSliderProps?: ColorSelectorSaturationSliderProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorSelectorPropsContext,\n useComponentContext,\n usePropsContext: useColorSelectorPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<\n ColorSelectorRootProps,\n ColorSelectorStyle,\n ComponentContext\n>(\"color-selector\", colorSelectorStyle)\n\nexport { ColorSelectorPropsContext, useColorSelectorPropsContext }\n\n/**\n * `ColorSelector` is a component used by the user to select a color.\n *\n * @see https://yamada-ui.com/docs/components/color-selector\n */\nexport const ColorSelectorRoot = withProvider<\n \"div\",\n ColorSelectorRootProps,\n \"shape\" | \"size\"\n>(\n ({\n size,\n children,\n colorSwatches,\n colorSwatchGroupLabel,\n shape,\n withAlpha,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...rest\n }) => {\n const {\n alpha,\n getAlphaSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n getEyeDropperProps,\n getHueSliderProps,\n getRootProps,\n getSaturationSliderProps,\n } = useColorSelector(rest)\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n <ColorSelectorSaturationSlider />\n <ColorSelectorHueSlider />\n <ColorSelectorAlphaSlider />\n\n {colorSwatchGroupLabel ? (\n <ColorSelectorColorSwatchGroupLabel>\n {colorSwatchGroupLabel}\n </ColorSelectorColorSwatchGroupLabel>\n ) : null}\n {colorSwatches ? <ColorSelectorColorSwatchGroup /> : null}\n </>\n )\n }, [children, colorSwatchGroupLabel, colorSwatches])\n const context = useMemo(\n () => ({\n size,\n alpha: withAlpha ?? alpha,\n colorSwatches,\n colorSwatchGroupLabel,\n shape,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n getAlphaSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n getEyeDropperProps,\n getHueSliderProps,\n getSaturationSliderProps,\n hueSliderProps,\n saturationSliderProps,\n }),\n [\n size,\n withAlpha,\n alpha,\n shape,\n colorSwatches,\n colorSwatchGroupLabel,\n alphaSliderProps,\n getAlphaSliderProps,\n getEyeDropperProps,\n getHueSliderProps,\n getSaturationSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n ],\n )\n\n return (\n <ComponentContext value={context}>\n <styled.div {...getRootProps()}>{computedChildren}</styled.div>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\", \"shape\"] },\n)(undefined, ({ colorSwatchGroupColumns = 8, ...rest }) => ({\n \"--color-swatch-group-columns\": varAttr(colorSwatchGroupColumns),\n ...rest,\n}))\n\nexport interface ColorSelectorSaturationSliderProps\n extends SaturationSlider.RootProps {}\n\nexport const ColorSelectorSaturationSlider = withContext<\n \"input\",\n ColorSelectorSaturationSliderProps\n>((props) => {\n const { size, shape, getSaturationSliderProps, saturationSliderProps } =\n useComponentContext()\n\n return (\n <SaturationSlider.Root\n size={size}\n shape={shape}\n {...getSaturationSliderProps({ ...saturationSliderProps, ...props })}\n />\n )\n}, \"saturationSlider\")()\n\nexport interface ColorSelectorHueSliderProps extends HueSlider.RootProps {}\n\nexport const ColorSelectorHueSlider = withContext<\n \"input\",\n ColorSelectorHueSliderProps\n>((props) => {\n const { size, shape, getHueSliderProps, hueSliderProps } =\n useComponentContext()\n\n return (\n <HueSlider.Root\n size={size}\n shape={shape}\n {...getHueSliderProps({ ...hueSliderProps, ...props })}\n />\n )\n}, \"hueSlider\")()\n\nexport interface ColorSelectorAlphaSliderProps extends Partial<AlphaSlider.RootProps> {}\n\nexport const ColorSelectorAlphaSlider = withContext<\n \"input\",\n ColorSelectorAlphaSliderProps\n>((props) => {\n const { size, alpha, shape, alphaSliderProps, getAlphaSliderProps } =\n useComponentContext()\n\n if (!alpha) return null\n\n return (\n <AlphaSlider.Root\n size={size}\n shape={shape}\n {...getAlphaSliderProps({ ...alphaSliderProps, ...props })}\n />\n )\n}, \"alphaSlider\")()\n\nexport interface ColorSelectorEyeDropperProps extends HTMLStyledProps {\n /**\n * The icon to display in the eye dropper.\n */\n icon?: ReactNode\n}\n\nexport const ColorSelectorEyeDropper = withContext<\n \"div\",\n ColorSelectorEyeDropperProps\n>(\"div\", \"eyeDropper\")(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\nexport interface ColorSelectorColorSwatchGroupLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const ColorSelectorColorSwatchGroupLabel = withContext<\n \"span\",\n ColorSelectorColorSwatchGroupLabelProps\n>(\"span\", \"colorSwatchGroupLabel\")(undefined, (props) => {\n const { colorSwatchGroupLabelProps, getColorSwatchGroupLabelProps } =\n useComponentContext()\n\n return getColorSwatchGroupLabelProps({\n ...colorSwatchGroupLabelProps,\n ...props,\n })\n})\n\nexport interface ColorSelectorColorSwatchGroupProps extends HTMLStyledProps {}\n\nexport const ColorSelectorColorSwatchGroup = withContext<\n \"div\",\n ColorSelectorColorSwatchGroupProps\n>(\"div\", \"colorSwatchGroup\")(undefined, ({ children, ...rest }) => {\n const { colorSwatches, colorSwatchGroupProps, getColorSwatchGroupProps } =\n useComponentContext()\n\n return getColorSwatchGroupProps({\n children:\n children ??\n colorSwatchGroupProps?.children ??\n colorSwatches?.map((value, index) => (\n <ColorSelectorColorSwatchItem key={index} value={value} />\n )),\n ...colorSwatchGroupProps,\n ...rest,\n })\n})\n\nexport interface ColorSelectorColorSwatchItemProps extends Omit<\n ColorSwatchProps,\n \"color\"\n> {\n /**\n * The value of the color swatch.\n */\n value: string\n}\n\nexport const ColorSelectorColorSwatchItem = withContext<\n \"div\",\n ColorSelectorColorSwatchItemProps\n>(ColorSwatch, \"colorSwatchItem\")(undefined, (props) => {\n const { colorSwatchItemProps, getColorSwatchItemProps } =\n useComponentContext()\n\n return getColorSwatchItemProps({ ...colorSwatchItemProps, ...props })\n})\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"color-selector.js","names":["SaturationSlider.Root","HueSlider.Root","AlphaSlider.Root"],"sources":["../../../../src/components/color-selector/color-selector.tsx"],"sourcesContent":["\"use client\"\n\nimport type { ReactNode } from \"react\"\nimport type { HTMLStyledProps, StyleValue, ThemeProps } from \"../../core\"\nimport type { Merge } from \"../../utils\"\nimport type { ColorSwatchProps } from \"../color-swatch\"\nimport type { ColorSelectorStyle } from \"./color-selector.style\"\nimport type {\n UseColorSelectorProps,\n UseColorSelectorReturn,\n} from \"./use-color-selector\"\nimport { useMemo } from \"react\"\nimport { createSlotComponent, mergeProps, styled, varAttr } from \"../../core\"\nimport { AlphaSlider } from \"../alpha-slider\"\nimport { ColorSwatch } from \"../color-swatch\"\nimport { HueSlider } from \"../hue-slider\"\nimport { PipetteIcon } from \"../icon\"\nimport { SaturationSlider } from \"../saturation-slider\"\nimport { colorSelectorStyle } from \"./color-selector.style\"\nimport { useColorSelector } from \"./use-color-selector\"\n\ninterface ComponentContext\n extends\n Pick<\n ColorSelectorRootProps,\n | \"alphaSliderProps\"\n | \"colorSwatches\"\n | \"colorSwatchGroupLabelProps\"\n | \"colorSwatchGroupProps\"\n | \"colorSwatchItemProps\"\n | \"hueSliderProps\"\n | \"saturationSliderProps\"\n | \"shape\"\n | \"size\"\n >,\n Pick<\n UseColorSelectorReturn,\n | \"alpha\"\n | \"getAlphaSliderProps\"\n | \"getColorSwatchGroupLabelProps\"\n | \"getColorSwatchGroupProps\"\n | \"getColorSwatchItemProps\"\n | \"getEyeDropperProps\"\n | \"getHueSliderProps\"\n | \"getSaturationSliderProps\"\n > {}\n\nexport interface ColorSelectorRootProps\n extends\n Merge<HTMLStyledProps, UseColorSelectorProps>,\n ThemeProps<ColorSelectorStyle> {\n /**\n * An array of colors in one of the supported formats.\n * Used to render swatches list below the color selector.\n */\n colorSwatches?: string[]\n /**\n * The number of columns in the color swatch group.\n *\n * @default 8\n */\n colorSwatchGroupColumns?: StyleValue<number>\n /**\n * The label of the color swatch group.\n */\n colorSwatchGroupLabel?: ReactNode\n /**\n * If `true`, the alpha slider will be displayed.\n *\n * @default false\n */\n withAlpha?: boolean\n /**\n * Props for the alpha slider.\n */\n alphaSliderProps?: ColorSelectorAlphaSliderProps\n /**\n * Props for the color swatch group label.\n */\n colorSwatchGroupLabelProps?: ColorSelectorColorSwatchGroupLabelProps\n /**\n * Props for the color swatch group.\n */\n colorSwatchGroupProps?: ColorSelectorColorSwatchGroupProps\n /**\n * Props for the color swatch item.\n */\n colorSwatchItemProps?: Omit<ColorSelectorColorSwatchItemProps, \"value\">\n /**\n * Props for the hue slider.\n */\n hueSliderProps?: ColorSelectorHueSliderProps\n /**\n * Props for the saturation slider.\n */\n saturationSliderProps?: ColorSelectorSaturationSliderProps\n}\n\nconst {\n ComponentContext,\n PropsContext: ColorSelectorPropsContext,\n useComponentContext,\n usePropsContext: useColorSelectorPropsContext,\n withContext,\n withProvider,\n} = createSlotComponent<\n ColorSelectorRootProps,\n ColorSelectorStyle,\n ComponentContext\n>(\"color-selector\", colorSelectorStyle)\n\nexport { ColorSelectorPropsContext, useColorSelectorPropsContext }\n\n/**\n * `ColorSelector` is a component used by the user to select a color.\n *\n * @see https://yamada-ui.com/docs/components/color-selector\n */\nexport const ColorSelectorRoot = withProvider<\n \"div\",\n ColorSelectorRootProps,\n \"shape\" | \"size\"\n>(\n ({\n size,\n children,\n colorSwatches,\n colorSwatchGroupLabel,\n shape,\n withAlpha,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n ...rest\n }) => {\n const {\n alpha,\n getAlphaSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n getEyeDropperProps,\n getHueSliderProps,\n getRootProps,\n getSaturationSliderProps,\n } = useColorSelector(rest)\n const computedChildren = useMemo(() => {\n if (children) return children\n\n return (\n <>\n <ColorSelectorSaturationSlider />\n <ColorSelectorHueSlider />\n <ColorSelectorAlphaSlider />\n\n {colorSwatchGroupLabel ? (\n <ColorSelectorColorSwatchGroupLabel>\n {colorSwatchGroupLabel}\n </ColorSelectorColorSwatchGroupLabel>\n ) : null}\n {colorSwatches ? <ColorSelectorColorSwatchGroup /> : null}\n </>\n )\n }, [children, colorSwatchGroupLabel, colorSwatches])\n const context = useMemo(\n () => ({\n size,\n alpha: withAlpha ?? alpha,\n colorSwatches,\n colorSwatchGroupLabel,\n shape,\n alphaSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n getAlphaSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n getEyeDropperProps,\n getHueSliderProps,\n getSaturationSliderProps,\n hueSliderProps,\n saturationSliderProps,\n }),\n [\n size,\n withAlpha,\n alpha,\n shape,\n colorSwatches,\n colorSwatchGroupLabel,\n alphaSliderProps,\n getAlphaSliderProps,\n getEyeDropperProps,\n getHueSliderProps,\n getSaturationSliderProps,\n getColorSwatchGroupLabelProps,\n getColorSwatchGroupProps,\n getColorSwatchItemProps,\n hueSliderProps,\n saturationSliderProps,\n colorSwatchGroupLabelProps,\n colorSwatchGroupProps,\n colorSwatchItemProps,\n ],\n )\n\n return (\n <ComponentContext value={context}>\n <styled.div {...getRootProps()}>{computedChildren}</styled.div>\n </ComponentContext>\n )\n },\n \"root\",\n { transferProps: [\"size\", \"shape\"] },\n)(undefined, ({ colorSwatchGroupColumns = 8, ...rest }) => ({\n \"--color-swatch-group-columns\": varAttr(colorSwatchGroupColumns),\n ...rest,\n}))\n\nexport interface ColorSelectorSaturationSliderProps\n extends SaturationSlider.RootProps {}\n\nexport const ColorSelectorSaturationSlider = withContext<\n \"input\",\n ColorSelectorSaturationSliderProps\n>((props) => {\n const { size, shape, getSaturationSliderProps, saturationSliderProps } =\n useComponentContext()\n\n return (\n <SaturationSlider.Root\n size={size}\n shape={shape}\n {...getSaturationSliderProps(mergeProps(saturationSliderProps, props)())}\n />\n )\n}, \"saturationSlider\")()\n\nexport interface ColorSelectorHueSliderProps extends HueSlider.RootProps {}\n\nexport const ColorSelectorHueSlider = withContext<\n \"input\",\n ColorSelectorHueSliderProps\n>((props) => {\n const { size, shape, getHueSliderProps, hueSliderProps } =\n useComponentContext()\n\n return (\n <HueSlider.Root\n size={size}\n shape={shape}\n {...getHueSliderProps(mergeProps(hueSliderProps, props)())}\n />\n )\n}, \"hueSlider\")()\n\nexport interface ColorSelectorAlphaSliderProps extends Partial<AlphaSlider.RootProps> {}\n\nexport const ColorSelectorAlphaSlider = withContext<\n \"input\",\n ColorSelectorAlphaSliderProps\n>((props) => {\n const { size, alpha, shape, alphaSliderProps, getAlphaSliderProps } =\n useComponentContext()\n\n if (!alpha) return null\n\n return (\n <AlphaSlider.Root\n size={size}\n shape={shape}\n {...getAlphaSliderProps(mergeProps(alphaSliderProps, props)())}\n />\n )\n}, \"alphaSlider\")()\n\nexport interface ColorSelectorEyeDropperProps extends HTMLStyledProps {\n /**\n * The icon to display in the eye dropper.\n */\n icon?: ReactNode\n}\n\nexport const ColorSelectorEyeDropper = withContext<\n \"div\",\n ColorSelectorEyeDropperProps\n>(\"div\", \"eyeDropper\")(undefined, ({ children, icon, ...rest }) => {\n const { getEyeDropperProps } = useComponentContext()\n\n return getEyeDropperProps({\n children: icon || children || <PipetteIcon />,\n ...rest,\n })\n})\n\nexport interface ColorSelectorColorSwatchGroupLabelProps extends HTMLStyledProps<\"span\"> {}\n\nexport const ColorSelectorColorSwatchGroupLabel = withContext<\n \"span\",\n ColorSelectorColorSwatchGroupLabelProps\n>(\"span\", \"colorSwatchGroupLabel\")(undefined, (props) => {\n const { colorSwatchGroupLabelProps, getColorSwatchGroupLabelProps } =\n useComponentContext()\n\n return getColorSwatchGroupLabelProps(\n mergeProps(colorSwatchGroupLabelProps, props)(),\n )\n})\n\nexport interface ColorSelectorColorSwatchGroupProps extends HTMLStyledProps {}\n\nexport const ColorSelectorColorSwatchGroup = withContext<\n \"div\",\n ColorSelectorColorSwatchGroupProps\n>(\"div\", \"colorSwatchGroup\")(undefined, ({ children, ...rest }) => {\n const { colorSwatches, colorSwatchGroupProps, getColorSwatchGroupProps } =\n useComponentContext()\n const computedChildren =\n children ??\n colorSwatchGroupProps?.children ??\n colorSwatches?.map((value, index) => (\n <ColorSelectorColorSwatchItem key={index} value={value} />\n ))\n\n return getColorSwatchGroupProps(\n mergeProps(colorSwatchGroupProps, rest, { children: computedChildren })(),\n )\n})\n\nexport interface ColorSelectorColorSwatchItemProps extends Omit<\n ColorSwatchProps,\n \"color\"\n> {\n /**\n * The value of the color swatch.\n */\n value: string\n}\n\nexport const ColorSelectorColorSwatchItem = withContext<\n \"div\",\n ColorSelectorColorSwatchItemProps\n>(ColorSwatch, \"colorSwatchItem\")(undefined, (props) => {\n const { colorSwatchItemProps, getColorSwatchItemProps } =\n useComponentContext()\n\n return getColorSwatchItemProps(mergeProps(colorSwatchItemProps, props)())\n})\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import "../collapse/index.js";
|
|
|
9
9
|
import "../../index.js";
|
|
10
10
|
import { AccordionStyle } from "./accordion.style.js";
|
|
11
11
|
import { UseAccordionItemProps, UseAccordionProps } from "./use-accordion.js";
|
|
12
|
-
import * as
|
|
12
|
+
import * as react894 from "react";
|
|
13
13
|
|
|
14
14
|
//#region src/components/accordion/accordion.d.ts
|
|
15
15
|
interface AccordionCallBackProps {
|
|
@@ -33,7 +33,7 @@ interface AccordionRootProps extends Omit<HTMLStyledProps, "onChange">, ThemePro
|
|
|
33
33
|
*/
|
|
34
34
|
items?: AccordionItem[];
|
|
35
35
|
}
|
|
36
|
-
declare const AccordionPropsContext:
|
|
36
|
+
declare const AccordionPropsContext: react894.Context<Partial<AccordionRootProps> | undefined>, useAccordionPropsContext: () => Partial<AccordionRootProps> | undefined;
|
|
37
37
|
/**
|
|
38
38
|
* `Accordion` is a component for a list that displays information in an expandable or collapsible manner.
|
|
39
39
|
*
|
|
@@ -3,7 +3,7 @@ import { CSSModifierObject, CSSPropObject, CSSSlotObject } from "../../core/css/
|
|
|
3
3
|
import "../../index.js";
|
|
4
4
|
|
|
5
5
|
//#region src/components/accordion/accordion.style.d.ts
|
|
6
|
-
declare const accordionStyle: ComponentSlotStyle<"
|
|
6
|
+
declare const accordionStyle: ComponentSlotStyle<"button" | "panel" | "icon" | "item" | "root", CSSPropObject<CSSSlotObject<"button" | "panel" | "icon" | "item" | "root">>, CSSModifierObject<CSSSlotObject<"button" | "panel" | "icon" | "item" | "root">>, {
|
|
7
7
|
panel: {
|
|
8
8
|
button: {
|
|
9
9
|
rounded: "l2";
|
|
@@ -2,10 +2,10 @@ import { HTMLProps, PropGetter } from "../../core/components/index.types.js";
|
|
|
2
2
|
import "../../core/index.js";
|
|
3
3
|
import { Descendant } from "../../hooks/use-descendants/index.js";
|
|
4
4
|
import "../../index.js";
|
|
5
|
-
import * as
|
|
5
|
+
import * as react895 from "react";
|
|
6
6
|
|
|
7
7
|
//#region src/components/accordion/use-accordion.d.ts
|
|
8
|
-
declare const AccordionDescendantsContext:
|
|
8
|
+
declare const AccordionDescendantsContext: react895.Context<{
|
|
9
9
|
active: (target?: HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null | undefined, options?: FocusOptions) => void;
|
|
10
10
|
count: (props?: Partial<{}> | undefined) => number;
|
|
11
11
|
destroy: () => void;
|
|
@@ -24,7 +24,7 @@ declare const AccordionDescendantsContext: react175.Context<{
|
|
|
24
24
|
prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean, props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}> | undefined;
|
|
25
25
|
register: (props?: {
|
|
26
26
|
disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
|
|
27
|
-
} | undefined) =>
|
|
27
|
+
} | undefined) => react895.RefCallback<HTMLButtonElement>;
|
|
28
28
|
unregister: (node?: HTMLButtonElement | null | undefined) => void;
|
|
29
29
|
value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
|
|
30
30
|
values: (props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}>[];
|
|
@@ -50,12 +50,12 @@ declare const AccordionDescendantsContext: react175.Context<{
|
|
|
50
50
|
prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean, props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}> | undefined;
|
|
51
51
|
register: (props?: {
|
|
52
52
|
disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
|
|
53
|
-
} | undefined) =>
|
|
53
|
+
} | undefined) => react895.RefCallback<HTMLButtonElement>;
|
|
54
54
|
unregister: (node?: HTMLButtonElement | null | undefined) => void;
|
|
55
55
|
value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
|
|
56
56
|
values: (props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}>[];
|
|
57
57
|
};
|
|
58
|
-
register:
|
|
58
|
+
register: react895.RefCallback<HTMLButtonElement>;
|
|
59
59
|
}, useAccordionDescendants: () => {
|
|
60
60
|
active: (target?: HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null | undefined, options?: FocusOptions) => void;
|
|
61
61
|
count: (props?: Partial<{}> | undefined) => number;
|
|
@@ -75,15 +75,15 @@ declare const AccordionDescendantsContext: react175.Context<{
|
|
|
75
75
|
prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean, props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}> | undefined;
|
|
76
76
|
register: (props?: {
|
|
77
77
|
disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
|
|
78
|
-
} | undefined) =>
|
|
78
|
+
} | undefined) => react895.RefCallback<HTMLButtonElement>;
|
|
79
79
|
unregister: (node?: HTMLButtonElement | null | undefined) => void;
|
|
80
80
|
value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
|
|
81
81
|
values: (props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}>[];
|
|
82
82
|
};
|
|
83
83
|
interface AccordionContext extends Omit<UseAccordionReturn, "descendants" | "getRootProps"> {}
|
|
84
|
-
declare const AccordionContext:
|
|
84
|
+
declare const AccordionContext: react895.Context<AccordionContext>, useAccordionContext: () => AccordionContext;
|
|
85
85
|
interface AccordionItemContext extends Omit<UseAccordionItemReturn, "getItemProps"> {}
|
|
86
|
-
declare const AccordionItemContext:
|
|
86
|
+
declare const AccordionItemContext: react895.Context<AccordionItemContext>, useAccordionItemContext: () => AccordionItemContext;
|
|
87
87
|
interface UseAccordionProps extends Omit<HTMLProps, "onChange"> {
|
|
88
88
|
/**
|
|
89
89
|
* The initial index(es) of the accordion item to expand.
|
|
@@ -137,7 +137,7 @@ declare const useAccordion: ({
|
|
|
137
137
|
prevValue: (indexOrNode: number | HTMLButtonElement | Descendant<HTMLButtonElement, {}> | null, loop?: boolean, props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}> | undefined;
|
|
138
138
|
register: (props?: {
|
|
139
139
|
disabled?: boolean | ((node: HTMLButtonElement) => boolean) | undefined;
|
|
140
|
-
} | undefined) =>
|
|
140
|
+
} | undefined) => react895.RefCallback<HTMLButtonElement>;
|
|
141
141
|
unregister: (node?: HTMLButtonElement | null | undefined) => void;
|
|
142
142
|
value: (indexOrNode: number | HTMLButtonElement | null) => Descendant<HTMLButtonElement, {}> | undefined;
|
|
143
143
|
values: (props?: Partial<{}> | undefined) => Descendant<HTMLButtonElement, {}>[];
|
|
@@ -145,8 +145,8 @@ declare const useAccordion: ({
|
|
|
145
145
|
focusedIndex: number;
|
|
146
146
|
index: number | number[];
|
|
147
147
|
multiple: boolean | undefined;
|
|
148
|
-
setFocusedIndex:
|
|
149
|
-
setIndex:
|
|
148
|
+
setFocusedIndex: react895.Dispatch<react895.SetStateAction<number>>;
|
|
149
|
+
setIndex: react895.Dispatch<react895.SetStateAction<number | number[]>>;
|
|
150
150
|
toggle: boolean | undefined;
|
|
151
151
|
getRootProps: PropGetter<"div", undefined, undefined>;
|
|
152
152
|
};
|