@yamada-ui/color-picker 1.4.9-dev-20241110150602 → 1.4.9-next-20241111190044
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{chunk-DJST5TK2.mjs → chunk-6XIZXZXV.mjs} +2 -2
- package/dist/{chunk-X2EYDFTM.mjs → chunk-C7UAG4TH.mjs} +2 -1
- package/dist/{chunk-X2EYDFTM.mjs.map → chunk-C7UAG4TH.mjs.map} +1 -1
- package/dist/{chunk-JRSGQRFQ.mjs → chunk-NNVWH4IX.mjs} +3 -3
- package/dist/{chunk-YYXTR7W7.mjs → chunk-OPWYRBSP.mjs} +3 -1
- package/dist/{chunk-YYXTR7W7.mjs.map → chunk-OPWYRBSP.mjs.map} +1 -1
- package/dist/{chunk-YPPP72VM.mjs → chunk-RJOBF4LI.mjs} +2 -2
- package/dist/{chunk-CRZIBBBY.mjs → chunk-RW7HCRPR.mjs} +4 -4
- package/dist/{chunk-HJMXAALX.mjs → chunk-TED6IK5W.mjs} +5 -5
- package/dist/{chunk-HPP26MVU.mjs → chunk-UKR7WWUY.mjs} +2 -2
- package/dist/{chunk-LJHUX2RB.mjs → chunk-XSZZBWND.mjs} +5 -5
- package/dist/color-picker.js +3 -0
- package/dist/color-picker.js.map +1 -1
- package/dist/color-picker.mjs +9 -9
- package/dist/color-selector-body.js +2 -0
- package/dist/color-selector-body.js.map +1 -1
- package/dist/color-selector-body.mjs +5 -5
- package/dist/color-selector-channels.js.map +1 -1
- package/dist/color-selector-channels.mjs +2 -2
- package/dist/color-selector-eye-dropper.js.map +1 -1
- package/dist/color-selector-eye-dropper.mjs +2 -2
- package/dist/color-selector-sliders.js.map +1 -1
- package/dist/color-selector-sliders.mjs +2 -2
- package/dist/color-selector-swatches.js +2 -0
- package/dist/color-selector-swatches.js.map +1 -1
- package/dist/color-selector-swatches.mjs +3 -3
- package/dist/color-selector.js +3 -0
- package/dist/color-selector.js.map +1 -1
- package/dist/color-selector.mjs +8 -8
- package/dist/color-swatch.js +2 -0
- package/dist/color-swatch.js.map +1 -1
- package/dist/color-swatch.mjs +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +9 -9
- package/dist/use-color-selector.js +1 -0
- package/dist/use-color-selector.js.map +1 -1
- package/dist/use-color-selector.mjs +1 -1
- package/package.json +7 -7
- /package/dist/{chunk-DJST5TK2.mjs.map → chunk-6XIZXZXV.mjs.map} +0 -0
- /package/dist/{chunk-JRSGQRFQ.mjs.map → chunk-NNVWH4IX.mjs.map} +0 -0
- /package/dist/{chunk-YPPP72VM.mjs.map → chunk-RJOBF4LI.mjs.map} +0 -0
- /package/dist/{chunk-CRZIBBBY.mjs.map → chunk-RW7HCRPR.mjs.map} +0 -0
- /package/dist/{chunk-HJMXAALX.mjs.map → chunk-TED6IK5W.mjs.map} +0 -0
- /package/dist/{chunk-HPP26MVU.mjs.map → chunk-UKR7WWUY.mjs.map} +0 -0
- /package/dist/{chunk-LJHUX2RB.mjs.map → chunk-XSZZBWND.mjs.map} +0 -0
package/dist/index.mjs
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
"use client"
|
2
2
|
import {
|
3
3
|
ColorPicker
|
4
|
-
} from "./chunk-
|
4
|
+
} from "./chunk-RW7HCRPR.mjs";
|
5
5
|
import "./chunk-Z2KAER2U.mjs";
|
6
6
|
import {
|
7
7
|
ColorSelector
|
8
|
-
} from "./chunk-
|
8
|
+
} from "./chunk-TED6IK5W.mjs";
|
9
9
|
import {
|
10
10
|
SaturationSlider
|
11
11
|
} from "./chunk-YU3KOEL7.mjs";
|
12
12
|
import "./chunk-XCHWCHHP.mjs";
|
13
|
-
import "./chunk-
|
14
|
-
import "./chunk-
|
15
|
-
import "./chunk-
|
16
|
-
import "./chunk-
|
13
|
+
import "./chunk-XSZZBWND.mjs";
|
14
|
+
import "./chunk-RJOBF4LI.mjs";
|
15
|
+
import "./chunk-6XIZXZXV.mjs";
|
16
|
+
import "./chunk-UKR7WWUY.mjs";
|
17
17
|
import {
|
18
18
|
HueSlider
|
19
19
|
} from "./chunk-WZEWATJ3.mjs";
|
@@ -21,11 +21,11 @@ import {
|
|
21
21
|
AlphaSlider
|
22
22
|
} from "./chunk-FP3X3PED.mjs";
|
23
23
|
import "./chunk-SGAM4TJL.mjs";
|
24
|
-
import "./chunk-
|
24
|
+
import "./chunk-NNVWH4IX.mjs";
|
25
25
|
import {
|
26
26
|
ColorSwatch
|
27
|
-
} from "./chunk-
|
28
|
-
import "./chunk-
|
27
|
+
} from "./chunk-OPWYRBSP.mjs";
|
28
|
+
import "./chunk-C7UAG4TH.mjs";
|
29
29
|
export {
|
30
30
|
AlphaSlider,
|
31
31
|
ColorPicker,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/use-color-selector.ts"],"sourcesContent":["import type {\n CSSUIObject,\n HTMLUIProps,\n PropGetter,\n RequiredPropGetter,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { InputProps } from \"@yamada-ui/input\"\nimport type { ColorFormat, Dict } from \"@yamada-ui/utils\"\nimport type { ChangeEvent } from \"react\"\nimport type { AlphaSliderProps } from \"./alpha-slider\"\nimport type { ColorSwatchProps } from \"./color-swatch\"\nimport type { HueSliderProps } from \"./hue-slider\"\nimport type { SaturationSliderProps } from \"./saturation-slider\"\nimport {\n formControlProperties,\n useFormControlProps,\n} from \"@yamada-ui/form-control\"\nimport { useControllableState } from \"@yamada-ui/use-controllable-state\"\nimport { useEyeDropper } from \"@yamada-ui/use-eye-dropper\"\nimport {\n calcFormat,\n convertColor,\n createContext,\n handlerAll,\n hslaTo,\n hsvTo,\n isString,\n parseToHsla,\n parseToHsv,\n parseToRgba,\n rgbaTo,\n splitObject,\n useCallbackRef,\n useUpdateEffect,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useMemo, useRef, useState } from \"react\"\n\ntype Space = keyof Hsla | keyof Rgba\ninterface Hsla {\n a: number\n h: number\n l: number\n s: number\n}\ninterface Rgba {\n a: number\n b: number\n g: number\n r: number\n}\ninterface Hsva {\n a: number\n h: number\n s: number\n v: number\n}\ninterface Channel {\n label: string\n max: number\n min: number\n space: Space\n value: number\n}\n\nconst convertHsla = (value: string, fallback?: string): Hsla => {\n let [h, s, l, a] = parseToHsla(value, fallback) ?? [0, 0, 1, 1]\n\n if (a > 1) a = 1\n\n return { a, h, l, s }\n}\n\nconst convertRgba = (value: string, fallback?: string): Rgba => {\n let [r, g, b, a] = parseToRgba(value, fallback) ?? [255, 255, 255, 1]\n\n if (r > 255) r = 255\n if (g > 255) g = 255\n if (b > 255) b = 255\n if (a > 1) a = 1\n\n return { a, b, g, r }\n}\n\nconst convertHsva = (value: string, fallback?: string): Hsva => {\n const [h, s, v, a] = parseToHsv(value, fallback)\n\n return { a, h, s, v }\n}\n\ninterface ColorSelectorContext {\n channels: Channel[]\n eyeDropperSupported: boolean\n isInteractive: boolean\n styles: { [key: string]: CSSUIObject | undefined }\n value: string\n withAlpha: boolean\n getAlphaSliderProps: PropGetter<AlphaSliderProps>\n getChannelProps: RequiredPropGetter<{ space: Space } & InputProps, InputProps>\n getEyeDropperProps: PropGetter<\"button\">\n getHueSliderProps: PropGetter<HueSliderProps>\n getSwatchProps: PropGetter<ColorSwatchProps>\n onChange: (value: Partial<Hsva> | string) => void\n size?: ThemeProps<\"ColorSelector\">[\"size\"]\n disabled?: boolean\n readOnly?: boolean\n}\n\nexport const [ColorSelectorProvider, useColorSelectorContext] =\n createContext<ColorSelectorContext>({\n name: \"ColorSelectorContext\",\n errorMessage: `useColorSelectorContext returned is 'undefined'. Seems you forgot to wrap the components in \"<ColorSelector />\"`,\n })\n\ninterface UseColorSelectorOptions {\n /**\n * The base `id` to use for the color selector.\n */\n id?: string\n /**\n * The name attribute of the hidden `input` field.\n * This is particularly useful in forms.\n */\n name?: string\n /**\n * The initial value of the color selector.\n */\n defaultValue?: string\n /**\n * The fallback value returned when color determination fails.\n */\n fallbackValue?: string\n /**\n * Color format. For example, `hex`, `rgba`, etc.\n *\n * @default \"hexa\"\n */\n format?: ColorFormat\n /**\n * The value of the color selector.\n */\n value?: string\n /**\n * Function called whenever the color selector value changes.\n */\n onChange?: (value: string) => void\n /**\n * Function called when the user is done selecting a new value.\n */\n onChangeEnd?: (value: string) => void\n /**\n * Function called when the user starts selecting a new value.\n */\n onChangeStart?: (value: string) => void\n /**\n * Function called whenever the color swatch click.\n */\n onSwatchClick?: (value: string) => void\n}\n\nexport interface UseColorSelectorBaseProps\n extends UseColorSelectorOptions,\n FormControlOptions {}\n\nexport interface UseColorSelectorProps\n extends Omit<HTMLUIProps, \"children\" | \"defaultValue\" | \"onChange\">,\n UseColorSelectorBaseProps {}\n\nexport const useColorSelector = ({\n isInvalid,\n ...props\n}: UseColorSelectorProps) => {\n const {\n id,\n name,\n defaultValue,\n fallbackValue,\n format: formatProp,\n value: valueProp,\n onChange: onChangeProp,\n onChangeEnd: onChangeEndProp,\n onChangeStart: onChangeStartProp,\n onSwatchClick,\n ...rest\n } = useFormControlProps({ isInvalid, ...props })\n const [\n {\n \"aria-readonly\": ariaReadonly,\n disabled,\n readOnly,\n required,\n ...formControlProps\n },\n containerProps,\n ] = splitObject(rest, formControlProperties)\n\n const onChangeStartRef = useCallbackRef(onChangeStartProp)\n const onChangeEndRef = useCallbackRef(onChangeEndProp)\n const { supported: eyeDropperSupported, onOpen } = useEyeDropper()\n const [value, setValue] = useControllableState({\n defaultValue: defaultValue ?? fallbackValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const format = useMemo(\n () => formatProp ?? calcFormat(value || \"#ffffff\"),\n [value, formatProp],\n )\n const resolvedValue = convertColor(value, \"#ffffff\")(format) as string\n const timeoutId = useRef<any>(undefined)\n const isDraggingRef = useRef<boolean>(false)\n const [parsedValue, setParsedValue] = useState<Hsva>(\n convertHsva(resolvedValue, fallbackValue),\n )\n const { a, h, s, v } = parsedValue\n const withAlpha = format.endsWith(\"a\")\n const isInteractive = !(disabled || readOnly)\n\n const channels: Channel[] = useMemo(() => {\n if (resolvedValue.startsWith(\"hsl\")) {\n const { a, h, l, s } = convertHsla(resolvedValue, fallbackValue)\n\n let channels: Channel[] = [\n { label: \"H\", max: 360, min: 0, space: \"h\", value: Math.round(h) },\n {\n label: \"S(%)\",\n max: 100,\n min: 0,\n space: \"s\",\n value: Math.round(s * 100),\n },\n {\n label: \"L(%)\",\n max: 100,\n min: 0,\n space: \"l\",\n value: Math.round(l * 100),\n },\n ]\n\n if (withAlpha) {\n channels = [\n ...channels,\n {\n label: \"A(%)\",\n max: 100,\n min: 0,\n space: \"a\",\n value: Math.round(a * 100),\n },\n ]\n }\n\n return channels\n } else {\n const { a, b, g, r } = convertRgba(resolvedValue, fallbackValue)\n\n let channels: Channel[] = [\n { label: \"R\", max: 255, min: 0, space: \"r\", value: Math.round(r) },\n { label: \"G\", max: 255, min: 0, space: \"g\", value: Math.round(g) },\n { label: \"B\", max: 255, min: 0, space: \"b\", value: Math.round(b) },\n ]\n\n if (withAlpha) {\n channels = [\n ...channels,\n {\n label: \"A(%)\",\n max: 100,\n min: 0,\n space: \"a\",\n value: Math.round(a * 100),\n },\n ]\n }\n\n return channels\n }\n }, [resolvedValue, withAlpha, fallbackValue])\n\n const onChange = useCallback(\n (value: Partial<Hsva> | string) => {\n if (isString(value)) {\n setParsedValue(convertHsva(value, fallbackValue))\n } else {\n setParsedValue((prev) => ({ ...prev, ...value }))\n }\n },\n [fallbackValue],\n )\n\n const onChangeStart = useCallback(\n (value: Partial<Hsva>) => {\n window.clearTimeout(timeoutId.current)\n\n isDraggingRef.current = true\n\n const { a, h, s, v } = { ...parsedValue, ...value }\n\n const nextValue = hsvTo([h, s, v, a], fallbackValue)(format)\n\n if (nextValue) onChangeStartRef(nextValue)\n },\n [onChangeStartRef, fallbackValue, parsedValue, format],\n )\n\n const onChangeEnd = useCallback(\n (value: Partial<Hsva> | string) => {\n window.clearTimeout(timeoutId.current)\n\n timeoutId.current = window.setTimeout(() => {\n isDraggingRef.current = false\n }, 200)\n\n let nextValue: string | undefined\n\n if (isString(value)) {\n nextValue = convertColor(value, fallbackValue)(format)\n } else {\n const { a, h, s, v } = { ...parsedValue, ...value }\n\n nextValue = hsvTo([h, s, v, a], fallbackValue)(format)\n }\n\n if (nextValue) onChangeEndRef(nextValue)\n },\n [onChangeEndRef, fallbackValue, parsedValue, format],\n )\n\n const onChannelChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>, space: Space) => {\n let n = Math.floor(parseFloat(ev.target.value))\n\n if (isNaN(n)) n = 0\n\n if ([\"a\", \"l\", \"s\"].includes(space)) n = n / 100\n\n let nextValue: string | undefined\n\n if (resolvedValue.startsWith(\"hsl\")) {\n const { a, h, l, s } = Object.assign(\n convertHsla(resolvedValue, fallbackValue),\n { [space]: n },\n )\n\n nextValue = hslaTo([h, s, l, a], fallbackValue)(format)\n } else {\n const { a, b, g, r } = Object.assign(\n convertRgba(resolvedValue, fallbackValue),\n { [space]: n },\n )\n\n nextValue = rgbaTo([r, g, b, a], fallbackValue)(format)\n }\n\n if (!nextValue) return\n\n onChange(nextValue)\n onChangeEnd(nextValue)\n },\n [resolvedValue, onChange, onChangeEnd, fallbackValue, format],\n )\n\n const onEyeDropperClick = useCallback(async () => {\n try {\n const { sRGBHex } = (await onOpen()) ?? {}\n\n if (!sRGBHex) return\n\n onChange(sRGBHex)\n onChangeEnd(sRGBHex)\n } catch {}\n }, [onOpen, onChange, onChangeEnd])\n\n useUpdateEffect(() => {\n const nextValue = hsvTo([h, s, v, a], fallbackValue)(format)\n\n if (nextValue) setValue(nextValue)\n }, [h, s, v, a])\n\n useUpdateEffect(() => {\n if (isDraggingRef.current) return\n\n if (valueProp) setParsedValue(convertHsva(valueProp, fallbackValue))\n }, [valueProp])\n\n useUpdateEffect(() => {\n if (!value) return\n\n const nextValue = convertColor(value, fallbackValue)(format)\n\n if (nextValue) setValue(nextValue)\n }, [format])\n\n const getContainerProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n ...formControlProps,\n ...containerProps,\n }),\n [containerProps, formControlProps],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n \"aria-readonly\": ariaReadonly,\n ...props,\n id,\n ref,\n type: \"hidden\",\n name,\n disabled,\n readOnly,\n required,\n value: resolvedValue,\n }),\n [\n formControlProps,\n ariaReadonly,\n id,\n name,\n resolvedValue,\n required,\n disabled,\n readOnly,\n ],\n )\n\n const getSaturationSliderProps: PropGetter<SaturationSliderProps> =\n useCallback(\n (props = {}, ref = null) => ({\n disabled,\n isInvalid,\n readOnly,\n required,\n ...props,\n ref,\n value: [h, s, v],\n onChange: handlerAll(props.onChange, ([, s, v]) => onChange({ s, v })),\n onChangeEnd: handlerAll(props.onChangeEnd, ([, s, v]) =>\n onChangeEnd({ s, v }),\n ),\n onChangeStart: handlerAll(props.onChangeStart, ([, s, v]) =>\n onChangeStart({ s, v }),\n ),\n }),\n [\n required,\n disabled,\n readOnly,\n isInvalid,\n h,\n s,\n v,\n onChange,\n onChangeStart,\n onChangeEnd,\n ],\n )\n\n const getHueSliderProps: PropGetter<HueSliderProps> = useCallback(\n (props = {}, ref = null) => ({\n disabled,\n isInvalid,\n readOnly,\n required,\n ...props,\n ref,\n value: h,\n onChange: handlerAll(props.onChange, (h) => onChange({ h })),\n onChangeEnd: handlerAll(props.onChangeEnd, (h) => onChangeEnd({ h })),\n onChangeStart: handlerAll(props.onChangeStart, (h) =>\n onChangeStart({ h }),\n ),\n }),\n [\n required,\n disabled,\n readOnly,\n isInvalid,\n h,\n onChange,\n onChangeStart,\n onChangeEnd,\n ],\n )\n\n const getAlphaSliderProps: PropGetter<AlphaSliderProps> = useCallback(\n (props = {}, ref = null) => ({\n disabled,\n isInvalid,\n readOnly,\n required,\n ...props,\n ref,\n color: hsvTo([h, s, v, a], fallbackValue)(format),\n value: a,\n onChange: handlerAll(props.onChange, (a) => onChange({ a })),\n onChangeEnd: handlerAll(props.onChangeEnd, (a) => onChangeEnd({ a })),\n onChangeStart: handlerAll(props.onChangeStart, (a) =>\n onChangeStart({ a }),\n ),\n }),\n [\n fallbackValue,\n required,\n disabled,\n readOnly,\n isInvalid,\n format,\n h,\n s,\n v,\n a,\n onChange,\n onChangeStart,\n onChangeEnd,\n ],\n )\n\n const getChannelProps: RequiredPropGetter<\n { space: Space } & InputProps,\n InputProps\n > = useCallback(\n ({ space, ...props }, ref = null) => {\n return {\n disabled,\n isInvalid,\n readOnly,\n required,\n ...props,\n ref,\n type: \"number\",\n step: 1,\n onChange: handlerAll(props.onChange, (ev) =>\n onChannelChange(ev, space),\n ),\n } as Dict\n },\n [required, disabled, readOnly, isInvalid, onChannelChange],\n )\n\n const getEyeDropperProps: PropGetter<\"button\"> = useCallback(\n (props = {}, ref = null) => ({\n \"aria-label\": \"Pick a color\",\n disabled,\n ...props,\n ref,\n onClick: handlerAll(props.onClick, onEyeDropperClick),\n }),\n [disabled, onEyeDropperClick],\n )\n\n const getSwatchProps: PropGetter<ColorSwatchProps> = useCallback(\n ({ color, ...props } = {}, ref = null) => ({\n \"aria-label\": `Select ${color} as the color`,\n disabled,\n readOnly,\n ...props,\n ref,\n color,\n onClick: handlerAll(props.onClick, () => {\n if (!isString(color)) return\n\n onSwatchClick?.(color)\n onChange(color)\n onChangeEnd(color)\n }),\n }),\n [disabled, readOnly, onSwatchClick, onChange, onChangeEnd],\n )\n\n return {\n channels,\n disabled,\n eyeDropperSupported,\n isInteractive,\n readOnly,\n value: resolvedValue,\n withAlpha,\n getAlphaSliderProps,\n getChannelProps,\n getContainerProps,\n getEyeDropperProps,\n getHueSliderProps,\n getInputProps,\n getSaturationSliderProps,\n getSwatchProps,\n onChange,\n }\n}\n\nexport type UseColorSelectorReturn = ReturnType<typeof useColorSelector>\n"],"mappings":"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","names":["a","h","s","channels","value","v","props"]}
|
1
|
+
{"version":3,"sources":["../src/use-color-selector.ts"],"sourcesContent":["import type {\n CSSUIObject,\n HTMLUIProps,\n PropGetter,\n RequiredPropGetter,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { InputProps } from \"@yamada-ui/input\"\nimport type { ColorFormat, Dict } from \"@yamada-ui/utils\"\nimport type { ChangeEvent } from \"react\"\nimport type { AlphaSliderProps } from \"./alpha-slider\"\nimport type { ColorSwatchProps } from \"./color-swatch\"\nimport type { HueSliderProps } from \"./hue-slider\"\nimport type { SaturationSliderProps } from \"./saturation-slider\"\nimport {\n formControlProperties,\n useFormControlProps,\n} from \"@yamada-ui/form-control\"\nimport { useControllableState } from \"@yamada-ui/use-controllable-state\"\nimport { useEyeDropper } from \"@yamada-ui/use-eye-dropper\"\nimport {\n calcFormat,\n convertColor,\n createContext,\n handlerAll,\n hslaTo,\n hsvTo,\n isString,\n parseToHsla,\n parseToHsv,\n parseToRgba,\n rgbaTo,\n splitObject,\n useCallbackRef,\n useUpdateEffect,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useMemo, useRef, useState } from \"react\"\n\ntype Space = keyof Hsla | keyof Rgba\ninterface Hsla {\n a: number\n h: number\n l: number\n s: number\n}\ninterface Rgba {\n a: number\n b: number\n g: number\n r: number\n}\ninterface Hsva {\n a: number\n h: number\n s: number\n v: number\n}\ninterface Channel {\n label: string\n max: number\n min: number\n space: Space\n value: number\n}\n\nconst convertHsla = (value: string, fallback?: string): Hsla => {\n let [h, s, l, a] = parseToHsla(value, fallback) ?? [0, 0, 1, 1]\n\n if (a > 1) a = 1\n\n return { a, h, l, s }\n}\n\nconst convertRgba = (value: string, fallback?: string): Rgba => {\n let [r, g, b, a] = parseToRgba(value, fallback) ?? [255, 255, 255, 1]\n\n if (r > 255) r = 255\n if (g > 255) g = 255\n if (b > 255) b = 255\n if (a > 1) a = 1\n\n return { a, b, g, r }\n}\n\nconst convertHsva = (value: string, fallback?: string): Hsva => {\n const [h, s, v, a] = parseToHsv(value, fallback)\n\n return { a, h, s, v }\n}\n\ninterface ColorSelectorContext {\n channels: Channel[]\n eyeDropperSupported: boolean\n isInteractive: boolean\n styles: { [key: string]: CSSUIObject | undefined }\n value: string\n withAlpha: boolean\n getAlphaSliderProps: PropGetter<AlphaSliderProps>\n getChannelProps: RequiredPropGetter<{ space: Space } & InputProps, InputProps>\n getEyeDropperProps: PropGetter<\"button\">\n getHueSliderProps: PropGetter<HueSliderProps>\n getSwatchProps: PropGetter<ColorSwatchProps>\n onChange: (value: Partial<Hsva> | string) => void\n size?: ThemeProps<\"ColorSelector\">[\"size\"]\n disabled?: boolean\n readOnly?: boolean\n}\n\nexport const [ColorSelectorProvider, useColorSelectorContext] =\n createContext<ColorSelectorContext>({\n name: \"ColorSelectorContext\",\n errorMessage: `useColorSelectorContext returned is 'undefined'. Seems you forgot to wrap the components in \"<ColorSelector />\"`,\n })\n\ninterface UseColorSelectorOptions {\n /**\n * The base `id` to use for the color selector.\n */\n id?: string\n /**\n * The name attribute of the hidden `input` field.\n * This is particularly useful in forms.\n */\n name?: string\n /**\n * The initial value of the color selector.\n */\n defaultValue?: string\n /**\n * The fallback value returned when color determination fails.\n */\n fallbackValue?: string\n /**\n * Color format. For example, `hex`, `rgba`, etc.\n *\n * @default \"hexa\"\n */\n format?: ColorFormat\n /**\n * The value of the color selector.\n */\n value?: string\n /**\n * Function called whenever the color selector value changes.\n */\n onChange?: (value: string) => void\n /**\n * Function called when the user is done selecting a new value.\n */\n onChangeEnd?: (value: string) => void\n /**\n * Function called when the user starts selecting a new value.\n */\n onChangeStart?: (value: string) => void\n /**\n * Function called whenever the color swatch click.\n */\n onSwatchClick?: (value: string) => void\n}\n\nexport interface UseColorSelectorBaseProps\n extends UseColorSelectorOptions,\n FormControlOptions {}\n\nexport interface UseColorSelectorProps\n extends Omit<HTMLUIProps, \"children\" | \"defaultValue\" | \"onChange\">,\n UseColorSelectorBaseProps {}\n\nexport const useColorSelector = ({\n isInvalid,\n ...props\n}: UseColorSelectorProps) => {\n const {\n id,\n name,\n defaultValue,\n fallbackValue,\n format: formatProp,\n value: valueProp,\n onChange: onChangeProp,\n onChangeEnd: onChangeEndProp,\n onChangeStart: onChangeStartProp,\n onSwatchClick,\n ...rest\n } = useFormControlProps({ isInvalid, ...props })\n const [\n {\n \"aria-readonly\": ariaReadonly,\n disabled,\n readOnly,\n required,\n ...formControlProps\n },\n containerProps,\n ] = splitObject(rest, formControlProperties)\n\n const onChangeStartRef = useCallbackRef(onChangeStartProp)\n const onChangeEndRef = useCallbackRef(onChangeEndProp)\n const { supported: eyeDropperSupported, onOpen } = useEyeDropper()\n const [value, setValue] = useControllableState({\n defaultValue: defaultValue ?? fallbackValue,\n value: valueProp,\n onChange: onChangeProp,\n })\n const format = useMemo(\n () => formatProp ?? calcFormat(value || \"#ffffff\"),\n [value, formatProp],\n )\n const resolvedValue = convertColor(value, \"#ffffff\")(format) as string\n const timeoutId = useRef<any>(undefined)\n const isDraggingRef = useRef<boolean>(false)\n const [parsedValue, setParsedValue] = useState<Hsva>(\n convertHsva(resolvedValue, fallbackValue),\n )\n const { a, h, s, v } = parsedValue\n const withAlpha = format.endsWith(\"a\")\n const isInteractive = !(disabled || readOnly)\n\n const channels: Channel[] = useMemo(() => {\n if (resolvedValue.startsWith(\"hsl\")) {\n const { a, h, l, s } = convertHsla(resolvedValue, fallbackValue)\n\n let channels: Channel[] = [\n { label: \"H\", max: 360, min: 0, space: \"h\", value: Math.round(h) },\n {\n label: \"S(%)\",\n max: 100,\n min: 0,\n space: \"s\",\n value: Math.round(s * 100),\n },\n {\n label: \"L(%)\",\n max: 100,\n min: 0,\n space: \"l\",\n value: Math.round(l * 100),\n },\n ]\n\n if (withAlpha) {\n channels = [\n ...channels,\n {\n label: \"A(%)\",\n max: 100,\n min: 0,\n space: \"a\",\n value: Math.round(a * 100),\n },\n ]\n }\n\n return channels\n } else {\n const { a, b, g, r } = convertRgba(resolvedValue, fallbackValue)\n\n let channels: Channel[] = [\n { label: \"R\", max: 255, min: 0, space: \"r\", value: Math.round(r) },\n { label: \"G\", max: 255, min: 0, space: \"g\", value: Math.round(g) },\n { label: \"B\", max: 255, min: 0, space: \"b\", value: Math.round(b) },\n ]\n\n if (withAlpha) {\n channels = [\n ...channels,\n {\n label: \"A(%)\",\n max: 100,\n min: 0,\n space: \"a\",\n value: Math.round(a * 100),\n },\n ]\n }\n\n return channels\n }\n }, [resolvedValue, withAlpha, fallbackValue])\n\n const onChange = useCallback(\n (value: Partial<Hsva> | string) => {\n if (isString(value)) {\n setParsedValue(convertHsva(value, fallbackValue))\n } else {\n setParsedValue((prev) => ({ ...prev, ...value }))\n }\n },\n [fallbackValue],\n )\n\n const onChangeStart = useCallback(\n (value: Partial<Hsva>) => {\n window.clearTimeout(timeoutId.current)\n\n isDraggingRef.current = true\n\n const { a, h, s, v } = { ...parsedValue, ...value }\n\n const nextValue = hsvTo([h, s, v, a], fallbackValue)(format)\n\n if (nextValue) onChangeStartRef(nextValue)\n },\n [onChangeStartRef, fallbackValue, parsedValue, format],\n )\n\n const onChangeEnd = useCallback(\n (value: Partial<Hsva> | string) => {\n window.clearTimeout(timeoutId.current)\n\n timeoutId.current = window.setTimeout(() => {\n isDraggingRef.current = false\n }, 200)\n\n let nextValue: string | undefined\n\n if (isString(value)) {\n nextValue = convertColor(value, fallbackValue)(format)\n } else {\n const { a, h, s, v } = { ...parsedValue, ...value }\n\n nextValue = hsvTo([h, s, v, a], fallbackValue)(format)\n }\n\n if (nextValue) onChangeEndRef(nextValue)\n },\n [onChangeEndRef, fallbackValue, parsedValue, format],\n )\n\n const onChannelChange = useCallback(\n (ev: ChangeEvent<HTMLInputElement>, space: Space) => {\n let n = Math.floor(parseFloat(ev.target.value))\n\n if (isNaN(n)) n = 0\n\n if ([\"a\", \"l\", \"s\"].includes(space)) n = n / 100\n\n let nextValue: string | undefined\n\n if (resolvedValue.startsWith(\"hsl\")) {\n const { a, h, l, s } = Object.assign(\n convertHsla(resolvedValue, fallbackValue),\n { [space]: n },\n )\n\n nextValue = hslaTo([h, s, l, a], fallbackValue)(format)\n } else {\n const { a, b, g, r } = Object.assign(\n convertRgba(resolvedValue, fallbackValue),\n { [space]: n },\n )\n\n nextValue = rgbaTo([r, g, b, a], fallbackValue)(format)\n }\n\n if (!nextValue) return\n\n onChange(nextValue)\n onChangeEnd(nextValue)\n },\n [resolvedValue, onChange, onChangeEnd, fallbackValue, format],\n )\n\n const onEyeDropperClick = useCallback(async () => {\n try {\n const { sRGBHex } = (await onOpen()) ?? {}\n\n if (!sRGBHex) return\n\n onChange(sRGBHex)\n onChangeEnd(sRGBHex)\n } catch {}\n }, [onOpen, onChange, onChangeEnd])\n\n useUpdateEffect(() => {\n const nextValue = hsvTo([h, s, v, a], fallbackValue)(format)\n\n if (nextValue) setValue(nextValue)\n }, [h, s, v, a])\n\n useUpdateEffect(() => {\n if (isDraggingRef.current) return\n\n if (valueProp) setParsedValue(convertHsva(valueProp, fallbackValue))\n }, [valueProp])\n\n useUpdateEffect(() => {\n if (!value) return\n\n const nextValue = convertColor(value, fallbackValue)(format)\n\n if (nextValue) setValue(nextValue)\n }, [format])\n\n const getContainerProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n ...formControlProps,\n ...containerProps,\n }),\n [containerProps, formControlProps],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n \"aria-readonly\": ariaReadonly,\n ...props,\n id,\n ref,\n type: \"hidden\",\n name,\n disabled,\n readOnly,\n required,\n value: resolvedValue,\n }),\n [\n formControlProps,\n ariaReadonly,\n id,\n name,\n resolvedValue,\n required,\n disabled,\n readOnly,\n ],\n )\n\n const getSaturationSliderProps: PropGetter<SaturationSliderProps> =\n useCallback(\n (props = {}, ref = null) => ({\n disabled,\n isInvalid,\n readOnly,\n required,\n ...props,\n ref,\n value: [h, s, v],\n onChange: handlerAll(props.onChange, ([, s, v]) => onChange({ s, v })),\n onChangeEnd: handlerAll(props.onChangeEnd, ([, s, v]) =>\n onChangeEnd({ s, v }),\n ),\n onChangeStart: handlerAll(props.onChangeStart, ([, s, v]) =>\n onChangeStart({ s, v }),\n ),\n }),\n [\n required,\n disabled,\n readOnly,\n isInvalid,\n h,\n s,\n v,\n onChange,\n onChangeStart,\n onChangeEnd,\n ],\n )\n\n const getHueSliderProps: PropGetter<HueSliderProps> = useCallback(\n (props = {}, ref = null) => ({\n disabled,\n isInvalid,\n readOnly,\n required,\n ...props,\n ref,\n value: h,\n onChange: handlerAll(props.onChange, (h) => onChange({ h })),\n onChangeEnd: handlerAll(props.onChangeEnd, (h) => onChangeEnd({ h })),\n onChangeStart: handlerAll(props.onChangeStart, (h) =>\n onChangeStart({ h }),\n ),\n }),\n [\n required,\n disabled,\n readOnly,\n isInvalid,\n h,\n onChange,\n onChangeStart,\n onChangeEnd,\n ],\n )\n\n const getAlphaSliderProps: PropGetter<AlphaSliderProps> = useCallback(\n (props = {}, ref = null) => ({\n disabled,\n isInvalid,\n readOnly,\n required,\n ...props,\n ref,\n color: hsvTo([h, s, v, a], fallbackValue)(format),\n value: a,\n onChange: handlerAll(props.onChange, (a) => onChange({ a })),\n onChangeEnd: handlerAll(props.onChangeEnd, (a) => onChangeEnd({ a })),\n onChangeStart: handlerAll(props.onChangeStart, (a) =>\n onChangeStart({ a }),\n ),\n }),\n [\n fallbackValue,\n required,\n disabled,\n readOnly,\n isInvalid,\n format,\n h,\n s,\n v,\n a,\n onChange,\n onChangeStart,\n onChangeEnd,\n ],\n )\n\n const getChannelProps: RequiredPropGetter<\n { space: Space } & InputProps,\n InputProps\n > = useCallback(\n ({ space, ...props }, ref = null) => {\n return {\n disabled,\n isInvalid,\n readOnly,\n required,\n ...props,\n ref,\n type: \"number\",\n step: 1,\n onChange: handlerAll(props.onChange, (ev) =>\n onChannelChange(ev, space),\n ),\n } as Dict\n },\n [required, disabled, readOnly, isInvalid, onChannelChange],\n )\n\n const getEyeDropperProps: PropGetter<\"button\"> = useCallback(\n (props = {}, ref = null) => ({\n \"aria-label\": \"Pick a color\",\n disabled,\n ...props,\n ref,\n onClick: handlerAll(props.onClick, onEyeDropperClick),\n }),\n [disabled, onEyeDropperClick],\n )\n\n const getSwatchProps: PropGetter<ColorSwatchProps> = useCallback(\n ({ color, ...props } = {}, ref = null) => ({\n \"aria-label\": `Select ${color} as the color`,\n disabled,\n readOnly,\n role: \"button\",\n ...props,\n ref,\n color,\n onClick: handlerAll(props.onClick, () => {\n if (!isString(color)) return\n\n onSwatchClick?.(color)\n onChange(color)\n onChangeEnd(color)\n }),\n }),\n [disabled, readOnly, onSwatchClick, onChange, onChangeEnd],\n )\n\n return {\n channels,\n disabled,\n eyeDropperSupported,\n isInteractive,\n readOnly,\n value: resolvedValue,\n withAlpha,\n getAlphaSliderProps,\n getChannelProps,\n getContainerProps,\n getEyeDropperProps,\n getHueSliderProps,\n getInputProps,\n getSaturationSliderProps,\n getSwatchProps,\n onChange,\n }\n}\n\nexport type UseColorSelectorReturn = ReturnType<typeof useColorSelector>\n"],"mappings":"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","names":["a","h","s","channels","value","v","props"]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@yamada-ui/color-picker",
|
3
|
-
"version": "1.4.9-
|
3
|
+
"version": "1.4.9-next-20241111190044",
|
4
4
|
"description": "Yamada UI color picker component",
|
5
5
|
"keywords": [
|
6
6
|
"yamada",
|
@@ -36,12 +36,12 @@
|
|
36
36
|
"url": "https://github.com/yamada-ui/yamada-ui/issues"
|
37
37
|
},
|
38
38
|
"dependencies": {
|
39
|
-
"@yamada-ui/button": "1.0.49-
|
40
|
-
"@yamada-ui/core": "1.15.5-
|
41
|
-
"@yamada-ui/form-control": "2.1.7-
|
42
|
-
"@yamada-ui/icon": "1.1.12-
|
43
|
-
"@yamada-ui/input": "1.0.47-
|
44
|
-
"@yamada-ui/popover": "1.4.2-
|
39
|
+
"@yamada-ui/button": "1.0.49-next-20241111190044",
|
40
|
+
"@yamada-ui/core": "1.15.5-next-20241111190044",
|
41
|
+
"@yamada-ui/form-control": "2.1.7-next-20241111190044",
|
42
|
+
"@yamada-ui/icon": "1.1.12-next-20241111190044",
|
43
|
+
"@yamada-ui/input": "1.0.47-next-20241111190044",
|
44
|
+
"@yamada-ui/popover": "1.4.2-next-20241111190044",
|
45
45
|
"@yamada-ui/portal": "1.0.24",
|
46
46
|
"@yamada-ui/use-controllable-state": "1.0.23",
|
47
47
|
"@yamada-ui/use-disclosure": "1.1.0",
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|