@bigbinary/neetoui 8.2.45 → 8.2.47

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.
@@ -34,36 +34,94 @@ const s=()=>"undefined"!=typeof window&&"EyeDropper"in window,i=()=>Promise.reje
34
34
 
35
35
  var useEyeDropper = p
36
36
 
37
- var TRANSPARENT = "transparent";
37
+ var DEFAULT_PALETTE_COLORS = [{
38
+ hex: "#FFFFFF"
39
+ }, {
40
+ hex: "#D6D6D6"
41
+ }, {
42
+ hex: "#676767"
43
+ }, {
44
+ hex: "#0A0E13"
45
+ }, {
46
+ hex: "#91E5F6"
47
+ }, {
48
+ hex: "#2A79C4"
49
+ }, {
50
+ hex: "#095482"
51
+ }, {
52
+ hex: "#FFCDD2"
53
+ }, {
54
+ hex: "#E2EFAC"
55
+ }, {
56
+ hex: "#B3E5FC"
57
+ }, {
58
+ hex: "#C8E6C9"
59
+ }, {
60
+ hex: "#D7CCC8"
61
+ }, {
62
+ hex: "#F5DD90"
63
+ }, {
64
+ hex: "#C3C6F9"
65
+ }, {
66
+ hex: "#FFF7AE"
67
+ }, {
68
+ hex: "#FECE1E"
69
+ }, {
70
+ hex: "#FFD69D"
71
+ }, {
72
+ hex: "#FE871E"
73
+ }, {
74
+ hex: "#02C39A"
75
+ }, {
76
+ hex: "#00A896"
77
+ }, {
78
+ hex: "#028090"
79
+ }, {
80
+ hex: "#99B898"
81
+ }, {
82
+ hex: "#586BA4"
83
+ }, {
84
+ hex: "#324376"
85
+ }, {
86
+ hex: "#FF847C"
87
+ }, {
88
+ hex: "#F32E48"
89
+ }, {
90
+ hex: "#8064CE"
91
+ }, {
92
+ hex: "#4F329A"
93
+ }];
38
94
 
39
95
  var Palette = function Palette(_ref) {
40
96
  var color = _ref.color,
41
97
  _ref$colorList = _ref.colorList,
42
- colorList = _ref$colorList === void 0 ? [] : _ref$colorList,
98
+ colorList = _ref$colorList === void 0 ? DEFAULT_PALETTE_COLORS : _ref$colorList,
43
99
  onChange = _ref.onChange;
44
100
  return /*#__PURE__*/React__default.createElement("div", {
45
101
  className: "neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start neeto-ui-color-palette neeto-ui-gap-1"
46
102
  }, colorList.map(function (item) {
47
103
  var hex = item.hex,
48
- colorClassName = item.colorClassName;
49
- var isTransparent = hex === TRANSPARENT;
50
- var isActive = Boolean((color === null || color === void 0 ? void 0 : color.hex) && color.hex === hex || (color === null || color === void 0 ? void 0 : color.colorClassName) && color.colorClassName === colorClassName);
104
+ rgb = item.rgb;
105
+ var colorObject = tinycolor(hex !== null && hex !== void 0 ? hex : rgb);
106
+ var isTransparent = colorObject.getAlpha() === 0;
107
+ var isActive = Boolean(
108
+ // hex is case insensitive.
109
+ (color === null || color === void 0 ? void 0 : color.toLocaleLowerCase()) === (hex === null || hex === void 0 ? void 0 : hex.toLocaleLowerCase()) || color === rgb);
51
110
  return /*#__PURE__*/React__default.createElement("div", {
52
111
  "data-testid": "color-palette-item",
53
- key: hex !== null && hex !== void 0 ? hex : colorClassName,
112
+ key: hex !== null && hex !== void 0 ? hex : rgb,
54
113
  className: classnames("neeto-ui-color-palette__item neeto-ui-border", {
55
114
  active: isActive
56
115
  }),
57
116
  onClick: function onClick() {
58
- return onChange(item);
117
+ return onChange(hex !== null && hex !== void 0 ? hex : rgb);
59
118
  }
60
119
  }, /*#__PURE__*/React__default.createElement("div", {
61
120
  style: {
62
- backgroundColor: hex
121
+ backgroundColor: hex !== null && hex !== void 0 ? hex : rgb
63
122
  },
64
123
  className: classnames({
65
- "transparent-bg-pattern": isTransparent,
66
- colorClassName: !isTransparent
124
+ "transparent-bg-pattern": isTransparent
67
125
  })
68
126
  }));
69
127
  }));
@@ -84,7 +142,6 @@ var ColorPicker = function ColorPicker(_ref) {
84
142
  size = _ref$size === void 0 ? TARGET_SIZES.large : _ref$size,
85
143
  _ref$onChange = _ref.onChange,
86
144
  onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
87
- colorPaletteProps = _ref.colorPaletteProps,
88
145
  dropdownProps = _ref.dropdownProps,
89
146
  _ref$showEyeDropper = _ref.showEyeDropper,
90
147
  showEyeDropper = _ref$showEyeDropper === void 0 ? true : _ref$showEyeDropper,
@@ -94,7 +151,8 @@ var ColorPicker = function ColorPicker(_ref) {
94
151
  showTransparencyControl = _ref$showTransparency === void 0 ? false : _ref$showTransparency,
95
152
  _ref$showPicker = _ref.showPicker,
96
153
  showPicker = _ref$showPicker === void 0 ? true : _ref$showPicker,
97
- portalProps = _ref.portalProps;
154
+ portalProps = _ref.portalProps,
155
+ colorPalette = _ref.colorPalette;
98
156
  var _useState = useState(color),
99
157
  _useState2 = _slicedToArray(_useState, 2),
100
158
  colorInternal = _useState2[0],
@@ -107,35 +165,39 @@ var ColorPicker = function ColorPicker(_ref) {
107
165
  isSupported = _useEyeDropper.isSupported;
108
166
  var PickerComponent = showTransparencyControl ? HexAlphaColorPicker : HexColorPicker;
109
167
  var colorValue = (_ref2 = color !== null && color !== void 0 ? color : colorInternal) !== null && _ref2 !== void 0 ? _ref2 : "";
110
- var onChangeInternal = onChange || setColorInternal;
111
168
  var getColor = function getColor(colorValue) {
112
169
  var color = tinycolor(colorValue);
170
+ if (color.isValid()) {
171
+ var hex = color.toHexString();
172
+ // return `transparent` for transparent colors.
173
+ if (color.getAlpha() === 0) hex = colorValue;else if (showTransparencyControl) hex = color.toHex8String();
174
+ return {
175
+ hex: hex,
176
+ rgb: color.toRgb()
177
+ };
178
+ }
113
179
  return {
114
- hex: showTransparencyControl ? color.toHex8String() : color.toHexString(),
115
- rgb: color.toRgb()
180
+ hex: colorValue,
181
+ rgb: colorValue
116
182
  };
117
183
  };
184
+ var onColorChange = function onColorChange(color) {
185
+ var changeHandler = onChange !== null && onChange !== void 0 ? onChange : setColorInternal;
186
+ changeHandler(getColor(color));
187
+ };
118
188
  var onColorInputChange = function onColorInputChange(hex) {
119
- var color = tinycolor(hex);
120
- var rgb = color.toRgb();
121
189
  isInputChanged.current = true;
122
- onChangeInternal({
123
- hex: hex,
124
- rgb: rgb
125
- });
126
- };
127
- var onPickerChange = function onPickerChange(hex) {
128
- return onChangeInternal(getColor(hex));
190
+ onColorChange(hex);
129
191
  };
130
192
  var onBlur = function onBlur() {
131
193
  // If input is not changed, don't call onChange on blur
132
194
  if (!isInputChanged.current) return;
133
195
  isInputChanged.current = false;
134
- onChangeInternal(getColor(colorValue));
196
+ onColorChange(colorValue);
135
197
  };
136
198
  var pickColor = /*#__PURE__*/function () {
137
199
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
138
- var colorResponse, colorHex;
200
+ var colorResponse, hex;
139
201
  return _regeneratorRuntime.wrap(function _callee$(_context) {
140
202
  while (1) switch (_context.prev = _context.next) {
141
203
  case 0:
@@ -144,8 +206,8 @@ var ColorPicker = function ColorPicker(_ref) {
144
206
  return open();
145
207
  case 3:
146
208
  colorResponse = _context.sent;
147
- colorHex = tinycolor(colorResponse.sRGBHex).toHexString();
148
- onPickerChange(colorHex);
209
+ hex = tinycolor(colorResponse.sRGBHex).toHexString();
210
+ onColorChange(hex);
149
211
  _context.next = 10;
150
212
  break;
151
213
  case 8:
@@ -204,7 +266,7 @@ var ColorPicker = function ColorPicker(_ref) {
204
266
  "data-testid": "neeto-color-picker-section"
205
267
  }, /*#__PURE__*/React__default.createElement(PickerComponent, {
206
268
  color: colorValue,
207
- onChange: onPickerChange
269
+ onChange: onColorChange
208
270
  })), /*#__PURE__*/React__default.createElement("div", {
209
271
  className: "neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-3 neeto-ui-gap-2"
210
272
  }, showEyeDropper && isSupported() && /*#__PURE__*/React__default.createElement(Button, {
@@ -225,13 +287,17 @@ var ColorPicker = function ColorPicker(_ref) {
225
287
  alpha: !!showTransparencyControl,
226
288
  color: colorValue,
227
289
  onChange: onColorInputChange
228
- }))))), colorPaletteProps && /*#__PURE__*/React__default.createElement("div", {
290
+ }))))), /*#__PURE__*/React__default.createElement("div", {
229
291
  "data-testid": "color-palette",
230
292
  className: classnames("neeto-ui-colorpicker__palette-wrapper", {
231
293
  "neeto-ui-colorpicker__palette-wrapper--hidden-picker": !showPicker,
232
294
  "neeto-ui-pt-3 neeto-ui-border-t neeto-ui-border-gray-200": showPicker
233
295
  })
234
- }, /*#__PURE__*/React__default.createElement(Palette, colorPaletteProps))));
296
+ }, /*#__PURE__*/React__default.createElement(Palette, {
297
+ color: color,
298
+ colorList: colorPalette,
299
+ onChange: onColorChange
300
+ }))));
235
301
  };
236
302
 
