@primereact/headless 11.0.0-alpha.6 → 11.0.0-alpha.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/colorpicker/colorManager.d.ts +101 -0
  2. package/colorpicker/index.d.ts +3 -0
  3. package/colorpicker/index.mjs +2 -0
  4. package/colorpicker/index.mjs.map +1 -0
  5. package/colorpicker/input/index.d.ts +2 -0
  6. package/colorpicker/input/index.mjs +2 -0
  7. package/colorpicker/input/index.mjs.map +1 -0
  8. package/colorpicker/input/useColorPickerInput.d.ts +11 -0
  9. package/colorpicker/input/useColorPickerInput.props.d.ts +2 -0
  10. package/colorpicker/input/useColorPickerInput.test.d.ts +0 -0
  11. package/colorpicker/slider/index.d.ts +2 -0
  12. package/colorpicker/slider/index.mjs +2 -0
  13. package/colorpicker/slider/index.mjs.map +1 -0
  14. package/colorpicker/slider/useColorPickerSlider.d.ts +13 -0
  15. package/colorpicker/slider/useColorPickerSlider.props.d.ts +2 -0
  16. package/colorpicker/slider/useColorPickerSlider.test.d.ts +0 -0
  17. package/colorpicker/useColorPicker.d.ts +26 -0
  18. package/colorpicker/useColorPicker.props.d.ts +2 -0
  19. package/colorpicker/useColorPicker.test.d.ts +0 -0
  20. package/dataview/index.d.ts +2 -0
  21. package/dataview/index.mjs +2 -0
  22. package/dataview/index.mjs.map +1 -0
  23. package/dataview/useDataView.d.ts +3 -0
  24. package/dataview/useDataView.props.d.ts +2 -0
  25. package/dataview/useDataView.test.d.ts +0 -0
  26. package/datepicker/index.d.ts +2 -0
  27. package/datepicker/index.mjs +2 -0
  28. package/datepicker/index.mjs.map +1 -0
  29. package/datepicker/useDatePicker.d.ts +114 -0
  30. package/datepicker/useDatePicker.props.d.ts +2 -0
  31. package/datepicker/useDatePicker.test.d.ts +0 -0
  32. package/fileupload/index.d.ts +2 -0
  33. package/fileupload/index.mjs +2 -0
  34. package/fileupload/index.mjs.map +1 -0
  35. package/fileupload/useFileUpload.d.ts +26 -0
  36. package/fileupload/useFileUpload.props.d.ts +2 -0
  37. package/fileupload/useFileUpload.test.d.ts +0 -0
  38. package/gallery/index.d.ts +2 -0
  39. package/gallery/index.mjs +2 -0
  40. package/gallery/index.mjs.map +1 -0
  41. package/gallery/item/index.d.ts +2 -0
  42. package/gallery/item/index.mjs +2 -0
  43. package/gallery/item/index.mjs.map +1 -0
  44. package/gallery/item/useGalleryItem.d.ts +45 -0
  45. package/gallery/item/useGalleryItem.props.d.ts +2 -0
  46. package/gallery/useGallery.d.ts +31 -0
  47. package/gallery/useGallery.props.d.ts +2 -0
  48. package/gallery/useGallery.test.d.ts +0 -0
  49. package/listbox/index.d.ts +2 -0
  50. package/listbox/index.mjs +2 -0
  51. package/listbox/index.mjs.map +1 -0
  52. package/listbox/useListbox.d.ts +45 -0
  53. package/listbox/useListbox.props.d.ts +2 -0
  54. package/listbox/useListbox.test.d.ts +0 -0
  55. package/orgchart/index.d.ts +2 -0
  56. package/orgchart/index.mjs +2 -0
  57. package/orgchart/index.mjs.map +1 -0
  58. package/orgchart/useOrgChart.d.ts +20 -0
  59. package/orgchart/useOrgChart.props.d.ts +2 -0
  60. package/orgchart/useOrgChart.test.d.ts +0 -0
  61. package/overlay/index.d.ts +2 -0
  62. package/overlay/index.mjs +2 -0
  63. package/overlay/index.mjs.map +1 -0
  64. package/overlay/useOverlay.d.ts +16 -0
  65. package/overlay/useOverlay.props.d.ts +2 -0
  66. package/overlay/useOverlay.test.d.ts +0 -0
  67. package/package.json +4 -4
  68. package/password/index.d.ts +2 -0
  69. package/password/index.mjs +2 -0
  70. package/password/index.mjs.map +1 -0
  71. package/password/usePassword.d.ts +35 -0
  72. package/password/usePassword.props.d.ts +2 -0
  73. package/password/usePassword.test.d.ts +0 -0
  74. package/speeddial/index.mjs +1 -1
  75. package/speeddial/index.mjs.map +1 -1
  76. package/speeddial/useSpeedDial.d.ts +2 -1
  77. package/toast/index.d.ts +1 -0
  78. package/toast/index.mjs +1 -1
  79. package/toast/index.mjs.map +1 -1
  80. package/toast/item/index.css +1 -1
  81. package/toast/item/index.css.map +1 -1
  82. package/toast/item/index.mjs +1 -1
  83. package/toast/item/index.mjs.map +1 -1
  84. package/toast/item/useToastItem.d.ts +11 -7
  85. package/toast/toastStore.d.ts +39 -0
  86. package/toast/useToast.d.ts +12 -4
  87. package/toast/index.css +0 -2
  88. package/toast/index.css.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/colorpicker/input/useColorPickerInput.ts","../../../../primereact/src/colorpicker/ColorPicker.tsx","../../../../primereact/src/base/index.ts","../../../../primereact/src/colorpicker/ColorPicker.context.ts","../../../../primereact/src/colorpicker/ColorPicker.props.ts","../../../../primereact/src/colorpicker/area/ColorPickerArea.tsx","../../../../primereact/src/colorpicker/areabackground/ColorPickerAreaBackground.tsx","../../../../primereact/src/colorpicker/areabackground/ColorPickerAreaBackground.props.ts","../../../../primereact/src/colorpicker/areathumb/ColorPickerAreaThumb.tsx","../../../../primereact/src/colorpicker/areathumb/ColorPickerAreaThumb.props.ts","../../../../primereact/src/colorpicker/area/ColorPickerArea.props.ts","../../../../primereact/src/colorpicker/eyedropper/ColorPickerEyeDropper.tsx","../../../../primereact/src/button/Button.tsx","../../../../primereact/src/button/Button.context.ts","../../../../primereact/src/button/Button.props.ts","../../../../primereact/src/button/group/ButtonGroup.tsx","../../../../primereact/src/button/group/ButtonGroup.context.ts","../../../../primereact/src/button/group/ButtonGroup.props.ts","../../../../primereact/src/colorpicker/eyedropper/ColorPickerEyeDropper.props.ts","../../../../primereact/src/colorpicker/input/ColorPickerInput.tsx","../../../../primereact/src/inputtext/InputText.tsx","../../../../primereact/src/fluid/Fluid.tsx","../../../../primereact/src/fluid/Fluid.context.ts","../../../../primereact/src/fluid/Fluid.props.ts","../../../../primereact/src/inputtext/InputText.context.ts","../../../../primereact/src/inputtext/InputText.props.ts","../../../../primereact/src/colorpicker/input/ColorPickerInput.context.ts","../../../../primereact/src/colorpicker/input/ColorPickerInput.props.ts","../../../../primereact/src/colorpicker/slider/ColorPickerSlider.tsx","../../../../primereact/src/colorpicker/sliderthumb/ColorPickerSliderThumb.tsx","../../../../primereact/src/colorpicker/slider/ColorPickerSlider.context.ts","../../../../primereact/src/colorpicker/sliderthumb/ColorPickerSliderThumb.props.ts","../../../../primereact/src/colorpicker/slidertrack/ColorPickerSliderTrack.tsx","../../../../primereact/src/colorpicker/slidertrack/ColorPickerSliderTrack.props.ts","../../../../primereact/src/colorpicker/transparencygrid/ColorPickerTransparencyGrid.tsx","../../../../primereact/src/colorpicker/transparencygrid/ColorPickerTransparencyGrid.props.ts","../../../../primereact/src/colorpicker/slider/ColorPickerSlider.props.ts","../../../../primereact/src/colorpicker/swatch/ColorPickerSwatch.tsx","../../../../primereact/src/colorpicker/swatchbackground/ColorPickerSwatchBackground.tsx","../../../../primereact/src/colorpicker/swatchbackground/ColorPickerSwatchBackground.props.ts","../../../../primereact/src/colorpicker/swatch/ColorPickerSwatch.props.ts","../../../src/colorpicker/colorManager.ts","../../../src/colorpicker/input/useColorPickerInput.props.ts"],"sourcesContent":["import { withHeadless } from '@primereact/core/headless';\nimport type { ColorInstance } from '@primereact/types/shared/colorpicker';\nimport { useColorPickerContext } from 'primereact/colorpicker';\nimport * as React from 'react';\nimport { getInputChannelRange, getInputChannelValue, parseColor } from '../colorManager';\nimport { defaultProps } from './useColorPickerInput.props';\n\nconst HEX_REGEX = /^[0-9a-fA-F]{3,8}$/;\n\nexport function isValidHex(value: string) {\n return HEX_REGEX.test(value);\n}\n\nexport function prefixHex(value: string) {\n if (value.startsWith('#')) return value;\n\n if (isValidHex(value)) return `#${value}`;\n\n return value;\n}\n\nexport const useColorPickerInput = withHeadless({\n name: 'useColorPickerInput',\n defaultProps,\n setup({ props }) {\n const { channel = 'hex' } = props;\n const colorpicker = useColorPickerContext();\n\n const colorValue = colorpicker?.state.value as ColorInstance;\n const colorFormat = colorpicker?.props.format || 'hsba';\n\n const channelRange = getInputChannelRange(colorValue, channel);\n const channelValue = getInputChannelValue(colorValue, channel, colorFormat);\n const state = {};\n\n const isCssChannel = channel === 'hex' || channel === 'css';\n\n const changeValue = (value: string | number) => {\n if (colorpicker?.props.disabled) return;\n\n let newColor: ColorInstance;\n\n if (isCssChannel) {\n try {\n newColor = parseColor(channel === 'hex' ? prefixHex(String(value)) : String(value));\n } catch {\n newColor = colorValue;\n }\n } else {\n let current = colorValue;\n\n if (channel !== 'alpha') {\n current = current.toFormat(colorFormat);\n }\n\n const parsed = Number.parseFloat(String(value));\n const valueAsNumber = Number.isNaN(parsed) ? current.getChannelValue(channel) : parsed;\n\n newColor = current.withChannelValue(channel, valueAsNumber);\n }\n\n colorpicker?.syncChannelInputs(newColor);\n\n colorpicker?.setValue([\n newColor,\n {\n color: newColor.toString(colorpicker.props.format || 'css'),\n value: newColor\n }\n ]);\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const value = isCssChannel ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n\n changeValue(value);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.defaultPrevented) return;\n\n if (event.key === 'Enter') {\n const value = isCssChannel ? event.currentTarget.value : event.currentTarget.valueAsNumber;\n\n changeValue(value);\n event.preventDefault();\n }\n };\n\n return {\n state,\n channelValue,\n channelRange,\n type: (isCssChannel ? 'text' : 'number') as 'text' | 'number',\n handleBlur,\n handleKeyDown\n };\n }\n});\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useColorPicker } from '@primereact/headless/colorpicker';\nimport { styles } from '@primereact/styles/colorpicker';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { ColorPickerProvider } from './ColorPicker.context';\nimport { defaultProps } from './ColorPicker.props';\nimport { ColorPickerArea } from './area';\nimport { ColorPickerAreaBackground } from './areabackground';\nimport { ColorPickerAreaThumb } from './areathumb';\nimport { ColorPickerEyeDropper } from './eyedropper/ColorPickerEyeDropper';\nimport { ColorPickerInput } from './input/ColorPickerInput';\nimport { ColorPickerSlider } from './slider';\nimport { ColorPickerSliderThumb } from './sliderthumb';\nimport { ColorPickerSliderTrack } from './slidertrack';\nimport { ColorPickerSwatch } from './swatch';\nimport { ColorPickerSwatchBackground } from './swatchbackground';\nimport { ColorPickerTransparencyGrid } from './transparencygrid';\n\nexport const ColorPicker = withComponent({\n name: 'ColorPicker',\n defaultProps,\n styles,\n setup(instance) {\n const colorpicker = useColorPicker(instance.inProps);\n\n return colorpicker;\n },\n render(instance) {\n const { props, ptmi } = instance;\n\n const rootProps = mergeProps(ptmi('root'));\n\n return (\n <ColorPickerProvider value={instance}>\n <Component instance={instance} attrs={rootProps} children={props.children} as={React.Fragment} />\n </ColorPickerProvider>\n );\n },\n components: {\n Area: ColorPickerArea,\n AreaBackground: ColorPickerAreaBackground,\n AreaThumb: ColorPickerAreaThumb,\n Slider: ColorPickerSlider,\n SliderThumb: ColorPickerSliderThumb,\n SliderTrack: ColorPickerSliderTrack,\n TransparencyGrid: ColorPickerTransparencyGrid,\n Swatch: ColorPickerSwatch,\n SwatchBackground: ColorPickerSwatchBackground,\n EyeDropper: ColorPickerEyeDropper,\n Input: ColorPickerInput\n }\n});\n","import { withComponent as withComponentInCore } from '@primereact/core/component';\nimport { styles as baseStyles } from '@primereact/styles/base';\nimport type { withComponentOptions } from '@primereact/types/core';\nimport type { StylesOptions } from '@primereact/types/styles';\n\nexport const withComponent = <IProps, DProps, Exposes extends Record<PropertyKey, unknown> = Record<PropertyKey, unknown>, Styles = StylesOptions, CData = Record<string, unknown>>({\n name = 'UnknownComponent',\n defaultProps,\n styles = {\n ...baseStyles,\n name: 'global'\n } as Styles,\n components,\n setup,\n render\n}: withComponentOptions<IProps, DProps, Exposes, Styles, CData>) => {\n return withComponentInCore<IProps, DProps, Exposes, Styles, CData>({\n name,\n defaultProps,\n styles,\n components,\n setup,\n render\n });\n};\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { ColorPickerInstance } from '@primereact/types/shared/colorpicker';\n\nexport const [ColorPickerProvider, useColorPickerContext] = createOptionalContext<ColorPickerInstance>();\n","import * as HeadlessColorPicker from '@primereact/headless/colorpicker';\nimport type { ColorPickerProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultProps: ColorPickerProps = {\n ...HeadlessColorPicker.defaultProps\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { ColorPickerAreaBackground } from '../areabackground/ColorPickerAreaBackground';\nimport { ColorPickerAreaThumb } from '../areathumb/ColorPickerAreaThumb';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { defaultAreaProps } from './ColorPickerArea.props';\n\nexport const ColorPickerArea = withComponent({\n name: 'ColorPickerArea',\n defaultProps: defaultAreaProps,\n setup() {\n const colorpicker = useColorPickerContext();\n\n return { colorpicker };\n },\n render(instance) {\n const { props, ptmi, colorpicker } = instance;\n\n const rootProps = mergeProps(\n {\n className: colorpicker?.cx('area'),\n onPointerDown: colorpicker?.handleAreaPointerDown,\n onPointerMove: colorpicker?.handleAreaPointerMove,\n onPointerUp: colorpicker?.handleAreaPointerUp,\n style: { ...colorpicker?.areaStyles, ...colorpicker?.sx('area') }\n },\n colorpicker?.ptm('area'),\n ptmi('root')\n );\n\n return (\n <Component\n instance={instance}\n attrs={rootProps}\n children={\n props.children ?? (\n <>\n <ColorPickerAreaBackground />\n <ColorPickerAreaThumb />\n </>\n )\n }\n />\n );\n }\n});\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { defaultAreaBackgroundProps } from './ColorPickerAreaBackground.props';\n\nexport const ColorPickerAreaBackground = withComponent({\n name: 'ColorPickerAreaBackground',\n defaultProps: defaultAreaBackgroundProps,\n setup() {\n const colorpicker = useColorPickerContext();\n\n return { colorpicker };\n },\n render(instance) {\n const { props, ptmi, colorpicker } = instance;\n\n const rootProps = mergeProps(\n {\n className: colorpicker?.cx('areaBackground')\n },\n colorpicker?.ptm('areaBackground'),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { ColorPickerAreaBackgroundProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultAreaBackgroundProps: ColorPickerAreaBackgroundProps = {\n as: 'div'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { defaultAreaThumbProps } from './ColorPickerAreaThumb.props';\n\nexport const ColorPickerAreaThumb = withComponent({\n name: 'ColorPickerAreaThumb',\n defaultProps: defaultAreaThumbProps,\n setup() {\n const colorpicker = useColorPickerContext();\n\n return { colorpicker };\n },\n render(instance) {\n const { props, ptmi, colorpicker } = instance;\n\n const disabled = colorpicker?.props.disabled;\n\n const rootProps = mergeProps(\n {\n className: colorpicker?.cx('areaThumb', { disabled }),\n onKeyDown: colorpicker?.handleAreaKeyDown,\n role: 'slider',\n tabIndex: disabled ? -1 : 0,\n 'aria-disabled': disabled,\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': colorpicker?.areaValue?.getChannelValue(colorpicker?.areaChannels.xChannel) ?? 0,\n 'aria-label': `${colorpicker?.areaChannels.xChannel} and ${colorpicker?.areaChannels.yChannel}`,\n 'aria-roledescription': '2d slider',\n 'aria-valuetext': `${colorpicker?.areaChannels.xChannel} ${colorpicker?.areaValue.getChannelValue(colorpicker?.areaChannels.xChannel)}, ${colorpicker?.areaChannels.yChannel} ${colorpicker?.areaValue.getChannelValue(colorpicker?.areaChannels.yChannel)}`\n },\n colorpicker?.ptm('areaThumb'),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n\n// <div data-scope=\"color-picker\" data-part=\"area-thumb\" id=\"color-picker:_r_0_:area-thumb\" dir=\"ltr\" tabindex=\"0\" role=\"slider\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"52\" aria-label=\"saturation and brightness\" aria-roledescription=\"2d slider\" aria-valuetext=\"saturation 52, brightness 10\" class=\"colorPicker__areaThumb css-u4jt6x\" style=\"position: absolute; left: 52%; top: 90%; transform: translate(-50%, -50%); touch-action: none; forced-color-adjust: none; --color: hsla(51.76, 35.14%, 7.4%, 1); background: rgb(26, 24, 12);\"></div>\n","import type { ColorPickerAreaThumbProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultAreaThumbProps: ColorPickerAreaThumbProps = {\n as: 'div'\n};\n","import type { ColorPickerAreaProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultAreaProps: ColorPickerAreaProps = {\n as: 'div'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { EyeDropperIcon } from '@primereact/icons/eyedropper';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport { Button } from 'primereact/button';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { defaultEyeDropperProps } from './ColorPickerEyeDropper.props';\n\nexport const ColorPickerEyeDropper = withComponent({\n name: 'ColorPickerEyeDropper',\n defaultProps: defaultEyeDropperProps,\n setup() {\n const colorpicker = useColorPickerContext();\n\n return { colorpicker };\n },\n render(instance) {\n const { props, ptmi, colorpicker } = instance;\n\n const rootProps = mergeProps(\n {\n type: 'button',\n className: colorpicker?.cx('eyeDropper'),\n onClick: colorpicker?.openEyeDropper,\n disabled: props.disabled || colorpicker?.props.disabled\n },\n colorpicker?.ptm('eyeDropper'),\n ptmi('root')\n );\n\n const createIconElement = () => {\n return <EyeDropperIcon pt={colorpicker?.ptm('eyeDropperIcon')} />;\n };\n\n const icon = createIconElement();\n\n // @ts-expect-error: Button expects a type prop, but we are using it as a close button.\n return <Component as={Button} instance={instance} attrs={{ ...props, ...rootProps }} pt={colorpicker?.ptm('eyeDropper')} children={props.children ?? icon} />;\n }\n});\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useButton } from '@primereact/headless/button';\nimport { styles } from '@primereact/styles/button';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { ButtonProvider } from './Button.context';\nimport { defaultProps } from './Button.props';\nimport { ButtonGroup } from './group';\n\nexport const Button = withComponent({\n name: 'Button',\n defaultProps,\n styles,\n setup(instance) {\n const button = useButton(instance.inProps);\n\n return button;\n },\n render(instance) {\n const { id, props, ptmi, cx } = instance;\n\n const rootProps = mergeProps(\n {\n id,\n className: cx('root')\n },\n ptmi('root')\n );\n\n return (\n <ButtonProvider value={instance}>\n <Component instance={instance} attrs={rootProps} children={props.children} />\n </ButtonProvider>\n );\n },\n components: {\n Group: ButtonGroup\n }\n});\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { ButtonInstance } from '@primereact/types/shared/button';\n\nexport const [ButtonProvider, useButtonContext] = createOptionalContext<ButtonInstance>();\n","import * as HeadlessButton from '@primereact/headless/button';\nimport type { ButtonProps } from '@primereact/types/shared/button';\n\nexport const defaultProps: ButtonProps = {\n ...HeadlessButton.defaultProps,\n as: 'button',\n size: undefined,\n severity: undefined,\n variant: undefined,\n plain: false,\n rounded: false,\n raised: false,\n iconOnly: false,\n fluid: false\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { groupStyles } from '@primereact/styles/button';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { ButtonGroupProvider } from './ButtonGroup.context';\nimport { defaultGroupProps } from './ButtonGroup.props';\n\nexport const ButtonGroup = withComponent({\n name: 'ButtonGroup',\n defaultProps: defaultGroupProps,\n styles: groupStyles,\n render(instance) {\n const { props, ptmi, cx } = instance;\n\n const rootProps = mergeProps(\n {\n className: cx('root')\n },\n ptmi('root')\n );\n\n return (\n <ButtonGroupProvider value={instance}>\n <Component instance={instance} attrs={rootProps} children={props.children} />\n </ButtonGroupProvider>\n );\n }\n});\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { ButtonGroupInstance } from '@primereact/types/shared/button';\n\nexport const [ButtonGroupProvider, useButtonGroupContext] = createOptionalContext<ButtonGroupInstance>();\n","import type { ButtonGroupProps } from '@primereact/types/shared/button';\n\nexport const defaultGroupProps: ButtonGroupProps = {\n as: 'div'\n};\n","import { ColorPickerEyeDropperProps } from '@primereact/types/shared/colorpicker';\nimport * as Button from 'primereact/button';\n\nexport const defaultEyeDropperProps: ColorPickerEyeDropperProps = {\n ...(Button.defaultProps as ColorPickerEyeDropperProps),\n iconOnly: true,\n variant: 'outlined',\n severity: 'secondary'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useColorPickerInput } from '@primereact/headless/colorpicker/input';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport { InputText } from 'primereact/inputtext';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { ColorPickerInputProvider } from './ColorPickerInput.context';\nimport { defaultInputProps } from './ColorPickerInput.props';\n\nexport const ColorPickerInput = withComponent({\n name: 'ColorPickerInput',\n defaultProps: defaultInputProps,\n setup(instance) {\n const colorpicker = useColorPickerContext();\n const colorpickerinput = useColorPickerInput(instance.inProps);\n\n return { colorpicker, ...colorpickerinput };\n },\n render(instance) {\n const { props, ptmi, colorpicker, type, channelRange, channelValue, handleBlur, handleKeyDown } = instance;\n\n const rootProps = mergeProps(\n {\n id: props.inputId,\n className: colorpicker?.cx('input'),\n type,\n spellCheck: false,\n autoComplete: 'off',\n defaultValue: channelValue,\n min: channelRange?.min,\n max: channelRange?.max,\n step: channelRange?.step,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n 'data-channel': props.channel,\n 'aria-label': props.channel,\n disabled: props.disabled || colorpicker?.props.disabled\n },\n colorpicker?.ptm('input'),\n ptmi('root')\n );\n\n return (\n <ColorPickerInputProvider value={instance}>\n {/* @ts-expect-error: InputText expects a type prop, but we are using it as a text input. */}\n <Component as={InputText} instance={instance} attrs={{ ...props, ...rootProps }} pt={colorpicker?.ptm('input')} children={props.children} ref={colorpicker?.registerInputEl} />\n </ColorPickerInputProvider>\n );\n }\n});\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useInputText } from '@primereact/headless/inputtext';\nimport { styles } from '@primereact/styles/inputtext';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport { useFluidContext } from 'primereact/fluid';\nimport * as React from 'react';\nimport { InputTextProvider } from './InputText.context';\nimport { defaultProps } from './InputText.props';\n\nexport const InputText = withComponent({\n name: 'InputText',\n defaultProps,\n styles,\n setup(instance) {\n const inputtext = useInputText(instance?.inProps);\n const fluid = useFluidContext();\n\n return { ...inputtext, fluid };\n },\n render(instance) {\n const { id, props, ptmi, cx, fluid } = instance;\n\n const rootProps = mergeProps(\n {\n id,\n type: 'text',\n className: cx('root', { $fluid: !!fluid })\n },\n ptmi('root')\n );\n\n return (\n <InputTextProvider value={instance}>\n <Component instance={instance} attrs={rootProps} children={props.children} />\n </InputTextProvider>\n );\n }\n});\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useFluid } from '@primereact/headless/fluid';\nimport { styles } from '@primereact/styles/fluid';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { FluidProvider } from './Fluid.context';\nimport { defaultProps } from './Fluid.props';\n\nexport const Fluid = withComponent({\n name: 'Fluid',\n defaultProps,\n styles,\n setup(instance) {\n const fluid = useFluid(instance.inProps);\n\n return fluid;\n },\n render(instance) {\n const { id, props, ptmi, cx } = instance;\n\n const rootProps = mergeProps(\n {\n id,\n className: cx('root')\n },\n ptmi('root')\n );\n\n return (\n <FluidProvider value={instance}>\n <Component instance={instance} attrs={rootProps} children={props.children} />\n </FluidProvider>\n );\n }\n});\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { FluidInstance } from '@primereact/types/shared/fluid';\n\nexport const [FluidProvider, useFluidContext] = createOptionalContext<FluidInstance>();\n","import * as HeadlessFluid from '@primereact/headless/fluid';\nimport type { FluidProps } from '@primereact/types/shared/fluid';\n\nexport const defaultProps: FluidProps = {\n ...HeadlessFluid.defaultProps,\n as: 'div'\n};\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { InputTextInstance } from '@primereact/types/shared/inputtext';\n\nexport const [InputTextProvider, useInputTextContext] = createOptionalContext<InputTextInstance>();\n","import * as HeadlessInputText from '@primereact/headless/inputtext';\nimport type { InputTextProps } from '@primereact/types/shared/inputtext';\n\nexport const defaultProps: InputTextProps = {\n ...HeadlessInputText.defaultProps,\n as: 'input',\n size: undefined,\n variant: undefined,\n fluid: undefined,\n invalid: false\n};\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { ColorPickerInputInstance } from '@primereact/types/shared/colorpicker';\n\nexport const [ColorPickerInputProvider, useColorPickerInputContext] = createOptionalContext<ColorPickerInputInstance>();\n","import * as HeadlessColorPickerInput from '@primereact/headless/colorpicker/input';\nimport { ColorPickerInputProps } from '@primereact/types/shared/colorpicker';\nimport * as InputText from 'primereact/inputtext';\n\nexport const defaultInputProps: ColorPickerInputProps = {\n ...(InputText.defaultProps as ColorPickerInputProps),\n ...HeadlessColorPickerInput.defaultProps\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { useColorPickerSlider } from '@primereact/headless/colorpicker/slider';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { ColorPickerSliderThumb } from '../sliderthumb/ColorPickerSliderThumb';\nimport { ColorPickerSliderTrack } from '../slidertrack/ColorPickerSliderTrack';\nimport { ColorPickerTransparencyGrid } from '../transparencygrid';\nimport { ColorPickerSliderProvider } from './ColorPickerSlider.context';\nimport { defaultSliderProps } from './ColorPickerSlider.props';\n\nexport const ColorPickerSlider = withComponent({\n name: 'ColorPickerSlider',\n defaultProps: defaultSliderProps,\n setup(instance) {\n const colorpicker = useColorPickerContext();\n const colorpickerslider = useColorPickerSlider({ ...instance.inProps, context: colorpicker });\n\n return { ...colorpickerslider, colorpicker };\n },\n render(instance) {\n const { props, ptmi, colorpicker, handleSliderPointerDown, handleSliderPointerMove, handleSliderPointerUp, sliderStyle } = instance;\n\n const rootProps = mergeProps(\n {\n className: colorpicker?.cx('slider', { orientation: props.orientation }),\n onPointerDown: handleSliderPointerDown,\n onPointerMove: handleSliderPointerMove,\n onPointerUp: handleSliderPointerUp,\n style: { ...sliderStyle, ...colorpicker?.sx('slider') },\n 'data-orientation': props.orientation,\n 'data-channel': props.channel\n },\n colorpicker?.ptm('slider'),\n ptmi('root')\n );\n\n return (\n <ColorPickerSliderProvider value={instance}>\n <Component\n instance={instance}\n attrs={rootProps}\n children={\n props.children ?? (\n <>\n <ColorPickerTransparencyGrid />\n <ColorPickerSliderTrack />\n <ColorPickerSliderThumb />\n </>\n )\n }\n />\n </ColorPickerSliderProvider>\n );\n }\n});\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { useColorPickerSliderContext } from '../slider/ColorPickerSlider.context';\nimport { defaultSliderThumbProps } from './ColorPickerSliderThumb.props';\n\nexport const ColorPickerSliderThumb = withComponent({\n name: 'ColorPickerSliderThumb',\n defaultProps: defaultSliderThumbProps,\n setup() {\n const colorpicker = useColorPickerContext();\n const colorpickerslider = useColorPickerSliderContext();\n\n return { colorpicker, colorpickerslider };\n },\n render(instance) {\n const { props, ptmi, colorpicker, colorpickerslider } = instance;\n\n const disabled = !!(colorpickerslider?.props.disabled || colorpicker?.props.disabled);\n\n const rootProps = mergeProps(\n {\n className: colorpicker?.cx('slider-thumb', { disabled: colorpickerslider?.props.disabled || colorpicker?.props.disabled }),\n role: 'slider',\n tabIndex: disabled ? -1 : 0,\n onKeyDown: colorpickerslider?.handleSliderKeyDown,\n 'data-orientation': colorpickerslider?.props.orientation,\n 'data-channel': colorpickerslider?.props.channel,\n 'aria-orientation': colorpickerslider?.props.orientation,\n 'aria-disabled': disabled,\n 'aria-label': `${colorpickerslider?.props.channel} slider`,\n 'aria-valuemin': colorpickerslider?.channelRange?.min ?? 0,\n 'aria-valuemax': colorpickerslider?.channelRange?.max ?? 100,\n 'aria-valuenow': colorpickerslider?.channelValue,\n 'aria-valuetext': `${colorpickerslider?.props.channel} ${colorpickerslider?.channelValue}`\n },\n colorpicker?.ptm('slider-thumb'),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import { createOptionalContext } from '@primereact/core/utils';\nimport type { ColorPickerSliderInstance } from '@primereact/types/shared/colorpicker';\n\nexport const [ColorPickerSliderProvider, useColorPickerSliderContext] = createOptionalContext<ColorPickerSliderInstance>();\n","import type { ColorPickerSliderThumbProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultSliderThumbProps: ColorPickerSliderThumbProps = {\n as: 'div'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { useColorPickerSliderContext } from '../slider/ColorPickerSlider.context';\nimport { defaultSliderTrackProps } from './ColorPickerSliderTrack.props';\n\nexport const ColorPickerSliderTrack = withComponent({\n name: 'ColorPickerSliderTrack',\n defaultProps: defaultSliderTrackProps,\n setup() {\n const colorpicker = useColorPickerContext();\n const colorpickerslider = useColorPickerSliderContext();\n\n return { colorpicker, colorpickerslider };\n },\n render(instance) {\n const { props, ptmi, colorpicker, colorpickerslider } = instance;\n\n const rootProps = mergeProps(\n {\n className: colorpicker?.cx('slider-track'),\n 'data-orientation': colorpickerslider?.props.orientation,\n 'data-channel': colorpickerslider?.props.channel\n },\n colorpicker?.ptm('slider-track'),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { ColorPickerSliderTrackProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultSliderTrackProps: ColorPickerSliderTrackProps = {\n as: 'div'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { defaultTransparencyGridProps } from './ColorPickerTransparencyGrid.props';\n\nexport const ColorPickerTransparencyGrid = withComponent({\n name: 'ColorPickerTransparencyGrid',\n defaultProps: defaultTransparencyGridProps,\n setup() {\n const colorpicker = useColorPickerContext();\n\n return { colorpicker };\n },\n render(instance) {\n const { props, ptmi, colorpicker } = instance;\n\n const rootProps = mergeProps(\n {\n className: colorpicker?.cx('transparency-grid')\n },\n colorpicker?.ptm('transparency-grid'),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { ColorPickerTransparencyGridProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultTransparencyGridProps: ColorPickerTransparencyGridProps = {\n as: 'div'\n};\n","import * as HeadlessColorPickerSlider from '@primereact/headless/colorpicker/slider';\nimport type { ColorPickerSliderProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultSliderProps: ColorPickerSliderProps = {\n ...HeadlessColorPickerSlider.defaultProps,\n as: 'div'\n};\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { ColorPickerSwatchBackground } from '../swatchbackground';\nimport { ColorPickerTransparencyGrid } from '../transparencygrid';\nimport { defaultSwatchProps } from './ColorPickerSwatch.props';\n\nexport const ColorPickerSwatch = withComponent({\n name: 'ColorPickerSwatch',\n defaultProps: defaultSwatchProps,\n setup() {\n const colorpicker = useColorPickerContext();\n\n return { colorpicker };\n },\n render(instance) {\n const { props, ptmi, colorpicker } = instance;\n\n const rootProps = mergeProps(\n {\n className: colorpicker?.cx('swatch'),\n style: { ...colorpicker?.swatchStyles, ...colorpicker?.sx('swatch') }\n },\n colorpicker?.ptm('swatch'),\n ptmi('root')\n );\n\n return (\n <Component\n instance={instance}\n attrs={rootProps}\n children={\n props.children ?? (\n <>\n <ColorPickerTransparencyGrid />\n <ColorPickerSwatchBackground />\n </>\n )\n }\n />\n );\n }\n});\n","'use client';\nimport { Component } from '@primereact/core/component';\nimport { mergeProps } from '@primeuix/utils';\nimport { withComponent } from 'primereact/base';\nimport * as React from 'react';\nimport { useColorPickerContext } from '../ColorPicker.context';\nimport { defaultSwatchBackgroundProps } from './ColorPickerSwatchBackground.props';\n\nexport const ColorPickerSwatchBackground = withComponent({\n name: 'ColorPickerSwatchBackground',\n defaultProps: defaultSwatchBackgroundProps,\n setup() {\n const colorpicker = useColorPickerContext();\n\n return { colorpicker };\n },\n render(instance) {\n const { props, ptmi, colorpicker } = instance;\n\n const rootProps = mergeProps(\n {\n className: colorpicker?.cx('swatchBackground')\n },\n colorpicker?.ptm('swatchBackground'),\n ptmi('root')\n );\n\n return <Component instance={instance} attrs={rootProps} children={props.children} />;\n }\n});\n","import type { ColorPickerSwatchBackgroundProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultSwatchBackgroundProps: ColorPickerSwatchBackgroundProps = {\n as: 'div'\n};\n","import type { ColorPickerSwatchProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultSwatchProps: ColorPickerSwatchProps = {\n as: 'div'\n};\n","import type { Color2DAxes, Color3DAxes, ColorChannel, ColorChannelRange, ColorInputChannel, ColorInstance, ColorOutput, ColorSliderChannel, ColorSpace } from '@primereact/types/shared/colorpicker';\n\n// CONSTANTS\nconst HSB_REGEX = /hsb\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsba\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nconst HSL_REGEX = /hsl\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%)\\)|hsla\\(([-+]?\\d+(?:.\\d+)?\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d+(?:.\\d+)?%\\s*,\\s*[-+]?\\d(.\\d+)?)\\)/;\nconst HEX_REGEX = /^#?([a-fA-F0-9]{3,8})$/;\nconst RGB_REGEX = /^rgba?\\(\\s*([^)]+)\\s*\\)$/;\nconst OKLCH_REGEX = /oklch\\(\\s*([\\d.]+)%?\\s+([\\d.]+)\\s+([\\d.]+)(deg)?(?:\\s*\\/\\s*([\\d.]+))?\\)/i;\n\n// UTILS\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(Math.max(value, min), max);\n}\n\nexport const isEqual = (a: unknown, b: unknown) => JSON.stringify(a) === JSON.stringify(b);\n\nconst multiplyMatrices = (A: number[], B: number[]) => {\n return [A[0] * B[0] + A[1] * B[1] + A[2] * B[2], A[3] * B[0] + A[4] * B[1] + A[5] * B[2], A[6] * B[0] + A[7] * B[1] + A[8] * B[2]];\n};\n\n/**\n * Snaps a value to the nearest step increment within min/max bounds\n * @example snap(23.7, 0, 100, 5) => 25\n * @example snap(0.234, 0, 1, 0.01) => 0.23\n */\nfunction snap(value: number, min: number, max: number, step: number) {\n const clamped = clamp(value, min, max);\n\n const offset = clamped - min;\n const steps = Math.round(offset / step);\n\n const snapped = min + steps * step;\n\n const precision = (step.toString().split('.')[1] || '').length;\n\n return parseFloat(snapped.toFixed(precision));\n}\n\nabstract class Color {\n abstract clone(): ColorInstance;\n abstract toString(format: ColorOutput): string;\n abstract toFormat(format: ColorSpace): ColorInstance;\n abstract toJSON(): Record<string, number>;\n abstract getChannelRange(channel: ColorChannel): ColorChannelRange;\n abstract getFormat(): ColorSpace;\n abstract getChannels(): [ColorChannel, ColorChannel, ColorChannel];\n\n getChannelValue(channel: ColorChannel): number {\n if (channel in this) {\n return this[channel as keyof this] as number;\n }\n\n throw new Error(`Channel ${channel} not found`);\n }\n\n withChannelValue(channel: ColorChannel, value: number): ColorInstance {\n const { min, max } = this.getChannelRange(channel);\n\n if (channel in this) {\n const cloned = this.clone();\n\n // @ts-expect-error - channel\n cloned[channel] = clamp(value, min, max);\n\n return cloned;\n }\n\n throw new Error(`Channel ${channel} not found`);\n }\n\n getSpaceAxes(xyChannels: Color2DAxes): Color3DAxes {\n const { xChannel, yChannel } = xyChannels;\n\n if (xChannel === yChannel) {\n throw new Error('xChannel and yChannel cannot be the same');\n }\n\n const zChannel = this.getChannels().find((channel) => channel !== xChannel && channel !== yChannel);\n\n if (!zChannel) {\n throw new Error('zChannel not found');\n }\n\n return { xChannel, yChannel, zChannel };\n }\n\n incChannelValue(channel: ColorChannel, step: number): ColorInstance {\n const { min, max, step: availableStep } = this.getChannelRange(channel);\n\n const value = snap(clamp(this.getChannelValue(channel) + step, min, max), min, max, availableStep);\n\n return this.withChannelValue(channel, value);\n }\n\n decChannelValue(channel: ColorChannel, step: number): ColorInstance {\n return this.incChannelValue(channel, -step);\n }\n}\n\nexport class HSBColor extends Color {\n private hue: number;\n private saturation: number;\n private brightness: number;\n private alpha: number;\n\n constructor(hue: number, saturation: number, brightness: number, alpha: number) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.brightness = brightness;\n this.alpha = alpha;\n }\n\n static parse(value: string): HSBColor | undefined {\n const match = value.match(HSB_REGEX);\n\n if (!match) return undefined;\n\n const [h, s, b, a] = (match[1] ?? match[2]).split(',').map((n) => Number(n.trim().replace('%', '')));\n\n return new HSBColor(h % 360, clamp(s, 0, 100), clamp(b, 0, 100), clamp(a ?? 1, 0, 1));\n }\n\n private toRGB(): RGBColor {\n const h = this.hue;\n const s = this.saturation / 100;\n const b = this.brightness / 100;\n\n function f(n: number) {\n const k = (n + h / 60) % 6;\n\n return b - b * s * Math.max(0, Math.min(k, 4 - k, 1));\n }\n\n const scale = 255;\n\n return new RGBColor(Math.round(f(5) * scale), Math.round(f(3) * scale), Math.round(f(1) * scale), Number(this.alpha.toFixed(2)));\n }\n\n private toHSL(): HSLColor {\n const h = this.hue;\n let s = this.saturation / 100;\n const b = this.brightness / 100;\n\n const l = b * (1 - s / 2);\n\n if (l === 0 || l === 1) {\n s = 0;\n } else {\n s = (b - l) / Math.min(l, 1 - l);\n }\n\n return new HSLColor(Number(h.toFixed(2)), Number((s * 100).toFixed(2)), Number((l * 100).toFixed(2)), Number(this.alpha.toFixed(2)));\n }\n\n toFormat(format: ColorSpace): ColorInstance {\n switch (format) {\n case 'hsba':\n return this;\n case 'rgba':\n return this.toRGB();\n case 'hsla':\n return this.toHSL();\n case 'oklcha':\n return this.toRGB().toFormat('oklcha');\n default:\n throw new Error(`Invalid format: ${format}`);\n }\n }\n\n toString(format: ColorOutput): string {\n switch (format) {\n case 'css':\n return this.toHSL().toString('css');\n case 'hex':\n return this.toRGB().toString('hex');\n case 'hexa':\n return this.toRGB().toString('hexa');\n case 'hsb':\n return `hsb(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.brightness.toFixed(2)}%)`;\n case 'hsba':\n return `hsba(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.brightness.toFixed(2)}%, ${this.alpha})`;\n case 'hsl':\n return this.toHSL().toString('hsl');\n case 'rgb':\n return this.toRGB().toString('rgb');\n case 'oklch':\n return this.toRGB().toFormat('oklcha').toString('oklch');\n default:\n return this.toFormat(format).toString(format);\n }\n }\n\n toJSON() {\n return {\n hue: this.hue,\n saturation: this.saturation,\n brightness: this.brightness,\n alpha: this.alpha\n };\n }\n\n clone(): ColorInstance {\n return new HSBColor(this.hue, this.saturation, this.brightness, this.alpha);\n }\n\n getChannelRange(channel: ColorChannel): ColorChannelRange {\n switch (channel) {\n case 'hue':\n return { min: 0, max: 360, step: 1 };\n case 'saturation':\n case 'brightness':\n return { min: 0, max: 100, step: 1 };\n case 'alpha':\n return { min: 0, max: 1, step: 0.01 };\n default:\n throw new Error('Unknown color channel: ' + channel);\n }\n }\n\n getFormat(): ColorSpace {\n return 'hsba';\n }\n\n getChannels(): [ColorChannel, ColorChannel, ColorChannel] {\n return ['hue', 'saturation', 'brightness'];\n }\n}\n\nexport class HSLColor extends Color {\n private hue: number;\n private saturation: number;\n private lightness: number;\n private alpha: number;\n\n constructor(hue: number, saturation: number, lightness: number, alpha: number) {\n super();\n this.hue = hue;\n this.saturation = saturation;\n this.lightness = lightness;\n this.alpha = alpha;\n }\n\n static parse(value: string): HSLColor | undefined {\n const match = value.match(HSL_REGEX);\n\n if (!match) return undefined;\n\n const [h, s, l, a] = (match[1] || match[2])?.split(',').map((n) => Number(n.trim().replace('%', ''))) ?? [];\n\n return new HSLColor(h % 360, clamp(s, 0, 100), clamp(l, 0, 100), clamp(a ?? 1, 0, 1));\n }\n\n private toRGB(): RGBColor {\n const h = this.hue;\n const s = this.saturation / 100;\n const l = this.lightness / 100;\n\n function f(n: number) {\n const k = (n + h / 30) % 12;\n const a = s * Math.min(l, 1 - l);\n\n return l - a * Math.max(-1, Math.min(k - 3, 9 - k, 1));\n }\n\n const scale = 255;\n\n return new RGBColor(Math.round(f(0) * scale), Math.round(f(8) * scale), Math.round(f(4) * scale), Number(this.alpha.toFixed(2)));\n }\n\n private toHSB(): HSBColor {\n const h = this.hue;\n let s = this.saturation / 100;\n const l = this.lightness / 100;\n\n const b = l + s * Math.min(l, 1 - l);\n\n if (b === 0) {\n s = 0;\n } else {\n s = 2 * (1 - l / b);\n }\n\n return new HSBColor(Number(h.toFixed(2)), Number((s * 100).toFixed(2)), Number((b * 100).toFixed(2)), Number(this.alpha.toFixed(2)));\n }\n\n toFormat(format: ColorSpace): ColorInstance {\n switch (format) {\n case 'hsla':\n return this;\n case 'rgba':\n return this.toRGB();\n case 'hsba':\n return this.toHSB();\n case 'oklcha':\n return this.toRGB().toFormat('oklcha');\n default:\n throw new Error(`Invalid format: ${format}`);\n }\n }\n\n toString(format: ColorOutput): string {\n switch (format) {\n case 'hex':\n return this.toRGB().toString('hex');\n case 'hexa':\n return this.toRGB().toString('hexa');\n case 'hsl':\n return `hsl(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.lightness.toFixed(2)}%)`;\n case 'css':\n case 'hsla':\n return `hsla(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.lightness.toFixed(2)}%, ${this.alpha})`;\n case 'rgb':\n return this.toRGB().toString('rgb');\n case 'hsb':\n return this.toHSB().toString('hsb');\n case 'oklch':\n return this.toRGB().toFormat('oklcha').toString('oklch');\n default:\n return this.toFormat(format).toString(format);\n }\n }\n\n toJSON(): Record<string, number> {\n return {\n hue: this.hue,\n saturation: this.saturation,\n lightness: this.lightness,\n alpha: this.alpha\n };\n }\n\n clone(): ColorInstance {\n return new HSLColor(this.hue, this.saturation, this.lightness, this.alpha);\n }\n\n getChannelRange(channel: ColorChannel): ColorChannelRange {\n switch (channel) {\n case 'hue':\n return { min: 0, max: 360, step: 1 };\n case 'saturation':\n case 'lightness':\n return { min: 0, max: 100, step: 1 };\n case 'alpha':\n return { min: 0, max: 1, step: 0.01 };\n default:\n throw new Error('Unknown color channel: ' + channel);\n }\n }\n\n getFormat(): ColorSpace {\n return 'hsla';\n }\n\n getChannels(): [ColorChannel, ColorChannel, ColorChannel] {\n return ['hue', 'saturation', 'lightness'];\n }\n}\n\nexport class RGBColor extends Color {\n private red: number;\n private green: number;\n private blue: number;\n private alpha: number;\n\n constructor(red: number, green: number, blue: number, alpha: number) {\n super();\n this.red = red;\n this.green = green;\n this.blue = blue;\n this.alpha = alpha;\n }\n\n static parse(value: string): RGBColor | undefined {\n if (!value) return undefined;\n\n const input = value.trim();\n\n return this.parseHexColor(input) ?? this.parseRgbFunction(input);\n }\n\n private static parseHexColor(input: string): RGBColor | undefined {\n const match = input.match(HEX_REGEX);\n\n if (!match) return undefined;\n\n let hex = match[1];\n\n // Expand shorthand (#abc -> #aabbcc)\n if (hex.length <= 4) {\n hex = hex\n .split('')\n .map((c) => c + c)\n .join('');\n }\n\n if (![6, 8].includes(hex.length)) return undefined;\n\n const r = parseInt(hex.slice(0, 2), 16);\n const g = parseInt(hex.slice(2, 4), 16);\n const b = parseInt(hex.slice(4, 6), 16);\n const a = hex.length === 8 ? parseInt(hex.slice(6, 8), 16) / 255 : 1;\n\n return new RGBColor(r, g, b, a);\n }\n\n private static parseRgbFunction(input: string): RGBColor | undefined {\n const match = input.match(RGB_REGEX);\n\n if (!match?.[1]) return undefined;\n\n const [rStr, gStr, bStr, aStr] = match[1].split(',').map((v) => v.trim());\n\n const r = clamp(Number(rStr), 0, 255);\n const g = clamp(Number(gStr), 0, 255);\n const b = clamp(Number(bStr), 0, 255);\n const a = aStr !== undefined ? clamp(Number(aStr), 0, 1) : 1;\n\n if ([r, g, b, a].some((v) => Number.isNaN(v))) return undefined;\n\n return new RGBColor(r, g, b, a);\n }\n\n private toHSB(): HSBColor {\n const scale = 255;\n const [r, g, b] = [this.red / scale, this.green / scale, this.blue / scale];\n\n const mmax = Math.max(r, g, b);\n const mmin = Math.min(r, g, b);\n\n const chroma = mmax - mmin;\n const brightness = mmax;\n\n const saturation = mmax === 0 ? 0 : chroma / mmax;\n\n let hue = 0;\n\n if (chroma !== 0) {\n switch (mmax) {\n case r:\n hue = ((g - b) / chroma) % 6;\n break;\n case g:\n hue = (b - r) / chroma + 2;\n break;\n case b:\n hue = (r - g) / chroma + 4;\n break;\n }\n\n hue *= 60;\n\n if (hue < 0) {\n hue += 360;\n }\n }\n\n return new HSBColor(Number(hue.toFixed(2)), Number((saturation * 100).toFixed(2)), Number((brightness * 100).toFixed(2)), Number(this.alpha.toFixed(2)));\n }\n\n private toHSL(): HSLColor {\n const scale = 255;\n const [r, g, b] = [this.red / scale, this.green / scale, this.blue / scale];\n\n const mmax = Math.max(r, g, b);\n const mmin = Math.min(r, g, b);\n\n const lightness = (mmax + mmin) / 2;\n const chroma = mmax - mmin;\n\n let hue = 0;\n let saturation = -1;\n\n if (chroma !== 0) {\n switch (mmax) {\n case r:\n hue = ((g - b) / chroma) % 6;\n break;\n case g:\n hue = (b - r) / chroma + 2;\n break;\n case b:\n hue = (r - g) / chroma + 4;\n break;\n }\n\n hue *= 60;\n\n if (hue < 0) {\n hue += 360;\n }\n }\n\n if (lightness === 0 || lightness === 1) {\n saturation = 0;\n } else {\n saturation = chroma / (1 - Math.abs(2 * mmax - chroma - 1));\n }\n\n return new HSLColor(Number(hue.toFixed(2)), Number((saturation * 100).toFixed(2)), Number((lightness * 100).toFixed(2)), Number(this.alpha.toFixed(2)));\n }\n\n private toOKLCH(): OKLCHColor {\n const rgb = [this.red / 255, this.green / 255, this.blue / 255];\n\n const rgbLinear = rgb.map((c) => (Math.abs(c) <= 0.04045 ? c / 12.92 : (c < 0 ? -1 : 1) * ((Math.abs(c) + 0.055) / 1.055) ** 2.4));\n\n const xyz = multiplyMatrices([0.41239079926595934, 0.357584339383878, 0.1804807884018343, 0.21263900587151027, 0.715168678767756, 0.07219231536073371, 0.01933081871559182, 0.11919477979462598, 0.9505321522496607], rgbLinear);\n\n const LMS = multiplyMatrices([0.819022437996703, 0.3619062600528904, -0.1288737815209879, 0.0329836539323885, 0.9292868615863434, 0.0361446663506424, 0.0481771893596242, 0.2642395317527308, 0.6335478284694309], xyz);\n\n const LMSg = LMS.map((val) => Math.cbrt(val));\n\n const [L, a, b] = multiplyMatrices([0.210454268309314, 0.7936177747023054, -0.0040720430116193, 1.9779985324311684, -2.4285922420485799, 0.450593709617411, 0.0259040424655478, 0.7827717124575296, -0.8086757549230774], LMSg);\n\n const C = Math.sqrt(a ** 2 + b ** 2);\n const H = Math.abs(a) < 0.0002 && Math.abs(b) < 0.0002 ? NaN : ((((Math.atan2(b, a) * 180) / Math.PI) % 360) + 360) % 360;\n\n const outL = Number(Math.min(1, Math.max(0, L)).toFixed(4));\n\n const outC = Number(C.toFixed(4));\n\n const outH = Number.isNaN(H) ? NaN : Number(H.toFixed(2));\n\n return new OKLCHColor(outL, outC, outH, Number(this.alpha.toFixed(2)));\n }\n\n toHexInt(): number {\n return (this.red << 16) | (this.green << 8) | this.blue;\n }\n\n toFormat(format: ColorSpace): ColorInstance {\n switch (format) {\n case 'rgba':\n return this;\n case 'hsla':\n return this.toHSL();\n case 'hsba':\n return this.toHSB();\n case 'oklcha':\n return this.toOKLCH();\n default:\n throw new Error(`Invalid format: ${format}`);\n }\n }\n\n toString(format: ColorOutput): string {\n switch (format) {\n case 'hex':\n return `#${this.red.toString(16).padStart(2, '0')}${this.green.toString(16).padStart(2, '0')}${this.blue.toString(16).padStart(2, '0')}`;\n case 'hexa':\n return `#${this.red.toString(16).padStart(2, '0')}${this.green.toString(16).padStart(2, '0')}${this.blue.toString(16).padStart(2, '0')}${Math.round(this.alpha * 255)\n .toString(16)\n .padStart(2, '0')}`;\n case 'rgb':\n return `rgb(${this.red}, ${this.green}, ${this.blue})`;\n case 'rgba':\n case 'css':\n return `rgba(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`;\n case 'hsl':\n return this.toHSL().toString('hsl');\n case 'hsb':\n return this.toHSB().toString('hsb');\n case 'oklch':\n return this.toOKLCH().toString('oklch');\n default:\n return this.toFormat(format).toString(format);\n }\n }\n\n toJSON(): Record<string, number> {\n return {\n red: this.red,\n green: this.green,\n blue: this.blue,\n alpha: this.alpha\n };\n }\n\n clone(): ColorInstance {\n return new RGBColor(this.red, this.green, this.blue, this.alpha);\n }\n\n getChannelRange(channel: ColorChannel): ColorChannelRange {\n switch (channel) {\n case 'red':\n case 'green':\n case 'blue':\n return { min: 0, max: 255, step: 1 };\n case 'alpha':\n return { min: 0, max: 1, step: 0.01 };\n default:\n throw new Error('Unknown color channel: ' + channel);\n }\n }\n\n getFormat(): ColorSpace {\n return 'rgba';\n }\n\n getChannels(): [ColorChannel, ColorChannel, ColorChannel] {\n return ['red', 'green', 'blue'];\n }\n}\n\nexport class OKLCHColor extends Color {\n private L: number; // 0–1\n private C: number; // ~0–0.4 typical usable range\n private H: number; // 0–360\n private alpha: number; // 0–1\n\n constructor(L: number, C: number, H: number, alpha: number) {\n super();\n this.L = L;\n this.C = C;\n this.H = H;\n this.alpha = alpha;\n }\n\n static parse(value: string): OKLCHColor | undefined {\n if (!value) return undefined;\n\n const m = value.trim().match(OKLCH_REGEX);\n\n if (!m) return;\n\n const l = Number(m[1]) / 100;\n const c = Number(m[2]);\n const h = Number(m[3]);\n const alpha = m[5] !== undefined ? Number(m[5]) : 1;\n\n return new OKLCHColor(l, c, h, alpha);\n }\n\n private toRGB(): RGBColor {\n const L = this.L;\n const a = Number.isNaN(this.H) ? 0 : this.C * Math.cos((this.H * Math.PI) / 180);\n const b = Number.isNaN(this.H) ? 0 : this.C * Math.sin((this.H * Math.PI) / 180);\n\n const LMSg = multiplyMatrices([1, 0.3963377774, 0.2158037573, 1, -0.1055613458, -0.0638541728, 1, -0.0894841775, -1.291485548], [L, a, b]);\n\n const LMS = LMSg.map((v) => v ** 3);\n\n const xyz = multiplyMatrices([1.2268798758, -0.5578149945, 0.2813910457, -0.0405757452, 1.1122868033, -0.0717110581, -0.0763729367, -0.4214933324, 1.5869240198], LMS);\n\n let [r, g, b2] = multiplyMatrices([3.240969942, -1.537383178, -0.49861076, -0.969243636, 1.875967502, 0.041555057, 0.05563008, -0.203976959, 1.056971514], xyz);\n\n [r, g, b2] = [r, g, b2].map((c) => (Math.abs(c) > 0.0031308 ? (c < 0 ? -1 : 1) * (1.055 * Math.abs(c) ** (1 / 2.4) - 0.055) : 12.92 * c));\n\n return new RGBColor(Math.round(clamp(r, 0, 1) * 255), Math.round(clamp(g, 0, 1) * 255), Math.round(clamp(b2, 0, 1) * 255), Number(this.alpha.toFixed(2)));\n }\n\n toJSON(): Record<string, number> {\n return {\n L: this.L,\n C: this.C,\n H: this.H,\n alpha: this.alpha\n };\n }\n\n clone(): ColorInstance {\n return new OKLCHColor(this.L, this.C, this.H, this.alpha);\n }\n\n toFormat(format: ColorSpace): ColorInstance {\n switch (format) {\n case 'oklcha':\n return this;\n case 'rgba':\n return this.toRGB();\n case 'hsla':\n return this.toRGB().toFormat('hsla');\n case 'hsba':\n return this.toRGB().toFormat('hsba');\n default:\n throw new Error(`Invalid format: ${format}`);\n }\n }\n\n toString(format: ColorOutput): string {\n switch (format) {\n case 'hex':\n return this.toRGB().toString('hex');\n case 'hexa':\n return this.toRGB().toString('hexa');\n\n case 'oklch': {\n const l = Number.isNaN(this.L) ? 0 : Number((this.L * 100).toFixed(2));\n const c = Number.isNaN(this.C) ? 0 : Number(this.C.toFixed(4));\n const h = Number.isNaN(this.H) ? 0 : Number(this.H.toFixed(2));\n\n return `oklch(${l}% ${c} ${h})`;\n }\n\n case 'oklcha':\n\n case 'css': {\n const l = Number.isNaN(this.L) ? 0 : Number((this.L * 100).toFixed(2));\n const c = Number.isNaN(this.C) ? 0 : Number(this.C.toFixed(4));\n const h = Number.isNaN(this.H) ? 0 : Number(this.H.toFixed(2));\n const a = Number.isNaN(this.alpha) ? 1 : Number(this.alpha.toFixed(2));\n\n return `oklch(${l}% ${c} ${h} / ${a})`;\n }\n\n case 'hsl':\n return this.toRGB().toString('hsl');\n case 'hsb':\n return this.toRGB().toString('hsb');\n case 'rgb':\n return this.toRGB().toString('rgb');\n default:\n return this.toFormat(format).toString(format);\n }\n }\n\n getChannelRange(channel: ColorChannel): ColorChannelRange {\n switch (channel) {\n case 'L':\n return { min: 0, max: 1, step: 0.01 };\n case 'C':\n return { min: 0, max: 0.4, step: 0.01 };\n case 'H':\n return { min: 0, max: 360, step: 1 };\n case 'alpha':\n return { min: 0, max: 1, step: 0.01 };\n default:\n throw new Error('Unknown color channel: ' + channel);\n }\n }\n\n getFormat(): ColorSpace {\n return 'oklcha';\n }\n\n getChannels(): [ColorChannel, ColorChannel, ColorChannel] {\n return ['L', 'C', 'H'];\n }\n}\n\nexport const parseColor = (color: string): ColorInstance => {\n const parsedColor = RGBColor.parse(color) ?? HSLColor.parse(color) ?? HSBColor.parse(color) ?? undefined;\n\n if (!parsedColor) {\n throw new Error(`Invalid color: ${color}`);\n }\n\n return parsedColor;\n};\n\nexport function getChannelGradient(channel: ColorSliderChannel, value: ColorInstance, orientation: 'horizontal' | 'vertical') {\n const { min, max } = value.getChannelRange(channel);\n\n const direction = orientation === 'horizontal' ? 'right' : 'bottom';\n\n switch (channel) {\n case 'hue':\n return `linear-gradient(to ${direction}, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)`;\n\n case 'lightness': {\n const start = value.withChannelValue(channel, min).toString('css');\n const middle = value.withChannelValue(channel, (max - min) / 2).toString('css');\n const end = value.withChannelValue(channel, max).toString('css');\n\n return `linear-gradient(to ${direction}, ${start}, ${middle}, ${end})`;\n }\n\n case 'red':\n case 'green':\n case 'blue':\n case 'saturation':\n case 'brightness':\n\n case 'alpha': {\n const start = value.withChannelValue(channel, min).toString('css');\n const end = value.withChannelValue(channel, max).toString('css');\n\n return `linear-gradient(to ${direction}, ${start}, ${end})`;\n }\n\n default:\n throw new Error(`Unknown color channel: ${channel}`);\n }\n}\n\nexport function getChannelColor(color: ColorInstance, channel: ColorChannel) {\n switch (channel) {\n case 'hue':\n return parseColor(`hsl(${color.getChannelValue('hue')}, 100%, 50%)`);\n\n case 'red':\n case 'green':\n case 'blue':\n case 'lightness':\n case 'brightness':\n case 'saturation':\n return color.withChannelValue('alpha', 1);\n\n case 'alpha': {\n return color;\n }\n\n default:\n throw new Error('Unknown color channel: ' + channel);\n }\n}\n\nconst channelGenerators = {\n hue: (color: ColorInstance) => [0, 60, 120, 180, 240, 300, 360].map((h) => color.withChannelValue('hue', h).toString('css')).join(', '),\n\n saturation: (color: ColorInstance) => `${color.withChannelValue('saturation', 0).toString('css')}, transparent`,\n\n lightness: () => 'black, transparent, white',\n brightness: () => 'black, transparent'\n};\n\nexport function getAreaGradient(color: ColorInstance, axes: Color2DAxes) {\n const { xChannel, zChannel } = color.getSpaceAxes(axes);\n const zValue = color.getChannelValue(zChannel);\n const baseFormat = color.getFormat();\n\n const format = baseFormat === 'rgba' || baseFormat === 'oklcha' ? 'hsba' : baseFormat;\n\n const base = (format === 'hsla' ? parseColor('hsl(0, 100%, 50%)') : parseColor('hsb(0, 100%, 100%)')).withChannelValue(zChannel, zValue);\n\n const channels = color.getChannels();\n\n const direction = (c: string) => (c === xChannel ? 'right' : 'top');\n\n const layers = channels\n .filter((c) => c !== zChannel)\n .map((c) => `linear-gradient(to ${direction(c)}, ${channelGenerators[c as keyof typeof channelGenerators](base)})`)\n .reverse();\n\n if (zChannel === 'hue') {\n layers.push(base.toString('css'));\n }\n\n return {\n '--area-gradient': layers.join(', ')\n };\n}\n\nexport function getInputChannelValue(color: ColorInstance, channel: ColorInputChannel, format: ColorSpace = 'hsba') {\n const isHSL = color.getFormat() === 'hsla';\n\n switch (channel) {\n case 'hex': {\n if (color.getChannelValue('alpha') < color.getChannelRange('alpha').max) {\n return color.toString('hexa');\n }\n\n return color.toString('hex');\n }\n\n case 'css':\n return color.toFormat(format).toString('css');\n\n case 'red':\n case 'green':\n case 'blue':\n return color.toFormat('rgba').getChannelValue(channel).toString();\n\n case 'hue':\n return color\n .toFormat(isHSL ? 'hsla' : 'hsba')\n .getChannelValue('hue')\n .toString();\n\n case 'saturation':\n return color\n .toFormat(isHSL ? 'hsla' : 'hsba')\n .getChannelValue('saturation')\n .toString();\n\n case 'lightness':\n return color.toFormat('hsla').getChannelValue('lightness').toString();\n\n case 'brightness':\n return color.toFormat('hsba').getChannelValue('brightness').toString();\n\n case 'C':\n return color.toFormat('oklcha').getChannelValue('C').toString();\n case 'H':\n return color.toFormat('oklcha').getChannelValue('H').toString();\n case 'L':\n return color.toFormat('oklcha').getChannelValue('L').toString();\n default:\n return color.getChannelValue(channel).toString();\n }\n}\n\nexport function getInputChannelRange(color: ColorInstance, channel: ColorInputChannel = 'hex'): ColorChannelRange | undefined {\n switch (channel) {\n case 'hex': {\n return {\n min: (parseColor('#000000') as RGBColor).toHexInt(),\n max: (parseColor('#FFFFFF') as RGBColor).toHexInt(),\n step: 1\n };\n }\n\n case 'css':\n return undefined;\n\n case 'red':\n case 'green':\n case 'blue':\n return color.toFormat('rgba').getChannelRange(channel);\n\n case 'hue':\n case 'lightness':\n case 'saturation':\n return color.toFormat('hsla').getChannelRange(channel);\n\n case 'brightness':\n return color.toFormat('hsba').getChannelRange(channel);\n\n case 'L':\n case 'C':\n case 'H':\n return color.toFormat('oklcha').getChannelRange(channel);\n\n default:\n return color.getChannelRange(channel);\n }\n}\n","import type { useColorPickerInputProps } from '@primereact/types/shared/colorpicker';\n\nexport const defaultProps: useColorPickerInputProps = {\n channel: 'hex'\n};\n"],"mappings":"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","names":["withHeadless","Component","useColorPicker","styles","mergeProps","withComponentInCore","baseStyles","withComponent","name","defaultProps","styles","__spreadProps","__spreadValues","baseStyles","components","setup","render","withComponentInCore","React","createOptionalContext","ColorPickerProvider","useColorPickerContext","HeadlessColorPicker","defaultProps","__spreadValues","Component","mergeProps","React","Component","mergeProps","React","defaultAreaBackgroundProps","ColorPickerAreaBackground","withComponent","defaultAreaBackgroundProps","useColorPickerContext","instance","props","ptmi","colorpicker","rootProps","mergeProps","Component","Component","mergeProps","React","defaultAreaThumbProps","ColorPickerAreaThumb","withComponent","defaultAreaThumbProps","useColorPickerContext","instance","_a","_b","props","ptmi","colorpicker","disabled","rootProps","mergeProps","Component","defaultAreaProps","ColorPickerArea","withComponent","defaultAreaProps","useColorPickerContext","instance","_a","props","ptmi","colorpicker","rootProps","mergeProps","__spreadValues","Component","ColorPickerAreaBackground","ColorPickerAreaThumb","Component","EyeDropperIcon","mergeProps","Component","useButton","styles","mergeProps","React","createOptionalContext","ButtonProvider","useButtonContext","HeadlessButton","defaultProps","__spreadProps","__spreadValues","Component","groupStyles","mergeProps","React","createOptionalContext","ButtonGroupProvider","useButtonGroupContext","defaultGroupProps","ButtonGroup","withComponent","defaultGroupProps","groupStyles","instance","props","ptmi","cx","rootProps","mergeProps","ButtonGroupProvider","Component","Button","withComponent","defaultProps","styles","instance","useButton","id","props","ptmi","cx","rootProps","mergeProps","ButtonProvider","Component","ButtonGroup","React","defaultEyeDropperProps","__spreadProps","__spreadValues","defaultProps","ColorPickerEyeDropper","withComponent","defaultEyeDropperProps","useColorPickerContext","instance","_a","props","ptmi","colorpicker","rootProps","mergeProps","icon","EyeDropperIcon","Component","Button","__spreadValues","Component","useColorPickerInput","mergeProps","Component","useInputText","styles","mergeProps","Component","useFluid","styles","mergeProps","React","createOptionalContext","FluidProvider","useFluidContext","HeadlessFluid","defaultProps","__spreadProps","__spreadValues","Fluid","withComponent","defaultProps","styles","instance","useFluid","id","props","ptmi","cx","rootProps","mergeProps","FluidProvider","Component","React","createOptionalContext","InputTextProvider","useInputTextContext","HeadlessInputText","defaultProps","__spreadProps","__spreadValues","InputText","withComponent","defaultProps","styles","instance","inputtext","useInputText","fluid","useFluidContext","__spreadProps","__spreadValues","id","props","ptmi","cx","rootProps","mergeProps","InputTextProvider","Component","React","createOptionalContext","ColorPickerInputProvider","useColorPickerInputContext","HeadlessColorPickerInput","defaultInputProps","__spreadValues","defaultProps","ColorPickerInput","withComponent","defaultInputProps","instance","colorpicker","useColorPickerContext","colorpickerinput","useColorPickerInput","__spreadValues","props","ptmi","type","channelRange","channelValue","handleBlur","handleKeyDown","rootProps","mergeProps","ColorPickerInputProvider","Component","InputText","Component","useColorPickerSlider","mergeProps","React","Component","mergeProps","React","createOptionalContext","ColorPickerSliderProvider","useColorPickerSliderContext","defaultSliderThumbProps","ColorPickerSliderThumb","withComponent","defaultSliderThumbProps","colorpicker","useColorPickerContext","colorpickerslider","useColorPickerSliderContext","instance","_a","_b","_c","_d","props","ptmi","disabled","rootProps","mergeProps","Component","Component","mergeProps","React","defaultSliderTrackProps","ColorPickerSliderTrack","withComponent","defaultSliderTrackProps","colorpicker","useColorPickerContext","colorpickerslider","useColorPickerSliderContext","instance","props","ptmi","rootProps","mergeProps","Component","Component","mergeProps","React","defaultTransparencyGridProps","ColorPickerTransparencyGrid","withComponent","defaultTransparencyGridProps","useColorPickerContext","instance","props","ptmi","colorpicker","rootProps","mergeProps","Component","HeadlessColorPickerSlider","defaultSliderProps","__spreadProps","__spreadValues","ColorPickerSlider","withComponent","defaultSliderProps","instance","colorpicker","useColorPickerContext","colorpickerslider","useColorPickerSlider","__spreadProps","__spreadValues","_a","props","ptmi","handleSliderPointerDown","handleSliderPointerMove","handleSliderPointerUp","sliderStyle","rootProps","mergeProps","ColorPickerSliderProvider","Component","ColorPickerTransparencyGrid","ColorPickerSliderTrack","ColorPickerSliderThumb","Component","mergeProps","React","Component","mergeProps","React","defaultSwatchBackgroundProps","ColorPickerSwatchBackground","withComponent","defaultSwatchBackgroundProps","useColorPickerContext","instance","props","ptmi","colorpicker","rootProps","mergeProps","Component","defaultSwatchProps","ColorPickerSwatch","withComponent","defaultSwatchProps","useColorPickerContext","instance","_a","props","ptmi","colorpicker","rootProps","mergeProps","__spreadValues","Component","ColorPickerTransparencyGrid","ColorPickerSwatchBackground","ColorPicker","withComponent","defaultProps","styles","instance","useColorPicker","props","ptmi","rootProps","mergeProps","ColorPickerProvider","Component","ColorPickerArea","ColorPickerAreaBackground","ColorPickerAreaThumb","ColorPickerSlider","ColorPickerSliderThumb","ColorPickerSliderTrack","ColorPickerTransparencyGrid","ColorPickerSwatch","ColorPickerSwatchBackground","ColorPickerEyeDropper","ColorPickerInput","HSB_REGEX","HSL_REGEX","HEX_REGEX","RGB_REGEX","OKLCH_REGEX","clamp","value","min","max","multiplyMatrices","A","B","snap","value","min","max","step","offset","clamp","steps","snapped","precision","Color","channel","cloned","xyChannels","xChannel","yChannel","zChannel","availableStep","HSBColor","_HSBColor","hue","saturation","brightness","alpha","_a","match","HSB_REGEX","h","s","b","a","n","f","k","scale","RGBColor","l","HSLColor","format","_HSLColor","lightness","_b","HSL_REGEX","_RGBColor","red","green","blue","input","HEX_REGEX","hex","c","r","g","RGB_REGEX","rStr","gStr","bStr","aStr","v","mmax","mmin","chroma","rgbLinear","xyz","LMSg","val","L","C","H","outL","outC","outH","OKLCHColor","_OKLCHColor","m","OKLCH_REGEX","LMS","b2","parseColor","color","_c","parsedColor","getInputChannelValue","color","channel","format","isHSL","getInputChannelRange","parseColor","defaultProps","HEX_REGEX","isValidHex","value","prefixHex","useColorPickerInput","withHeadless","defaultProps","props","channel","colorpicker","useColorPickerContext","colorValue","colorFormat","channelRange","getInputChannelRange","channelValue","getInputChannelValue","state","isCssChannel","changeValue","newColor","parseColor","e","current","parsed","valueAsNumber","event"]}
@@ -0,0 +1,11 @@
1
+ import * as React from 'react';
2
+ export declare function isValidHex(value: string): boolean;
3
+ export declare function prefixHex(value: string): string;
4
+ export declare const useColorPickerInput: (inProps?: unknown) => import("@primereact/types/core").HeadlessInstance<import("@primereact/types/shared/colorpicker").useColorPickerInputProps, unknown, {
5
+ state: {};
6
+ channelValue: string;
7
+ channelRange: import("@primereact/types/shared/colorpicker").ColorChannelRange | undefined;
8
+ type: "text" | "number";
9
+ handleBlur: (event: React.FocusEvent<HTMLInputElement>) => void;
10
+ handleKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
11
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { useColorPickerInputProps } from '@primereact/types/shared/colorpicker';
2
+ export declare const defaultProps: useColorPickerInputProps;
@@ -0,0 +1,2 @@
1
+ export * from './useColorPickerSlider';
2
+ export * from './useColorPickerSlider.props';
@@ -0,0 +1,2 @@
1
+ var ee=Object.defineProperty,re=Object.defineProperties;var oe=Object.getOwnPropertyDescriptors;var ot=Object.getOwnPropertySymbols;var ne=Object.prototype.hasOwnProperty,se=Object.prototype.propertyIsEnumerable;var nt=(n,e,o)=>e in n?ee(n,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):n[e]=o,u=(n,e)=>{for(var o in e||(e={}))ne.call(e,o)&&nt(n,o,e[o]);if(ot)for(var o of ot(e))se.call(e,o)&&nt(n,o,e[o]);return n},d=(n,e)=>re(n,oe(e));import{withHeadless as dr}from"@primereact/core/headless";import{Component as or}from"@primereact/core/component";import{useColorPicker as nr}from"@primereact/headless/colorpicker";import{styles as sr}from"@primereact/styles/colorpicker";import{mergeProps as ar}from"@primeuix/utils";import{withComponent as ae}from"@primereact/core/component";import{styles as ie}from"@primereact/styles/base";var p=({name:n="UnknownComponent",defaultProps:e,styles:o=d(u({},ie),{name:"global"}),components:t,setup:r,render:s})=>ae({name:n,defaultProps:e,styles:o,components:t,setup:r,render:s});import*as $ from"react";import{createOptionalContext as le}from"@primereact/core/utils";var[st,c]=le();import*as at from"@primereact/headless/colorpicker";var it=u({},at.defaultProps);import{Component as ce}from"@primereact/core/component";import{mergeProps as de}from"@primeuix/utils";import*as w from"react";import{Component as ue}from"@primereact/core/component";import{mergeProps as pe}from"@primeuix/utils";import*as ut from"react";var lt={as:"div"};var V=p({name:"ColorPickerAreaBackground",defaultProps:lt,setup(){return{colorpicker:c()}},render(n){let{props:e,ptmi:o,colorpicker:t}=n,r=pe({className:t==null?void 0:t.cx("areaBackground")},t==null?void 0:t.ptm("areaBackground"),o("root"));return ut.createElement(ue,{instance:n,attrs:r,children:e.children})}});import{Component as me}from"@primereact/core/component";import{mergeProps as he}from"@primeuix/utils";import*as mt from"react";var pt={as:"div"};var E=p({name:"ColorPickerAreaThumb",defaultProps:pt,setup(){return{colorpicker:c()}},render(n){var i,a;let{props:e,ptmi:o,colorpicker:t}=n,r=t==null?void 0:t.props.disabled,s=he({className:t==null?void 0:t.cx("areaThumb",{disabled:r}),onKeyDown:t==null?void 0:t.handleAreaKeyDown,role:"slider",tabIndex:r?-1:0,"aria-disabled":r,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":(a=(i=t==null?void 0:t.areaValue)==null?void 0:i.getChannelValue(t==null?void 0:t.areaChannels.xChannel))!=null?a:0,"aria-label":`${t==null?void 0:t.areaChannels.xChannel} and ${t==null?void 0:t.areaChannels.yChannel}`,"aria-roledescription":"2d slider","aria-valuetext":`${t==null?void 0:t.areaChannels.xChannel} ${t==null?void 0:t.areaValue.getChannelValue(t==null?void 0:t.areaChannels.xChannel)}, ${t==null?void 0:t.areaChannels.yChannel} ${t==null?void 0:t.areaValue.getChannelValue(t==null?void 0:t.areaChannels.yChannel)}`},t==null?void 0:t.ptm("areaThumb"),o("root"));return mt.createElement(me,{instance:n,attrs:s,children:e.children})}});var ht={as:"div"};var ct=p({name:"ColorPickerArea",defaultProps:ht,setup(){return{colorpicker:c()}},render(n){var s;let{props:e,ptmi:o,colorpicker:t}=n,r=de({className:t==null?void 0:t.cx("area"),onPointerDown:t==null?void 0:t.handleAreaPointerDown,onPointerMove:t==null?void 0:t.handleAreaPointerMove,onPointerUp:t==null?void 0:t.handleAreaPointerUp,style:u(u({},t==null?void 0:t.areaStyles),t==null?void 0:t.sx("area"))},t==null?void 0:t.ptm("area"),o("root"));return w.createElement(ce,{instance:n,attrs:r,children:(s=e.children)!=null?s:w.createElement(w.Fragment,null,w.createElement(V,null),w.createElement(E,null))})}});import{Component as Fe}from"@primereact/core/component";import{EyeDropperIcon as Ne}from"@primereact/icons/eyedropper";import{mergeProps as ke}from"@primeuix/utils";import{Component as xe}from"@primereact/core/component";import{useButton as Se}from"@primereact/headless/button";import{styles as we}from"@primereact/styles/button";import{mergeProps as ye}from"@primeuix/utils";import*as j from"react";import{createOptionalContext as Ce}from"@primereact/core/utils";var[dt,no]=Ce();import*as Ct from"@primereact/headless/button";var L=d(u({},Ct.defaultProps),{as:"button",size:void 0,severity:void 0,variant:void 0,plain:!1,rounded:!1,raised:!1,iconOnly:!1,fluid:!1});import{Component as ge}from"@primereact/core/component";import{groupStyles as be}from"@primereact/styles/button";import{mergeProps as Pe}from"@primeuix/utils";import*as J from"react";import{createOptionalContext as fe}from"@primereact/core/utils";var[ft,uo]=fe();var gt={as:"div"};var bt=p({name:"ButtonGroup",defaultProps:gt,styles:be,render(n){let{props:e,ptmi:o,cx:t}=n,r=Pe({className:t("root")},o("root"));return J.createElement(ft,{value:n},J.createElement(ge,{instance:n,attrs:r,children:e.children}))}});var Pt=p({name:"Button",defaultProps:L,styles:we,setup(n){return Se(n.inProps)},render(n){let{id:e,props:o,ptmi:t,cx:r}=n,s=ye({id:e,className:r("root")},t("root"));return j.createElement(dt,{value:n},j.createElement(xe,{instance:n,attrs:s,children:o.children}))},components:{Group:bt}});import*as q from"react";var xt=d(u({},L),{iconOnly:!0,variant:"outlined",severity:"secondary"});var St=p({name:"ColorPickerEyeDropper",defaultProps:xt,setup(){return{colorpicker:c()}},render(n){var a;let{props:e,ptmi:o,colorpicker:t}=n,r=ke({type:"button",className:t==null?void 0:t.cx("eyeDropper"),onClick:t==null?void 0:t.openEyeDropper,disabled:e.disabled||(t==null?void 0:t.props.disabled)},t==null?void 0:t.ptm("eyeDropper"),o("root")),i=q.createElement(Ne,{pt:t==null?void 0:t.ptm("eyeDropperIcon")});return q.createElement(Fe,{as:Pt,instance:n,attrs:u(u({},e),r),pt:t==null?void 0:t.ptm("eyeDropper"),children:(a=e.children)!=null?a:i})}});import{Component as Ae}from"@primereact/core/component";import{useColorPickerInput as Oe}from"@primereact/headless/colorpicker/input";import{mergeProps as Ke}from"@primeuix/utils";import{Component as Te}from"@primereact/core/component";import{useInputText as Me}from"@primereact/headless/inputtext";import{styles as Ve}from"@primereact/styles/inputtext";import{mergeProps as Ee}from"@primeuix/utils";import{Component as ve}from"@primereact/core/component";import{useFluid as Be}from"@primereact/headless/fluid";import{styles as He}from"@primereact/styles/fluid";import{mergeProps as $e}from"@primeuix/utils";import*as Y from"react";import{createOptionalContext as Re}from"@primereact/core/utils";var[wt,yt]=Re();import*as It from"@primereact/headless/fluid";var Ft=d(u({},It.defaultProps),{as:"div"});var nn=p({name:"Fluid",defaultProps:Ft,styles:He,setup(n){return Be(n.inProps)},render(n){let{id:e,props:o,ptmi:t,cx:r}=n,s=$e({id:e,className:r("root")},t("root"));return Y.createElement(wt,{value:n},Y.createElement(ve,{instance:n,attrs:s,children:o.children}))}});import*as Q from"react";import{createOptionalContext as Ge}from"@primereact/core/utils";var[Nt,hn]=Ge();import*as kt from"@primereact/headless/inputtext";var D=d(u({},kt.defaultProps),{as:"input",size:void 0,variant:void 0,fluid:void 0,invalid:!1});var Rt=p({name:"InputText",defaultProps:D,styles:Ve,setup(n){let e=Me(n==null?void 0:n.inProps),o=yt();return d(u({},e),{fluid:o})},render(n){let{id:e,props:o,ptmi:t,cx:r,fluid:s}=n,i=Ee({id:e,type:"text",className:r("root",{$fluid:!!s})},t("root"));return Q.createElement(Nt,{value:n},Q.createElement(Te,{instance:n,attrs:i,children:o.children}))}});import*as W from"react";import{createOptionalContext as De}from"@primereact/core/utils";var[vt,Bn]=De();import*as Bt from"@primereact/headless/colorpicker/input";var Ht=u(u({},D),Bt.defaultProps);var $t=p({name:"ColorPickerInput",defaultProps:Ht,setup(n){let e=c(),o=Oe(n.inProps);return u({colorpicker:e},o)},render(n){let{props:e,ptmi:o,colorpicker:t,type:r,channelRange:s,channelValue:i,handleBlur:a,handleKeyDown:l}=n,m=Ke({id:e.inputId,className:t==null?void 0:t.cx("input"),type:r,spellCheck:!1,autoComplete:"off",defaultValue:i,min:s==null?void 0:s.min,max:s==null?void 0:s.max,step:s==null?void 0:s.step,onBlur:a,onKeyDown:l,"data-channel":e.channel,"aria-label":e.channel,disabled:e.disabled||(t==null?void 0:t.props.disabled)},t==null?void 0:t.ptm("input"),o("root"));return W.createElement(vt,{value:n},W.createElement(Ae,{as:Rt,instance:n,attrs:u(u({},e),m),pt:t==null?void 0:t.ptm("input"),children:e.children,ref:t==null?void 0:t.registerInputEl}))}});import{Component as Qe}from"@primereact/core/component";import{useColorPickerSlider as We}from"@primereact/headless/colorpicker/slider";import{mergeProps as Ze}from"@primeuix/utils";import*as x from"react";import{Component as Ue}from"@primereact/core/component";import{mergeProps as Xe}from"@primeuix/utils";import*as Mt from"react";import{createOptionalContext as ze}from"@primereact/core/utils";var[Gt,A]=ze();var Tt={as:"div"};var O=p({name:"ColorPickerSliderThumb",defaultProps:Tt,setup(){let n=c(),e=A();return{colorpicker:n,colorpickerslider:e}},render(n){var a,l,m,h;let{props:e,ptmi:o,colorpicker:t,colorpickerslider:r}=n,s=!!(r!=null&&r.props.disabled||t!=null&&t.props.disabled),i=Xe({className:t==null?void 0:t.cx("slider-thumb",{disabled:(r==null?void 0:r.props.disabled)||(t==null?void 0:t.props.disabled)}),role:"slider",tabIndex:s?-1:0,onKeyDown:r==null?void 0:r.handleSliderKeyDown,"data-orientation":r==null?void 0:r.props.orientation,"data-channel":r==null?void 0:r.props.channel,"aria-orientation":r==null?void 0:r.props.orientation,"aria-disabled":s,"aria-label":`${r==null?void 0:r.props.channel} slider`,"aria-valuemin":(l=(a=r==null?void 0:r.channelRange)==null?void 0:a.min)!=null?l:0,"aria-valuemax":(h=(m=r==null?void 0:r.channelRange)==null?void 0:m.max)!=null?h:100,"aria-valuenow":r==null?void 0:r.channelValue,"aria-valuetext":`${r==null?void 0:r.props.channel} ${r==null?void 0:r.channelValue}`},t==null?void 0:t.ptm("slider-thumb"),o("root"));return Mt.createElement(Ue,{instance:n,attrs:i,children:e.children})}});import{Component as Je}from"@primereact/core/component";import{mergeProps as je}from"@primeuix/utils";import*as Et from"react";var Vt={as:"div"};var K=p({name:"ColorPickerSliderTrack",defaultProps:Vt,setup(){let n=c(),e=A();return{colorpicker:n,colorpickerslider:e}},render(n){let{props:e,ptmi:o,colorpicker:t,colorpickerslider:r}=n,s=je({className:t==null?void 0:t.cx("slider-track"),"data-orientation":r==null?void 0:r.props.orientation,"data-channel":r==null?void 0:r.props.channel},t==null?void 0:t.ptm("slider-track"),o("root"));return Et.createElement(Je,{instance:n,attrs:s,children:e.children})}});import{Component as qe}from"@primereact/core/component";import{mergeProps as Ye}from"@primeuix/utils";import*as Dt from"react";var Lt={as:"div"};var F=p({name:"ColorPickerTransparencyGrid",defaultProps:Lt,setup(){return{colorpicker:c()}},render(n){let{props:e,ptmi:o,colorpicker:t}=n,r=Ye({className:t==null?void 0:t.cx("transparency-grid")},t==null?void 0:t.ptm("transparency-grid"),o("root"));return Dt.createElement(qe,{instance:n,attrs:r,children:e.children})}});import*as At from"@primereact/headless/colorpicker/slider";var Ot=d(u({},At.defaultProps),{as:"div"});var Kt=p({name:"ColorPickerSlider",defaultProps:Ot,setup(n){let e=c(),o=We(d(u({},n.inProps),{context:e}));return d(u({},o),{colorpicker:e})},render(n){var m;let{props:e,ptmi:o,colorpicker:t,handleSliderPointerDown:r,handleSliderPointerMove:s,handleSliderPointerUp:i,sliderStyle:a}=n,l=Ze({className:t==null?void 0:t.cx("slider",{orientation:e.orientation}),onPointerDown:r,onPointerMove:s,onPointerUp:i,style:u(u({},a),t==null?void 0:t.sx("slider")),"data-orientation":e.orientation,"data-channel":e.channel},t==null?void 0:t.ptm("slider"),o("root"));return x.createElement(Gt,{value:n},x.createElement(Qe,{instance:n,attrs:l,children:(m=e.children)!=null?m:x.createElement(x.Fragment,null,x.createElement(F,null),x.createElement(K,null),x.createElement(O,null))}))}});import{Component as er}from"@primereact/core/component";import{mergeProps as rr}from"@primeuix/utils";import*as y from"react";import{Component as _e}from"@primereact/core/component";import{mergeProps as tr}from"@primeuix/utils";import*as Ut from"react";var zt={as:"div"};var z=p({name:"ColorPickerSwatchBackground",defaultProps:zt,setup(){return{colorpicker:c()}},render(n){let{props:e,ptmi:o,colorpicker:t}=n,r=tr({className:t==null?void 0:t.cx("swatchBackground")},t==null?void 0:t.ptm("swatchBackground"),o("root"));return Ut.createElement(_e,{instance:n,attrs:r,children:e.children})}});var Xt={as:"div"};var Jt=p({name:"ColorPickerSwatch",defaultProps:Xt,setup(){return{colorpicker:c()}},render(n){var s;let{props:e,ptmi:o,colorpicker:t}=n,r=rr({className:t==null?void 0:t.cx("swatch"),style:u(u({},t==null?void 0:t.swatchStyles),t==null?void 0:t.sx("swatch"))},t==null?void 0:t.ptm("swatch"),o("root"));return y.createElement(er,{instance:n,attrs:r,children:(s=e.children)!=null?s:y.createElement(y.Fragment,null,y.createElement(F,null),y.createElement(z,null))})}});var va=p({name:"ColorPicker",defaultProps:it,styles:sr,setup(n){return nr(n.inProps)},render(n){let{props:e,ptmi:o}=n,t=ar(o("root"));return $.createElement(st,{value:n},$.createElement(or,{instance:n,attrs:t,children:e.children,as:$.Fragment}))},components:{Area:ct,AreaBackground:V,AreaThumb:E,Slider:Kt,SliderThumb:O,SliderTrack:K,TransparencyGrid:F,Swatch:Jt,SwatchBackground:z,EyeDropper:St,Input:$t}});import*as Qt from"react";var ir=/hsb\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%)\)|hsba\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d(.\d+)?)\)/,lr=/hsl\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%)\)|hsla\(([-+]?\d+(?:.\d+)?\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d+(?:.\d+)?%\s*,\s*[-+]?\d(.\d+)?)\)/,ur=/^#?([a-fA-F0-9]{3,8})$/,pr=/^rgba?\(\s*([^)]+)\s*\)$/,mr=/oklch\(\s*([\d.]+)%?\s+([\d.]+)\s+([\d.]+)(deg)?(?:\s*\/\s*([\d.]+))?\)/i;function g(n,e,o){return Math.min(Math.max(n,e),o)}var N=(n,e)=>[n[0]*e[0]+n[1]*e[1]+n[2]*e[2],n[3]*e[0]+n[4]*e[1]+n[5]*e[2],n[6]*e[0]+n[7]*e[1]+n[8]*e[2]];function hr(n,e,o,t){let s=g(n,e,o)-e,i=Math.round(s/t),a=e+i*t,l=(t.toString().split(".")[1]||"").length;return parseFloat(a.toFixed(l))}var k=class{getChannelValue(e){if(e in this)return this[e];throw new Error(`Channel ${e} not found`)}withChannelValue(e,o){let{min:t,max:r}=this.getChannelRange(e);if(e in this){let s=this.clone();return s[e]=g(o,t,r),s}throw new Error(`Channel ${e} not found`)}getSpaceAxes(e){let{xChannel:o,yChannel:t}=e;if(o===t)throw new Error("xChannel and yChannel cannot be the same");let r=this.getChannels().find(s=>s!==o&&s!==t);if(!r)throw new Error("zChannel not found");return{xChannel:o,yChannel:t,zChannel:r}}incChannelValue(e,o){let{min:t,max:r,step:s}=this.getChannelRange(e),i=hr(g(this.getChannelValue(e)+o,t,r),t,r,s);return this.withChannelValue(e,i)}decChannelValue(e,o){return this.incChannelValue(e,-o)}},G=class n extends k{constructor(e,o,t,r){super(),this.hue=e,this.saturation=o,this.brightness=t,this.alpha=r}static parse(e){var a;let o=e.match(ir);if(!o)return;let[t,r,s,i]=((a=o[1])!=null?a:o[2]).split(",").map(l=>Number(l.trim().replace("%","")));return new n(t%360,g(r,0,100),g(s,0,100),g(i!=null?i:1,0,1))}toRGB(){let e=this.hue,o=this.saturation/100,t=this.brightness/100;function r(i){let a=(i+e/60)%6;return t-t*o*Math.max(0,Math.min(a,4-a,1))}let s=255;return new R(Math.round(r(5)*s),Math.round(r(3)*s),Math.round(r(1)*s),Number(this.alpha.toFixed(2)))}toHSL(){let e=this.hue,o=this.saturation/100,t=this.brightness/100,r=t*(1-o/2);return r===0||r===1?o=0:o=(t-r)/Math.min(r,1-r),new T(Number(e.toFixed(2)),Number((o*100).toFixed(2)),Number((r*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toFormat(e){switch(e){case"hsba":return this;case"rgba":return this.toRGB();case"hsla":return this.toHSL();case"oklcha":return this.toRGB().toFormat("oklcha");default:throw new Error(`Invalid format: ${e}`)}}toString(e){switch(e){case"css":return this.toHSL().toString("css");case"hex":return this.toRGB().toString("hex");case"hexa":return this.toRGB().toString("hexa");case"hsb":return`hsb(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.brightness.toFixed(2)}%)`;case"hsba":return`hsba(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.brightness.toFixed(2)}%, ${this.alpha})`;case"hsl":return this.toHSL().toString("hsl");case"rgb":return this.toRGB().toString("rgb");case"oklch":return this.toRGB().toFormat("oklcha").toString("oklch");default:return this.toFormat(e).toString(e)}}toJSON(){return{hue:this.hue,saturation:this.saturation,brightness:this.brightness,alpha:this.alpha}}clone(){return new n(this.hue,this.saturation,this.brightness,this.alpha)}getChannelRange(e){switch(e){case"hue":return{min:0,max:360,step:1};case"saturation":case"brightness":return{min:0,max:100,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error("Unknown color channel: "+e)}}getFormat(){return"hsba"}getChannels(){return["hue","saturation","brightness"]}},T=class n extends k{constructor(e,o,t,r){super(),this.hue=e,this.saturation=o,this.lightness=t,this.alpha=r}static parse(e){var a,l;let o=e.match(lr);if(!o)return;let[t,r,s,i]=(l=(a=o[1]||o[2])==null?void 0:a.split(",").map(m=>Number(m.trim().replace("%",""))))!=null?l:[];return new n(t%360,g(r,0,100),g(s,0,100),g(i!=null?i:1,0,1))}toRGB(){let e=this.hue,o=this.saturation/100,t=this.lightness/100;function r(i){let a=(i+e/30)%12,l=o*Math.min(t,1-t);return t-l*Math.max(-1,Math.min(a-3,9-a,1))}let s=255;return new R(Math.round(r(0)*s),Math.round(r(8)*s),Math.round(r(4)*s),Number(this.alpha.toFixed(2)))}toHSB(){let e=this.hue,o=this.saturation/100,t=this.lightness/100,r=t+o*Math.min(t,1-t);return r===0?o=0:o=2*(1-t/r),new G(Number(e.toFixed(2)),Number((o*100).toFixed(2)),Number((r*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toFormat(e){switch(e){case"hsla":return this;case"rgba":return this.toRGB();case"hsba":return this.toHSB();case"oklcha":return this.toRGB().toFormat("oklcha");default:throw new Error(`Invalid format: ${e}`)}}toString(e){switch(e){case"hex":return this.toRGB().toString("hex");case"hexa":return this.toRGB().toString("hexa");case"hsl":return`hsl(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.lightness.toFixed(2)}%)`;case"css":case"hsla":return`hsla(${this.hue}, ${this.saturation.toFixed(2)}%, ${this.lightness.toFixed(2)}%, ${this.alpha})`;case"rgb":return this.toRGB().toString("rgb");case"hsb":return this.toHSB().toString("hsb");case"oklch":return this.toRGB().toFormat("oklcha").toString("oklch");default:return this.toFormat(e).toString(e)}}toJSON(){return{hue:this.hue,saturation:this.saturation,lightness:this.lightness,alpha:this.alpha}}clone(){return new n(this.hue,this.saturation,this.lightness,this.alpha)}getChannelRange(e){switch(e){case"hue":return{min:0,max:360,step:1};case"saturation":case"lightness":return{min:0,max:100,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error("Unknown color channel: "+e)}}getFormat(){return"hsla"}getChannels(){return["hue","saturation","lightness"]}},R=class n extends k{constructor(e,o,t,r){super(),this.red=e,this.green=o,this.blue=t,this.alpha=r}static parse(e){var t;if(!e)return;let o=e.trim();return(t=this.parseHexColor(o))!=null?t:this.parseRgbFunction(o)}static parseHexColor(e){let o=e.match(ur);if(!o)return;let t=o[1];if(t.length<=4&&(t=t.split("").map(l=>l+l).join("")),![6,8].includes(t.length))return;let r=parseInt(t.slice(0,2),16),s=parseInt(t.slice(2,4),16),i=parseInt(t.slice(4,6),16),a=t.length===8?parseInt(t.slice(6,8),16)/255:1;return new n(r,s,i,a)}static parseRgbFunction(e){let o=e.match(pr);if(!(o!=null&&o[1]))return;let[t,r,s,i]=o[1].split(",").map(S=>S.trim()),a=g(Number(t),0,255),l=g(Number(r),0,255),m=g(Number(s),0,255),h=i!==void 0?g(Number(i),0,1):1;if(![a,l,m,h].some(S=>Number.isNaN(S)))return new n(a,l,m,h)}toHSB(){let[o,t,r]=[this.red/255,this.green/255,this.blue/255],s=Math.max(o,t,r),i=Math.min(o,t,r),a=s-i,l=s,m=s===0?0:a/s,h=0;if(a!==0){switch(s){case o:h=(t-r)/a%6;break;case t:h=(r-o)/a+2;break;case r:h=(o-t)/a+4;break}h*=60,h<0&&(h+=360)}return new G(Number(h.toFixed(2)),Number((m*100).toFixed(2)),Number((l*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toHSL(){let[o,t,r]=[this.red/255,this.green/255,this.blue/255],s=Math.max(o,t,r),i=Math.min(o,t,r),a=(s+i)/2,l=s-i,m=0,h=-1;if(l!==0){switch(s){case o:m=(t-r)/l%6;break;case t:m=(r-o)/l+2;break;case r:m=(o-t)/l+4;break}m*=60,m<0&&(m+=360)}return a===0||a===1?h=0:h=l/(1-Math.abs(2*s-l-1)),new T(Number(m.toFixed(2)),Number((h*100).toFixed(2)),Number((a*100).toFixed(2)),Number(this.alpha.toFixed(2)))}toOKLCH(){let o=[this.red/255,this.green/255,this.blue/255].map(P=>Math.abs(P)<=.04045?P/12.92:(P<0?-1:1)*((Math.abs(P)+.055)/1.055)**2.4),t=N([.41239079926595934,.357584339383878,.1804807884018343,.21263900587151027,.715168678767756,.07219231536073371,.01933081871559182,.11919477979462598,.9505321522496607],o),s=N([.819022437996703,.3619062600528904,-.1288737815209879,.0329836539323885,.9292868615863434,.0361446663506424,.0481771893596242,.2642395317527308,.6335478284694309],t).map(P=>Math.cbrt(P)),[i,a,l]=N([.210454268309314,.7936177747023054,-.0040720430116193,1.9779985324311684,-2.42859224204858,.450593709617411,.0259040424655478,.7827717124575296,-.8086757549230774],s),m=Math.sqrt(a**2+l**2),h=Math.abs(a)<2e-4&&Math.abs(l)<2e-4?NaN:(Math.atan2(l,a)*180/Math.PI%360+360)%360,S=Number(Math.min(1,Math.max(0,i)).toFixed(4)),U=Number(m.toFixed(4)),X=Number.isNaN(h)?NaN:Number(h.toFixed(2));return new Z(S,U,X,Number(this.alpha.toFixed(2)))}toHexInt(){return this.red<<16|this.green<<8|this.blue}toFormat(e){switch(e){case"rgba":return this;case"hsla":return this.toHSL();case"hsba":return this.toHSB();case"oklcha":return this.toOKLCH();default:throw new Error(`Invalid format: ${e}`)}}toString(e){switch(e){case"hex":return`#${this.red.toString(16).padStart(2,"0")}${this.green.toString(16).padStart(2,"0")}${this.blue.toString(16).padStart(2,"0")}`;case"hexa":return`#${this.red.toString(16).padStart(2,"0")}${this.green.toString(16).padStart(2,"0")}${this.blue.toString(16).padStart(2,"0")}${Math.round(this.alpha*255).toString(16).padStart(2,"0")}`;case"rgb":return`rgb(${this.red}, ${this.green}, ${this.blue})`;case"rgba":case"css":return`rgba(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`;case"hsl":return this.toHSL().toString("hsl");case"hsb":return this.toHSB().toString("hsb");case"oklch":return this.toOKLCH().toString("oklch");default:return this.toFormat(e).toString(e)}}toJSON(){return{red:this.red,green:this.green,blue:this.blue,alpha:this.alpha}}clone(){return new n(this.red,this.green,this.blue,this.alpha)}getChannelRange(e){switch(e){case"red":case"green":case"blue":return{min:0,max:255,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error("Unknown color channel: "+e)}}getFormat(){return"rgba"}getChannels(){return["red","green","blue"]}},Z=class n extends k{constructor(e,o,t,r){super(),this.L=e,this.C=o,this.H=t,this.alpha=r}static parse(e){if(!e)return;let o=e.trim().match(mr);if(!o)return;let t=Number(o[1])/100,r=Number(o[2]),s=Number(o[3]),i=o[5]!==void 0?Number(o[5]):1;return new n(t,r,s,i)}toRGB(){let e=this.L,o=Number.isNaN(this.H)?0:this.C*Math.cos(this.H*Math.PI/180),t=Number.isNaN(this.H)?0:this.C*Math.sin(this.H*Math.PI/180),s=N([1,.3963377774,.2158037573,1,-.1055613458,-.0638541728,1,-.0894841775,-1.291485548],[e,o,t]).map(h=>h**3),i=N([1.2268798758,-.5578149945,.2813910457,-.0405757452,1.1122868033,-.0717110581,-.0763729367,-.4214933324,1.5869240198],s),[a,l,m]=N([3.240969942,-1.537383178,-.49861076,-.969243636,1.875967502,.041555057,.05563008,-.203976959,1.056971514],i);return[a,l,m]=[a,l,m].map(h=>Math.abs(h)>.0031308?(h<0?-1:1)*(1.055*Math.abs(h)**(1/2.4)-.055):12.92*h),new R(Math.round(g(a,0,1)*255),Math.round(g(l,0,1)*255),Math.round(g(m,0,1)*255),Number(this.alpha.toFixed(2)))}toJSON(){return{L:this.L,C:this.C,H:this.H,alpha:this.alpha}}clone(){return new n(this.L,this.C,this.H,this.alpha)}toFormat(e){switch(e){case"oklcha":return this;case"rgba":return this.toRGB();case"hsla":return this.toRGB().toFormat("hsla");case"hsba":return this.toRGB().toFormat("hsba");default:throw new Error(`Invalid format: ${e}`)}}toString(e){switch(e){case"hex":return this.toRGB().toString("hex");case"hexa":return this.toRGB().toString("hexa");case"oklch":{let o=Number.isNaN(this.L)?0:Number((this.L*100).toFixed(2)),t=Number.isNaN(this.C)?0:Number(this.C.toFixed(4)),r=Number.isNaN(this.H)?0:Number(this.H.toFixed(2));return`oklch(${o}% ${t} ${r})`}case"oklcha":case"css":{let o=Number.isNaN(this.L)?0:Number((this.L*100).toFixed(2)),t=Number.isNaN(this.C)?0:Number(this.C.toFixed(4)),r=Number.isNaN(this.H)?0:Number(this.H.toFixed(2)),s=Number.isNaN(this.alpha)?1:Number(this.alpha.toFixed(2));return`oklch(${o}% ${t} ${r} / ${s})`}case"hsl":return this.toRGB().toString("hsl");case"hsb":return this.toRGB().toString("hsb");case"rgb":return this.toRGB().toString("rgb");default:return this.toFormat(e).toString(e)}}getChannelRange(e){switch(e){case"L":return{min:0,max:1,step:.01};case"C":return{min:0,max:.4,step:.01};case"H":return{min:0,max:360,step:1};case"alpha":return{min:0,max:1,step:.01};default:throw new Error("Unknown color channel: "+e)}}getFormat(){return"oklcha"}getChannels(){return["L","C","H"]}},cr=n=>{var o,t,r;let e=(r=(t=(o=R.parse(n))!=null?o:T.parse(n))!=null?t:G.parse(n))!=null?r:void 0;if(!e)throw new Error(`Invalid color: ${n}`);return e};function jt(n,e,o){let{min:t,max:r}=e.getChannelRange(n),s=o==="horizontal"?"right":"bottom";switch(n){case"hue":return`linear-gradient(to ${s}, rgb(255, 0, 0) 0%, rgb(255, 255, 0) 17%, rgb(0, 255, 0) 33%, rgb(0, 255, 255) 50%, rgb(0, 0, 255) 67%, rgb(255, 0, 255) 83%, rgb(255, 0, 0) 100%)`;case"lightness":{let i=e.withChannelValue(n,t).toString("css"),a=e.withChannelValue(n,(r-t)/2).toString("css"),l=e.withChannelValue(n,r).toString("css");return`linear-gradient(to ${s}, ${i}, ${a}, ${l})`}case"red":case"green":case"blue":case"saturation":case"brightness":case"alpha":{let i=e.withChannelValue(n,t).toString("css"),a=e.withChannelValue(n,r).toString("css");return`linear-gradient(to ${s}, ${i}, ${a})`}default:throw new Error(`Unknown color channel: ${n}`)}}function qt(n,e){switch(e){case"hue":return cr(`hsl(${n.getChannelValue("hue")}, 100%, 50%)`);case"red":case"green":case"blue":case"lightness":case"brightness":case"saturation":return n.withChannelValue("alpha",1);case"alpha":return n;default:throw new Error("Unknown color channel: "+e)}}var Yt={channel:"hue",orientation:"horizontal",disabled:!1};var Oa=dr({name:"useColorPickerSlider",defaultProps:Yt,setup({props:n}){var et,rt;let{channel:e="hue",orientation:o,disabled:t}=n,r=c(),[s,i]=Qt.useState(!1),a={isSliderDragging:s},l=e==="alpha"?r==null?void 0:r.areaValue:(et=r==null?void 0:r.state.value)!=null&&et.getChannels().includes(e)?r==null?void 0:r.state.value:r!=null&&r.areaValue.getChannels().includes(e)?r==null?void 0:r.areaValue:(rt=r==null?void 0:r.state.value)==null?void 0:rt.toFormat((r==null?void 0:r.props.format)||"hsba"),m=(C,b,v)=>{if(!v||t||r!=null&&r.props.disabled)return;let B=v.getBoundingClientRect(),H=o==="horizontal"?(C-B.left)/B.width:(b-B.top)/B.height,I=Math.max(0,Math.min(1,H)),f=l.getChannelRange(e),Zt=I*(f.max-f.min)+f.min,_t=l.getChannelValue(e),te=Zt-_t,M=l.incChannelValue(e,te);r==null||r.setValue([M,{color:M.toString((r==null?void 0:r.props.format)||"css"),value:M}]),r==null||r.syncChannelInputs(M)},h=C=>{let b=C.currentTarget;b&&(b.setPointerCapture(C.pointerId),i(!0),m(C.clientX,C.clientY,b))},S=C=>{s&&m(C.clientX,C.clientY,C.currentTarget)},U=C=>{let b=C.currentTarget;b&&(b.releasePointerCapture(C.pointerId),i(!1))},X=C=>{if(t||r!=null&&r.props.disabled)return;let b=C.key,v=o==="vertical";if(!(v?["ArrowUp","ArrowDown"]:["ArrowLeft","ArrowRight"]).includes(b))return;C.preventDefault();let H=l;if(!H)return;let{step:I}=H.getChannelRange(e),f=H;v?(b==="ArrowDown"&&(f=f.incChannelValue(e,I)),b==="ArrowUp"&&(f=f.decChannelValue(e,I))):(b==="ArrowRight"&&(f=f.incChannelValue(e,I)),b==="ArrowLeft"&&(f=f.decChannelValue(e,I))),r==null||r.setValue([f,{color:f.toString((r==null?void 0:r.props.format)||"css"),value:f}]),r==null||r.syncChannelInputs(f)},P=l.getChannelRange(e),_=l.getChannelValue(e),tt=(_-P.min)/(P.max-P.min),Wt={"--slider-background":jt(e,l,o!=null?o:"horizontal"),"--thumb-position-left":o==="horizontal"?`${tt*100}%`:"50%","--thumb-position-top":o==="vertical"?`${tt*100}%`:"50%","--thumb-background":qt(l,e).toString("css")};return{state:a,handleSliderPointerDown:h,handleSliderPointerMove:S,handleSliderPointerUp:U,handleSliderKeyDown:X,sliderStyle:Wt,channelValue:_,channelRange:P}}});export{Yt as defaultProps,Oa as useColorPickerSlider};
2
+ //# sourceMappingURL=index.mjs.map