@hitachivantara/uikit-react-core 5.6.0 → 5.7.0

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 (196) hide show
  1. package/dist/cjs/components/Banner/Banner.cjs +33 -27
  2. package/dist/cjs/components/Banner/Banner.cjs.map +1 -1
  3. package/dist/cjs/components/Banner/Banner.styles.cjs +10 -39
  4. package/dist/cjs/components/Banner/Banner.styles.cjs.map +1 -1
  5. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs +32 -33
  6. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  7. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +22 -91
  8. package/dist/cjs/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs.map +1 -1
  9. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs +37 -30
  10. package/dist/cjs/components/Banner/BannerContent/BannerContent.cjs.map +1 -1
  11. package/dist/cjs/components/Banner/BannerContent/BannerContent.styles.cjs +20 -51
  12. package/dist/cjs/components/Banner/BannerContent/BannerContent.styles.cjs.map +1 -1
  13. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs +25 -19
  14. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  15. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +17 -45
  16. package/dist/cjs/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs.map +1 -1
  17. package/dist/cjs/components/BaseInput/BaseInput.cjs +44 -47
  18. package/dist/cjs/components/BaseInput/BaseInput.cjs.map +1 -1
  19. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs +119 -148
  20. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs.map +1 -1
  21. package/dist/cjs/components/Card/Card.styles.cjs.map +1 -1
  22. package/dist/cjs/components/Card/Content/Content.styles.cjs.map +1 -1
  23. package/dist/cjs/components/Card/Header/Header.styles.cjs.map +1 -1
  24. package/dist/cjs/components/Card/Media/Media.styles.cjs.map +1 -1
  25. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +186 -0
  26. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -0
  27. package/dist/cjs/components/ColorPicker/ColorPicker.styles.cjs +57 -0
  28. package/dist/cjs/components/ColorPicker/ColorPicker.styles.cjs.map +1 -0
  29. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs +137 -0
  30. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -0
  31. package/dist/cjs/components/ColorPicker/Fields/Fields.styles.cjs +36 -0
  32. package/dist/cjs/components/ColorPicker/Fields/Fields.styles.cjs.map +1 -0
  33. package/dist/cjs/components/ColorPicker/Fields/fieldsClasses.cjs +8 -0
  34. package/dist/cjs/components/ColorPicker/Fields/fieldsClasses.cjs.map +1 -0
  35. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs +81 -0
  36. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -0
  37. package/dist/cjs/components/ColorPicker/Picker/Picker.styles.cjs +59 -0
  38. package/dist/cjs/components/ColorPicker/Picker/Picker.styles.cjs.map +1 -0
  39. package/dist/cjs/components/ColorPicker/Picker/pickerClasses.cjs +8 -0
  40. package/dist/cjs/components/ColorPicker/Picker/pickerClasses.cjs.map +1 -0
  41. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs +51 -0
  42. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs.map +1 -0
  43. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.styles.cjs +30 -0
  44. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.styles.cjs.map +1 -0
  45. package/dist/cjs/components/ColorPicker/PresetColors/presetColorsClasses.cjs +8 -0
  46. package/dist/cjs/components/ColorPicker/PresetColors/presetColorsClasses.cjs.map +1 -0
  47. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs +67 -0
  48. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs.map +1 -0
  49. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.styles.cjs +60 -0
  50. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.styles.cjs.map +1 -0
  51. package/dist/cjs/components/ColorPicker/SavedColors/savedColorsClasses.cjs +8 -0
  52. package/dist/cjs/components/ColorPicker/SavedColors/savedColorsClasses.cjs.map +1 -0
  53. package/dist/cjs/components/ColorPicker/colorPickerClasses.cjs +8 -0
  54. package/dist/cjs/components/ColorPicker/colorPickerClasses.cjs.map +1 -0
  55. package/dist/cjs/components/DatePicker/DatePicker.styles.cjs +0 -24
  56. package/dist/cjs/components/DatePicker/DatePicker.styles.cjs.map +1 -1
  57. package/dist/cjs/components/Dialog/Dialog.styles.cjs +2 -2
  58. package/dist/cjs/components/Dialog/Dialog.styles.cjs.map +1 -1
  59. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs +5 -3
  60. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs.map +1 -1
  61. package/dist/cjs/components/FilterGroup/Counter/Counter.styles.cjs.map +1 -1
  62. package/dist/cjs/components/FilterGroup/Counter/counterClasses.cjs +8 -0
  63. package/dist/cjs/components/FilterGroup/Counter/counterClasses.cjs.map +1 -0
  64. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs +1 -1
  65. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs.map +1 -1
  66. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.styles.cjs.map +1 -1
  67. package/dist/cjs/components/FilterGroup/FilterContent/filterContentClasses.cjs +1 -1
  68. package/dist/cjs/components/FilterGroup/FilterContent/filterContentClasses.cjs.map +1 -1
  69. package/dist/cjs/components/FilterGroup/FilterGroup.styles.cjs.map +1 -1
  70. package/dist/cjs/components/FilterGroup/LeftPanel/LeftPanel.cjs +5 -2
  71. package/dist/cjs/components/FilterGroup/LeftPanel/LeftPanel.cjs.map +1 -1
  72. package/dist/cjs/components/FilterGroup/LeftPanel/LeftPanel.styles.cjs.map +1 -1
  73. package/dist/cjs/components/FilterGroup/LeftPanel/leftPanelClasses.cjs +8 -0
  74. package/dist/cjs/components/FilterGroup/LeftPanel/leftPanelClasses.cjs.map +1 -0
  75. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs +8 -5
  76. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
  77. package/dist/cjs/components/FilterGroup/RightPanel/RightPanel.styles.cjs.map +1 -1
  78. package/dist/cjs/components/FilterGroup/RightPanel/rightPanelClasses.cjs +8 -0
  79. package/dist/cjs/components/FilterGroup/RightPanel/rightPanelClasses.cjs.map +1 -0
  80. package/dist/cjs/components/InlineEditor/InlineEditor.styles.cjs.map +1 -1
  81. package/dist/cjs/components/Input/Input.cjs +168 -127
  82. package/dist/cjs/components/Input/Input.cjs.map +1 -1
  83. package/dist/cjs/components/Input/Input.styles.cjs +61 -172
  84. package/dist/cjs/components/Input/Input.styles.cjs.map +1 -1
  85. package/dist/cjs/components/QueryBuilder/Rule/Rule.styles.cjs.map +1 -1
  86. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs.map +1 -1
  87. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +1 -1
  88. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
  89. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs.map +1 -1
  90. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.styles.cjs +1 -0
  91. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.styles.cjs.map +1 -1
  92. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs.map +1 -1
  93. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs.map +1 -1
  94. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.styles.cjs.map +1 -1
  95. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs.map +1 -1
  96. package/dist/cjs/index.cjs +4 -0
  97. package/dist/cjs/index.cjs.map +1 -1
  98. package/dist/esm/components/Banner/Banner.js +33 -28
  99. package/dist/esm/components/Banner/Banner.js.map +1 -1
  100. package/dist/esm/components/Banner/Banner.styles.js +10 -36
  101. package/dist/esm/components/Banner/Banner.styles.js.map +1 -1
  102. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js +34 -35
  103. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  104. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +22 -89
  105. package/dist/esm/components/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +1 -1
  106. package/dist/esm/components/Banner/BannerContent/BannerContent.js +36 -31
  107. package/dist/esm/components/Banner/BannerContent/BannerContent.js.map +1 -1
  108. package/dist/esm/components/Banner/BannerContent/BannerContent.styles.js +20 -48
  109. package/dist/esm/components/Banner/BannerContent/BannerContent.styles.js.map +1 -1
  110. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js +27 -21
  111. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  112. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +17 -43
  113. package/dist/esm/components/Banner/BannerContent/MessageContainer/MessageContainer.styles.js.map +1 -1
  114. package/dist/esm/components/BaseInput/BaseInput.js +47 -50
  115. package/dist/esm/components/BaseInput/BaseInput.js.map +1 -1
  116. package/dist/esm/components/BaseInput/BaseInput.styles.js +119 -146
  117. package/dist/esm/components/BaseInput/BaseInput.styles.js.map +1 -1
  118. package/dist/esm/components/Card/Card.styles.js.map +1 -1
  119. package/dist/esm/components/Card/Content/Content.styles.js.map +1 -1
  120. package/dist/esm/components/Card/Header/Header.styles.js.map +1 -1
  121. package/dist/esm/components/Card/Media/Media.styles.js.map +1 -1
  122. package/dist/esm/components/ColorPicker/ColorPicker.js +186 -0
  123. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -0
  124. package/dist/esm/components/ColorPicker/ColorPicker.styles.js +57 -0
  125. package/dist/esm/components/ColorPicker/ColorPicker.styles.js.map +1 -0
  126. package/dist/esm/components/ColorPicker/Fields/Fields.js +118 -0
  127. package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -0
  128. package/dist/esm/components/ColorPicker/Fields/Fields.styles.js +36 -0
  129. package/dist/esm/components/ColorPicker/Fields/Fields.styles.js.map +1 -0
  130. package/dist/esm/components/ColorPicker/Fields/fieldsClasses.js +8 -0
  131. package/dist/esm/components/ColorPicker/Fields/fieldsClasses.js.map +1 -0
  132. package/dist/esm/components/ColorPicker/Picker/Picker.js +81 -0
  133. package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -0
  134. package/dist/esm/components/ColorPicker/Picker/Picker.styles.js +59 -0
  135. package/dist/esm/components/ColorPicker/Picker/Picker.styles.js.map +1 -0
  136. package/dist/esm/components/ColorPicker/Picker/pickerClasses.js +8 -0
  137. package/dist/esm/components/ColorPicker/Picker/pickerClasses.js.map +1 -0
  138. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js +51 -0
  139. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js.map +1 -0
  140. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.styles.js +30 -0
  141. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.styles.js.map +1 -0
  142. package/dist/esm/components/ColorPicker/PresetColors/presetColorsClasses.js +8 -0
  143. package/dist/esm/components/ColorPicker/PresetColors/presetColorsClasses.js.map +1 -0
  144. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js +67 -0
  145. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js.map +1 -0
  146. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.styles.js +60 -0
  147. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.styles.js.map +1 -0
  148. package/dist/esm/components/ColorPicker/SavedColors/savedColorsClasses.js +8 -0
  149. package/dist/esm/components/ColorPicker/SavedColors/savedColorsClasses.js.map +1 -0
  150. package/dist/esm/components/ColorPicker/colorPickerClasses.js +8 -0
  151. package/dist/esm/components/ColorPicker/colorPickerClasses.js.map +1 -0
  152. package/dist/esm/components/DatePicker/DatePicker.styles.js +0 -24
  153. package/dist/esm/components/DatePicker/DatePicker.styles.js.map +1 -1
  154. package/dist/esm/components/Dialog/Dialog.styles.js +2 -2
  155. package/dist/esm/components/Dialog/Dialog.styles.js.map +1 -1
  156. package/dist/esm/components/FilterGroup/Counter/Counter.js +5 -3
  157. package/dist/esm/components/FilterGroup/Counter/Counter.js.map +1 -1
  158. package/dist/esm/components/FilterGroup/Counter/Counter.styles.js.map +1 -1
  159. package/dist/esm/components/FilterGroup/Counter/counterClasses.js +8 -0
  160. package/dist/esm/components/FilterGroup/Counter/counterClasses.js.map +1 -0
  161. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js +1 -1
  162. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  163. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.styles.js.map +1 -1
  164. package/dist/esm/components/FilterGroup/FilterContent/filterContentClasses.js +1 -1
  165. package/dist/esm/components/FilterGroup/FilterContent/filterContentClasses.js.map +1 -1
  166. package/dist/esm/components/FilterGroup/FilterGroup.styles.js.map +1 -1
  167. package/dist/esm/components/FilterGroup/LeftPanel/LeftPanel.js +5 -2
  168. package/dist/esm/components/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  169. package/dist/esm/components/FilterGroup/LeftPanel/LeftPanel.styles.js.map +1 -1
  170. package/dist/esm/components/FilterGroup/LeftPanel/leftPanelClasses.js +8 -0
  171. package/dist/esm/components/FilterGroup/LeftPanel/leftPanelClasses.js.map +1 -0
  172. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js +8 -5
  173. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  174. package/dist/esm/components/FilterGroup/RightPanel/RightPanel.styles.js.map +1 -1
  175. package/dist/esm/components/FilterGroup/RightPanel/rightPanelClasses.js +8 -0
  176. package/dist/esm/components/FilterGroup/RightPanel/rightPanelClasses.js.map +1 -0
  177. package/dist/esm/components/InlineEditor/InlineEditor.styles.js.map +1 -1
  178. package/dist/esm/components/Input/Input.js +170 -129
  179. package/dist/esm/components/Input/Input.js.map +1 -1
  180. package/dist/esm/components/Input/Input.styles.js +61 -170
  181. package/dist/esm/components/Input/Input.styles.js.map +1 -1
  182. package/dist/esm/components/QueryBuilder/Rule/Rule.styles.js.map +1 -1
  183. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js.map +1 -1
  184. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +1 -1
  185. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
  186. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js.map +1 -1
  187. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.styles.js +1 -0
  188. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.styles.js.map +1 -1
  189. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +1 -1
  190. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.styles.js.map +1 -1
  191. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.styles.js.map +1 -1
  192. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
  193. package/dist/esm/index.js +22 -18
  194. package/dist/esm/index.js.map +1 -1
  195. package/dist/types/index.d.ts +112 -5
  196. package/package.json +6 -5
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("@emotion/react");
4
+ const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
5
+ const ColorPicker_styles = require("./ColorPicker.styles.cjs");
6
+ const colorPickerClasses = require("./colorPickerClasses.cjs");
7
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
8
+ const useUniqueId = require("../../hooks/useUniqueId.cjs");
9
+ const PresetColors = require("./PresetColors/PresetColors.cjs");
10
+ const Picker = require("./Picker/Picker.cjs");
11
+ const SavedColors = require("./SavedColors/SavedColors.cjs");
12
+ const useTheme = require("../../hooks/useTheme.cjs");
13
+ const useLabels = require("../../hooks/useLabels.cjs");
14
+ const useControlled = require("../../hooks/useControlled.cjs");
15
+ const FormElement = require("../Forms/FormElement/FormElement.cjs");
16
+ const Label = require("../Forms/Label/Label.cjs");
17
+ const setId = require("../../utils/setId.cjs");
18
+ const InfoMessage = require("../Forms/InfoMessage/InfoMessage.cjs");
19
+ const BaseDropdown = require("../BaseDropdown/BaseDropdown.cjs");
20
+ const Typography = require("../Typography/Typography.cjs");
21
+ const Panel = require("../Panel/Panel.cjs");
22
+ const DEFAULT_LABELS = {
23
+ recommendedColorsLabel: "Recommended colors:",
24
+ customColorsLabel: "Custom colors:"
25
+ };
26
+ const HvColorPicker = ({
27
+ id,
28
+ name,
29
+ required = false,
30
+ disabled = false,
31
+ label,
32
+ "aria-label": ariaLabel,
33
+ "aria-labelledby": ariaLabelledBy,
34
+ description,
35
+ "aria-describedby": ariaDescribedBy,
36
+ className,
37
+ classes,
38
+ value,
39
+ onChange,
40
+ defaultValue = "",
41
+ expanded,
42
+ defaultExpanded = false,
43
+ recommendedColorsPosition = "top",
44
+ recommendedColors = ["#95AFE8", "#E89E5D", "#83B8A6", "#70759C", "#C57E7E", "#FADA95", "#ADBFE8", "#E3B386", "#9AC6B7", "#8B90AF", "#CF9797", "#FAE1AA"],
45
+ showLabels = true,
46
+ labels: labelsProp,
47
+ dropdownIcon = "colorPicker",
48
+ placeholder = "Select color...",
49
+ iconOnly = false,
50
+ showSavedColors = true,
51
+ showCustomColors = true,
52
+ savedColorsValue,
53
+ defaultSavedColorsValue = [],
54
+ onSavedColorAdded,
55
+ onSavedColorRemoved,
56
+ deleteSavedColorButtonArialLabel = "Delete saved color"
57
+ }) => {
58
+ const {
59
+ activeTheme
60
+ } = useTheme.useTheme();
61
+ const labels = useLabels.useLabels(DEFAULT_LABELS, labelsProp);
62
+ const [isOpen, setIsOpen] = useControlled.useControlled(expanded, Boolean(defaultExpanded));
63
+ const [color, setColor] = useControlled.useControlled(value, defaultValue);
64
+ const [savedColors, setSavedColors] = useControlled.useControlled(savedColorsValue, defaultSavedColorsValue);
65
+ const elementId = useUniqueId.default(id, "hvdropdown");
66
+ const hasLabel = label != null;
67
+ const hasDescription = description != null;
68
+ const handleToggle = (_, open) => {
69
+ setIsOpen(open);
70
+ };
71
+ const handleSelect = (val) => {
72
+ onChange == null ? void 0 : onChange(val.hex);
73
+ setColor(val.hex);
74
+ };
75
+ const handleAddColor = () => {
76
+ const colorToAdd = color || "#000000";
77
+ onSavedColorAdded == null ? void 0 : onSavedColorAdded(colorToAdd);
78
+ setSavedColors([...savedColors, colorToAdd]);
79
+ };
80
+ const handleRemoveColor = (val, position) => {
81
+ if (savedColors[position] === val) {
82
+ const sColors = [...savedColors];
83
+ sColors.splice(position, 1);
84
+ onSavedColorRemoved == null ? void 0 : onSavedColorRemoved(val);
85
+ setSavedColors(sColors);
86
+ }
87
+ };
88
+ const setFocusToContent = (containerRef) => {
89
+ const inputs = containerRef == null ? void 0 : containerRef.getElementsByTagName("input");
90
+ if (inputs && inputs.length > 0) {
91
+ inputs[0].focus();
92
+ }
93
+ };
94
+ return /* @__PURE__ */ jsxRuntime.jsx(react.ClassNames, {
95
+ children: ({
96
+ css,
97
+ cx
98
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(FormElement.HvFormElement, {
99
+ id,
100
+ name,
101
+ disabled,
102
+ required,
103
+ className: cx(colorPickerClasses.default.root, className, classes == null ? void 0 : classes.root),
104
+ children: [(hasLabel || hasDescription) && /* @__PURE__ */ jsxRuntime.jsxs("div", {
105
+ className: cx(colorPickerClasses.default.labelContainer, css(ColorPicker_styles.styles.labelContainer), classes == null ? void 0 : classes.labelContainer),
106
+ children: [hasLabel && /* @__PURE__ */ jsxRuntime.jsx(Label.HvLabel, {
107
+ id: setId.setId(elementId, "label"),
108
+ label,
109
+ className: cx(colorPickerClasses.default.label, css(ColorPicker_styles.styles.label), classes == null ? void 0 : classes.label)
110
+ }), hasDescription && /* @__PURE__ */ jsxRuntime.jsx(InfoMessage.HvInfoMessage, {
111
+ id: setId.setId(elementId, "description"),
112
+ className: cx(colorPickerClasses.default.description, classes == null ? void 0 : classes.description),
113
+ children: description
114
+ })]
115
+ }), /* @__PURE__ */ jsxRuntime.jsx(BaseDropdown.HvBaseDropdown, {
116
+ className,
117
+ expanded: isOpen,
118
+ onToggle: handleToggle,
119
+ onContainerCreation: setFocusToContent,
120
+ classes: {
121
+ root: iconOnly ? cx(colorPickerClasses.default.dropdownRootIconOnly, css(ColorPicker_styles.styles.dropdownRootIconOnly), classes == null ? void 0 : classes.dropdownRootIconOnly) : void 0
122
+ },
123
+ adornment: iconOnly && color ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Checkbox, {
124
+ className: cx(colorPickerClasses.default.headerColorIconOnly, css(ColorPicker_styles.styles.headerColorIconOnly), css({
125
+ "& svg:last-child": {
126
+ fill: color
127
+ }
128
+ }), classes == null ? void 0 : classes.headerColorIconOnly),
129
+ color: [color]
130
+ }) : dropdownIcon === "colorPicker" ? /* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.ColorPicker, {
131
+ className: cx(colorPickerClasses.default.colorPickerIcon, css(ColorPicker_styles.styles.colorPickerIcon), classes == null ? void 0 : classes.colorPickerIcon)
132
+ }) : void 0,
133
+ placeholder: iconOnly ? void 0 : color ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
134
+ children: [/* @__PURE__ */ jsxRuntime.jsx(uikitReactIcons.Checkbox, {
135
+ className: cx(colorPickerClasses.default.headerColorIcon, css(ColorPicker_styles.styles.headerColorIcon), css({
136
+ "& svg:last-child": {
137
+ fill: color
138
+ }
139
+ }), classes == null ? void 0 : classes.headerColorIcon),
140
+ color: [color]
141
+ }), /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
142
+ className: cx(colorPickerClasses.default.headerColorValue, css(ColorPicker_styles.styles.headerColorValue), classes == null ? void 0 : classes.headerColorValue),
143
+ variant: activeTheme == null ? void 0 : activeTheme.colorPicker.inputValueVariant,
144
+ children: color
145
+ })]
146
+ }) : placeholder,
147
+ "aria-label": ariaLabel,
148
+ "aria-labelledby": [label && setId.setId(elementId, "label"), ariaLabelledBy].join(" ").trim() || void 0,
149
+ "aria-describedby": [description && setId.setId(elementId, "description"), ariaDescribedBy].join(" ").trim() || void 0,
150
+ children: /* @__PURE__ */ jsxRuntime.jsx(Panel.HvPanel, {
151
+ className: cx(colorPickerClasses.default.panel, css(ColorPicker_styles.styles.panel), classes == null ? void 0 : classes.panel),
152
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", {
153
+ className: cx(colorPickerClasses.default.colorPicker, css(ColorPicker_styles.styles.colorPicker), classes == null ? void 0 : classes.colorPicker),
154
+ children: [recommendedColorsPosition === "top" && /* @__PURE__ */ jsxRuntime.jsx(PresetColors.PresetColors, {
155
+ className: cx(colorPickerClasses.default.recommendedColorsRoot, (showCustomColors || showSavedColors) && css({
156
+ paddingBottom: activeTheme == null ? void 0 : activeTheme.colorPicker.recommendedColorsBottomPadding
157
+ }), classes == null ? void 0 : classes.recommendedColorsRoot),
158
+ colors: recommendedColors,
159
+ onClick: handleSelect,
160
+ title: showLabels ? labels == null ? void 0 : labels.recommendedColorsLabel : void 0
161
+ }), showCustomColors && /* @__PURE__ */ jsxRuntime.jsx(Picker.default, {
162
+ classes: {
163
+ fields: recommendedColorsPosition === "bottom" || showSavedColors ? cx(colorPickerClasses.default.pickerFields, css(ColorPicker_styles.styles.pickerFields), classes == null ? void 0 : classes.pickerFields) : void 0
164
+ },
165
+ title: showLabels ? labels == null ? void 0 : labels.customColorsLabel : void 0,
166
+ color,
167
+ onChange: handleSelect
168
+ }), showSavedColors && /* @__PURE__ */ jsxRuntime.jsx(SavedColors.SavedColors, {
169
+ colors: savedColors,
170
+ onAddColor: handleAddColor,
171
+ onClickColor: handleSelect,
172
+ onRemoveColor: handleRemoveColor,
173
+ deleteButtonArialLabel: deleteSavedColorButtonArialLabel
174
+ }), recommendedColorsPosition === "bottom" && /* @__PURE__ */ jsxRuntime.jsx(PresetColors.PresetColors, {
175
+ colors: recommendedColors,
176
+ onClick: handleSelect,
177
+ title: showLabels ? labels == null ? void 0 : labels.recommendedColorsLabel : void 0
178
+ })]
179
+ })
180
+ })
181
+ })]
182
+ })
183
+ });
184
+ };
185
+ exports.HvColorPicker = HvColorPicker;
186
+ //# sourceMappingURL=ColorPicker.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker.cjs","sources":["../../../../src/components/ColorPicker/ColorPicker.tsx"],"sourcesContent":["import {\n HvBaseDropdown,\n HvFormElement,\n HvInfoMessage,\n HvLabel,\n HvPanel,\n HvTypography,\n} from \"@core/components\";\nimport { ClassNames } from \"@emotion/react\";\nimport { Checkbox, ColorPicker } from \"@hitachivantara/uikit-react-icons\";\nimport { Picker } from \"./Picker\";\nimport { styles } from \"./ColorPicker.styles\";\nimport colorPickerClasses, { HvColorPickerClasses } from \"./colorPickerClasses\";\nimport { ColorState } from \"react-color\";\nimport { PresetColors } from \"./PresetColors\";\nimport { SavedColors } from \"./SavedColors\";\nimport { useControlled, useLabels, useTheme, useUniqueId } from \"@core/hooks\";\nimport { setId } from \"@core/utils\";\n\nexport interface HvColorPickerProps {\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n \"aria-describedby\"?: string;\n /** Class names to be applied. */\n className?: string;\n /** Id to be applied to the form element root node. */\n id?: string;\n /** The form element name. */\n name?: string;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Indicates that user input is required on the form element. */\n required?: boolean;\n /** The value color, in HEX format. */\n value?: string;\n /** The default value color, in HEX format. */\n defaultValue?: string;\n /** If `true` the dropdown is disabled unable to be interacted, if `false` it is enabled. */\n disabled?: boolean;\n /** If `true` the dropdown starts opened if `false` it starts closed. */\n expanded?: boolean;\n /** When uncontrolled, defines the initial expanded state. */\n defaultExpanded?: boolean;\n /** A function to be executed whenever the color changes. */\n onChange?: (color: string) => void;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvColorPickerClasses;\n /** The placeholder value when nothing is selected. */\n placeholder?: string;\n /** Recommended colors. The colors are HEX values. */\n recommendedColors?: string[];\n /** Recommended colors position. */\n recommendedColorsPosition?: \"top\" | \"bottom\";\n /** If `true`, the labels are shown. If `false`, they are not shown. */\n showLabels?: boolean;\n /** An object containing all the labels. */\n labels?: {\n recommendedColorsLabel?: string;\n customColorsLabel?: string;\n };\n /** Icon type for the input's end adornment. */\n dropdownIcon?: \"arrow\" | \"colorPicker\";\n /** If `true`, the input only shows an icon. If `false`, the input shows text and icons. */\n iconOnly?: boolean;\n /** If `true`, the saved colors area is shown. If `false`, it is not shown. */\n showSavedColors?: boolean;\n /** If `true`, the custom colors area is shown. If `false`, it is not shown. */\n showCustomColors?: boolean;\n /** The saved colors. The colors are HEX values. */\n savedColorsValue?: string[];\n /** The default saved colors. The colors are HEX values. */\n defaultSavedColorsValue?: string[];\n /** Callback fired when a new saved color is added. */\n onSavedColorAdded?: (color?: string) => void;\n /** Callback fired when a new saved color is removed. */\n onSavedColorRemoved?: (color?: string) => void;\n /** Aria label to apply to delete saved color button. */\n deleteSavedColorButtonArialLabel?: string;\n}\n\nconst DEFAULT_LABELS: HvColorPickerProps[\"labels\"] = {\n recommendedColorsLabel: \"Recommended colors:\",\n customColorsLabel: \"Custom colors:\",\n};\n\n/**\n * A color picker component which allows the user to select a color from a list of pre-defined colors or freely select one color via the Hue and Saturation.\n * It receives a color string in HEX format and outputs an HEX formatted color.\n */\nexport const HvColorPicker = ({\n id,\n name,\n required = false,\n disabled = false,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n className,\n classes,\n value,\n onChange,\n defaultValue = \"\",\n expanded,\n defaultExpanded = false,\n recommendedColorsPosition = \"top\",\n recommendedColors = [\n \"#95AFE8\",\n \"#E89E5D\",\n \"#83B8A6\",\n \"#70759C\",\n \"#C57E7E\",\n \"#FADA95\",\n \"#ADBFE8\",\n \"#E3B386\",\n \"#9AC6B7\",\n \"#8B90AF\",\n \"#CF9797\",\n \"#FAE1AA\",\n ],\n showLabels = true,\n labels: labelsProp,\n dropdownIcon = \"colorPicker\",\n placeholder = \"Select color...\",\n iconOnly = false,\n showSavedColors = true,\n showCustomColors = true,\n savedColorsValue,\n defaultSavedColorsValue = [],\n onSavedColorAdded,\n onSavedColorRemoved,\n deleteSavedColorButtonArialLabel = \"Delete saved color\",\n}: HvColorPickerProps) => {\n const { activeTheme } = useTheme();\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const [color, setColor] = useControlled(value, defaultValue);\n const [savedColors, setSavedColors] = useControlled(\n savedColorsValue,\n defaultSavedColorsValue\n );\n const elementId = useUniqueId(id, \"hvdropdown\");\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n const handleToggle = (_, open: boolean) => {\n setIsOpen(open);\n };\n\n const handleSelect = (val: ColorState | { hex: string; source: string }) => {\n onChange?.(val.hex);\n setColor(val.hex);\n };\n\n const handleAddColor = () => {\n // When no color is provided, react-color sets the picker to #000000.\n // This is the color that should be added in this case.\n const colorToAdd = color || \"#000000\";\n\n onSavedColorAdded?.(colorToAdd);\n setSavedColors([...savedColors, colorToAdd]);\n };\n\n const handleRemoveColor = (val: string, position: number) => {\n if (savedColors[position] === val) {\n const sColors = [...savedColors];\n sColors.splice(position, 1);\n onSavedColorRemoved?.(val);\n setSavedColors(sColors);\n }\n };\n\n const setFocusToContent = (containerRef: HTMLElement | null) => {\n const inputs = containerRef?.getElementsByTagName(\"input\");\n if (inputs && inputs.length > 0) {\n inputs[0].focus();\n }\n };\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <HvFormElement\n id={id}\n name={name}\n disabled={disabled}\n required={required}\n className={cx(colorPickerClasses.root, className, classes?.root)}\n >\n {(hasLabel || hasDescription) && (\n <div\n className={cx(\n colorPickerClasses.labelContainer,\n css(styles.labelContainer),\n classes?.labelContainer\n )}\n >\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n label={label}\n className={cx(\n colorPickerClasses.label,\n css(styles.label),\n classes?.label\n )}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage\n id={setId(elementId, \"description\")}\n className={cx(\n colorPickerClasses.description,\n classes?.description\n )}\n >\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n className={className}\n expanded={isOpen}\n onToggle={handleToggle}\n onContainerCreation={setFocusToContent}\n classes={{\n root: iconOnly\n ? cx(\n colorPickerClasses.dropdownRootIconOnly,\n css(styles.dropdownRootIconOnly),\n classes?.dropdownRootIconOnly\n )\n : undefined,\n }}\n adornment={\n iconOnly && color ? (\n <Checkbox\n className={cx(\n colorPickerClasses.headerColorIconOnly,\n css(styles.headerColorIconOnly),\n css({\n \"& svg:last-child\": {\n fill: color,\n },\n }),\n classes?.headerColorIconOnly\n )}\n color={[color]}\n />\n ) : dropdownIcon === \"colorPicker\" ? (\n <ColorPicker\n className={cx(\n colorPickerClasses.colorPickerIcon,\n css(styles.colorPickerIcon),\n classes?.colorPickerIcon\n )}\n />\n ) : undefined\n }\n placeholder={\n iconOnly ? undefined : color ? (\n <>\n <Checkbox\n className={cx(\n colorPickerClasses.headerColorIcon,\n css(styles.headerColorIcon),\n css({\n \"& svg:last-child\": {\n fill: color,\n },\n }),\n classes?.headerColorIcon\n )}\n color={[color]}\n />\n <HvTypography\n className={cx(\n colorPickerClasses.headerColorValue,\n css(styles.headerColorValue),\n classes?.headerColorValue\n )}\n variant={activeTheme?.colorPicker.inputValueVariant}\n >\n {color}\n </HvTypography>\n </>\n ) : (\n placeholder\n )\n }\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy]\n .join(\" \")\n .trim() || undefined\n }\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n >\n <HvPanel\n className={cx(\n colorPickerClasses.panel,\n css(styles.panel),\n classes?.panel\n )}\n >\n <div\n className={cx(\n colorPickerClasses.colorPicker,\n css(styles.colorPicker),\n classes?.colorPicker\n )}\n >\n {recommendedColorsPosition === \"top\" && (\n <PresetColors\n className={cx(\n colorPickerClasses.recommendedColorsRoot,\n (showCustomColors || showSavedColors) &&\n css({\n paddingBottom:\n activeTheme?.colorPicker\n .recommendedColorsBottomPadding,\n }),\n classes?.recommendedColorsRoot\n )}\n colors={recommendedColors}\n onClick={handleSelect}\n title={\n showLabels ? labels?.recommendedColorsLabel : undefined\n }\n />\n )}\n {showCustomColors && (\n <Picker\n classes={{\n fields:\n recommendedColorsPosition === \"bottom\" ||\n showSavedColors\n ? cx(\n colorPickerClasses.pickerFields,\n css(styles.pickerFields),\n classes?.pickerFields\n )\n : undefined,\n }}\n title={showLabels ? labels?.customColorsLabel : undefined}\n color={color}\n onChange={handleSelect}\n />\n )}\n {showSavedColors && (\n <SavedColors\n colors={savedColors}\n onAddColor={handleAddColor}\n onClickColor={handleSelect}\n onRemoveColor={handleRemoveColor}\n deleteButtonArialLabel={deleteSavedColorButtonArialLabel}\n />\n )}\n {recommendedColorsPosition === \"bottom\" && (\n <PresetColors\n colors={recommendedColors}\n onClick={handleSelect}\n title={\n showLabels ? labels?.recommendedColorsLabel : undefined\n }\n />\n )}\n </div>\n </HvPanel>\n </HvBaseDropdown>\n </HvFormElement>\n )}\n </ClassNames>\n );\n};\n"],"names":["DEFAULT_LABELS","recommendedColorsLabel","customColorsLabel","HvColorPicker","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","className","classes","value","onChange","defaultValue","expanded","defaultExpanded","recommendedColorsPosition","recommendedColors","showLabels","labels","labelsProp","dropdownIcon","placeholder","iconOnly","showSavedColors","showCustomColors","savedColorsValue","defaultSavedColorsValue","onSavedColorAdded","onSavedColorRemoved","deleteSavedColorButtonArialLabel","activeTheme","useTheme","useLabels","isOpen","setIsOpen","useControlled","Boolean","color","setColor","savedColors","setSavedColors","elementId","useUniqueId","hasLabel","hasDescription","handleToggle","_","open","handleSelect","val","hex","handleAddColor","colorToAdd","handleRemoveColor","position","sColors","splice","setFocusToContent","containerRef","inputs","getElementsByTagName","length","focus","ClassNames","children","css","cx","HvFormElement","colorPickerClasses","root","labelContainer","styles","_jsx","HvLabel","setId","HvInfoMessage","HvBaseDropdown","onToggle","onContainerCreation","dropdownRootIconOnly","undefined","adornment","Checkbox","headerColorIconOnly","fill","ColorPicker","colorPickerIcon","_Fragment","headerColorIcon","HvTypography","headerColorValue","variant","colorPicker","inputValueVariant","join","trim","HvPanel","panel","PresetColors","recommendedColorsRoot","paddingBottom","recommendedColorsBottomPadding","colors","onClick","title","Picker","fields","pickerFields","SavedColors","onAddColor","onClickColor","onRemoveColor","deleteButtonArialLabel"],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const uikitStyles = require("@hitachivantara/uikit-styles");
4
+ const styles = {
5
+ labelContainer: {
6
+ display: "flex",
7
+ alignItems: "flex-start"
8
+ },
9
+ label: {
10
+ paddingBottom: "6px",
11
+ display: "block"
12
+ },
13
+ headerColorValue: {
14
+ textTransform: "uppercase"
15
+ },
16
+ headerColorIcon: {
17
+ width: 24,
18
+ "& svg": {
19
+ marginLeft: 0
20
+ }
21
+ },
22
+ panel: {
23
+ width: "100%",
24
+ minWidth: uikitStyles.theme.colorPicker.panelMinWidth,
25
+ display: "flex",
26
+ justifyContent: "center",
27
+ padding: uikitStyles.theme.colorPicker.panelPadding,
28
+ border: uikitStyles.theme.colorPicker.panelBorder,
29
+ borderRadius: uikitStyles.theme.colorPicker.panelBorderRadius
30
+ },
31
+ colorPicker: {
32
+ width: uikitStyles.theme.colorPicker.colorPickerWidth
33
+ },
34
+ colorPickerIcon: {
35
+ position: "absolute",
36
+ pointerEvents: "none",
37
+ top: -1,
38
+ right: -1
39
+ },
40
+ dropdownRootIconOnly: {
41
+ width: 32,
42
+ height: 32
43
+ },
44
+ headerColorIconOnly: {
45
+ position: "absolute",
46
+ pointerEvents: "none",
47
+ top: -1,
48
+ right: -1,
49
+ width: 32,
50
+ height: 32
51
+ },
52
+ pickerFields: {
53
+ paddingBottom: 20
54
+ }
55
+ };
56
+ exports.styles = styles;
57
+ //# sourceMappingURL=ColorPicker.styles.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPicker.styles.cjs","sources":["../../../../src/components/ColorPicker/ColorPicker.styles.tsx"],"sourcesContent":["import { CSSInterpolation } from \"@emotion/serialize\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvColorPickerClasses } from \"./colorPickerClasses\";\n\nexport const styles: Partial<\n Record<keyof HvColorPickerClasses, CSSInterpolation>\n> = {\n labelContainer: {\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n label: {\n paddingBottom: \"6px\",\n display: \"block\",\n },\n headerColorValue: {\n textTransform: \"uppercase\",\n },\n headerColorIcon: {\n width: 24,\n \"& svg\": {\n marginLeft: 0,\n },\n },\n panel: {\n width: \"100%\",\n minWidth: theme.colorPicker.panelMinWidth,\n display: \"flex\",\n justifyContent: \"center\",\n padding: theme.colorPicker.panelPadding,\n border: theme.colorPicker.panelBorder,\n borderRadius: theme.colorPicker.panelBorderRadius,\n },\n colorPicker: {\n width: theme.colorPicker.colorPickerWidth,\n },\n colorPickerIcon: {\n position: \"absolute\",\n pointerEvents: \"none\",\n top: -1,\n right: -1,\n },\n dropdownRootIconOnly: {\n width: 32,\n height: 32,\n },\n headerColorIconOnly: {\n position: \"absolute\",\n pointerEvents: \"none\",\n top: -1,\n right: -1,\n width: 32,\n height: 32,\n },\n pickerFields: { paddingBottom: 20 },\n};\n"],"names":["styles","labelContainer","display","alignItems","label","paddingBottom","headerColorValue","textTransform","headerColorIcon","width","marginLeft","panel","minWidth","theme","colorPicker","panelMinWidth","justifyContent","padding","panelPadding","border","panelBorder","borderRadius","panelBorderRadius","colorPickerWidth","colorPickerIcon","position","pointerEvents","top","right","dropdownRootIconOnly","height","headerColorIconOnly","pickerFields"],"mappings":";;;AAIO,MAAMA,SAET;AAAA,EACFC,gBAAgB;AAAA,IACdC,SAAS;AAAA,IACTC,YAAY;AAAA,EACd;AAAA,EACAC,OAAO;AAAA,IACLC,eAAe;AAAA,IACfH,SAAS;AAAA,EACX;AAAA,EACAI,kBAAkB;AAAA,IAChBC,eAAe;AAAA,EACjB;AAAA,EACAC,iBAAiB;AAAA,IACfC,OAAO;AAAA,IACP,SAAS;AAAA,MACPC,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACAC,OAAO;AAAA,IACLF,OAAO;AAAA,IACPG,UAAUC,YAAAA,MAAMC,YAAYC;AAAAA,IAC5Bb,SAAS;AAAA,IACTc,gBAAgB;AAAA,IAChBC,SAASJ,YAAAA,MAAMC,YAAYI;AAAAA,IAC3BC,QAAQN,YAAAA,MAAMC,YAAYM;AAAAA,IAC1BC,cAAcR,YAAAA,MAAMC,YAAYQ;AAAAA,EAClC;AAAA,EACAR,aAAa;AAAA,IACXL,OAAOI,YAAAA,MAAMC,YAAYS;AAAAA,EAC3B;AAAA,EACAC,iBAAiB;AAAA,IACfC,UAAU;AAAA,IACVC,eAAe;AAAA,IACfC,KAAK;AAAA,IACLC,OAAO;AAAA,EACT;AAAA,EACAC,sBAAsB;AAAA,IACpBpB,OAAO;AAAA,IACPqB,QAAQ;AAAA,EACV;AAAA,EACAC,qBAAqB;AAAA,IACnBN,UAAU;AAAA,IACVC,eAAe;AAAA,IACfC,KAAK;AAAA,IACLC,OAAO;AAAA,IACPnB,OAAO;AAAA,IACPqB,QAAQ;AAAA,EACV;AAAA,EACAE,cAAc;AAAA,IAAE3B,eAAe;AAAA,EAAG;AACpC;;"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const react = require("@emotion/react");
4
+ const React = require("react");
5
+ const color = require("react-color/lib/helpers/color");
6
+ const Fields_styles = require("./Fields.styles.cjs");
7
+ const fieldsClasses = require("./fieldsClasses.cjs");
8
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
9
+ const Input = require("../../Input/Input.cjs");
10
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule)
12
+ return e;
13
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
14
+ if (e) {
15
+ for (const k in e) {
16
+ if (k !== "default") {
17
+ const d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: () => e[k]
21
+ });
22
+ }
23
+ }
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+ const color__namespace = /* @__PURE__ */ _interopNamespace(color);
29
+ const Fields = ({
30
+ className,
31
+ onChange,
32
+ rgb,
33
+ hex,
34
+ classes
35
+ }) => {
36
+ const [internalHex, setInternalHex] = React.useState(hex);
37
+ const [internalRed, setInternalRed] = React.useState(rgb == null ? void 0 : rgb.r);
38
+ const [internalGreen, setInternalGreen] = React.useState(rgb == null ? void 0 : rgb.g);
39
+ const [internalBlue, setInternalBlue] = React.useState(rgb == null ? void 0 : rgb.b);
40
+ const hexInputRef = React.useRef();
41
+ const redInputRef = React.useRef();
42
+ const greenInputRef = React.useRef();
43
+ const blueInputRef = React.useRef();
44
+ React.useEffect(() => {
45
+ if (document.activeElement !== hexInputRef.current) {
46
+ setInternalHex(hex);
47
+ }
48
+ }, [hex]);
49
+ React.useEffect(() => {
50
+ if (document.activeElement !== redInputRef.current) {
51
+ setInternalRed(rgb == null ? void 0 : rgb.r);
52
+ }
53
+ if (document.activeElement !== greenInputRef.current) {
54
+ setInternalGreen(rgb == null ? void 0 : rgb.g);
55
+ }
56
+ if (document.activeElement !== blueInputRef.current) {
57
+ setInternalBlue(rgb == null ? void 0 : rgb.b);
58
+ }
59
+ }, [rgb]);
60
+ const handleChange = (data, event) => {
61
+ if (data.hex && color__namespace.isValidHex(data.hex)) {
62
+ onChange({
63
+ hex: data.hex,
64
+ source: "hex"
65
+ }, event);
66
+ } else if (data.r || data.g || data.b) {
67
+ onChange({
68
+ r: data.r || (rgb == null ? void 0 : rgb.r),
69
+ g: data.g || (rgb == null ? void 0 : rgb.g),
70
+ b: data.b || (rgb == null ? void 0 : rgb.b),
71
+ source: "rgb"
72
+ }, event);
73
+ }
74
+ };
75
+ const onChangeHex = (event, value) => {
76
+ setInternalHex(value);
77
+ handleChange({
78
+ hex: value
79
+ }, event);
80
+ };
81
+ const onChangeRbg = (event, value, colorPart) => {
82
+ if (colorPart === "r")
83
+ setInternalRed(Number(value));
84
+ if (colorPart === "g")
85
+ setInternalGreen(Number(value));
86
+ if (colorPart === "b")
87
+ setInternalBlue(Number(value));
88
+ handleChange({
89
+ r: colorPart === "r" ? Number(value) : rgb == null ? void 0 : rgb.r,
90
+ g: colorPart === "g" ? Number(value) : rgb == null ? void 0 : rgb.g,
91
+ b: colorPart === "b" ? Number(value) : rgb == null ? void 0 : rgb.b
92
+ }, event);
93
+ };
94
+ return /* @__PURE__ */ jsxRuntime.jsx(react.ClassNames, {
95
+ children: ({
96
+ css,
97
+ cx
98
+ }) => /* @__PURE__ */ jsxRuntime.jsxs("div", {
99
+ className: cx(fieldsClasses.default.fields, css(Fields_styles.styles.fields), className, classes == null ? void 0 : classes.fields),
100
+ children: [/* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
101
+ inputRef: hexInputRef,
102
+ className: cx(fieldsClasses.default.double, css(Fields_styles.styles.double), classes == null ? void 0 : classes.double),
103
+ label: "HEX",
104
+ value: internalHex == null ? void 0 : internalHex.replace("#", ""),
105
+ onChange: onChangeHex,
106
+ onBlur: () => setInternalHex(hex),
107
+ disableClear: true
108
+ }), /* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
109
+ inputRef: redInputRef,
110
+ className: cx(fieldsClasses.default.single, css(Fields_styles.styles.single), classes == null ? void 0 : classes.single),
111
+ label: "R",
112
+ value: `${internalRed}`,
113
+ onChange: (event, value) => onChangeRbg(event, value, "r"),
114
+ onBlur: () => setInternalRed(rgb == null ? void 0 : rgb.r),
115
+ disableClear: true
116
+ }), /* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
117
+ inputRef: greenInputRef,
118
+ className: cx(fieldsClasses.default.single, css(Fields_styles.styles.single), classes == null ? void 0 : classes.single),
119
+ label: "G",
120
+ value: `${internalGreen}`,
121
+ onChange: (event, value) => onChangeRbg(event, value, "g"),
122
+ onBlur: () => setInternalGreen(rgb == null ? void 0 : rgb.g),
123
+ disableClear: true
124
+ }), /* @__PURE__ */ jsxRuntime.jsx(Input.HvInput, {
125
+ inputRef: blueInputRef,
126
+ className: cx(fieldsClasses.default.single, css(Fields_styles.styles.single), classes == null ? void 0 : classes.single),
127
+ label: "B",
128
+ value: `${internalBlue}`,
129
+ onChange: (event, value) => onChangeRbg(event, value, "b"),
130
+ onBlur: () => setInternalBlue(rgb == null ? void 0 : rgb.b),
131
+ disableClear: true
132
+ })]
133
+ })
134
+ });
135
+ };
136
+ exports.Fields = Fields;
137
+ //# sourceMappingURL=Fields.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fields.cjs","sources":["../../../../../src/components/ColorPicker/Fields/Fields.tsx"],"sourcesContent":["import { ClassNames } from \"@emotion/react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { HvInput } from \"@core/components\";\nimport { HSLColor, HSVColor, RGBColor } from \"react-color\";\nimport * as color from \"react-color/lib/helpers/color\";\nimport { styles } from \"./Fields.styles\";\nimport colorPickerFieldsClasses, {\n HvColorPickerFieldsClasses,\n} from \"./fieldsClasses\";\n\ninterface FieldsProps {\n className?: string;\n rgb?: RGBColor;\n hex?: string;\n onChange: (\n data:\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n },\n event: React.ChangeEvent<HTMLInputElement>\n ) => void;\n classes?: HvColorPickerFieldsClasses;\n}\n\nexport const Fields = ({\n className,\n onChange,\n rgb,\n hex,\n classes,\n}: FieldsProps) => {\n const [internalHex, setInternalHex] = useState<string | undefined>(hex);\n const [internalRed, setInternalRed] = useState<number | undefined>(rgb?.r);\n const [internalGreen, setInternalGreen] = useState<number | undefined>(\n rgb?.g\n );\n const [internalBlue, setInternalBlue] = useState<number | undefined>(rgb?.b);\n\n const hexInputRef = useRef();\n const redInputRef = useRef();\n const greenInputRef = useRef();\n const blueInputRef = useRef();\n\n useEffect(() => {\n if (document.activeElement !== hexInputRef.current) {\n setInternalHex(hex);\n }\n }, [hex]);\n\n useEffect(() => {\n if (document.activeElement !== redInputRef.current) {\n setInternalRed(rgb?.r);\n }\n\n if (document.activeElement !== greenInputRef.current) {\n setInternalGreen(rgb?.g);\n }\n\n if (document.activeElement !== blueInputRef.current) {\n setInternalBlue(rgb?.b);\n }\n }, [rgb]);\n\n const handleChange = (\n data: {\n hex?: string;\n r?: number;\n g?: number;\n b?: number;\n },\n event: React.ChangeEvent<HTMLInputElement>\n ) => {\n if (data.hex && color.isValidHex(data.hex)) {\n onChange(\n {\n hex: data.hex,\n source: \"hex\",\n },\n event\n );\n } else if (data.r || data.g || data.b) {\n onChange(\n {\n r: data.r || rgb?.r,\n g: data.g || rgb?.g,\n b: data.b || rgb?.b,\n source: \"rgb\",\n },\n event\n );\n }\n };\n\n const onChangeHex = (\n event: React.ChangeEvent<HTMLInputElement>,\n value: string\n ) => {\n setInternalHex(value);\n handleChange({ hex: value }, event);\n };\n\n const onChangeRbg = (\n event: React.ChangeEvent<HTMLInputElement>,\n value: string,\n colorPart: \"r\" | \"g\" | \"b\"\n ) => {\n if (colorPart === \"r\") setInternalRed(Number(value));\n if (colorPart === \"g\") setInternalGreen(Number(value));\n if (colorPart === \"b\") setInternalBlue(Number(value));\n\n handleChange(\n {\n r: colorPart === \"r\" ? Number(value) : rgb?.r,\n g: colorPart === \"g\" ? Number(value) : rgb?.g,\n b: colorPart === \"b\" ? Number(value) : rgb?.b,\n },\n event\n );\n };\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <div\n className={cx(\n colorPickerFieldsClasses.fields,\n css(styles.fields),\n className,\n classes?.fields\n )}\n >\n <HvInput\n inputRef={hexInputRef}\n className={cx(\n colorPickerFieldsClasses.double,\n css(styles.double),\n classes?.double\n )}\n label=\"HEX\"\n value={internalHex?.replace(\"#\", \"\")}\n onChange={onChangeHex}\n onBlur={() => setInternalHex(hex)}\n disableClear\n />\n <HvInput\n inputRef={redInputRef}\n className={cx(\n colorPickerFieldsClasses.single,\n css(styles.single),\n classes?.single\n )}\n label=\"R\"\n value={`${internalRed}`}\n onChange={(event, value) => onChangeRbg(event, value, \"r\")}\n onBlur={() => setInternalRed(rgb?.r)}\n disableClear\n />\n <HvInput\n inputRef={greenInputRef}\n className={cx(\n colorPickerFieldsClasses.single,\n css(styles.single),\n classes?.single\n )}\n label=\"G\"\n value={`${internalGreen}`}\n onChange={(event, value) => onChangeRbg(event, value, \"g\")}\n onBlur={() => setInternalGreen(rgb?.g)}\n disableClear\n />\n <HvInput\n inputRef={blueInputRef}\n className={cx(\n colorPickerFieldsClasses.single,\n css(styles.single),\n classes?.single\n )}\n label=\"B\"\n value={`${internalBlue}`}\n onChange={(event, value) => onChangeRbg(event, value, \"b\")}\n onBlur={() => setInternalBlue(rgb?.b)}\n disableClear\n />\n </div>\n )}\n </ClassNames>\n );\n};\n"],"names":["Fields","className","onChange","rgb","hex","classes","internalHex","setInternalHex","useState","internalRed","setInternalRed","r","internalGreen","setInternalGreen","g","internalBlue","setInternalBlue","b","hexInputRef","useRef","redInputRef","greenInputRef","blueInputRef","useEffect","document","activeElement","current","handleChange","data","event","color","isValidHex","source","onChangeHex","value","onChangeRbg","colorPart","Number","ClassNames","children","css","cx","colorPickerFieldsClasses","fields","styles","_jsx","HvInput","inputRef","double","label","replace","onBlur","disableClear","single"],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const uikitStyles = require("@hitachivantara/uikit-styles");
4
+ const styles = {
5
+ fields: {
6
+ width: "100%",
7
+ display: "flex",
8
+ paddingTop: uikitStyles.theme.colorPicker.fieldsPaddingTop,
9
+ marginRight: uikitStyles.theme.colorPicker.fieldsMarginRight
10
+ },
11
+ single: {
12
+ maxWidth: uikitStyles.theme.colorPicker.fieldsRgbWidth,
13
+ paddingLeft: uikitStyles.theme.colorPicker.fieldsRgbPaddingLeft,
14
+ "& input": {
15
+ marginLeft: 5,
16
+ marginRight: 5
17
+ },
18
+ "& label": {
19
+ paddingLeft: 5
20
+ }
21
+ },
22
+ double: {
23
+ maxWidth: uikitStyles.theme.colorPicker.fieldsHexWidth,
24
+ paddingRight: uikitStyles.theme.colorPicker.fieldsHexPaddingRight,
25
+ "& input": {
26
+ textTransform: "uppercase",
27
+ marginLeft: 5,
28
+ marginRight: 5
29
+ },
30
+ "& label": {
31
+ paddingLeft: 5
32
+ }
33
+ }
34
+ };
35
+ exports.styles = styles;
36
+ //# sourceMappingURL=Fields.styles.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Fields.styles.cjs","sources":["../../../../../src/components/ColorPicker/Fields/Fields.styles.tsx"],"sourcesContent":["import { CSSInterpolation } from \"@emotion/serialize\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport { HvColorPickerFieldsClasses } from \"./fieldsClasses\";\n\nexport const styles: Partial<\n Record<keyof HvColorPickerFieldsClasses, CSSInterpolation>\n> = {\n fields: {\n width: \"100%\",\n display: \"flex\",\n paddingTop: theme.colorPicker.fieldsPaddingTop,\n marginRight: theme.colorPicker.fieldsMarginRight,\n },\n single: {\n maxWidth: theme.colorPicker.fieldsRgbWidth,\n paddingLeft: theme.colorPicker.fieldsRgbPaddingLeft,\n \"& input\": {\n marginLeft: 5,\n marginRight: 5,\n },\n \"& label\": {\n paddingLeft: 5,\n },\n },\n double: {\n maxWidth: theme.colorPicker.fieldsHexWidth,\n paddingRight: theme.colorPicker.fieldsHexPaddingRight,\n \"& input\": {\n textTransform: \"uppercase\",\n marginLeft: 5,\n marginRight: 5,\n },\n \"& label\": {\n paddingLeft: 5,\n },\n },\n};\n"],"names":["styles","fields","width","display","paddingTop","theme","colorPicker","fieldsPaddingTop","marginRight","fieldsMarginRight","single","maxWidth","fieldsRgbWidth","paddingLeft","fieldsRgbPaddingLeft","marginLeft","double","fieldsHexWidth","paddingRight","fieldsHexPaddingRight","textTransform"],"mappings":";;;AAIO,MAAMA,SAET;AAAA,EACFC,QAAQ;AAAA,IACNC,OAAO;AAAA,IACPC,SAAS;AAAA,IACTC,YAAYC,YAAAA,MAAMC,YAAYC;AAAAA,IAC9BC,aAAaH,YAAAA,MAAMC,YAAYG;AAAAA,EACjC;AAAA,EACAC,QAAQ;AAAA,IACNC,UAAUN,YAAAA,MAAMC,YAAYM;AAAAA,IAC5BC,aAAaR,YAAAA,MAAMC,YAAYQ;AAAAA,IAC/B,WAAW;AAAA,MACTC,YAAY;AAAA,MACZP,aAAa;AAAA,IACf;AAAA,IACA,WAAW;AAAA,MACTK,aAAa;AAAA,IACf;AAAA,EACF;AAAA,EACAG,QAAQ;AAAA,IACNL,UAAUN,YAAAA,MAAMC,YAAYW;AAAAA,IAC5BC,cAAcb,YAAAA,MAAMC,YAAYa;AAAAA,IAChC,WAAW;AAAA,MACTC,eAAe;AAAA,MACfL,YAAY;AAAA,MACZP,aAAa;AAAA,IACf;AAAA,IACA,WAAW;AAAA,MACTK,aAAa;AAAA,IACf;AAAA,EACF;AACF;;"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const classes = require("../../../utils/classes.cjs");
4
+ const classKeys = ["double", "fields", "single"];
5
+ const colorPickerFieldsClasses = classes.getClasses(classKeys, "HvColorPicker-Fields");
6
+ const colorPickerFieldsClasses$1 = colorPickerFieldsClasses;
7
+ exports.default = colorPickerFieldsClasses$1;
8
+ //# sourceMappingURL=fieldsClasses.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fieldsClasses.cjs","sources":["../../../../../src/components/ColorPicker/Fields/fieldsClasses.ts"],"sourcesContent":["import { getClasses } from \"@core/utils\";\n\nexport interface HvColorPickerFieldsClasses {\n fields?: string;\n double?: string;\n single?: string;\n}\n\nconst classKeys: (keyof HvColorPickerFieldsClasses)[] = [\n \"double\",\n \"fields\",\n \"single\",\n];\n\nconst colorPickerFieldsClasses = getClasses(classKeys, \"HvColorPicker-Fields\");\n\nexport default colorPickerFieldsClasses;\n"],"names":["classKeys","colorPickerFieldsClasses","getClasses"],"mappings":";;;AAQA,MAAMA,YAAkD,CACtD,UACA,UACA,QAAQ;AAGV,MAAMC,2BAA2BC,QAAWF,WAAAA,WAAW,sBAAsB;AAE7E,MAAA,6BAAeC;;"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const react = require("@emotion/react");
4
+ const React = require("react");
5
+ const common = require("react-color/lib/components/common");
6
+ const reactColor = require("react-color");
7
+ const Picker_styles = require("./Picker.styles.cjs");
8
+ const pickerClasses = require("./pickerClasses.cjs");
9
+ const jsxRuntime = require("@emotion/react/jsx-runtime");
10
+ const Fields = require("../Fields/Fields.cjs");
11
+ const useTheme = require("../../../hooks/useTheme.cjs");
12
+ const Typography = require("../../Typography/Typography.cjs");
13
+ const Picker = ({
14
+ onChange,
15
+ rgb,
16
+ hsl,
17
+ hsv,
18
+ hex,
19
+ title,
20
+ classes
21
+ }) => {
22
+ const {
23
+ activeTheme
24
+ } = useTheme.useTheme();
25
+ const SaturationPointer = React.useCallback(() => /* @__PURE__ */ jsxRuntime.jsx(react.ClassNames, {
26
+ children: ({
27
+ css,
28
+ cx
29
+ }) => /* @__PURE__ */ jsxRuntime.jsx("div", {
30
+ className: cx(pickerClasses.default.saturationPointer, css(Picker_styles.styles.saturationPointer), classes == null ? void 0 : classes.saturationPointer)
31
+ })
32
+ }), []);
33
+ const HueSlider = React.useCallback(() => /* @__PURE__ */ jsxRuntime.jsx(react.ClassNames, {
34
+ children: ({
35
+ css,
36
+ cx
37
+ }) => /* @__PURE__ */ jsxRuntime.jsx("div", {
38
+ className: cx(pickerClasses.default.hueSlider, css(Picker_styles.styles.hueSlider), classes == null ? void 0 : classes.hueSlider)
39
+ })
40
+ }), []);
41
+ return /* @__PURE__ */ jsxRuntime.jsx(react.ClassNames, {
42
+ children: ({
43
+ css,
44
+ cx
45
+ }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
46
+ children: [title && /* @__PURE__ */ jsxRuntime.jsx(Typography.HvTypography, {
47
+ className: cx(pickerClasses.default.title, css(Picker_styles.styles.title), classes == null ? void 0 : classes.title),
48
+ variant: "caption1",
49
+ children: title
50
+ }), /* @__PURE__ */ jsxRuntime.jsxs("div", {
51
+ className: cx(pickerClasses.default.pickers, css(Picker_styles.styles.pickers), classes == null ? void 0 : classes.pickers),
52
+ children: [/* @__PURE__ */ jsxRuntime.jsx("div", {
53
+ className: cx(pickerClasses.default.saturation, css(Picker_styles.styles.saturation), classes == null ? void 0 : classes.saturation),
54
+ children: /* @__PURE__ */ jsxRuntime.jsx(common.Saturation, {
55
+ hsl,
56
+ hsv,
57
+ onChange,
58
+ pointer: SaturationPointer
59
+ })
60
+ }), /* @__PURE__ */ jsxRuntime.jsx("div", {
61
+ className: cx(pickerClasses.default.hue, css(Picker_styles.styles.hue), classes == null ? void 0 : classes.hue),
62
+ children: /* @__PURE__ */ jsxRuntime.jsx(common.Hue, {
63
+ direction: activeTheme == null ? void 0 : activeTheme.colorPicker.hueDirection,
64
+ hsl,
65
+ onChange,
66
+ pointer: HueSlider
67
+ })
68
+ })]
69
+ }), /* @__PURE__ */ jsxRuntime.jsx(Fields.Fields, {
70
+ className: cx(pickerClasses.default.fields, classes == null ? void 0 : classes.fields),
71
+ rgb,
72
+ hex,
73
+ onChange
74
+ })]
75
+ })
76
+ });
77
+ };
78
+ const Picker$1 = reactColor.CustomPicker(Picker);
79
+ exports.Picker = Picker;
80
+ exports.default = Picker$1;
81
+ //# sourceMappingURL=Picker.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Picker.cjs","sources":["../../../../../src/components/ColorPicker/Picker/Picker.tsx"],"sourcesContent":["import { ClassNames } from \"@emotion/react\";\nimport { useCallback } from \"react\";\nimport { Saturation, Hue } from \"react-color/lib/components/common\";\nimport {\n CustomPicker,\n CustomPickerInjectedProps,\n HSLColor,\n HSVColor,\n RGBColor,\n} from \"react-color\";\nimport { styles } from \"./Picker.styles\";\nimport { Fields } from \"../Fields\";\nimport { HvTypography } from \"@core/components\";\nimport { useTheme } from \"@core/hooks\";\nimport colorPickerPickerClasses, {\n HvColorPickerPickerClasses,\n} from \"./pickerClasses\";\n\nexport const Picker = ({\n onChange,\n rgb,\n hsl,\n hsv,\n hex,\n title,\n classes,\n}: {\n classes?: HvColorPickerPickerClasses;\n title?: string;\n} & CustomPickerInjectedProps<\n | HSLColor\n | HSVColor\n | RGBColor\n | {\n source?: string;\n hex?: string;\n }\n>) => {\n const { activeTheme } = useTheme();\n\n const SaturationPointer = useCallback(\n () => (\n <ClassNames>\n {({ css, cx }) => (\n <div\n className={cx(\n colorPickerPickerClasses.saturationPointer,\n css(styles.saturationPointer),\n classes?.saturationPointer\n )}\n />\n )}\n </ClassNames>\n ),\n []\n );\n\n const HueSlider = useCallback(\n () => (\n <ClassNames>\n {({ css, cx }) => (\n <div\n className={cx(\n colorPickerPickerClasses.hueSlider,\n css(styles.hueSlider),\n classes?.hueSlider\n )}\n />\n )}\n </ClassNames>\n ),\n []\n );\n\n return (\n <ClassNames>\n {({ css, cx }) => (\n <>\n {title && (\n <HvTypography\n className={cx(\n colorPickerPickerClasses.title,\n css(styles.title),\n classes?.title\n )}\n variant=\"caption1\"\n >\n {title}\n </HvTypography>\n )}\n <div\n className={cx(\n colorPickerPickerClasses.pickers,\n css(styles.pickers),\n classes?.pickers\n )}\n >\n <div\n className={cx(\n colorPickerPickerClasses.saturation,\n css(styles.saturation),\n classes?.saturation\n )}\n >\n <Saturation\n hsl={hsl}\n hsv={hsv}\n onChange={onChange}\n pointer={SaturationPointer}\n />\n </div>\n <div\n className={cx(\n colorPickerPickerClasses.hue,\n css(styles.hue),\n classes?.hue\n )}\n >\n <Hue\n direction={activeTheme?.colorPicker.hueDirection}\n hsl={hsl}\n onChange={onChange}\n pointer={HueSlider}\n />\n </div>\n </div>\n <Fields\n className={cx(colorPickerPickerClasses.fields, classes?.fields)}\n rgb={rgb}\n hex={hex}\n onChange={onChange}\n />\n </>\n )}\n </ClassNames>\n );\n};\n\nexport default CustomPicker(Picker);\n"],"names":["Picker","onChange","rgb","hsl","hsv","hex","title","classes","activeTheme","useTheme","SaturationPointer","useCallback","_jsx","ClassNames","children","css","cx","className","colorPickerPickerClasses","saturationPointer","styles","HueSlider","hueSlider","_Fragment","HvTypography","variant","_jsxs","pickers","saturation","Saturation","pointer","hue","Hue","direction","colorPicker","hueDirection","Fields","fields","CustomPicker"],"mappings":";;;;;;;;;;;;AAkBO,MAAMA,SAASA,CAAC;AAAA,EACrBC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAAAA,EACAC;AAYF,MAAM;AACE,QAAA;AAAA,IAAEC;AAAAA,MAAgBC,SAAU,SAAA;AAElC,QAAMC,oBAAoBC,MAAAA,YACxB,MACEC,2BAAAA,IAACC,MAAAA,YAAU;AAAA,IAAAC,UACRA,CAAC;AAAA,MAAEC;AAAAA,MAAKC;AAAAA,IAAAA,qCACP,OAAA;AAAA,MACEC,WAAWD,GACTE,cAAyBC,QAAAA,mBACzBJ,IAAIK,cAAAA,OAAOD,iBAAiB,GAC5BZ,mCAASY,iBAAiB;AAAA,IAAA,CAC1B;AAAA,EAAA,CAIT,GACD,CAAE,CAAA;AAGJ,QAAME,YAAYV,MAAAA,YAChB,MACEC,2BAAAA,IAACC,MAAAA,YAAU;AAAA,IAAAC,UACRA,CAAC;AAAA,MAAEC;AAAAA,MAAKC;AAAAA,IAAAA,qCACP,OAAA;AAAA,MACEC,WAAWD,GACTE,cAAyBI,QAAAA,WACzBP,IAAIK,cAAAA,OAAOE,SAAS,GACpBf,mCAASe,SAAS;AAAA,IAAA,CAClB;AAAA,EAAA,CAIT,GACD,CAAE,CAAA;AAGJ,wCACGT,MAAAA,YAAU;AAAA,IAAAC,UACRA,CAAC;AAAA,MAAEC;AAAAA,MAAKC;AAAAA,IAAAA,sCACPO,WAAAA,UAAA;AAAA,MAAAT,UACGR,CAAAA,SACCM,2BAAAA,IAACY,yBAAY;AAAA,QACXP,WAAWD,GACTE,cAAyBZ,QAAAA,OACzBS,IAAIK,cAAAA,OAAOd,KAAK,GAChBC,mCAASD,KAAK;AAAA,QAEhBmB,SAAQ;AAAA,QAAUX,UAEjBR;AAAAA,MAAAA,CAAK,GAGVoB,2BAAAA,KAAA,OAAA;AAAA,QACET,WAAWD,GACTE,cAAyBS,QAAAA,SACzBZ,IAAIK,cAAAA,OAAOO,OAAO,GAClBpB,mCAASoB,OAAO;AAAA,QAChBb,WAEFF,2BAAAA,IAAA,OAAA;AAAA,UACEK,WAAWD,GACTE,cAAyBU,QAAAA,YACzBb,IAAIK,cAAAA,OAAOQ,UAAU,GACrBrB,mCAASqB,UAAU;AAAA,UACnBd,yCAEDe,mBAAU;AAAA,YACT1B;AAAAA,YACAC;AAAAA,YACAH;AAAAA,YACA6B,SAASpB;AAAAA,UAAAA,CAAkB;AAAA,QAAA,CAC3B,GAEJE,2BAAAA,IAAA,OAAA;AAAA,UACEK,WAAWD,GACTE,cAAyBa,QAAAA,KACzBhB,IAAIK,cAAAA,OAAOW,GAAG,GACdxB,mCAASwB,GAAG;AAAA,UACZjB,yCAEDkB,YAAG;AAAA,YACFC,WAAWzB,2CAAa0B,YAAYC;AAAAA,YACpChC;AAAAA,YACAF;AAAAA,YACA6B,SAAST;AAAAA,UAAAA,CAAU;AAAA,QAAA,CAEjB,CAAA;AAAA,MAAA,CACF,GACNT,2BAAAA,IAACwB,eAAM;AAAA,QACLnB,WAAWD,GAAGE,cAAAA,QAAyBmB,QAAQ9B,mCAAS8B,MAAM;AAAA,QAC9DnC;AAAAA,QACAG;AAAAA,QACAJ;AAAAA,MAAAA,CACA,CAAA;AAAA,IAAA,CAAA;AAAA,EAAA,CAGK;AAEjB;AAEA,MAAeqC,WAAAA,WAAAA,aAAatC,MAAM;;;"}