237
303
  export { ColorPicker as default };
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","sources":["../node_modules/use-eye-dropper/lib/use-eye-dropper.module.js","../node_modules/use-eye-dropper/lib/index.module.js","../src/components/ColorPicker/constants.js","../src/components/ColorPicker/Palette.jsx","../src/components/ColorPicker/index.jsx"],"sourcesContent":["import{useMemo as r,useRef as o,useCallback as n,useEffect as t,useState as e}from\"react\";const s=()=>\"undefined\"!=typeof window&&\"EyeDropper\"in window,i=()=>Promise.reject(new Error(\"Unsupported browser.\")),c=()=>{const r=o(),[i,c]=e(!1);t(()=>(r.current=!0,c(s()),()=>{r.current=!1}),[]);const u=n(()=>i,[i]);return[r,u]},u=r=>{const o=(r=>s()&&new EyeDropper(r))(r);var n;return(n=o)?EyeDropper.prototype.open.bind(n):i},p=e=>{const s=r(()=>u(e),[e]),[i,p]=c(),a=o(),f=n(()=>{void 0!==a.current&&a.current.abort()},[a]),d=n(function(r){void 0===r&&(r={});try{f();const{signal:o,...n}=r,t=new AbortController;a.current=t;const e=void 0!==o?(r=>{const o=new AbortController,n=()=>{o.abort();for(const o of r)o.removeEventListener(\"abort\",n)};for(const o of r){if(o.aborted){n();break}o.addEventListener(\"abort\",n)}return o.signal})([o,t.signal]):t.signal;return Promise.resolve(function(r,o){try{var t=Promise.resolve(s({...n,signal:e}))}catch(r){return o(r)}return t&&t.then?t.then(void 0,o):t}(0,function(r){throw i.current||(r.canceled=!0),r}))}catch(r){return Promise.reject(r)}},[a,i,f,s]);return t(()=>f,[f]),{open:d,close:f,isSupported:p}};export{p as default};\n","import { default as DropperDev } from './use-eye-dropper.module.dev.js'\nimport { default as Dropper } from './use-eye-dropper.module.js'\n\nexport default process.env.NODE_ENV === 'production' ? Dropper : DropperDev\n","export const TRANSPARENT = \"transparent\";\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { TRANSPARENT } from \"./constants\";\n\nconst Palette = ({ color, colorList = [], onChange }) => (\n <div className=\"neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start neeto-ui-color-palette neeto-ui-gap-1\">\n {colorList.map(item => {\n const { hex, colorClassName } = item;\n const isTransparent = hex === TRANSPARENT;\n\n const isActive = Boolean(\n (color?.hex && color.hex === hex) ||\n (color?.colorClassName && color.colorClassName === colorClassName)\n );\n\n return (\n <div\n data-testid=\"color-palette-item\"\n key={hex ?? colorClassName}\n className={classnames(\n \"neeto-ui-color-palette__item neeto-ui-border\",\n { active: isActive }\n )}\n onClick={() => onChange(item)}\n >\n <div\n style={{ backgroundColor: hex }}\n className={classnames({\n \"transparent-bg-pattern\": isTransparent,\n colorClassName: !isTransparent,\n })}\n />\n </div>\n );\n })}\n </div>\n);\n\nPalette.propTypes = {\n color: PropTypes.shape({\n hex: PropTypes.string,\n colorClassName: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n hex: PropTypes.string,\n colorClassName: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n};\n\nexport default Palette;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Down, ColorPicker as ColorPickerIcon } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport {\n HexColorPicker,\n HexColorInput,\n HexAlphaColorPicker,\n} from \"react-colorful\";\nimport tinycolor from \"tinycolor2\";\nimport useEyeDropper from \"use-eye-dropper\";\n\nimport Button from \"components/Button\";\nimport Dropdown from \"components/Dropdown\";\nimport { noop } from \"utils\";\n\nimport Palette from \"./Palette\";\n\nconst TARGET_SIZES = {\n large: \"large\",\n medium: \"medium\",\n small: \"small\",\n};\n\nconst ColorPicker = ({\n color = \"\",\n size = TARGET_SIZES.large,\n onChange = noop,\n colorPaletteProps,\n dropdownProps,\n showEyeDropper = true,\n showHexValue = false,\n showTransparencyControl = false,\n showPicker = true,\n portalProps,\n}) => {\n const [colorInternal, setColorInternal] = useState(color);\n const isInputChanged = useRef(false);\n const { open, isSupported } = useEyeDropper({ pickRadius: 3 });\n\n const PickerComponent = showTransparencyControl\n ? HexAlphaColorPicker\n : HexColorPicker;\n\n const colorValue = color ?? colorInternal ?? \"\";\n\n const onChangeInternal = onChange || setColorInternal;\n\n const getColor = colorValue => {\n const color = tinycolor(colorValue);\n\n return {\n hex: showTransparencyControl ? color.toHex8String() : color.toHexString(),\n rgb: color.toRgb(),\n };\n };\n\n const onColorInputChange = hex => {\n const color = tinycolor(hex);\n const rgb = color.toRgb();\n isInputChanged.current = true;\n\n onChangeInternal({ hex, rgb });\n };\n\n const onPickerChange = hex => onChangeInternal(getColor(hex));\n\n const onBlur = () => {\n // If input is not changed, don't call onChange on blur\n if (!isInputChanged.current) return;\n isInputChanged.current = false;\n onChangeInternal(getColor(colorValue));\n };\n\n const pickColor = async () => {\n try {\n const colorResponse = await open();\n const colorHex = tinycolor(colorResponse.sRGBHex).toHexString();\n onPickerChange(colorHex);\n } catch {\n // Ensures component is still mounted\n // before calling setState\n // if (!e.canceled) setError(e);\n }\n };\n\n const Target = ({ size }) => (\n <button\n data-cy=\"color-picker-target\"\n data-testid=\"neeto-color-picker\"\n type=\"button\"\n className={classnames(\"neeto-ui-colorpicker__target\", {\n \"neeto-ui-colorpicker__target-size--large\": size === TARGET_SIZES.large,\n \"neeto-ui-colorpicker__target-size--medium\":\n size === TARGET_SIZES.medium,\n \"neeto-ui-colorpicker__target-size--small\": size === TARGET_SIZES.small,\n })}\n >\n {showHexValue && (\n <span className=\"neeto-ui-colorpicker-target__code\">{color}</span>\n )}\n <span className=\"neeto-ui-colorpicker-target__color-wrapper\">\n <span\n className=\"neeto-ui-colorpicker-target__color neeto-ui-border-gray-200\"\n style={{ backgroundColor: colorValue }}\n />\n <span className=\"neeto-ui-colorpicker-target__icon\">\n <Down size={16} />\n </span>\n </span>\n </button>\n );\n\n return (\n <Dropdown\n className=\"neeto-ui-colorpicker__dropdown\"\n closeOnSelect={false}\n customTarget={<Target {...{ size }} />}\n label={colorValue}\n position=\"bottom-start\"\n {...dropdownProps}\n dropdownProps={{ ...dropdownProps?.dropdownProps, ...portalProps }}\n >\n <div className=\"neeto-ui-colorpicker__popover\">\n {showPicker && (\n <>\n <div\n className=\"neeto-ui-colorpicker__pointer\"\n data-testid=\"neeto-color-picker-section\"\n >\n <PickerComponent color={colorValue} onChange={onPickerChange} />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-3 neeto-ui-gap-2\">\n {showEyeDropper && isSupported() && (\n <Button\n className=\"neeto-ui-colorpicker__eyedropper-btn\"\n icon={ColorPickerIcon}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={pickColor}\n />\n )}\n <div className=\"neeto-ui-input__wrapper\">\n <div\n className=\"neeto-ui-colorpicker__input neeto-ui-input neeto-ui-input--small\"\n data-cy=\"colorpicker-editable-input\"\n >\n <HexColorInput\n {...{ onBlur }}\n prefixed\n alpha={!!showTransparencyControl}\n color={colorValue}\n onChange={onColorInputChange}\n />\n </div>\n </div>\n </div>\n </>\n )}\n {colorPaletteProps && (\n <div\n data-testid=\"color-palette\"\n className={classnames(\"neeto-ui-colorpicker__palette-wrapper\", {\n \"neeto-ui-colorpicker__palette-wrapper--hidden-picker\":\n !showPicker,\n \"neeto-ui-pt-3 neeto-ui-border-t neeto-ui-border-gray-200\":\n showPicker,\n })}\n >\n <Palette {...colorPaletteProps} />\n </div>\n )}\n </div>\n </Dropdown>\n );\n};\n\nColorPicker.propTypes = {\n /**\n * To specify the color value.\n */\n color: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To set the size of the target.\n */\n size: PropTypes.oneOf(Object.values(TARGET_SIZES)),\n /**\n * To specify the action to be triggered on changing the color.\n */\n onChange: PropTypes.func,\n /**\n * To specify the props to be passed to the Palette component.\n */\n colorPaletteProps: PropTypes.shape({\n color: PropTypes.shape({\n hex: PropTypes.string,\n colorClassName: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n hex: PropTypes.string,\n colorClassName: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n }),\n /**\n * Shows eye dropper to pick color.\n */\n showEyeDropper: PropTypes.bool,\n /**\n * To show hex value near to the color in the dropdown.\n * By default it will be enabled.\n */\n showHexValue: PropTypes.bool,\n /**\n * To show transparency control. By default it will be hidden.\n */\n showTransparencyControl: PropTypes.bool,\n /**\n * To show the color picker. Used to hide the picker in cases where only palette is required. By default it will be true.\n */\n showPicker: PropTypes.bool,\n /**\n * To specify the props to be passed to the dropdown portal.\n */\n portalProps: PropTypes.object,\n};\n\nexport default ColorPicker;\n"],"names":["o","e","t","n","r","Dropper","TRANSPARENT","Palette","_ref","color","_ref$colorList","colorList","onChange","React","createElement","className","map","item","hex","colorClassName","isTransparent","isActive","Boolean","key","classnames","active","onClick","style","backgroundColor","TARGET_SIZES","large","medium","small","ColorPicker","_ref2","_ref$color","_ref$size","size","_ref$onChange","noop","colorPaletteProps","dropdownProps","_ref$showEyeDropper","showEyeDropper","_ref$showHexValue","showHexValue","_ref$showTransparency","showTransparencyControl","_ref$showPicker","showPicker","portalProps","_useState","useState","_useState2","_slicedToArray","colorInternal","setColorInternal","isInputChanged","useRef","_useEyeDropper","useEyeDropper","pickRadius","open","isSupported","PickerComponent","HexAlphaColorPicker","HexColorPicker","colorValue","onChangeInternal","getColor","tinycolor","toHex8String","toHexString","rgb","toRgb","onColorInputChange","current","onPickerChange","onBlur","pickColor","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorResponse","colorHex","wrap","_callee$","_context","prev","next","sent","sRGBHex","t0","stop","apply","arguments","Target","_ref4","type","Down","Dropdown","_extends","closeOnSelect","customTarget","label","position","_objectSpread","Fragment","Button","icon","ColorPickerIcon","HexColorInput","prefixed","alpha"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"ColorPicker.js","sources":["../node_modules/use-eye-dropper/lib/use-eye-dropper.module.js","../node_modules/use-eye-dropper/lib/index.module.js","../src/components/ColorPicker/constants.js","../src/components/ColorPicker/Palette.jsx","../src/components/ColorPicker/index.jsx"],"sourcesContent":["import{useMemo as r,useRef as o,useCallback as n,useEffect as t,useState as e}from\"react\";const s=()=>\"undefined\"!=typeof window&&\"EyeDropper\"in window,i=()=>Promise.reject(new Error(\"Unsupported browser.\")),c=()=>{const r=o(),[i,c]=e(!1);t(()=>(r.current=!0,c(s()),()=>{r.current=!1}),[]);const u=n(()=>i,[i]);return[r,u]},u=r=>{const o=(r=>s()&&new EyeDropper(r))(r);var n;return(n=o)?EyeDropper.prototype.open.bind(n):i},p=e=>{const s=r(()=>u(e),[e]),[i,p]=c(),a=o(),f=n(()=>{void 0!==a.current&&a.current.abort()},[a]),d=n(function(r){void 0===r&&(r={});try{f();const{signal:o,...n}=r,t=new AbortController;a.current=t;const e=void 0!==o?(r=>{const o=new AbortController,n=()=>{o.abort();for(const o of r)o.removeEventListener(\"abort\",n)};for(const o of r){if(o.aborted){n();break}o.addEventListener(\"abort\",n)}return o.signal})([o,t.signal]):t.signal;return Promise.resolve(function(r,o){try{var t=Promise.resolve(s({...n,signal:e}))}catch(r){return o(r)}return t&&t.then?t.then(void 0,o):t}(0,function(r){throw i.current||(r.canceled=!0),r}))}catch(r){return Promise.reject(r)}},[a,i,f,s]);return t(()=>f,[f]),{open:d,close:f,isSupported:p}};export{p as default};\n","import { default as DropperDev } from './use-eye-dropper.module.dev.js'\nimport { default as Dropper } from './use-eye-dropper.module.js'\n\nexport default process.env.NODE_ENV === 'production' ? Dropper : DropperDev\n","export const DEFAULT_PALETTE_COLORS = [\n { hex: \"#FFFFFF\" },\n { hex: \"#D6D6D6\" },\n { hex: \"#676767\" },\n { hex: \"#0A0E13\" },\n { hex: \"#91E5F6\" },\n { hex: \"#2A79C4\" },\n { hex: \"#095482\" },\n { hex: \"#FFCDD2\" },\n { hex: \"#E2EFAC\" },\n { hex: \"#B3E5FC\" },\n { hex: \"#C8E6C9\" },\n { hex: \"#D7CCC8\" },\n { hex: \"#F5DD90\" },\n { hex: \"#C3C6F9\" },\n { hex: \"#FFF7AE\" },\n { hex: \"#FECE1E\" },\n { hex: \"#FFD69D\" },\n { hex: \"#FE871E\" },\n { hex: \"#02C39A\" },\n { hex: \"#00A896\" },\n { hex: \"#028090\" },\n { hex: \"#99B898\" },\n { hex: \"#586BA4\" },\n { hex: \"#324376\" },\n { hex: \"#FF847C\" },\n { hex: \"#F32E48\" },\n { hex: \"#8064CE\" },\n { hex: \"#4F329A\" },\n];\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport tinycolor from \"tinycolor2\";\n\nimport { DEFAULT_PALETTE_COLORS } from \"./constants\";\n\nconst Palette = ({ color, colorList = DEFAULT_PALETTE_COLORS, onChange }) => (\n <div className=\"neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start neeto-ui-color-palette neeto-ui-gap-1\">\n {colorList.map(item => {\n const { hex, rgb } = item;\n const colorObject = tinycolor(hex ?? rgb);\n const isTransparent = colorObject.getAlpha() === 0;\n const isActive = Boolean(\n // hex is case insensitive.\n color?.toLocaleLowerCase() === hex?.toLocaleLowerCase() || color === rgb\n );\n\n return (\n <div\n data-testid=\"color-palette-item\"\n key={hex ?? rgb}\n className={classnames(\n \"neeto-ui-color-palette__item neeto-ui-border\",\n { active: isActive }\n )}\n onClick={() => onChange(hex ?? rgb)}\n >\n <div\n style={{ backgroundColor: hex ?? rgb }}\n className={classnames({\n \"transparent-bg-pattern\": isTransparent,\n })}\n />\n </div>\n );\n })}\n </div>\n);\n\nPalette.propTypes = {\n color: PropTypes.string,\n colorList: PropTypes.arrayOf(\n PropTypes.shape({ hex: PropTypes.string, rgb: PropTypes.string })\n ),\n onChange: PropTypes.func,\n};\n\nexport default Palette;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Down, ColorPicker as ColorPickerIcon } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport {\n HexColorPicker,\n HexColorInput,\n HexAlphaColorPicker,\n} from \"react-colorful\";\nimport tinycolor from \"tinycolor2\";\nimport useEyeDropper from \"use-eye-dropper\";\n\nimport Button from \"components/Button\";\nimport Dropdown from \"components/Dropdown\";\nimport { noop } from \"utils\";\n\nimport Palette from \"./Palette\";\n\nconst TARGET_SIZES = {\n large: \"large\",\n medium: \"medium\",\n small: \"small\",\n};\n\nconst ColorPicker = ({\n color = \"\",\n size = TARGET_SIZES.large,\n onChange = noop,\n dropdownProps,\n showEyeDropper = true,\n showHexValue = false,\n showTransparencyControl = false,\n showPicker = true,\n portalProps,\n colorPalette,\n}) => {\n const [colorInternal, setColorInternal] = useState(color);\n const isInputChanged = useRef(false);\n const { open, isSupported } = useEyeDropper({ pickRadius: 3 });\n\n const PickerComponent = showTransparencyControl\n ? HexAlphaColorPicker\n : HexColorPicker;\n\n const colorValue = color ?? colorInternal ?? \"\";\n\n const getColor = colorValue => {\n const color = tinycolor(colorValue);\n\n if (color.isValid()) {\n let hex = color.toHexString();\n // return `transparent` for transparent colors.\n if (color.getAlpha() === 0) hex = colorValue;\n else if (showTransparencyControl) hex = color.toHex8String();\n\n return { hex, rgb: color.toRgb() };\n }\n\n return { hex: colorValue, rgb: colorValue };\n };\n\n const onColorChange = color => {\n const changeHandler = onChange ?? setColorInternal;\n\n changeHandler(getColor(color));\n };\n\n const onColorInputChange = hex => {\n isInputChanged.current = true;\n\n onColorChange(hex);\n };\n\n const onBlur = () => {\n // If input is not changed, don't call onChange on blur\n if (!isInputChanged.current) return;\n\n isInputChanged.current = false;\n onColorChange(colorValue);\n };\n\n const pickColor = async () => {\n try {\n const colorResponse = await open();\n const hex = tinycolor(colorResponse.sRGBHex).toHexString();\n onColorChange(hex);\n } catch {\n // Ensures component is still mounted\n // before calling setState\n // if (!e.canceled) setError(e);\n }\n };\n\n const Target = ({ size }) => (\n <button\n data-cy=\"color-picker-target\"\n data-testid=\"neeto-color-picker\"\n type=\"button\"\n className={classnames(\"neeto-ui-colorpicker__target\", {\n \"neeto-ui-colorpicker__target-size--large\": size === TARGET_SIZES.large,\n \"neeto-ui-colorpicker__target-size--medium\":\n size === TARGET_SIZES.medium,\n \"neeto-ui-colorpicker__target-size--small\": size === TARGET_SIZES.small,\n })}\n >\n {showHexValue && (\n <span className=\"neeto-ui-colorpicker-target__code\">{color}</span>\n )}\n <span className=\"neeto-ui-colorpicker-target__color-wrapper\">\n <span\n className=\"neeto-ui-colorpicker-target__color neeto-ui-border-gray-200\"\n style={{ backgroundColor: colorValue }}\n />\n <span className=\"neeto-ui-colorpicker-target__icon\">\n <Down size={16} />\n </span>\n </span>\n </button>\n );\n\n return (\n <Dropdown\n className=\"neeto-ui-colorpicker__dropdown\"\n closeOnSelect={false}\n customTarget={<Target {...{ size }} />}\n label={colorValue}\n position=\"bottom-start\"\n {...dropdownProps}\n dropdownProps={{ ...dropdownProps?.dropdownProps, ...portalProps }}\n >\n <div className=\"neeto-ui-colorpicker__popover\">\n {showPicker && (\n <>\n <div\n className=\"neeto-ui-colorpicker__pointer\"\n data-testid=\"neeto-color-picker-section\"\n >\n <PickerComponent color={colorValue} onChange={onColorChange} />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-3 neeto-ui-gap-2\">\n {showEyeDropper && isSupported() && (\n <Button\n className=\"neeto-ui-colorpicker__eyedropper-btn\"\n icon={ColorPickerIcon}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={pickColor}\n />\n )}\n <div className=\"neeto-ui-input__wrapper\">\n <div\n className=\"neeto-ui-colorpicker__input neeto-ui-input neeto-ui-input--small\"\n data-cy=\"colorpicker-editable-input\"\n >\n <HexColorInput\n {...{ onBlur }}\n prefixed\n alpha={!!showTransparencyControl}\n color={colorValue}\n onChange={onColorInputChange}\n />\n </div>\n </div>\n </div>\n </>\n )}\n <div\n data-testid=\"color-palette\"\n className={classnames(\"neeto-ui-colorpicker__palette-wrapper\", {\n \"neeto-ui-colorpicker__palette-wrapper--hidden-picker\": !showPicker,\n \"neeto-ui-pt-3 neeto-ui-border-t neeto-ui-border-gray-200\":\n showPicker,\n })}\n >\n <Palette\n {...{ color }}\n colorList={colorPalette}\n onChange={onColorChange}\n />\n </div>\n </div>\n </Dropdown>\n );\n};\n\nColorPicker.propTypes = {\n /**\n * To specify the color value.\n */\n color: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To set the size of the target.\n */\n size: PropTypes.oneOf(Object.values(TARGET_SIZES)),\n /**\n * To specify the action to be triggered on changing the color.\n */\n onChange: PropTypes.func,\n /**\n * To specify the colors shown in the palette.\n */\n colorPalette: PropTypes.arrayOf(\n PropTypes.shape({ hex: PropTypes.string, rgb: PropTypes.string })\n ),\n /**\n * Shows eye dropper to pick color.\n */\n showEyeDropper: PropTypes.bool,\n /**\n * To show hex value near to the color in the dropdown.\n * By default it will be enabled.\n */\n showHexValue: PropTypes.bool,\n /**\n * To show transparency control. By default it will be hidden.\n */\n showTransparencyControl: PropTypes.bool,\n /**\n * To show the color picker. Used to hide the picker in cases where only palette is required. By default it will be true.\n */\n showPicker: PropTypes.bool,\n /**\n * To specify the props to be passed to the dropdown portal.\n */\n portalProps: PropTypes.object,\n};\n\nexport default ColorPicker;\n"],"names":["o","e","t","n","r","Dropper","DEFAULT_PALETTE_COLORS","hex","Palette","_ref","color","_ref$colorList","colorList","onChange","React","createElement","className","map","item","rgb","colorObject","tinycolor","isTransparent","getAlpha","isActive","Boolean","toLocaleLowerCase","key","classnames","active","onClick","style","backgroundColor","TARGET_SIZES","large","medium","small","ColorPicker","_ref2","_ref$color","_ref$size","size","_ref$onChange","noop","dropdownProps","_ref$showEyeDropper","showEyeDropper","_ref$showHexValue","showHexValue","_ref$showTransparency","showTransparencyControl","_ref$showPicker","showPicker","portalProps","colorPalette","_useState","useState","_useState2","_slicedToArray","colorInternal","setColorInternal","isInputChanged","useRef","_useEyeDropper","useEyeDropper","pickRadius","open","isSupported","PickerComponent","HexAlphaColorPicker","HexColorPicker","colorValue","getColor","isValid","toHexString","toHex8String","toRgb","onColorChange","changeHandler","onColorInputChange","current","onBlur","pickColor","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorResponse","wrap","_callee$","_context","prev","next","sent","sRGBHex","t0","stop","apply","arguments","Target","_ref4","type","Down","Dropdown","_extends","closeOnSelect","customTarget","label","position","_objectSpread","Fragment","Button","icon","ColorPickerIcon","HexColorInput","prefixed","alpha"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -11,6 +11,7 @@ import { h as hyphenize, n as noop } from './index-qrY3Z55Q.js';
11
11
  import _toArray from '@babel/runtime/helpers/toArray';
12
12
  import { Close } from '@bigbinary/neeto-icons';
13
13
  import Tag from './Tag.js';
14
+ import { isPresent } from '@bigbinary/neeto-cist';
14
15
  import Label from './Label.js';
15
16
  import '@babel/runtime/helpers/esm/extends';
16
17
  import '@babel/runtime/helpers/esm/objectSpread2';
@@ -32,7 +33,6 @@ import '@babel/runtime/helpers/inherits';
32
33
  import '@babel/runtime/helpers/createSuper';
33
34
  import '@babel/runtime/helpers/taggedTemplateLiteral';
34
35
  import '@babel/runtime/helpers/typeof';
35
- import '@bigbinary/neeto-cist';
36
36
  import 'qs';
37
37
  import './en-CJac0MnO.js';
38
38
  import 'dayjs';
@@ -184,16 +184,21 @@ var _excluded$1 = ["label", "value"];
184
184
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
185
185
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
186
186
  var getEmailsMap = function getEmailsMap() {
187
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
188
- var inputEmails = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
189
- return new Map([].concat(_toConsumableArray(inputEmails), _toConsumableArray(options)).map(function (option) {
190
- return [option.value, option];
191
- }));
187
+ var inputEmails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
188
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
189
+ var emails = [].concat(_toConsumableArray(inputEmails), _toConsumableArray(options));
190
+ var emailsMap = new Map();
191
+ emails.forEach(function (option) {
192
+ var _emailsMap$get;
193
+ var hasPersistedEntry = isPresent((_emailsMap$get = emailsMap.get(option.value)) === null || _emailsMap$get === void 0 ? void 0 : _emailsMap$get.id);
194
+ if (!hasPersistedEntry) emailsMap.set(option.value, option);
195
+ });
196
+ return emailsMap;
192
197
  };
193
198
  var processEmailOptions = function processEmailOptions() {
194
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
195
- var inputEmails = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
196
- var emailsMap = getEmailsMap(options, inputEmails);
199
+ var inputEmails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
200
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
201
+ var emailsMap = getEmailsMap(inputEmails, options);
197
202
  return function (email) {
198
203
  var emailDetails = emailsMap.get(email) || {
199
204
  value: email
@@ -213,7 +218,7 @@ var formatEmailInputOption = function formatEmailInputOption(_ref) {
213
218
  });
214
219
  };
215
220
  var pruneDuplicates = function pruneDuplicates(inputValues, options) {
216
- var emailProcessor = processEmailOptions(options, inputValues);
221
+ var emailProcessor = processEmailOptions(inputValues, options);
217
222
  var emails = pluck("value", inputValues);
218
223
  var uniqueValuesSet = new Set();
219
224
  var duplicates = [];
@@ -1 +1 @@
1
- {"version":3,"file":"MultiEmailInput.js","sources":["../src/components/MultiEmailInput/constants.jsx","../src/components/MultiEmailInput/utils.js","../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\n\nimport { Close } from \"neetoicons\";\nimport { assoc } from \"ramda\";\nimport { components } from \"react-select\";\n\nimport Tag from \"components/Tag\";\nimport { hyphenize } from \"utils\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst CustomControl = ({ children, ...props }) => {\n const { getValue } = props;\n const { isFocused, prefix } = props.selectProps;\n\n const prevValue = useRef([]);\n const controlRef = useRef(null);\n\n const value = getValue();\n\n const scrollToBottom = () => {\n const scrollContainer = controlRef.current;\n if (!scrollContainer) return;\n\n const { scrollHeight, clientHeight } = scrollContainer;\n\n scrollContainer.scrollTo({ top: scrollHeight - clientHeight });\n };\n\n useEffect(() => {\n const isItemAdded = value.length > prevValue.current.length;\n const isItemDeleted = value.length < prevValue.current.length;\n\n if ((isFocused && !isItemDeleted) || isItemAdded) scrollToBottom();\n\n prevValue.current = value;\n }, [isFocused, value]);\n\n return (\n <components.Control\n {...props}\n innerProps={{ ...props.innerProps, ref: controlRef }}\n >\n {prefix && <div className=\"neeto-ui-email-input__prefix\">{prefix}</div>}\n {children}\n </components.Control>\n );\n};\n\nconst CustomDropdownIndicator = props => {\n const { suffix } = props.selectProps;\n\n return suffix ? (\n <components.DropdownIndicator {...props}>\n <div className=\"neeto-ui-email-input__suffix\">{suffix}</div>\n </components.DropdownIndicator>\n ) : null;\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst CustomValueContainer = ({ children, ...props }) => {\n const {\n getValue,\n selectProps: { isFocused, visibleEmailsCount, isAlwaysExpanded },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n label={`${value.length - visibleEmailsCount} more`}\n style=\"secondary\"\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst CustomClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"clear-all-button\",\n }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nconst SelectContainer = props => (\n <components.SelectContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-select-container\",\n }}\n />\n);\n\nconst Input = props => {\n const handlePaste = event => {\n const { handleEmailChange } = props.selectProps;\n\n const text = event.clipboardData.getData(\"Text\");\n if (!EMAIL_REGEX.test(text)) return;\n\n event?.preventDefault();\n setTimeout(() => handleEmailChange(text));\n };\n\n return (\n <components.Input\n {...props}\n data-cy=\"email-select-input-field\"\n onPaste={handlePaste}\n />\n );\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const EMAIL_SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: CustomDropdownIndicator,\n Control: CustomControl,\n MultiValueRemove,\n ValueContainer: CustomValueContainer,\n ClearIndicator: CustomClearIndicator,\n SelectContainer,\n Input,\n};\n","import { pluck } from \"ramda\";\n\nimport { EMAIL_REGEX } from \"./constants\";\n\nconst getEmailsMap = (options = [], inputEmails = []) =>\n new Map([...inputEmails, ...options].map(option => [option.value, option]));\n\nconst processEmailOptions = (options = [], inputEmails = []) => {\n const emailsMap = getEmailsMap(options, inputEmails);\n\n return email => {\n const emailDetails = emailsMap.get(email) || { value: email };\n\n return formatEmailInputOption(emailDetails);\n };\n};\n\nexport const formatEmailInputOption = ({ label, value, ...otherDetails }) => ({\n label: label ?? value,\n value,\n ...otherDetails,\n valid: EMAIL_REGEX.test(value),\n});\n\nexport const pruneDuplicates = (inputValues, options) => {\n const emailProcessor = processEmailOptions(options, inputValues);\n const emails = pluck(\"value\", inputValues);\n const uniqueValuesSet = new Set();\n const duplicates = [];\n\n emails.forEach(pristineEmail => {\n const email = pristineEmail.toLowerCase();\n if (uniqueValuesSet.has(email)) duplicates.push(pristineEmail);\n\n uniqueValuesSet.add(email);\n });\n\n const uniqueValues = Array.from(uniqueValuesSet);\n const uniqueEmails = uniqueValues.map(emailProcessor);\n\n return { uniqueEmails, duplicates };\n};\n\nexport const renderValidEmails = values =>\n values.filter(email => email.valid && email);\n\nexport const getValidEmailsCount = values => renderValidEmails(values).length;\n\nexport const renderDefaultText = count => (count === 1 ? \"email\" : \"emails\");\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft, isEmpty } from \"ramda\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport { noop, hyphenize } from \"utils\";\n\nimport {\n EMAIL_SEPARATION_REGEX,\n CUSTOM_STYLES,\n UNSTRICT_EMAIL_REGEX,\n CUSTOM_COMPONENTS,\n} from \"./constants\";\nimport {\n pruneDuplicates,\n renderValidEmails,\n renderDefaultText,\n getValidEmailsCount,\n} from \"./utils\";\n\nimport Label from \"../Label\";\n\nconst MultiEmailInput = forwardRef(\n (\n {\n label = \"Email(s)\",\n placeholder = \"\",\n helpText = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n filterInvalidEmails,\n counter,\n disabled = false,\n maxHeight = 200,\n required = false,\n labelProps,\n visibleEmailsCount = 3,\n isCreateable = true,\n isAlwaysExpanded = false,\n ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState([]);\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const isCounterVisible =\n !!counter &&\n (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);\n\n const isOptionsPresent = !!otherProps.options;\n\n const handleFilterEmails = () => onChange(renderValidEmails(value));\n\n const handleEmailChange = inputValue => {\n if (!isCreateable) return;\n\n const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => ({ value: email }));\n\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, ...emails],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n setIsMenuOpen(false);\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange(inputValue);\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, { value: input }],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange(inputValue) : onBlur(event);\n setIsFocused(false);\n setDuplicateEmails([]);\n };\n\n let overrideProps = {};\n\n if (isOptionsPresent) {\n const isValidNewOption = (inputValue, _, selectOptions) => {\n if (!isCreateable) return false;\n\n const isInputEmpty = isEmpty(inputValue.trim());\n const doesInputContainSeparator =\n inputValue.includes(\",\") || inputValue.includes(\" \");\n\n const isInputPresentInOptions = selectOptions.find(\n option => option.value === inputValue.toLowerCase()\n );\n\n return !(\n isInputEmpty ||\n doesInputContainSeparator ||\n isInputPresentInOptions\n );\n };\n overrideProps = { onCreateOption, isValidNewOption };\n }\n\n const isFilterEmailsLinkVisible =\n !!filterInvalidEmails && value.length > getValidEmailsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCounterVisible && (\n <p\n className=\"neeto-ui-email-input__counter\"\n data-cy={`${hyphenize(label)}-email-counter`}\n >\n {getValidEmailsCount(value)}{\" \"}\n {counter.label\n ? counter.label\n : renderDefaultText(getValidEmailsCount(value))}\n </p>\n )}\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n isDisabled={disabled}\n menuIsOpen={isMenuOpen}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: `${maxHeight}px`,\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onKeyDown={handleKeyDown}\n onInputChange={inputValue => {\n setIsMenuOpen(Boolean(inputValue));\n setInputValue(inputValue);\n }}\n {...{\n handleEmailChange,\n inputValue,\n isAlwaysExpanded,\n isFocused,\n onChange,\n placeholder,\n ref,\n value,\n visibleEmailsCount,\n ...(!isOptionsPresent && { menuIsOpen: false }),\n ...otherProps,\n ...overrideProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {error}\n {isFilterEmailsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterEmails}\n >\n &nbsp;\n {filterInvalidEmails.label\n ? filterInvalidEmails.label\n : \"Click here to remove invalid emails.\"}\n </span>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {helpText}\n </p>\n )}\n {!!duplicateEmails.length && (\n <p\n className=\"neeto-ui-input__warning\"\n data-cy={`${hyphenize(label)}-duplicate-emails-warning`}\n >\n Duplicate emails that were removed case insensitively:{\" \"}\n {duplicateEmails.join(\", \")}\n </p>\n )}\n </div>\n );\n }\n);\n\nMultiEmailInput.displayName = \"MultiEmailInput\";\n\nMultiEmailInput.propTypes = {\n /**\n * To specify the text to be displayed above the Input field.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the text to be displayed inside the Input field.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the helper text message to be displayed below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify the value to be displayed inside the Input field.\n */\n value: PropTypes.array,\n /**\n * To specify the error message to be shown below the Input field.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the message to be shown besides the error message to filter out the invalid emails.\n */\n filterInvalidEmails: PropTypes.shape({ label: PropTypes.string }),\n /**\n * To add an email counter next to the label.\n */\n counter: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n label: PropTypes.string,\n startsFrom: PropTypes.number,\n }),\n ]),\n /**\n * To specify the action to be triggered on modifying the Input field.\n */\n onChange: PropTypes.func,\n /**\n * To specify the action to be triggered on changing focus from the Input field.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the maximum height (in pixels) of the container before it becomes scrollable.\n */\n maxHeight: PropTypes.number,\n /**\n * To specify the content to be added at the end of the Input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the number of email to be displayed in the input field when not in focus.\n */\n visibleEmailsCount: PropTypes.number,\n /**\n * To specify whether a new email option can be created or not.\n */\n isCreateable: PropTypes.bool,\n /**\n * To specify whether the input field should always be shown in an expanded state or not.\n */\n isAlwaysExpanded: PropTypes.bool,\n};\n\nexport default MultiEmailInput;\n"],"names":["STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","getValue","_props$selectProps","selectProps","isFocused","prefix","prevValue","useRef","controlRef","value","scrollToBottom","scrollContainer","current","scrollHeight","clientHeight","scrollTo","top","useEffect","isItemAdded","length","isItemDeleted","React","createElement","components","Control","_extends","innerProps","_objectSpread","ref","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","_props$selectProps2","visibleEmailsCount","isAlwaysExpanded","_children","_toArray","firstChild","rest","slice","shouldCollapse","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","handlePaste","event","handleEmailChange","text","clipboardData","getData","EMAIL_REGEX","test","preventDefault","setTimeout","onPaste","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","getEmailsMap","options","arguments","undefined","inputEmails","Map","_toConsumableArray","map","option","processEmailOptions","emailsMap","email","emailDetails","get","formatEmailInputOption","otherDetails","pruneDuplicates","inputValues","emailProcessor","emails","pluck","uniqueValuesSet","Set","duplicates","forEach","pristineEmail","toLowerCase","has","push","add","uniqueValues","Array","from","uniqueEmails","renderValidEmails","values","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","_ref$label","_ref$placeholder","placeholder","_ref$helpText","helpText","_ref$value","_ref$onChange","onChange","noop","_ref$error","_ref$onBlur","onBlur","filterInvalidEmails","counter","_ref$disabled","disabled","_ref$maxHeight","maxHeight","_ref$required","required","labelProps","_ref$visibleEmailsCou","_ref$isCreateable","isCreateable","_ref$isAlwaysExpanded","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","_useState5","_useState6","duplicateEmails","setDuplicateEmails","_useState7","_useState8","isMenuOpen","setIsMenuOpen","isCounterVisible","startsFrom","isOptionsPresent","handleFilterEmails","match","emailMatches","_pruneDuplicates","handleKeyDown","key","stopPropagation","onCreateOption","_otherProps$onCreateO","_pruneDuplicates2","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","menuIsOpen","classnames","control","mergeLeft","overflowY","onFocus","onKeyDown","onInputChange","Boolean","onClick","join","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"MultiEmailInput.js","sources":["../src/components/MultiEmailInput/constants.jsx","../src/components/MultiEmailInput/utils.js","../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\n\nimport { Close } from \"neetoicons\";\nimport { assoc } from \"ramda\";\nimport { components } from \"react-select\";\n\nimport Tag from \"components/Tag\";\nimport { hyphenize } from \"utils\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst CustomControl = ({ children, ...props }) => {\n const { getValue } = props;\n const { isFocused, prefix } = props.selectProps;\n\n const prevValue = useRef([]);\n const controlRef = useRef(null);\n\n const value = getValue();\n\n const scrollToBottom = () => {\n const scrollContainer = controlRef.current;\n if (!scrollContainer) return;\n\n const { scrollHeight, clientHeight } = scrollContainer;\n\n scrollContainer.scrollTo({ top: scrollHeight - clientHeight });\n };\n\n useEffect(() => {\n const isItemAdded = value.length > prevValue.current.length;\n const isItemDeleted = value.length < prevValue.current.length;\n\n if ((isFocused && !isItemDeleted) || isItemAdded) scrollToBottom();\n\n prevValue.current = value;\n }, [isFocused, value]);\n\n return (\n <components.Control\n {...props}\n innerProps={{ ...props.innerProps, ref: controlRef }}\n >\n {prefix && <div className=\"neeto-ui-email-input__prefix\">{prefix}</div>}\n {children}\n </components.Control>\n );\n};\n\nconst CustomDropdownIndicator = props => {\n const { suffix } = props.selectProps;\n\n return suffix ? (\n <components.DropdownIndicator {...props}>\n <div className=\"neeto-ui-email-input__suffix\">{suffix}</div>\n </components.DropdownIndicator>\n ) : null;\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst CustomValueContainer = ({ children, ...props }) => {\n const {\n getValue,\n selectProps: { isFocused, visibleEmailsCount, isAlwaysExpanded },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n label={`${value.length - visibleEmailsCount} more`}\n style=\"secondary\"\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst CustomClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"clear-all-button\",\n }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nconst SelectContainer = props => (\n <components.SelectContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-select-container\",\n }}\n />\n);\n\nconst Input = props => {\n const handlePaste = event => {\n const { handleEmailChange } = props.selectProps;\n\n const text = event.clipboardData.getData(\"Text\");\n if (!EMAIL_REGEX.test(text)) return;\n\n event?.preventDefault();\n setTimeout(() => handleEmailChange(text));\n };\n\n return (\n <components.Input\n {...props}\n data-cy=\"email-select-input-field\"\n onPaste={handlePaste}\n />\n );\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const EMAIL_SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: CustomDropdownIndicator,\n Control: CustomControl,\n MultiValueRemove,\n ValueContainer: CustomValueContainer,\n ClearIndicator: CustomClearIndicator,\n SelectContainer,\n Input,\n};\n","import { isPresent } from \"neetocist\";\nimport { pluck } from \"ramda\";\n\nimport { EMAIL_REGEX } from \"./constants\";\n\nconst getEmailsMap = (inputEmails = [], options = []) => {\n const emails = [...inputEmails, ...options];\n const emailsMap = new Map();\n\n emails.forEach(option => {\n const hasPersistedEntry = isPresent(emailsMap.get(option.value)?.id);\n if (!hasPersistedEntry) emailsMap.set(option.value, option);\n });\n\n return emailsMap;\n};\n\nconst processEmailOptions = (inputEmails = [], options = []) => {\n const emailsMap = getEmailsMap(inputEmails, options);\n\n return email => {\n const emailDetails = emailsMap.get(email) || { value: email };\n\n return formatEmailInputOption(emailDetails);\n };\n};\n\nexport const formatEmailInputOption = ({ label, value, ...otherDetails }) => ({\n label: label ?? value,\n value,\n ...otherDetails,\n valid: EMAIL_REGEX.test(value),\n});\n\nexport const pruneDuplicates = (inputValues, options) => {\n const emailProcessor = processEmailOptions(inputValues, options);\n const emails = pluck(\"value\", inputValues);\n const uniqueValuesSet = new Set();\n const duplicates = [];\n\n emails.forEach(pristineEmail => {\n const email = pristineEmail.toLowerCase();\n if (uniqueValuesSet.has(email)) duplicates.push(pristineEmail);\n\n uniqueValuesSet.add(email);\n });\n\n const uniqueValues = Array.from(uniqueValuesSet);\n const uniqueEmails = uniqueValues.map(emailProcessor);\n\n return { uniqueEmails, duplicates };\n};\n\nexport const renderValidEmails = values =>\n values.filter(email => email.valid && email);\n\nexport const getValidEmailsCount = values => renderValidEmails(values).length;\n\nexport const renderDefaultText = count => (count === 1 ? \"email\" : \"emails\");\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft, isEmpty } from \"ramda\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport { noop, hyphenize } from \"utils\";\n\nimport {\n EMAIL_SEPARATION_REGEX,\n CUSTOM_STYLES,\n UNSTRICT_EMAIL_REGEX,\n CUSTOM_COMPONENTS,\n} from \"./constants\";\nimport {\n pruneDuplicates,\n renderValidEmails,\n renderDefaultText,\n getValidEmailsCount,\n} from \"./utils\";\n\nimport Label from \"../Label\";\n\nconst MultiEmailInput = forwardRef(\n (\n {\n label = \"Email(s)\",\n placeholder = \"\",\n helpText = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n filterInvalidEmails,\n counter,\n disabled = false,\n maxHeight = 200,\n required = false,\n labelProps,\n visibleEmailsCount = 3,\n isCreateable = true,\n isAlwaysExpanded = false,\n ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState([]);\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const isCounterVisible =\n !!counter &&\n (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);\n\n const isOptionsPresent = !!otherProps.options;\n\n const handleFilterEmails = () => onChange(renderValidEmails(value));\n\n const handleEmailChange = inputValue => {\n if (!isCreateable) return;\n\n const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => ({ value: email }));\n\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, ...emails],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n setIsMenuOpen(false);\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange(inputValue);\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, { value: input }],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange(inputValue) : onBlur(event);\n setIsFocused(false);\n setDuplicateEmails([]);\n };\n\n let overrideProps = {};\n\n if (isOptionsPresent) {\n const isValidNewOption = (inputValue, _, selectOptions) => {\n if (!isCreateable) return false;\n\n const isInputEmpty = isEmpty(inputValue.trim());\n const doesInputContainSeparator =\n inputValue.includes(\",\") || inputValue.includes(\" \");\n\n const isInputPresentInOptions = selectOptions.find(\n option => option.value === inputValue.toLowerCase()\n );\n\n return !(\n isInputEmpty ||\n doesInputContainSeparator ||\n isInputPresentInOptions\n );\n };\n overrideProps = { onCreateOption, isValidNewOption };\n }\n\n const isFilterEmailsLinkVisible =\n !!filterInvalidEmails && value.length > getValidEmailsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCounterVisible && (\n <p\n className=\"neeto-ui-email-input__counter\"\n data-cy={`${hyphenize(label)}-email-counter`}\n >\n {getValidEmailsCount(value)}{\" \"}\n {counter.label\n ? counter.label\n : renderDefaultText(getValidEmailsCount(value))}\n </p>\n )}\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n isDisabled={disabled}\n menuIsOpen={isMenuOpen}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: `${maxHeight}px`,\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onKeyDown={handleKeyDown}\n onInputChange={inputValue => {\n setIsMenuOpen(Boolean(inputValue));\n setInputValue(inputValue);\n }}\n {...{\n handleEmailChange,\n inputValue,\n isAlwaysExpanded,\n isFocused,\n onChange,\n placeholder,\n ref,\n value,\n visibleEmailsCount,\n ...(!isOptionsPresent && { menuIsOpen: false }),\n ...otherProps,\n ...overrideProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {error}\n {isFilterEmailsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterEmails}\n >\n &nbsp;\n {filterInvalidEmails.label\n ? filterInvalidEmails.label\n : \"Click here to remove invalid emails.\"}\n </span>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {helpText}\n </p>\n )}\n {!!duplicateEmails.length && (\n <p\n className=\"neeto-ui-input__warning\"\n data-cy={`${hyphenize(label)}-duplicate-emails-warning`}\n >\n Duplicate emails that were removed case insensitively:{\" \"}\n {duplicateEmails.join(\", \")}\n </p>\n )}\n </div>\n );\n }\n);\n\nMultiEmailInput.displayName = \"MultiEmailInput\";\n\nMultiEmailInput.propTypes = {\n /**\n * To specify the text to be displayed above the Input field.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the text to be displayed inside the Input field.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the helper text message to be displayed below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify the value to be displayed inside the Input field.\n */\n value: PropTypes.array,\n /**\n * To specify the error message to be shown below the Input field.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the message to be shown besides the error message to filter out the invalid emails.\n */\n filterInvalidEmails: PropTypes.shape({ label: PropTypes.string }),\n /**\n * To add an email counter next to the label.\n */\n counter: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n label: PropTypes.string,\n startsFrom: PropTypes.number,\n }),\n ]),\n /**\n * To specify the action to be triggered on modifying the Input field.\n */\n onChange: PropTypes.func,\n /**\n * To specify the action to be triggered on changing focus from the Input field.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the maximum height (in pixels) of the container before it becomes scrollable.\n */\n maxHeight: PropTypes.number,\n /**\n * To specify the content to be added at the end of the Input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the number of email to be displayed in the input field when not in focus.\n */\n visibleEmailsCount: PropTypes.number,\n /**\n * To specify whether a new email option can be created or not.\n */\n isCreateable: PropTypes.bool,\n /**\n * To specify whether the input field should always be shown in an expanded state or not.\n */\n isAlwaysExpanded: PropTypes.bool,\n};\n\nexport default MultiEmailInput;\n"],"names":["STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","getValue","_props$selectProps","selectProps","isFocused","prefix","prevValue","useRef","controlRef","value","scrollToBottom","scrollContainer","current","scrollHeight","clientHeight","scrollTo","top","useEffect","isItemAdded","length","isItemDeleted","React","createElement","components","Control","_extends","innerProps","_objectSpread","ref","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","_props$selectProps2","visibleEmailsCount","isAlwaysExpanded","_children","_toArray","firstChild","rest","slice","shouldCollapse","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","handlePaste","event","handleEmailChange","text","clipboardData","getData","EMAIL_REGEX","test","preventDefault","setTimeout","onPaste","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","getEmailsMap","inputEmails","arguments","undefined","options","emails","_toConsumableArray","emailsMap","Map","forEach","option","_emailsMap$get","hasPersistedEntry","isPresent","get","id","set","processEmailOptions","email","emailDetails","formatEmailInputOption","otherDetails","pruneDuplicates","inputValues","emailProcessor","pluck","uniqueValuesSet","Set","duplicates","pristineEmail","toLowerCase","has","push","add","uniqueValues","Array","from","uniqueEmails","map","renderValidEmails","values","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","_ref$label","_ref$placeholder","placeholder","_ref$helpText","helpText","_ref$value","_ref$onChange","onChange","noop","_ref$error","_ref$onBlur","onBlur","filterInvalidEmails","counter","_ref$disabled","disabled","_ref$maxHeight","maxHeight","_ref$required","required","labelProps","_ref$visibleEmailsCou","_ref$isCreateable","isCreateable","_ref$isAlwaysExpanded","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","_useState5","_useState6","duplicateEmails","setDuplicateEmails","_useState7","_useState8","isMenuOpen","setIsMenuOpen","isCounterVisible","startsFrom","isOptionsPresent","handleFilterEmails","match","emailMatches","_pruneDuplicates","handleKeyDown","key","stopPropagation","onCreateOption","_otherProps$onCreateO","_pruneDuplicates2","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","menuIsOpen","classnames","control","mergeLeft","overflowY","onFocus","onKeyDown","onInputChange","Boolean","onClick","join","displayName"],"mappings":"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"}
@@ -36,36 +36,94 @@ const s=()=>"undefined"!=typeof window&&"EyeDropper"in window,i=()=>Promise.reje
36
36
 
37
37
  var useEyeDropper = p
38
38
 
39
- var TRANSPARENT = "transparent";
39
+ var DEFAULT_PALETTE_COLORS = [{
40
+ hex: "#FFFFFF"
41
+ }, {
42
+ hex: "#D6D6D6"
43
+ }, {
44
+ hex: "#676767"
45
+ }, {
46
+ hex: "#0A0E13"
47
+ }, {
48
+ hex: "#91E5F6"
49
+ }, {
50
+ hex: "#2A79C4"
51
+ }, {
52
+ hex: "#095482"
53
+ }, {
54
+ hex: "#FFCDD2"
55
+ }, {
56
+ hex: "#E2EFAC"
57
+ }, {
58
+ hex: "#B3E5FC"
59
+ }, {
60
+ hex: "#C8E6C9"
61
+ }, {
62
+ hex: "#D7CCC8"
63
+ }, {
64
+ hex: "#F5DD90"
65
+ }, {
66
+ hex: "#C3C6F9"
67
+ }, {
68
+ hex: "#FFF7AE"
69
+ }, {
70
+ hex: "#FECE1E"
71
+ }, {
72
+ hex: "#FFD69D"
73
+ }, {
74
+ hex: "#FE871E"
75
+ }, {
76
+ hex: "#02C39A"
77
+ }, {
78
+ hex: "#00A896"
79
+ }, {
80
+ hex: "#028090"
81
+ }, {
82
+ hex: "#99B898"
83
+ }, {
84
+ hex: "#586BA4"
85
+ }, {
86
+ hex: "#324376"
87
+ }, {
88
+ hex: "#FF847C"
89
+ }, {
90
+ hex: "#F32E48"
91
+ }, {
92
+ hex: "#8064CE"
93
+ }, {
94
+ hex: "#4F329A"
95
+ }];
40
96
 
41
97
  var Palette = function Palette(_ref) {
42
98
  var color = _ref.color,
43
99
  _ref$colorList = _ref.colorList,
44
- colorList = _ref$colorList === void 0 ? [] : _ref$colorList,
100
+ colorList = _ref$colorList === void 0 ? DEFAULT_PALETTE_COLORS : _ref$colorList,
45
101
  onChange = _ref.onChange;
46
102
  return /*#__PURE__*/React.createElement("div", {
47
103
  className: "neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start neeto-ui-color-palette neeto-ui-gap-1"
48
104
  }, colorList.map(function (item) {
49
105
  var hex = item.hex,
50
- colorClassName = item.colorClassName;
51
- var isTransparent = hex === TRANSPARENT;
52
- var isActive = Boolean((color === null || color === void 0 ? void 0 : color.hex) && color.hex === hex || (color === null || color === void 0 ? void 0 : color.colorClassName) && color.colorClassName === colorClassName);
106
+ rgb = item.rgb;
107
+ var colorObject = tinycolor.tinycolor(hex !== null && hex !== void 0 ? hex : rgb);
108
+ var isTransparent = colorObject.getAlpha() === 0;
109
+ var isActive = Boolean(
110
+ // hex is case insensitive.
111
+ (color === null || color === void 0 ? void 0 : color.toLocaleLowerCase()) === (hex === null || hex === void 0 ? void 0 : hex.toLocaleLowerCase()) || color === rgb);
53
112
  return /*#__PURE__*/React.createElement("div", {
54
113
  "data-testid": "color-palette-item",
55
- key: hex !== null && hex !== void 0 ? hex : colorClassName,
114
+ key: hex !== null && hex !== void 0 ? hex : rgb,
56
115
  className: classnames("neeto-ui-color-palette__item neeto-ui-border", {
57
116
  active: isActive
58
117
  }),
59
118
  onClick: function onClick() {
60
- return onChange(item);
119
+ return onChange(hex !== null && hex !== void 0 ? hex : rgb);
61
120
  }
62
121
  }, /*#__PURE__*/React.createElement("div", {
63
122
  style: {
64
- backgroundColor: hex
123
+ backgroundColor: hex !== null && hex !== void 0 ? hex : rgb
65
124
  },
66
125
  className: classnames({
67
- "transparent-bg-pattern": isTransparent,
68
- colorClassName: !isTransparent
126
+ "transparent-bg-pattern": isTransparent
69
127
  })
70
128
  }));
71
129
  }));
@@ -86,7 +144,6 @@ var ColorPicker = function ColorPicker(_ref) {
86
144
  size = _ref$size === void 0 ? TARGET_SIZES.large : _ref$size,
87
145
  _ref$onChange = _ref.onChange,
88
146
  onChange = _ref$onChange === void 0 ? index.noop : _ref$onChange,
89
- colorPaletteProps = _ref.colorPaletteProps,
90
147
  dropdownProps = _ref.dropdownProps,
91
148
  _ref$showEyeDropper = _ref.showEyeDropper,
92
149
  showEyeDropper = _ref$showEyeDropper === void 0 ? true : _ref$showEyeDropper,
@@ -96,7 +153,8 @@ var ColorPicker = function ColorPicker(_ref) {
96
153
  showTransparencyControl = _ref$showTransparency === void 0 ? false : _ref$showTransparency,
97
154
  _ref$showPicker = _ref.showPicker,
98
155
  showPicker = _ref$showPicker === void 0 ? true : _ref$showPicker,
99
- portalProps = _ref.portalProps;
156
+ portalProps = _ref.portalProps,
157
+ colorPalette = _ref.colorPalette;
100
158
  var _useState = React.useState(color),
101
159
  _useState2 = _slicedToArray(_useState, 2),
102
160
  colorInternal = _useState2[0],
@@ -109,35 +167,39 @@ var ColorPicker = function ColorPicker(_ref) {
109
167
  isSupported = _useEyeDropper.isSupported;
110
168
  var PickerComponent = showTransparencyControl ? reactColorful.HexAlphaColorPicker : reactColorful.HexColorPicker;
111
169
  var colorValue = (_ref2 = color !== null && color !== void 0 ? color : colorInternal) !== null && _ref2 !== void 0 ? _ref2 : "";
112
- var onChangeInternal = onChange || setColorInternal;
113
170
  var getColor = function getColor(colorValue) {
114
171
  var color = tinycolor.tinycolor(colorValue);
172
+ if (color.isValid()) {
173
+ var hex = color.toHexString();
174
+ // return `transparent` for transparent colors.
175
+ if (color.getAlpha() === 0) hex = colorValue;else if (showTransparencyControl) hex = color.toHex8String();
176
+ return {
177
+ hex: hex,
178
+ rgb: color.toRgb()
179
+ };
180
+ }
115
181
  return {
116
- hex: showTransparencyControl ? color.toHex8String() : color.toHexString(),
117
- rgb: color.toRgb()
182
+ hex: colorValue,
183
+ rgb: colorValue
118
184
  };
119
185
  };
186
+ var onColorChange = function onColorChange(color) {
187
+ var changeHandler = onChange !== null && onChange !== void 0 ? onChange : setColorInternal;
188
+ changeHandler(getColor(color));
189
+ };
120
190
  var onColorInputChange = function onColorInputChange(hex) {
121
- var color = tinycolor.tinycolor(hex);
122
- var rgb = color.toRgb();
123
191
  isInputChanged.current = true;
124
- onChangeInternal({
125
- hex: hex,
126
- rgb: rgb
127
- });
128
- };
129
- var onPickerChange = function onPickerChange(hex) {
130
- return onChangeInternal(getColor(hex));
192
+ onColorChange(hex);
131
193
  };
132
194
  var onBlur = function onBlur() {
133
195
  // If input is not changed, don't call onChange on blur
134
196
  if (!isInputChanged.current) return;
135
197
  isInputChanged.current = false;
136
- onChangeInternal(getColor(colorValue));
198
+ onColorChange(colorValue);
137
199
  };
138
200
  var pickColor = /*#__PURE__*/function () {
139
201
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
140
- var colorResponse, colorHex;
202
+ var colorResponse, hex;
141
203
  return _regeneratorRuntime.wrap(function _callee$(_context) {
142
204
  while (1) switch (_context.prev = _context.next) {
143
205
  case 0:
@@ -146,8 +208,8 @@ var ColorPicker = function ColorPicker(_ref) {
146
208
  return open();
147
209
  case 3:
148
210
  colorResponse = _context.sent;
149
- colorHex = tinycolor.tinycolor(colorResponse.sRGBHex).toHexString();
150
- onPickerChange(colorHex);
211
+ hex = tinycolor.tinycolor(colorResponse.sRGBHex).toHexString();
212
+ onColorChange(hex);
151
213
  _context.next = 10;
152
214
  break;
153
215
  case 8:
@@ -206,7 +268,7 @@ var ColorPicker = function ColorPicker(_ref) {
206
268
  "data-testid": "neeto-color-picker-section"
207
269
  }, /*#__PURE__*/React.createElement(PickerComponent, {
208
270
  color: colorValue,
209
- onChange: onPickerChange
271
+ onChange: onColorChange
210
272
  })), /*#__PURE__*/React.createElement("div", {
211
273
  className: "neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-3 neeto-ui-gap-2"
212
274
  }, showEyeDropper && isSupported() && /*#__PURE__*/React.createElement(Button, {
@@ -227,13 +289,17 @@ var ColorPicker = function ColorPicker(_ref) {
227
289
  alpha: !!showTransparencyControl,
228
290
  color: colorValue,
229
291
  onChange: onColorInputChange
230
- }))))), colorPaletteProps && /*#__PURE__*/React.createElement("div", {
292
+ }))))), /*#__PURE__*/React.createElement("div", {
231
293
  "data-testid": "color-palette",
232
294
  className: classnames("neeto-ui-colorpicker__palette-wrapper", {
233
295
  "neeto-ui-colorpicker__palette-wrapper--hidden-picker": !showPicker,
234
296
  "neeto-ui-pt-3 neeto-ui-border-t neeto-ui-border-gray-200": showPicker
235
297
  })
236
- }, /*#__PURE__*/React.createElement(Palette, colorPaletteProps))));
298
+ }, /*#__PURE__*/React.createElement(Palette, {
299
+ color: color,
300
+ colorList: colorPalette,
301
+ onChange: onColorChange
302
+ }))));
237
303
  };
238
304
 
239
305
  module.exports = ColorPicker;
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","sources":["../../node_modules/use-eye-dropper/lib/use-eye-dropper.module.js","../../node_modules/use-eye-dropper/lib/index.module.js","../../src/components/ColorPicker/constants.js","../../src/components/ColorPicker/Palette.jsx","../../src/components/ColorPicker/index.jsx"],"sourcesContent":["import{useMemo as r,useRef as o,useCallback as n,useEffect as t,useState as e}from\"react\";const s=()=>\"undefined\"!=typeof window&&\"EyeDropper\"in window,i=()=>Promise.reject(new Error(\"Unsupported browser.\")),c=()=>{const r=o(),[i,c]=e(!1);t(()=>(r.current=!0,c(s()),()=>{r.current=!1}),[]);const u=n(()=>i,[i]);return[r,u]},u=r=>{const o=(r=>s()&&new EyeDropper(r))(r);var n;return(n=o)?EyeDropper.prototype.open.bind(n):i},p=e=>{const s=r(()=>u(e),[e]),[i,p]=c(),a=o(),f=n(()=>{void 0!==a.current&&a.current.abort()},[a]),d=n(function(r){void 0===r&&(r={});try{f();const{signal:o,...n}=r,t=new AbortController;a.current=t;const e=void 0!==o?(r=>{const o=new AbortController,n=()=>{o.abort();for(const o of r)o.removeEventListener(\"abort\",n)};for(const o of r){if(o.aborted){n();break}o.addEventListener(\"abort\",n)}return o.signal})([o,t.signal]):t.signal;return Promise.resolve(function(r,o){try{var t=Promise.resolve(s({...n,signal:e}))}catch(r){return o(r)}return t&&t.then?t.then(void 0,o):t}(0,function(r){throw i.current||(r.canceled=!0),r}))}catch(r){return Promise.reject(r)}},[a,i,f,s]);return t(()=>f,[f]),{open:d,close:f,isSupported:p}};export{p as default};\n","import { default as DropperDev } from './use-eye-dropper.module.dev.js'\nimport { default as Dropper } from './use-eye-dropper.module.js'\n\nexport default process.env.NODE_ENV === 'production' ? Dropper : DropperDev\n","export const TRANSPARENT = \"transparent\";\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { TRANSPARENT } from \"./constants\";\n\nconst Palette = ({ color, colorList = [], onChange }) => (\n <div className=\"neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start neeto-ui-color-palette neeto-ui-gap-1\">\n {colorList.map(item => {\n const { hex, colorClassName } = item;\n const isTransparent = hex === TRANSPARENT;\n\n const isActive = Boolean(\n (color?.hex && color.hex === hex) ||\n (color?.colorClassName && color.colorClassName === colorClassName)\n );\n\n return (\n <div\n data-testid=\"color-palette-item\"\n key={hex ?? colorClassName}\n className={classnames(\n \"neeto-ui-color-palette__item neeto-ui-border\",\n { active: isActive }\n )}\n onClick={() => onChange(item)}\n >\n <div\n style={{ backgroundColor: hex }}\n className={classnames({\n \"transparent-bg-pattern\": isTransparent,\n colorClassName: !isTransparent,\n })}\n />\n </div>\n );\n })}\n </div>\n);\n\nPalette.propTypes = {\n color: PropTypes.shape({\n hex: PropTypes.string,\n colorClassName: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n hex: PropTypes.string,\n colorClassName: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n};\n\nexport default Palette;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Down, ColorPicker as ColorPickerIcon } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport {\n HexColorPicker,\n HexColorInput,\n HexAlphaColorPicker,\n} from \"react-colorful\";\nimport tinycolor from \"tinycolor2\";\nimport useEyeDropper from \"use-eye-dropper\";\n\nimport Button from \"components/Button\";\nimport Dropdown from \"components/Dropdown\";\nimport { noop } from \"utils\";\n\nimport Palette from \"./Palette\";\n\nconst TARGET_SIZES = {\n large: \"large\",\n medium: \"medium\",\n small: \"small\",\n};\n\nconst ColorPicker = ({\n color = \"\",\n size = TARGET_SIZES.large,\n onChange = noop,\n colorPaletteProps,\n dropdownProps,\n showEyeDropper = true,\n showHexValue = false,\n showTransparencyControl = false,\n showPicker = true,\n portalProps,\n}) => {\n const [colorInternal, setColorInternal] = useState(color);\n const isInputChanged = useRef(false);\n const { open, isSupported } = useEyeDropper({ pickRadius: 3 });\n\n const PickerComponent = showTransparencyControl\n ? HexAlphaColorPicker\n : HexColorPicker;\n\n const colorValue = color ?? colorInternal ?? \"\";\n\n const onChangeInternal = onChange || setColorInternal;\n\n const getColor = colorValue => {\n const color = tinycolor(colorValue);\n\n return {\n hex: showTransparencyControl ? color.toHex8String() : color.toHexString(),\n rgb: color.toRgb(),\n };\n };\n\n const onColorInputChange = hex => {\n const color = tinycolor(hex);\n const rgb = color.toRgb();\n isInputChanged.current = true;\n\n onChangeInternal({ hex, rgb });\n };\n\n const onPickerChange = hex => onChangeInternal(getColor(hex));\n\n const onBlur = () => {\n // If input is not changed, don't call onChange on blur\n if (!isInputChanged.current) return;\n isInputChanged.current = false;\n onChangeInternal(getColor(colorValue));\n };\n\n const pickColor = async () => {\n try {\n const colorResponse = await open();\n const colorHex = tinycolor(colorResponse.sRGBHex).toHexString();\n onPickerChange(colorHex);\n } catch {\n // Ensures component is still mounted\n // before calling setState\n // if (!e.canceled) setError(e);\n }\n };\n\n const Target = ({ size }) => (\n <button\n data-cy=\"color-picker-target\"\n data-testid=\"neeto-color-picker\"\n type=\"button\"\n className={classnames(\"neeto-ui-colorpicker__target\", {\n \"neeto-ui-colorpicker__target-size--large\": size === TARGET_SIZES.large,\n \"neeto-ui-colorpicker__target-size--medium\":\n size === TARGET_SIZES.medium,\n \"neeto-ui-colorpicker__target-size--small\": size === TARGET_SIZES.small,\n })}\n >\n {showHexValue && (\n <span className=\"neeto-ui-colorpicker-target__code\">{color}</span>\n )}\n <span className=\"neeto-ui-colorpicker-target__color-wrapper\">\n <span\n className=\"neeto-ui-colorpicker-target__color neeto-ui-border-gray-200\"\n style={{ backgroundColor: colorValue }}\n />\n <span className=\"neeto-ui-colorpicker-target__icon\">\n <Down size={16} />\n </span>\n </span>\n </button>\n );\n\n return (\n <Dropdown\n className=\"neeto-ui-colorpicker__dropdown\"\n closeOnSelect={false}\n customTarget={<Target {...{ size }} />}\n label={colorValue}\n position=\"bottom-start\"\n {...dropdownProps}\n dropdownProps={{ ...dropdownProps?.dropdownProps, ...portalProps }}\n >\n <div className=\"neeto-ui-colorpicker__popover\">\n {showPicker && (\n <>\n <div\n className=\"neeto-ui-colorpicker__pointer\"\n data-testid=\"neeto-color-picker-section\"\n >\n <PickerComponent color={colorValue} onChange={onPickerChange} />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-3 neeto-ui-gap-2\">\n {showEyeDropper && isSupported() && (\n <Button\n className=\"neeto-ui-colorpicker__eyedropper-btn\"\n icon={ColorPickerIcon}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={pickColor}\n />\n )}\n <div className=\"neeto-ui-input__wrapper\">\n <div\n className=\"neeto-ui-colorpicker__input neeto-ui-input neeto-ui-input--small\"\n data-cy=\"colorpicker-editable-input\"\n >\n <HexColorInput\n {...{ onBlur }}\n prefixed\n alpha={!!showTransparencyControl}\n color={colorValue}\n onChange={onColorInputChange}\n />\n </div>\n </div>\n </div>\n </>\n )}\n {colorPaletteProps && (\n <div\n data-testid=\"color-palette\"\n className={classnames(\"neeto-ui-colorpicker__palette-wrapper\", {\n \"neeto-ui-colorpicker__palette-wrapper--hidden-picker\":\n !showPicker,\n \"neeto-ui-pt-3 neeto-ui-border-t neeto-ui-border-gray-200\":\n showPicker,\n })}\n >\n <Palette {...colorPaletteProps} />\n </div>\n )}\n </div>\n </Dropdown>\n );\n};\n\nColorPicker.propTypes = {\n /**\n * To specify the color value.\n */\n color: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To set the size of the target.\n */\n size: PropTypes.oneOf(Object.values(TARGET_SIZES)),\n /**\n * To specify the action to be triggered on changing the color.\n */\n onChange: PropTypes.func,\n /**\n * To specify the props to be passed to the Palette component.\n */\n colorPaletteProps: PropTypes.shape({\n color: PropTypes.shape({\n hex: PropTypes.string,\n colorClassName: PropTypes.string,\n }),\n colorList: PropTypes.arrayOf(\n PropTypes.shape({\n hex: PropTypes.string,\n colorClassName: PropTypes.string,\n })\n ),\n onChange: PropTypes.func,\n }),\n /**\n * Shows eye dropper to pick color.\n */\n showEyeDropper: PropTypes.bool,\n /**\n * To show hex value near to the color in the dropdown.\n * By default it will be enabled.\n */\n showHexValue: PropTypes.bool,\n /**\n * To show transparency control. By default it will be hidden.\n */\n showTransparencyControl: PropTypes.bool,\n /**\n * To show the color picker. Used to hide the picker in cases where only palette is required. By default it will be true.\n */\n showPicker: PropTypes.bool,\n /**\n * To specify the props to be passed to the dropdown portal.\n */\n portalProps: PropTypes.object,\n};\n\nexport default ColorPicker;\n"],"names":["o","e","t","n","r","Dropper","TRANSPARENT","Palette","_ref","color","_ref$colorList","colorList","onChange","React","createElement","className","map","item","hex","colorClassName","isTransparent","isActive","Boolean","key","classnames","active","onClick","style","backgroundColor","TARGET_SIZES","large","medium","small","ColorPicker","_ref2","_ref$color","_ref$size","size","_ref$onChange","noop","colorPaletteProps","dropdownProps","_ref$showEyeDropper","showEyeDropper","_ref$showHexValue","showHexValue","_ref$showTransparency","showTransparencyControl","_ref$showPicker","showPicker","portalProps","_useState","useState","_useState2","_slicedToArray","colorInternal","setColorInternal","isInputChanged","useRef","_useEyeDropper","useEyeDropper","pickRadius","open","isSupported","PickerComponent","HexAlphaColorPicker","HexColorPicker","colorValue","onChangeInternal","getColor","tinycolor","toHex8String","toHexString","rgb","toRgb","onColorInputChange","current","onPickerChange","onBlur","pickColor","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorResponse","colorHex","wrap","_callee$","_context","prev","next","sent","sRGBHex","t0","stop","apply","arguments","Target","_ref4","type","Down","Dropdown","_extends","closeOnSelect","customTarget","label","position","_objectSpread","Fragment","Button","icon","ColorPickerIcon","HexColorInput","prefixed","alpha"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"ColorPicker.js","sources":["../../node_modules/use-eye-dropper/lib/use-eye-dropper.module.js","../../node_modules/use-eye-dropper/lib/index.module.js","../../src/components/ColorPicker/constants.js","../../src/components/ColorPicker/Palette.jsx","../../src/components/ColorPicker/index.jsx"],"sourcesContent":["import{useMemo as r,useRef as o,useCallback as n,useEffect as t,useState as e}from\"react\";const s=()=>\"undefined\"!=typeof window&&\"EyeDropper\"in window,i=()=>Promise.reject(new Error(\"Unsupported browser.\")),c=()=>{const r=o(),[i,c]=e(!1);t(()=>(r.current=!0,c(s()),()=>{r.current=!1}),[]);const u=n(()=>i,[i]);return[r,u]},u=r=>{const o=(r=>s()&&new EyeDropper(r))(r);var n;return(n=o)?EyeDropper.prototype.open.bind(n):i},p=e=>{const s=r(()=>u(e),[e]),[i,p]=c(),a=o(),f=n(()=>{void 0!==a.current&&a.current.abort()},[a]),d=n(function(r){void 0===r&&(r={});try{f();const{signal:o,...n}=r,t=new AbortController;a.current=t;const e=void 0!==o?(r=>{const o=new AbortController,n=()=>{o.abort();for(const o of r)o.removeEventListener(\"abort\",n)};for(const o of r){if(o.aborted){n();break}o.addEventListener(\"abort\",n)}return o.signal})([o,t.signal]):t.signal;return Promise.resolve(function(r,o){try{var t=Promise.resolve(s({...n,signal:e}))}catch(r){return o(r)}return t&&t.then?t.then(void 0,o):t}(0,function(r){throw i.current||(r.canceled=!0),r}))}catch(r){return Promise.reject(r)}},[a,i,f,s]);return t(()=>f,[f]),{open:d,close:f,isSupported:p}};export{p as default};\n","import { default as DropperDev } from './use-eye-dropper.module.dev.js'\nimport { default as Dropper } from './use-eye-dropper.module.js'\n\nexport default process.env.NODE_ENV === 'production' ? Dropper : DropperDev\n","export const DEFAULT_PALETTE_COLORS = [\n { hex: \"#FFFFFF\" },\n { hex: \"#D6D6D6\" },\n { hex: \"#676767\" },\n { hex: \"#0A0E13\" },\n { hex: \"#91E5F6\" },\n { hex: \"#2A79C4\" },\n { hex: \"#095482\" },\n { hex: \"#FFCDD2\" },\n { hex: \"#E2EFAC\" },\n { hex: \"#B3E5FC\" },\n { hex: \"#C8E6C9\" },\n { hex: \"#D7CCC8\" },\n { hex: \"#F5DD90\" },\n { hex: \"#C3C6F9\" },\n { hex: \"#FFF7AE\" },\n { hex: \"#FECE1E\" },\n { hex: \"#FFD69D\" },\n { hex: \"#FE871E\" },\n { hex: \"#02C39A\" },\n { hex: \"#00A896\" },\n { hex: \"#028090\" },\n { hex: \"#99B898\" },\n { hex: \"#586BA4\" },\n { hex: \"#324376\" },\n { hex: \"#FF847C\" },\n { hex: \"#F32E48\" },\n { hex: \"#8064CE\" },\n { hex: \"#4F329A\" },\n];\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport tinycolor from \"tinycolor2\";\n\nimport { DEFAULT_PALETTE_COLORS } from \"./constants\";\n\nconst Palette = ({ color, colorList = DEFAULT_PALETTE_COLORS, onChange }) => (\n <div className=\"neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start neeto-ui-color-palette neeto-ui-gap-1\">\n {colorList.map(item => {\n const { hex, rgb } = item;\n const colorObject = tinycolor(hex ?? rgb);\n const isTransparent = colorObject.getAlpha() === 0;\n const isActive = Boolean(\n // hex is case insensitive.\n color?.toLocaleLowerCase() === hex?.toLocaleLowerCase() || color === rgb\n );\n\n return (\n <div\n data-testid=\"color-palette-item\"\n key={hex ?? rgb}\n className={classnames(\n \"neeto-ui-color-palette__item neeto-ui-border\",\n { active: isActive }\n )}\n onClick={() => onChange(hex ?? rgb)}\n >\n <div\n style={{ backgroundColor: hex ?? rgb }}\n className={classnames({\n \"transparent-bg-pattern\": isTransparent,\n })}\n />\n </div>\n );\n })}\n </div>\n);\n\nPalette.propTypes = {\n color: PropTypes.string,\n colorList: PropTypes.arrayOf(\n PropTypes.shape({ hex: PropTypes.string, rgb: PropTypes.string })\n ),\n onChange: PropTypes.func,\n};\n\nexport default Palette;\n","import React, { useState, useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Down, ColorPicker as ColorPickerIcon } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport {\n HexColorPicker,\n HexColorInput,\n HexAlphaColorPicker,\n} from \"react-colorful\";\nimport tinycolor from \"tinycolor2\";\nimport useEyeDropper from \"use-eye-dropper\";\n\nimport Button from \"components/Button\";\nimport Dropdown from \"components/Dropdown\";\nimport { noop } from \"utils\";\n\nimport Palette from \"./Palette\";\n\nconst TARGET_SIZES = {\n large: \"large\",\n medium: \"medium\",\n small: \"small\",\n};\n\nconst ColorPicker = ({\n color = \"\",\n size = TARGET_SIZES.large,\n onChange = noop,\n dropdownProps,\n showEyeDropper = true,\n showHexValue = false,\n showTransparencyControl = false,\n showPicker = true,\n portalProps,\n colorPalette,\n}) => {\n const [colorInternal, setColorInternal] = useState(color);\n const isInputChanged = useRef(false);\n const { open, isSupported } = useEyeDropper({ pickRadius: 3 });\n\n const PickerComponent = showTransparencyControl\n ? HexAlphaColorPicker\n : HexColorPicker;\n\n const colorValue = color ?? colorInternal ?? \"\";\n\n const getColor = colorValue => {\n const color = tinycolor(colorValue);\n\n if (color.isValid()) {\n let hex = color.toHexString();\n // return `transparent` for transparent colors.\n if (color.getAlpha() === 0) hex = colorValue;\n else if (showTransparencyControl) hex = color.toHex8String();\n\n return { hex, rgb: color.toRgb() };\n }\n\n return { hex: colorValue, rgb: colorValue };\n };\n\n const onColorChange = color => {\n const changeHandler = onChange ?? setColorInternal;\n\n changeHandler(getColor(color));\n };\n\n const onColorInputChange = hex => {\n isInputChanged.current = true;\n\n onColorChange(hex);\n };\n\n const onBlur = () => {\n // If input is not changed, don't call onChange on blur\n if (!isInputChanged.current) return;\n\n isInputChanged.current = false;\n onColorChange(colorValue);\n };\n\n const pickColor = async () => {\n try {\n const colorResponse = await open();\n const hex = tinycolor(colorResponse.sRGBHex).toHexString();\n onColorChange(hex);\n } catch {\n // Ensures component is still mounted\n // before calling setState\n // if (!e.canceled) setError(e);\n }\n };\n\n const Target = ({ size }) => (\n <button\n data-cy=\"color-picker-target\"\n data-testid=\"neeto-color-picker\"\n type=\"button\"\n className={classnames(\"neeto-ui-colorpicker__target\", {\n \"neeto-ui-colorpicker__target-size--large\": size === TARGET_SIZES.large,\n \"neeto-ui-colorpicker__target-size--medium\":\n size === TARGET_SIZES.medium,\n \"neeto-ui-colorpicker__target-size--small\": size === TARGET_SIZES.small,\n })}\n >\n {showHexValue && (\n <span className=\"neeto-ui-colorpicker-target__code\">{color}</span>\n )}\n <span className=\"neeto-ui-colorpicker-target__color-wrapper\">\n <span\n className=\"neeto-ui-colorpicker-target__color neeto-ui-border-gray-200\"\n style={{ backgroundColor: colorValue }}\n />\n <span className=\"neeto-ui-colorpicker-target__icon\">\n <Down size={16} />\n </span>\n </span>\n </button>\n );\n\n return (\n <Dropdown\n className=\"neeto-ui-colorpicker__dropdown\"\n closeOnSelect={false}\n customTarget={<Target {...{ size }} />}\n label={colorValue}\n position=\"bottom-start\"\n {...dropdownProps}\n dropdownProps={{ ...dropdownProps?.dropdownProps, ...portalProps }}\n >\n <div className=\"neeto-ui-colorpicker__popover\">\n {showPicker && (\n <>\n <div\n className=\"neeto-ui-colorpicker__pointer\"\n data-testid=\"neeto-color-picker-section\"\n >\n <PickerComponent color={colorValue} onChange={onColorChange} />\n </div>\n <div className=\"neeto-ui-flex neeto-ui-items-center neeto-ui-justify-center neeto-ui-mt-3 neeto-ui-gap-2\">\n {showEyeDropper && isSupported() && (\n <Button\n className=\"neeto-ui-colorpicker__eyedropper-btn\"\n icon={ColorPickerIcon}\n size=\"small\"\n style=\"text\"\n type=\"button\"\n onClick={pickColor}\n />\n )}\n <div className=\"neeto-ui-input__wrapper\">\n <div\n className=\"neeto-ui-colorpicker__input neeto-ui-input neeto-ui-input--small\"\n data-cy=\"colorpicker-editable-input\"\n >\n <HexColorInput\n {...{ onBlur }}\n prefixed\n alpha={!!showTransparencyControl}\n color={colorValue}\n onChange={onColorInputChange}\n />\n </div>\n </div>\n </div>\n </>\n )}\n <div\n data-testid=\"color-palette\"\n className={classnames(\"neeto-ui-colorpicker__palette-wrapper\", {\n \"neeto-ui-colorpicker__palette-wrapper--hidden-picker\": !showPicker,\n \"neeto-ui-pt-3 neeto-ui-border-t neeto-ui-border-gray-200\":\n showPicker,\n })}\n >\n <Palette\n {...{ color }}\n colorList={colorPalette}\n onChange={onColorChange}\n />\n </div>\n </div>\n </Dropdown>\n );\n};\n\nColorPicker.propTypes = {\n /**\n * To specify the color value.\n */\n color: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To set the size of the target.\n */\n size: PropTypes.oneOf(Object.values(TARGET_SIZES)),\n /**\n * To specify the action to be triggered on changing the color.\n */\n onChange: PropTypes.func,\n /**\n * To specify the colors shown in the palette.\n */\n colorPalette: PropTypes.arrayOf(\n PropTypes.shape({ hex: PropTypes.string, rgb: PropTypes.string })\n ),\n /**\n * Shows eye dropper to pick color.\n */\n showEyeDropper: PropTypes.bool,\n /**\n * To show hex value near to the color in the dropdown.\n * By default it will be enabled.\n */\n showHexValue: PropTypes.bool,\n /**\n * To show transparency control. By default it will be hidden.\n */\n showTransparencyControl: PropTypes.bool,\n /**\n * To show the color picker. Used to hide the picker in cases where only palette is required. By default it will be true.\n */\n showPicker: PropTypes.bool,\n /**\n * To specify the props to be passed to the dropdown portal.\n */\n portalProps: PropTypes.object,\n};\n\nexport default ColorPicker;\n"],"names":["o","e","t","n","r","Dropper","DEFAULT_PALETTE_COLORS","hex","Palette","_ref","color","_ref$colorList","colorList","onChange","React","createElement","className","map","item","rgb","colorObject","tinycolor","isTransparent","getAlpha","isActive","Boolean","toLocaleLowerCase","key","classnames","active","onClick","style","backgroundColor","TARGET_SIZES","large","medium","small","ColorPicker","_ref2","_ref$color","_ref$size","size","_ref$onChange","noop","dropdownProps","_ref$showEyeDropper","showEyeDropper","_ref$showHexValue","showHexValue","_ref$showTransparency","showTransparencyControl","_ref$showPicker","showPicker","portalProps","colorPalette","_useState","useState","_useState2","_slicedToArray","colorInternal","setColorInternal","isInputChanged","useRef","_useEyeDropper","useEyeDropper","pickRadius","open","isSupported","PickerComponent","HexAlphaColorPicker","HexColorPicker","colorValue","getColor","isValid","toHexString","toHex8String","toRgb","onColorChange","changeHandler","onColorInputChange","current","onBlur","pickColor","_ref3","_asyncToGenerator","_regeneratorRuntime","mark","_callee","colorResponse","wrap","_callee$","_context","prev","next","sent","sRGBHex","t0","stop","apply","arguments","Target","_ref4","type","Down","Dropdown","_extends","closeOnSelect","customTarget","label","position","_objectSpread","Fragment","Button","icon","ColorPickerIcon","HexColorInput","prefixed","alpha"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAA0F,MAAM,CAAC,CAAC,IAAI,WAAW,EAAE,OAAO,MAAM,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAACA,YAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACC,cAAC,CAAC,CAAC,CAAC,CAAC,CAACC,eAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAACC,iBAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAACC,aAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAACJ,YAAC,EAAE,CAAC,CAAC,CAACG,iBAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACA,iBAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAOD,eAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;;ACG3nC,oBAAuDG;;ACHhD,IAAMC,sBAAsB,GAAG,CACpC;AAAEC,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,EAClB;AAAEA,EAAAA,GAAG,EAAE,SAAA;AAAU,CAAC,CACnB;;ACrBD,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,cAAA,GAAAF,IAAA,CAAEG,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAGL,KAAAA,CAAAA,GAAAA,sBAAsB,GAAAK,cAAA;IAAEE,QAAQ,GAAAJ,IAAA,CAARI,QAAQ,CAAA;EAAA,oBACpEC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,sIAAA;AAAsI,GAAA,EAClJJ,SAAS,CAACK,GAAG,CAAC,UAAAC,IAAI,EAAI;AACrB,IAAA,IAAQX,GAAG,GAAUW,IAAI,CAAjBX,GAAG;MAAEY,GAAG,GAAKD,IAAI,CAAZC,GAAG,CAAA;IAChB,IAAMC,WAAW,GAAGC,mBAAS,CAACd,GAAG,KAAHA,IAAAA,IAAAA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,GAAG,GAAIY,GAAG,CAAC,CAAA;AACzC,IAAA,IAAMG,aAAa,GAAGF,WAAW,CAACG,QAAQ,EAAE,KAAK,CAAC,CAAA;IAClD,IAAMC,QAAQ,GAAGC,OAAO;AACtB;IACA,CAAAf,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAALA,KAAK,CAAEgB,iBAAiB,EAAE,OAAKnB,GAAG,aAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAHA,GAAG,CAAEmB,iBAAiB,EAAE,CAAIhB,IAAAA,KAAK,KAAKS,GAAG,CACzE,CAAA;IAED,oBACEL,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE,MAAA,aAAA,EAAY,oBAAoB;AAChCY,MAAAA,GAAG,EAAEpB,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,GAAG,GAAIY,GAAI;AAChBH,MAAAA,SAAS,EAAEY,UAAU,CACnB,8CAA8C,EAC9C;AAAEC,QAAAA,MAAM,EAAEL,QAAAA;AAAS,OAAC,CACpB;MACFM,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAMjB,QAAQ,CAACN,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAHA,KAAAA,CAAAA,GAAAA,GAAG,GAAIY,GAAG,CAAC,CAAA;AAAA,OAAA;KAEnCL,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEgB,MAAAA,KAAK,EAAE;AAAEC,QAAAA,eAAe,EAAEzB,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,GAAHA,GAAG,GAAIY,GAAAA;OAAM;MACvCH,SAAS,EAAEY,UAAU,CAAC;AACpB,QAAA,wBAAwB,EAAEN,aAAAA;OAC3B,CAAA;AAAE,KAAA,CACH,CACE,CAAA;AAEV,GAAC,CAAC,CACE,CAAA;AAAA,CACP;;;;ACpBD,IAAMW,YAAY,GAAG;AACnBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAA;AACT,CAAC,CAAA;AAED,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA5B,IAAA,EAWX;AAAA,EAAA,IAAA6B,KAAA,CAAA;AAAA,EAAA,IAAAC,UAAA,GAAA9B,IAAA,CAVJC,KAAK;AAALA,IAAAA,KAAK,GAAA6B,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAC,SAAA,GAAA/B,IAAA,CACVgC,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAGP,YAAY,CAACC,KAAK,GAAAM,SAAA;IAAAE,aAAA,GAAAjC,IAAA,CACzBI,QAAQ;AAARA,IAAAA,QAAQ,GAAA6B,aAAA,KAAGC,KAAAA,CAAAA,GAAAA,UAAI,GAAAD,aAAA;IACfE,aAAa,GAAAnC,IAAA,CAAbmC,aAAa;IAAAC,mBAAA,GAAApC,IAAA,CACbqC,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,mBAAA;IAAAE,iBAAA,GAAAtC,IAAA,CACrBuC,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;IAAAE,qBAAA,GAAAxC,IAAA,CACpByC,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA;IAAAE,eAAA,GAAA1C,IAAA,CAC/B2C,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IACjBE,WAAW,GAAA5C,IAAA,CAAX4C,WAAW;IACXC,YAAY,GAAA7C,IAAA,CAAZ6C,YAAY,CAAA;AAEZ,EAAA,IAAAC,SAAA,GAA0CC,cAAQ,CAAC9C,KAAK,CAAC;IAAA+C,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAlDI,IAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,gBAAgB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAMI,cAAc,GAAGC,YAAM,CAAC,KAAK,CAAC,CAAA;EACpC,IAAAC,cAAA,GAA8BC,aAAa,CAAC;AAAEC,MAAAA,UAAU,EAAE,CAAA;AAAE,KAAC,CAAC;IAAtDC,IAAI,GAAAH,cAAA,CAAJG,IAAI;IAAEC,WAAW,GAAAJ,cAAA,CAAXI,WAAW,CAAA;AAEzB,EAAA,IAAMC,eAAe,GAAGlB,uBAAuB,GAC3CmB,iCAAmB,GACnBC,4BAAc,CAAA;AAElB,EAAA,IAAMC,UAAU,GAAAjC,CAAAA,KAAA,GAAG5B,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAIiD,aAAa,MAAArB,IAAAA,IAAAA,KAAA,KAAAA,KAAAA,CAAAA,GAAAA,KAAA,GAAI,EAAE,CAAA;AAE/C,EAAA,IAAMkC,QAAQ,GAAG,SAAXA,QAAQA,CAAGD,UAAU,EAAI;AAC7B,IAAA,IAAM7D,KAAK,GAAGW,mBAAS,CAACkD,UAAU,CAAC,CAAA;AAEnC,IAAA,IAAI7D,KAAK,CAAC+D,OAAO,EAAE,EAAE;AACnB,MAAA,IAAIlE,GAAG,GAAGG,KAAK,CAACgE,WAAW,EAAE,CAAA;AAC7B;MACA,IAAIhE,KAAK,CAACa,QAAQ,EAAE,KAAK,CAAC,EAAEhB,GAAG,GAAGgE,UAAU,CAAC,KACxC,IAAIrB,uBAAuB,EAAE3C,GAAG,GAAGG,KAAK,CAACiE,YAAY,EAAE,CAAA;MAE5D,OAAO;AAAEpE,QAAAA,GAAG,EAAHA,GAAG;QAAEY,GAAG,EAAET,KAAK,CAACkE,KAAK,EAAA;OAAI,CAAA;AACpC,KAAA;IAEA,OAAO;AAAErE,MAAAA,GAAG,EAAEgE,UAAU;AAAEpD,MAAAA,GAAG,EAAEoD,UAAAA;KAAY,CAAA;GAC5C,CAAA;AAED,EAAA,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,CAAGnE,KAAK,EAAI;IAC7B,IAAMoE,aAAa,GAAGjE,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,QAAQ,GAAI+C,gBAAgB,CAAA;AAElDkB,IAAAA,aAAa,CAACN,QAAQ,CAAC9D,KAAK,CAAC,CAAC,CAAA;GAC/B,CAAA;AAED,EAAA,IAAMqE,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGxE,GAAG,EAAI;IAChCsD,cAAc,CAACmB,OAAO,GAAG,IAAI,CAAA;IAE7BH,aAAa,CAACtE,GAAG,CAAC,CAAA;GACnB,CAAA;AAED,EAAA,IAAM0E,MAAM,GAAG,SAATA,MAAMA,GAAS;AACnB;AACA,IAAA,IAAI,CAACpB,cAAc,CAACmB,OAAO,EAAE,OAAA;IAE7BnB,cAAc,CAACmB,OAAO,GAAG,KAAK,CAAA;IAC9BH,aAAa,CAACN,UAAU,CAAC,CAAA;GAC1B,CAAA;AAED,EAAA,IAAMW,SAAS,gBAAA,YAAA;IAAA,IAAAC,KAAA,GAAAC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAG,SAAAC,OAAA,GAAA;MAAA,IAAAC,aAAA,EAAAjF,GAAA,CAAA;AAAA,MAAA,OAAA8E,mBAAA,CAAAI,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAEc3B,IAAI,EAAE,CAAA;AAAA,UAAA,KAAA,CAAA;YAA5BsB,aAAa,GAAAG,QAAA,CAAAG,IAAA,CAAA;YACbvF,GAAG,GAAGc,mBAAS,CAACmE,aAAa,CAACO,OAAO,CAAC,CAACrB,WAAW,EAAE,CAAA;YAC1DG,aAAa,CAACtE,GAAG,CAAC,CAAA;AAACoF,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;YAAAD,QAAA,CAAAK,EAAA,GAAAL,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAA,QAAA,CAAAM,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAV,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;KAMtB,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,SAVKL,SAASA,GAAA;AAAA,MAAA,OAAAC,KAAA,CAAAe,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GAUd,EAAA,CAAA;AAED,EAAA,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,KAAA,EAAA;AAAA,IAAA,IAAM5D,IAAI,GAAA4D,KAAA,CAAJ5D,IAAI,CAAA;IAAA,oBACpB3B,KAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AACE,MAAA,SAAA,EAAQ,qBAAqB;AAC7B,MAAA,aAAA,EAAY,oBAAoB;AAChCuF,MAAAA,IAAI,EAAC,QAAQ;AACbtF,MAAAA,SAAS,EAAEY,UAAU,CAAC,8BAA8B,EAAE;AACpD,QAAA,0CAA0C,EAAEa,IAAI,KAAKR,YAAY,CAACC,KAAK;AACvE,QAAA,2CAA2C,EACzCO,IAAI,KAAKR,YAAY,CAACE,MAAM;AAC9B,QAAA,0CAA0C,EAAEM,IAAI,KAAKR,YAAY,CAACG,KAAAA;OACnE,CAAA;AAAE,KAAA,EAEFY,YAAY,iBACXlC,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,MAAAA,SAAS,EAAC,mCAAA;AAAmC,KAAA,EAAEN,KAAK,CAC3D,eACDI,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,MAAAA,SAAS,EAAC,4CAAA;KACdF,eAAAA,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AACEC,MAAAA,SAAS,EAAC,6DAA6D;AACvEe,MAAAA,KAAK,EAAE;AAAEC,QAAAA,eAAe,EAAEuC,UAAAA;AAAW,OAAA;KACrC,CAAA,eACFzD,KAAA,CAAAC,aAAA,CAAA,MAAA,EAAA;AAAMC,MAAAA,SAAS,EAAC,mCAAA;AAAmC,KAAA,eACjDF,KAAA,CAAAC,aAAA,CAACwF,eAAI,EAAA;AAAC9D,MAAAA,IAAI,EAAE,EAAA;KAAM,CAAA,CACb,CACF,CACA,CAAA;GACV,CAAA;AAED,EAAA,oBACE3B,KAAA,CAAAC,aAAA,CAACyF,QAAQ,EAAAC,QAAA,CAAA;AACPzF,IAAAA,SAAS,EAAC,gCAAgC;AAC1C0F,IAAAA,aAAa,EAAE,KAAM;AACrBC,IAAAA,YAAY,eAAE7F,KAAA,CAAAC,aAAA,CAACqF,MAAM,EAAA;AAAO3D,MAAAA,IAAI,EAAJA,IAAAA;KAAW,CAAA;AACvCmE,IAAAA,KAAK,EAAErC,UAAW;AAClBsC,IAAAA,QAAQ,EAAC,cAAA;AAAc,GAAA,EACnBjE,aAAa,EAAA;AACjBA,IAAAA,aAAa,EAAAkE,aAAA,CAAAA,aAAA,CAAOlE,EAAAA,EAAAA,aAAa,KAAbA,IAAAA,IAAAA,aAAa,KAAbA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEA,aAAa,GAAKS,WAAW,CAAA;GAEhEvC,CAAAA,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,+BAAA;AAA+B,GAAA,EAC3CoC,UAAU,iBACTtC,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAiG,QAAA,EAAA,IAAA,eACEjG,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,+BAA+B;IACzC,aAAY,EAAA,4BAAA;AAA4B,GAAA,eAExCF,KAAA,CAAAC,aAAA,CAACqD,eAAe,EAAA;AAAC1D,IAAAA,KAAK,EAAE6D,UAAW;AAAC1D,IAAAA,QAAQ,EAAEgE,aAAAA;AAAc,GAAA,CAAG,CAC3D,eACN/D,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0FAAA;GACZ8B,EAAAA,cAAc,IAAIqB,WAAW,EAAE,iBAC9BrD,KAAA,CAAAC,aAAA,CAACiG,MAAM,EAAA;AACLhG,IAAAA,SAAS,EAAC,sCAAsC;AAChDiG,IAAAA,IAAI,EAAEC,sBAAgB;AACtBzE,IAAAA,IAAI,EAAC,OAAO;AACZV,IAAAA,KAAK,EAAC,MAAM;AACZuE,IAAAA,IAAI,EAAC,QAAQ;AACbxE,IAAAA,OAAO,EAAEoD,SAAAA;GAEZ,CAAA,eACDpE,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,yBAAA;GACbF,eAAAA,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,IAAAA,SAAS,EAAC,kEAAkE;IAC5E,SAAQ,EAAA,4BAAA;AAA4B,GAAA,eAEpCF,KAAA,CAAAC,aAAA,CAACoG,2BAAa,EAAA;AACNlC,IAAAA,MAAM,EAANA,MAAM;IACZmC,QAAQ,EAAA,IAAA;IACRC,KAAK,EAAE,CAAC,CAACnE,uBAAwB;AACjCxC,IAAAA,KAAK,EAAE6D,UAAW;AAClB1D,IAAAA,QAAQ,EAAEkE,kBAAAA;AAAmB,GAAA,CAC7B,CACE,CACF,CACF,CAET,eACDjE,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACE,IAAA,aAAA,EAAY,eAAe;AAC3BC,IAAAA,SAAS,EAAEY,UAAU,CAAC,uCAAuC,EAAE;MAC7D,sDAAsD,EAAE,CAACwB,UAAU;AACnE,MAAA,0DAA0D,EACxDA,UAAAA;KACH,CAAA;AAAE,GAAA,eAEHtC,KAAA,CAAAC,aAAA,CAACP,OAAO,EAAA;AACAE,IAAAA,KAAK,EAALA,KAAK;AACXE,IAAAA,SAAS,EAAE0C,YAAa;AACxBzC,IAAAA,QAAQ,EAAEgE,aAAAA;GACV,CAAA,CACE,CACF,CACG,CAAA;AAEf;;;;","x_google_ignoreList":[0,1]}
@@ -13,6 +13,7 @@ var index = require('./index-CeDeXLYn.js');
13
13
  var _toArray = require('@babel/runtime/helpers/toArray');
14
14
  var neetoIcons = require('@bigbinary/neeto-icons');
15
15
  var Tag = require('./Tag.js');
16
+ var neetoCist = require('@bigbinary/neeto-cist');
16
17
  var Label = require('./Label.js');
17
18
  require('@babel/runtime/helpers/esm/extends');
18
19
  require('@babel/runtime/helpers/esm/objectSpread2');
@@ -34,7 +35,6 @@ require('@babel/runtime/helpers/inherits');
34
35
  require('@babel/runtime/helpers/createSuper');
35
36
  require('@babel/runtime/helpers/taggedTemplateLiteral');
36
37
  require('@babel/runtime/helpers/typeof');
37
- require('@bigbinary/neeto-cist');
38
38
  require('qs');
39
39
  require('./en-1dfvTYgC.js');
40
40
  require('dayjs');
@@ -186,16 +186,21 @@ var _excluded$1 = ["label", "value"];
186
186
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
187
187
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
188
188
  var getEmailsMap = function getEmailsMap() {
189
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
190
- var inputEmails = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
191
- return new Map([].concat(_toConsumableArray(inputEmails), _toConsumableArray(options)).map(function (option) {
192
- return [option.value, option];
193
- }));
189
+ var inputEmails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
190
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
191
+ var emails = [].concat(_toConsumableArray(inputEmails), _toConsumableArray(options));
192
+ var emailsMap = new Map();
193
+ emails.forEach(function (option) {
194
+ var _emailsMap$get;
195
+ var hasPersistedEntry = neetoCist.isPresent((_emailsMap$get = emailsMap.get(option.value)) === null || _emailsMap$get === void 0 ? void 0 : _emailsMap$get.id);
196
+ if (!hasPersistedEntry) emailsMap.set(option.value, option);
197
+ });
198
+ return emailsMap;
194
199
  };
195
200
  var processEmailOptions = function processEmailOptions() {
196
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
197
- var inputEmails = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
198
- var emailsMap = getEmailsMap(options, inputEmails);
201
+ var inputEmails = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
202
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
203
+ var emailsMap = getEmailsMap(inputEmails, options);
199
204
  return function (email) {
200
205
  var emailDetails = emailsMap.get(email) || {
201
206
  value: email
@@ -215,7 +220,7 @@ var formatEmailInputOption = function formatEmailInputOption(_ref) {
215
220
  });
216
221
  };
217
222
  var pruneDuplicates = function pruneDuplicates(inputValues, options) {
218
- var emailProcessor = processEmailOptions(options, inputValues);
223
+ var emailProcessor = processEmailOptions(inputValues, options);
219
224
  var emails = ramda.pluck("value", inputValues);
220
225
  var uniqueValuesSet = new Set();
221
226
  var duplicates = [];
@@ -1 +1 @@
1
- {"version":3,"file":"MultiEmailInput.js","sources":["../../src/components/MultiEmailInput/constants.jsx","../../src/components/MultiEmailInput/utils.js","../../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\n\nimport { Close } from \"neetoicons\";\nimport { assoc } from \"ramda\";\nimport { components } from \"react-select\";\n\nimport Tag from \"components/Tag\";\nimport { hyphenize } from \"utils\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst CustomControl = ({ children, ...props }) => {\n const { getValue } = props;\n const { isFocused, prefix } = props.selectProps;\n\n const prevValue = useRef([]);\n const controlRef = useRef(null);\n\n const value = getValue();\n\n const scrollToBottom = () => {\n const scrollContainer = controlRef.current;\n if (!scrollContainer) return;\n\n const { scrollHeight, clientHeight } = scrollContainer;\n\n scrollContainer.scrollTo({ top: scrollHeight - clientHeight });\n };\n\n useEffect(() => {\n const isItemAdded = value.length > prevValue.current.length;\n const isItemDeleted = value.length < prevValue.current.length;\n\n if ((isFocused && !isItemDeleted) || isItemAdded) scrollToBottom();\n\n prevValue.current = value;\n }, [isFocused, value]);\n\n return (\n <components.Control\n {...props}\n innerProps={{ ...props.innerProps, ref: controlRef }}\n >\n {prefix && <div className=\"neeto-ui-email-input__prefix\">{prefix}</div>}\n {children}\n </components.Control>\n );\n};\n\nconst CustomDropdownIndicator = props => {\n const { suffix } = props.selectProps;\n\n return suffix ? (\n <components.DropdownIndicator {...props}>\n <div className=\"neeto-ui-email-input__suffix\">{suffix}</div>\n </components.DropdownIndicator>\n ) : null;\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst CustomValueContainer = ({ children, ...props }) => {\n const {\n getValue,\n selectProps: { isFocused, visibleEmailsCount, isAlwaysExpanded },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n label={`${value.length - visibleEmailsCount} more`}\n style=\"secondary\"\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst CustomClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"clear-all-button\",\n }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nconst SelectContainer = props => (\n <components.SelectContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-select-container\",\n }}\n />\n);\n\nconst Input = props => {\n const handlePaste = event => {\n const { handleEmailChange } = props.selectProps;\n\n const text = event.clipboardData.getData(\"Text\");\n if (!EMAIL_REGEX.test(text)) return;\n\n event?.preventDefault();\n setTimeout(() => handleEmailChange(text));\n };\n\n return (\n <components.Input\n {...props}\n data-cy=\"email-select-input-field\"\n onPaste={handlePaste}\n />\n );\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const EMAIL_SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: CustomDropdownIndicator,\n Control: CustomControl,\n MultiValueRemove,\n ValueContainer: CustomValueContainer,\n ClearIndicator: CustomClearIndicator,\n SelectContainer,\n Input,\n};\n","import { pluck } from \"ramda\";\n\nimport { EMAIL_REGEX } from \"./constants\";\n\nconst getEmailsMap = (options = [], inputEmails = []) =>\n new Map([...inputEmails, ...options].map(option => [option.value, option]));\n\nconst processEmailOptions = (options = [], inputEmails = []) => {\n const emailsMap = getEmailsMap(options, inputEmails);\n\n return email => {\n const emailDetails = emailsMap.get(email) || { value: email };\n\n return formatEmailInputOption(emailDetails);\n };\n};\n\nexport const formatEmailInputOption = ({ label, value, ...otherDetails }) => ({\n label: label ?? value,\n value,\n ...otherDetails,\n valid: EMAIL_REGEX.test(value),\n});\n\nexport const pruneDuplicates = (inputValues, options) => {\n const emailProcessor = processEmailOptions(options, inputValues);\n const emails = pluck(\"value\", inputValues);\n const uniqueValuesSet = new Set();\n const duplicates = [];\n\n emails.forEach(pristineEmail => {\n const email = pristineEmail.toLowerCase();\n if (uniqueValuesSet.has(email)) duplicates.push(pristineEmail);\n\n uniqueValuesSet.add(email);\n });\n\n const uniqueValues = Array.from(uniqueValuesSet);\n const uniqueEmails = uniqueValues.map(emailProcessor);\n\n return { uniqueEmails, duplicates };\n};\n\nexport const renderValidEmails = values =>\n values.filter(email => email.valid && email);\n\nexport const getValidEmailsCount = values => renderValidEmails(values).length;\n\nexport const renderDefaultText = count => (count === 1 ? \"email\" : \"emails\");\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft, isEmpty } from \"ramda\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport { noop, hyphenize } from \"utils\";\n\nimport {\n EMAIL_SEPARATION_REGEX,\n CUSTOM_STYLES,\n UNSTRICT_EMAIL_REGEX,\n CUSTOM_COMPONENTS,\n} from \"./constants\";\nimport {\n pruneDuplicates,\n renderValidEmails,\n renderDefaultText,\n getValidEmailsCount,\n} from \"./utils\";\n\nimport Label from \"../Label\";\n\nconst MultiEmailInput = forwardRef(\n (\n {\n label = \"Email(s)\",\n placeholder = \"\",\n helpText = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n filterInvalidEmails,\n counter,\n disabled = false,\n maxHeight = 200,\n required = false,\n labelProps,\n visibleEmailsCount = 3,\n isCreateable = true,\n isAlwaysExpanded = false,\n ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState([]);\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const isCounterVisible =\n !!counter &&\n (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);\n\n const isOptionsPresent = !!otherProps.options;\n\n const handleFilterEmails = () => onChange(renderValidEmails(value));\n\n const handleEmailChange = inputValue => {\n if (!isCreateable) return;\n\n const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => ({ value: email }));\n\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, ...emails],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n setIsMenuOpen(false);\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange(inputValue);\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, { value: input }],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange(inputValue) : onBlur(event);\n setIsFocused(false);\n setDuplicateEmails([]);\n };\n\n let overrideProps = {};\n\n if (isOptionsPresent) {\n const isValidNewOption = (inputValue, _, selectOptions) => {\n if (!isCreateable) return false;\n\n const isInputEmpty = isEmpty(inputValue.trim());\n const doesInputContainSeparator =\n inputValue.includes(\",\") || inputValue.includes(\" \");\n\n const isInputPresentInOptions = selectOptions.find(\n option => option.value === inputValue.toLowerCase()\n );\n\n return !(\n isInputEmpty ||\n doesInputContainSeparator ||\n isInputPresentInOptions\n );\n };\n overrideProps = { onCreateOption, isValidNewOption };\n }\n\n const isFilterEmailsLinkVisible =\n !!filterInvalidEmails && value.length > getValidEmailsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCounterVisible && (\n <p\n className=\"neeto-ui-email-input__counter\"\n data-cy={`${hyphenize(label)}-email-counter`}\n >\n {getValidEmailsCount(value)}{\" \"}\n {counter.label\n ? counter.label\n : renderDefaultText(getValidEmailsCount(value))}\n </p>\n )}\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n isDisabled={disabled}\n menuIsOpen={isMenuOpen}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: `${maxHeight}px`,\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onKeyDown={handleKeyDown}\n onInputChange={inputValue => {\n setIsMenuOpen(Boolean(inputValue));\n setInputValue(inputValue);\n }}\n {...{\n handleEmailChange,\n inputValue,\n isAlwaysExpanded,\n isFocused,\n onChange,\n placeholder,\n ref,\n value,\n visibleEmailsCount,\n ...(!isOptionsPresent && { menuIsOpen: false }),\n ...otherProps,\n ...overrideProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {error}\n {isFilterEmailsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterEmails}\n >\n &nbsp;\n {filterInvalidEmails.label\n ? filterInvalidEmails.label\n : \"Click here to remove invalid emails.\"}\n </span>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {helpText}\n </p>\n )}\n {!!duplicateEmails.length && (\n <p\n className=\"neeto-ui-input__warning\"\n data-cy={`${hyphenize(label)}-duplicate-emails-warning`}\n >\n Duplicate emails that were removed case insensitively:{\" \"}\n {duplicateEmails.join(\", \")}\n </p>\n )}\n </div>\n );\n }\n);\n\nMultiEmailInput.displayName = \"MultiEmailInput\";\n\nMultiEmailInput.propTypes = {\n /**\n * To specify the text to be displayed above the Input field.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the text to be displayed inside the Input field.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the helper text message to be displayed below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify the value to be displayed inside the Input field.\n */\n value: PropTypes.array,\n /**\n * To specify the error message to be shown below the Input field.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the message to be shown besides the error message to filter out the invalid emails.\n */\n filterInvalidEmails: PropTypes.shape({ label: PropTypes.string }),\n /**\n * To add an email counter next to the label.\n */\n counter: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n label: PropTypes.string,\n startsFrom: PropTypes.number,\n }),\n ]),\n /**\n * To specify the action to be triggered on modifying the Input field.\n */\n onChange: PropTypes.func,\n /**\n * To specify the action to be triggered on changing focus from the Input field.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the maximum height (in pixels) of the container before it becomes scrollable.\n */\n maxHeight: PropTypes.number,\n /**\n * To specify the content to be added at the end of the Input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the number of email to be displayed in the input field when not in focus.\n */\n visibleEmailsCount: PropTypes.number,\n /**\n * To specify whether a new email option can be created or not.\n */\n isCreateable: PropTypes.bool,\n /**\n * To specify whether the input field should always be shown in an expanded state or not.\n */\n isAlwaysExpanded: PropTypes.bool,\n};\n\nexport default MultiEmailInput;\n"],"names":["STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","getValue","_props$selectProps","selectProps","isFocused","prefix","prevValue","useRef","controlRef","value","scrollToBottom","scrollContainer","current","scrollHeight","clientHeight","scrollTo","top","useEffect","isItemAdded","length","isItemDeleted","React","createElement","components","Control","_extends","innerProps","_objectSpread","ref","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","_props$selectProps2","visibleEmailsCount","isAlwaysExpanded","_children","_toArray","firstChild","rest","slice","shouldCollapse","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","handlePaste","event","handleEmailChange","text","clipboardData","getData","EMAIL_REGEX","test","preventDefault","setTimeout","onPaste","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","getEmailsMap","options","arguments","undefined","inputEmails","Map","_toConsumableArray","map","option","processEmailOptions","emailsMap","email","emailDetails","get","formatEmailInputOption","otherDetails","pruneDuplicates","inputValues","emailProcessor","emails","pluck","uniqueValuesSet","Set","duplicates","forEach","pristineEmail","toLowerCase","has","push","add","uniqueValues","Array","from","uniqueEmails","renderValidEmails","values","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","_ref$label","_ref$placeholder","placeholder","_ref$helpText","helpText","_ref$value","_ref$onChange","onChange","noop","_ref$error","_ref$onBlur","onBlur","filterInvalidEmails","counter","_ref$disabled","disabled","_ref$maxHeight","maxHeight","_ref$required","required","labelProps","_ref$visibleEmailsCou","_ref$isCreateable","isCreateable","_ref$isAlwaysExpanded","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","_useState5","_useState6","duplicateEmails","setDuplicateEmails","_useState7","_useState8","isMenuOpen","setIsMenuOpen","isCounterVisible","startsFrom","isOptionsPresent","handleFilterEmails","match","emailMatches","_pruneDuplicates","handleKeyDown","key","stopPropagation","onCreateOption","_otherProps$onCreateO","_pruneDuplicates2","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","menuIsOpen","classnames","control","mergeLeft","overflowY","onFocus","onKeyDown","onInputChange","Boolean","onClick","join","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"MultiEmailInput.js","sources":["../../src/components/MultiEmailInput/constants.jsx","../../src/components/MultiEmailInput/utils.js","../../src/components/MultiEmailInput/index.jsx"],"sourcesContent":["import React, { useEffect, useRef } from \"react\";\n\nimport { Close } from \"neetoicons\";\nimport { assoc } from \"ramda\";\nimport { components } from \"react-select\";\n\nimport Tag from \"components/Tag\";\nimport { hyphenize } from \"utils\";\n\nconst STYLES = {\n border: {\n default: \"1px solid rgb(var(--neeto-ui-gray-400))\",\n error: \"1px solid rgb(var(--neeto-ui-error-800)) !important\",\n },\n color: {\n default: \"rgb(var(--neeto-ui-gray-800))\",\n error: \"rgb(var(--neeto-ui-error-800)) !important\",\n },\n};\n\nconst CustomControl = ({ children, ...props }) => {\n const { getValue } = props;\n const { isFocused, prefix } = props.selectProps;\n\n const prevValue = useRef([]);\n const controlRef = useRef(null);\n\n const value = getValue();\n\n const scrollToBottom = () => {\n const scrollContainer = controlRef.current;\n if (!scrollContainer) return;\n\n const { scrollHeight, clientHeight } = scrollContainer;\n\n scrollContainer.scrollTo({ top: scrollHeight - clientHeight });\n };\n\n useEffect(() => {\n const isItemAdded = value.length > prevValue.current.length;\n const isItemDeleted = value.length < prevValue.current.length;\n\n if ((isFocused && !isItemDeleted) || isItemAdded) scrollToBottom();\n\n prevValue.current = value;\n }, [isFocused, value]);\n\n return (\n <components.Control\n {...props}\n innerProps={{ ...props.innerProps, ref: controlRef }}\n >\n {prefix && <div className=\"neeto-ui-email-input__prefix\">{prefix}</div>}\n {children}\n </components.Control>\n );\n};\n\nconst CustomDropdownIndicator = props => {\n const { suffix } = props.selectProps;\n\n return suffix ? (\n <components.DropdownIndicator {...props}>\n <div className=\"neeto-ui-email-input__suffix\">{suffix}</div>\n </components.DropdownIndicator>\n ) : null;\n};\n\nconst MultiValueRemove = props => (\n <components.MultiValueRemove\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: `${hyphenize(props.data.label)}-remove-icon`,\n }}\n >\n <Close size={16} />\n </components.MultiValueRemove>\n);\n\nconst CustomValueContainer = ({ children, ...props }) => {\n const {\n getValue,\n selectProps: { isFocused, visibleEmailsCount, isAlwaysExpanded },\n } = props;\n const value = getValue();\n const [firstChild, ...rest] = children;\n\n const shouldCollapse =\n !isAlwaysExpanded && !isFocused && value.length > visibleEmailsCount;\n\n return (\n <components.ValueContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-input-container\",\n }}\n >\n {shouldCollapse ? firstChild.slice(0, visibleEmailsCount) : firstChild}\n {shouldCollapse && (\n <Tag\n label={`${value.length - visibleEmailsCount} more`}\n style=\"secondary\"\n />\n )}\n {rest}\n </components.ValueContainer>\n );\n};\n\nconst CustomClearIndicator = props => (\n <components.ClearIndicator\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"clear-all-button\",\n }}\n >\n <Close className=\"cursor-pointer\" size={16} />\n </components.ClearIndicator>\n);\n\nconst SelectContainer = props => (\n <components.SelectContainer\n {...props}\n innerProps={{\n ...props.innerProps,\n [\"data-cy\"]: \"multi-email-select-container\",\n }}\n />\n);\n\nconst Input = props => {\n const handlePaste = event => {\n const { handleEmailChange } = props.selectProps;\n\n const text = event.clipboardData.getData(\"Text\");\n if (!EMAIL_REGEX.test(text)) return;\n\n event?.preventDefault();\n setTimeout(() => handleEmailChange(text));\n };\n\n return (\n <components.Input\n {...props}\n data-cy=\"email-select-input-field\"\n onPaste={handlePaste}\n />\n );\n};\n\nexport const EMAIL_REGEX = new RegExp(\n \"^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\\\.[A-Z]{2,}$\",\n \"i\"\n);\n\nexport const UNSTRICT_EMAIL_REGEX =\n /(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))/g;\n\nexport const EMAIL_SEPARATION_REGEX = /[^\\s,]+/g;\n\nexport const CUSTOM_STYLES = {\n input: assoc(\"overflow\", \"hidden\"),\n multiValue: (styles, { data: { valid } }) => ({\n ...styles,\n border: valid ? STYLES.border.default : STYLES.border.error,\n color: valid ? STYLES.color.default : STYLES.color.error,\n }),\n};\n\nexport const CUSTOM_COMPONENTS = {\n DropdownIndicator: CustomDropdownIndicator,\n Control: CustomControl,\n MultiValueRemove,\n ValueContainer: CustomValueContainer,\n ClearIndicator: CustomClearIndicator,\n SelectContainer,\n Input,\n};\n","import { isPresent } from \"neetocist\";\nimport { pluck } from \"ramda\";\n\nimport { EMAIL_REGEX } from \"./constants\";\n\nconst getEmailsMap = (inputEmails = [], options = []) => {\n const emails = [...inputEmails, ...options];\n const emailsMap = new Map();\n\n emails.forEach(option => {\n const hasPersistedEntry = isPresent(emailsMap.get(option.value)?.id);\n if (!hasPersistedEntry) emailsMap.set(option.value, option);\n });\n\n return emailsMap;\n};\n\nconst processEmailOptions = (inputEmails = [], options = []) => {\n const emailsMap = getEmailsMap(inputEmails, options);\n\n return email => {\n const emailDetails = emailsMap.get(email) || { value: email };\n\n return formatEmailInputOption(emailDetails);\n };\n};\n\nexport const formatEmailInputOption = ({ label, value, ...otherDetails }) => ({\n label: label ?? value,\n value,\n ...otherDetails,\n valid: EMAIL_REGEX.test(value),\n});\n\nexport const pruneDuplicates = (inputValues, options) => {\n const emailProcessor = processEmailOptions(inputValues, options);\n const emails = pluck(\"value\", inputValues);\n const uniqueValuesSet = new Set();\n const duplicates = [];\n\n emails.forEach(pristineEmail => {\n const email = pristineEmail.toLowerCase();\n if (uniqueValuesSet.has(email)) duplicates.push(pristineEmail);\n\n uniqueValuesSet.add(email);\n });\n\n const uniqueValues = Array.from(uniqueValuesSet);\n const uniqueEmails = uniqueValues.map(emailProcessor);\n\n return { uniqueEmails, duplicates };\n};\n\nexport const renderValidEmails = values =>\n values.filter(email => email.valid && email);\n\nexport const getValidEmailsCount = values => renderValidEmails(values).length;\n\nexport const renderDefaultText = count => (count === 1 ? \"email\" : \"emails\");\n","import React, { useState, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { mergeLeft, isEmpty } from \"ramda\";\nimport CreatableSelect from \"react-select/creatable\";\n\nimport { noop, hyphenize } from \"utils\";\n\nimport {\n EMAIL_SEPARATION_REGEX,\n CUSTOM_STYLES,\n UNSTRICT_EMAIL_REGEX,\n CUSTOM_COMPONENTS,\n} from \"./constants\";\nimport {\n pruneDuplicates,\n renderValidEmails,\n renderDefaultText,\n getValidEmailsCount,\n} from \"./utils\";\n\nimport Label from \"../Label\";\n\nconst MultiEmailInput = forwardRef(\n (\n {\n label = \"Email(s)\",\n placeholder = \"\",\n helpText = \"\",\n value = [],\n onChange = noop,\n error = \"\",\n onBlur = noop,\n filterInvalidEmails,\n counter,\n disabled = false,\n maxHeight = 200,\n required = false,\n labelProps,\n visibleEmailsCount = 3,\n isCreateable = true,\n isAlwaysExpanded = false,\n ...otherProps\n },\n ref\n ) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [isFocused, setIsFocused] = useState(false);\n const [duplicateEmails, setDuplicateEmails] = useState([]);\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n\n const isCounterVisible =\n !!counter &&\n (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);\n\n const isOptionsPresent = !!otherProps.options;\n\n const handleFilterEmails = () => onChange(renderValidEmails(value));\n\n const handleEmailChange = inputValue => {\n if (!isCreateable) return;\n\n const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => ({ value: email }));\n\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, ...emails],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\n setIsMenuOpen(false);\n };\n\n const handleKeyDown = event => {\n if (!inputValue) return;\n\n switch (event.key) {\n case \"Enter\": {\n handleEmailChange(inputValue);\n !isOptionsPresent && event.preventDefault();\n event.stopPropagation();\n\n return;\n }\n case \"Tab\":\n case \",\":\n case \" \": {\n handleEmailChange(inputValue);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n };\n\n const onCreateOption = input => {\n const { uniqueEmails, duplicates } = pruneDuplicates(\n [...value, { value: input }],\n otherProps.options\n );\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange(inputValue) : onBlur(event);\n setIsFocused(false);\n setDuplicateEmails([]);\n };\n\n let overrideProps = {};\n\n if (isOptionsPresent) {\n const isValidNewOption = (inputValue, _, selectOptions) => {\n if (!isCreateable) return false;\n\n const isInputEmpty = isEmpty(inputValue.trim());\n const doesInputContainSeparator =\n inputValue.includes(\",\") || inputValue.includes(\" \");\n\n const isInputPresentInOptions = selectOptions.find(\n option => option.value === inputValue.toLowerCase()\n );\n\n return !(\n isInputEmpty ||\n doesInputContainSeparator ||\n isInputPresentInOptions\n );\n };\n overrideProps = { onCreateOption, isValidNewOption };\n }\n\n const isFilterEmailsLinkVisible =\n !!filterInvalidEmails && value.length > getValidEmailsCount(value);\n\n return (\n <div className=\"neeto-ui-input__wrapper neeto-ui-email-input__wrapper\">\n <div className=\"neeto-ui-email-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n className=\"neeto-ui-email-input__label\"\n data-cy={`${hyphenize(label)}-input-label`}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCounterVisible && (\n <p\n className=\"neeto-ui-email-input__counter\"\n data-cy={`${hyphenize(label)}-email-counter`}\n >\n {getValidEmailsCount(value)}{\" \"}\n {counter.label\n ? counter.label\n : renderDefaultText(getValidEmailsCount(value))}\n </p>\n )}\n </div>\n <CreatableSelect\n isMulti\n required\n classNamePrefix=\"neeto-ui-react-select\"\n components={CUSTOM_COMPONENTS}\n isDisabled={disabled}\n menuIsOpen={isMenuOpen}\n className={classnames(\n \"neeto-ui-react-select__container neeto-ui-react-select__container--medium neeto-ui-email-input__select\",\n { \"neeto-ui-react-select__container--error\": !!error }\n )}\n styles={{\n ...CUSTOM_STYLES,\n control: mergeLeft({\n maxHeight: `${maxHeight}px`,\n overflowY: \"auto\",\n }),\n }}\n onBlur={handleBlur}\n onFocus={() => setIsFocused(true)}\n onKeyDown={handleKeyDown}\n onInputChange={inputValue => {\n setIsMenuOpen(Boolean(inputValue));\n setInputValue(inputValue);\n }}\n {...{\n handleEmailChange,\n inputValue,\n isAlwaysExpanded,\n isFocused,\n onChange,\n placeholder,\n ref,\n value,\n visibleEmailsCount,\n ...(!isOptionsPresent && { menuIsOpen: false }),\n ...otherProps,\n ...overrideProps,\n }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n >\n {error}\n {isFilterEmailsLinkVisible && (\n <span\n className=\"neeto-ui-font-semibold cursor-pointer\"\n onClick={handleFilterEmails}\n >\n &nbsp;\n {filterInvalidEmails.label\n ? filterInvalidEmails.label\n : \"Click here to remove invalid emails.\"}\n </span>\n )}\n </p>\n )}\n {!!helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n >\n {helpText}\n </p>\n )}\n {!!duplicateEmails.length && (\n <p\n className=\"neeto-ui-input__warning\"\n data-cy={`${hyphenize(label)}-duplicate-emails-warning`}\n >\n Duplicate emails that were removed case insensitively:{\" \"}\n {duplicateEmails.join(\", \")}\n </p>\n )}\n </div>\n );\n }\n);\n\nMultiEmailInput.displayName = \"MultiEmailInput\";\n\nMultiEmailInput.propTypes = {\n /**\n * To specify the text to be displayed above the Input field.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * To specify the text to be displayed inside the Input field.\n */\n placeholder: PropTypes.string,\n /**\n * To specify the helper text message to be displayed below the Input field.\n */\n helpText: PropTypes.string,\n /**\n * To specify the value to be displayed inside the Input field.\n */\n value: PropTypes.array,\n /**\n * To specify the error message to be shown below the Input field.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Input field is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Input field is required or not.\n */\n required: PropTypes.bool,\n /**\n * To specify the message to be shown besides the error message to filter out the invalid emails.\n */\n filterInvalidEmails: PropTypes.shape({ label: PropTypes.string }),\n /**\n * To add an email counter next to the label.\n */\n counter: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.shape({\n label: PropTypes.string,\n startsFrom: PropTypes.number,\n }),\n ]),\n /**\n * To specify the action to be triggered on modifying the Input field.\n */\n onChange: PropTypes.func,\n /**\n * To specify the action to be triggered on changing focus from the Input field.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the maximum height (in pixels) of the container before it becomes scrollable.\n */\n maxHeight: PropTypes.number,\n /**\n * To specify the content to be added at the end of the Input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the number of email to be displayed in the input field when not in focus.\n */\n visibleEmailsCount: PropTypes.number,\n /**\n * To specify whether a new email option can be created or not.\n */\n isCreateable: PropTypes.bool,\n /**\n * To specify whether the input field should always be shown in an expanded state or not.\n */\n isAlwaysExpanded: PropTypes.bool,\n};\n\nexport default MultiEmailInput;\n"],"names":["STYLES","border","error","color","CustomControl","_ref","children","props","_objectWithoutProperties","_excluded","getValue","_props$selectProps","selectProps","isFocused","prefix","prevValue","useRef","controlRef","value","scrollToBottom","scrollContainer","current","scrollHeight","clientHeight","scrollTo","top","useEffect","isItemAdded","length","isItemDeleted","React","createElement","components","Control","_extends","innerProps","_objectSpread","ref","className","CustomDropdownIndicator","suffix","DropdownIndicator","MultiValueRemove","_defineProperty","concat","hyphenize","data","label","Close","size","CustomValueContainer","_ref2","_excluded2","_props$selectProps2","visibleEmailsCount","isAlwaysExpanded","_children","_toArray","firstChild","rest","slice","shouldCollapse","ValueContainer","Tag","style","CustomClearIndicator","ClearIndicator","SelectContainer","Input","handlePaste","event","handleEmailChange","text","clipboardData","getData","EMAIL_REGEX","test","preventDefault","setTimeout","onPaste","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","getEmailsMap","inputEmails","arguments","undefined","options","emails","_toConsumableArray","emailsMap","Map","forEach","option","_emailsMap$get","hasPersistedEntry","isPresent","get","id","set","processEmailOptions","email","emailDetails","formatEmailInputOption","otherDetails","pruneDuplicates","inputValues","emailProcessor","pluck","uniqueValuesSet","Set","duplicates","pristineEmail","toLowerCase","has","push","add","uniqueValues","Array","from","uniqueEmails","map","renderValidEmails","values","filter","getValidEmailsCount","renderDefaultText","count","MultiEmailInput","forwardRef","_ref$label","_ref$placeholder","placeholder","_ref$helpText","helpText","_ref$value","_ref$onChange","onChange","noop","_ref$error","_ref$onBlur","onBlur","filterInvalidEmails","counter","_ref$disabled","disabled","_ref$maxHeight","maxHeight","_ref$required","required","labelProps","_ref$visibleEmailsCou","_ref$isCreateable","isCreateable","_ref$isAlwaysExpanded","otherProps","_useState","useState","_useState2","_slicedToArray","inputValue","setInputValue","_useState3","_useState4","setIsFocused","_useState5","_useState6","duplicateEmails","setDuplicateEmails","_useState7","_useState8","isMenuOpen","setIsMenuOpen","isCounterVisible","startsFrom","isOptionsPresent","handleFilterEmails","match","emailMatches","_pruneDuplicates","handleKeyDown","key","stopPropagation","onCreateOption","_otherProps$onCreateO","_pruneDuplicates2","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","menuIsOpen","classnames","control","mergeLeft","overflowY","onFocus","onKeyDown","onInputChange","Boolean","onClick","join","displayName"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neetoui",
3
- "version": "8.2.45",
3
+ "version": "8.2.47",
4
4
  "author": "BigBinary",
5
5
  "license": "MIT",
6
6
  "description": "neetoUI drives the experience at all neeto products",
@@ -3,7 +3,7 @@ import { DropdownProps } from "./Dropdown";
3
3
 
4
4
  type PaletteColor = {
5
5
  hex?: string;
6
- colorClassName?: string;
6
+ rgb?: string;
7
7
  }
8
8
 
9
9
  export interface ColorPickerProps {
@@ -13,11 +13,7 @@ export interface ColorPickerProps {
13
13
  hex: string;
14
14
  rgb: { r: number; g: number; b: number, a: number };
15
15
  }) => void;
16
- colorPaletteProps?: {
17
- color: PaletteColor;
18
- colorList: PaletteColor[];
19
- onChange: (color: PaletteColor) => void;
20
- };
16
+ colorPalette: PaletteColor[];
21
17
  showEyeDropper?: boolean;
22
18
  showHexValue?: boolean;
23
19
  showTransparencyControl?: boolean;