@bigbinary/neetoui 6.8.1-beta → 6.8.2

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.
@@ -184,10 +184,26 @@ var formatEmailInputOptions = function formatEmailInputOptions(label) {
184
184
  };
185
185
  var pruneDuplicates = function pruneDuplicates(inputValues) {
186
186
  var values = pluck("value", inputValues);
187
- var uniqueValues = _toConsumableArray(new Set(values));
188
- return uniqueValues.map(function (email) {
187
+ var caseInsensitiveValues = values.map(function (value) {
188
+ return value.toLowerCase();
189
+ });
190
+ var uniqueValuesSet = new Set();
191
+ var duplicates = [];
192
+ caseInsensitiveValues.forEach(function (value, index) {
193
+ if (uniqueValuesSet.has(value)) {
194
+ duplicates.push(values[index]);
195
+ } else {
196
+ uniqueValuesSet.add(value);
197
+ }
198
+ });
199
+ var uniqueValues = Array.from(uniqueValuesSet);
200
+ var uniqueEmails = uniqueValues.map(function (email) {
189
201
  return formatEmailInputOptions(email);
190
202
  });
203
+ return {
204
+ uniqueEmails: uniqueEmails,
205
+ duplicates: duplicates
206
+ };
191
207
  };
192
208
  var renderValidEmails = function renderValidEmails(values) {
193
209
  return values.filter(function (email) {
@@ -243,6 +259,10 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
243
259
  _useState4 = _slicedToArray(_useState3, 2),
244
260
  isFocused = _useState4[0],
245
261
  setIsFocused = _useState4[1];
262
+ var _useState5 = useState([]),
263
+ _useState6 = _slicedToArray(_useState5, 2),
264
+ duplicateEmails = _useState6[0],
265
+ setDuplicateEmails = _useState6[1];
246
266
  var isCounterVisible = !!counter && (!counter.startsFrom || getValidEmailsCount(value) >= counter.startsFrom);
247
267
  var isOptionsPresent = !!otherProps.options;
248
268
  var handleFilterEmails = function handleFilterEmails() {
@@ -254,7 +274,11 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
254
274
  var emails = emailMatches.map(function (email) {
255
275
  return formatEmailInputOptions(email);
256
276
  });
257
- onChange(pruneDuplicates([].concat(_toConsumableArray(value), _toConsumableArray(emails))));
277
+ var _pruneDuplicates = pruneDuplicates([].concat(_toConsumableArray(value), _toConsumableArray(emails))),
278
+ uniqueEmails = _pruneDuplicates.uniqueEmails,
279
+ duplicates = _pruneDuplicates.duplicates;
280
+ onChange(uniqueEmails);
281
+ setDuplicateEmails(duplicates);
258
282
  setInputValue("");
259
283
  };
260
284
  var handleKeyDown = function handleKeyDown(event) {
@@ -280,12 +304,17 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
280
304
  var onCreateOption = function onCreateOption(input) {
281
305
  var _otherProps$onCreateO;
282
306
  var email = formatEmailInputOptions(input);
283
- onChange(pruneDuplicates([].concat(_toConsumableArray(value), [email])));
307
+ var _pruneDuplicates2 = pruneDuplicates([].concat(_toConsumableArray(value), [email])),
308
+ uniqueEmails = _pruneDuplicates2.uniqueEmails,
309
+ duplicates = _pruneDuplicates2.duplicates;
310
+ onChange(uniqueEmails);
311
+ setDuplicateEmails(duplicates);
284
312
  otherProps === null || otherProps === void 0 || (_otherProps$onCreateO = otherProps.onCreateOption) === null || _otherProps$onCreateO === void 0 || _otherProps$onCreateO.call(otherProps, input);
285
313
  };
286
314
  var handleBlur = function handleBlur(event) {
287
315
  inputValue ? handleEmailChange(inputValue) : onBlur(event);
288
316
  setIsFocused(false);
317
+ setDuplicateEmails([]);
289
318
  };
290
319
  var overrideProps = {};
291
320
  if (isOptionsPresent) {
@@ -359,7 +388,10 @@ var MultiEmailInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
359
388
  }, "\xA0", filterInvalidEmails.label ? filterInvalidEmails.label : "Click here to remove invalid emails.")), !!helpText && /*#__PURE__*/React__default.createElement("p", {
360
389
  className: "neeto-ui-input__help-text",
361
390
  "data-cy": "".concat(hyphenize(label), "-input-help")
362
- }, helpText));
391
+ }, helpText), !!duplicateEmails.length && /*#__PURE__*/React__default.createElement("p", {
392
+ className: "neeto-ui-input__warning",
393
+ "data-cy": "".concat(hyphenize(label), "-duplicate-emails-warning")
394
+ }, "Duplicate emails that were removed case insensitively:", " ", duplicateEmails.join(", ")));
363
395
  });
364
396
  MultiEmailInput.displayName = "MultiEmailInput";
365
397
 
@@ -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 <components.Input\n {...props}\n data-cy=\"email-select-input-field\"\n onPaste={e => {\n const clipboardData = e.clipboardData.getData(\"Text\");\n\n setTimeout(() => props.selectProps.handleEmailChange(clipboardData));\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\nexport const formatEmailInputOptions = label => ({\n label,\n value: label,\n valid: EMAIL_REGEX.test(label),\n});\n\nexport const pruneDuplicates = inputValues => {\n const values = pluck(\"value\", inputValues);\n const uniqueValues = [...new Set(values)];\n\n return uniqueValues.map(email => formatEmailInputOptions(email));\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 formatEmailInputOptions,\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\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 const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => formatEmailInputOptions(email));\n onChange(pruneDuplicates([...value, ...emails]));\n setInputValue(\"\");\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 email = formatEmailInputOptions(input);\n onChange(pruneDuplicates([...value, email]));\n otherProps?.onCreateOption?.(input);\n };\n\n const handleBlur = event => {\n inputValue ? handleEmailChange(inputValue) : onBlur(event);\n setIsFocused(false);\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 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 onInputChange={inputValue => setInputValue(inputValue)}\n onKeyDown={handleKeyDown}\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 </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","onPaste","e","clipboardData","getData","setTimeout","handleEmailChange","EMAIL_REGEX","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","formatEmailInputOptions","test","pruneDuplicates","inputValues","values","pluck","uniqueValues","_toConsumableArray","Set","map","email","renderValidEmails","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","isCounterVisible","startsFrom","isOptionsPresent","options","handleFilterEmails","match","emailMatches","emails","handleKeyDown","event","key","preventDefault","stopPropagation","onCreateOption","_otherProps$onCreateO","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","option","toLowerCase","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","classnames","control","mergeLeft","overflowY","onFocus","onInputChange","onKeyDown","menuIsOpen","onClick","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 <components.Input\n {...props}\n data-cy=\"email-select-input-field\"\n onPaste={e => {\n const clipboardData = e.clipboardData.getData(\"Text\");\n\n setTimeout(() => props.selectProps.handleEmailChange(clipboardData));\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\nexport const formatEmailInputOptions = label => ({\n label,\n value: label,\n valid: EMAIL_REGEX.test(label),\n});\n\nexport const pruneDuplicates = inputValues => {\n const values = pluck(\"value\", inputValues);\n const caseInsensitiveValues = values.map(value => value.toLowerCase());\n const uniqueValuesSet = new Set();\n const duplicates = [];\n\n caseInsensitiveValues.forEach((value, index) => {\n if (uniqueValuesSet.has(value)) {\n duplicates.push(values[index]);\n } else {\n uniqueValuesSet.add(value);\n }\n });\n\n const uniqueValues = Array.from(uniqueValuesSet);\n const uniqueEmails = uniqueValues.map(email =>\n formatEmailInputOptions(email)\n );\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 formatEmailInputOptions,\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\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 const inputValues = inputValue.match(EMAIL_SEPARATION_REGEX);\n const emailMatches =\n inputValue.match(UNSTRICT_EMAIL_REGEX) || inputValues || [];\n\n const emails = emailMatches.map(email => formatEmailInputOptions(email));\n const { uniqueEmails, duplicates } = pruneDuplicates([\n ...value,\n ...emails,\n ]);\n onChange(uniqueEmails);\n setDuplicateEmails(duplicates);\n setInputValue(\"\");\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 email = formatEmailInputOptions(input);\n const { uniqueEmails, duplicates } = pruneDuplicates([...value, email]);\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 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 onInputChange={inputValue => setInputValue(inputValue)}\n onKeyDown={handleKeyDown}\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","onPaste","e","clipboardData","getData","setTimeout","handleEmailChange","EMAIL_REGEX","RegExp","UNSTRICT_EMAIL_REGEX","EMAIL_SEPARATION_REGEX","CUSTOM_STYLES","input","assoc","multiValue","styles","_ref3","valid","CUSTOM_COMPONENTS","formatEmailInputOptions","test","pruneDuplicates","inputValues","values","pluck","caseInsensitiveValues","map","toLowerCase","uniqueValuesSet","Set","duplicates","forEach","index","has","push","add","uniqueValues","Array","from","uniqueEmails","email","renderValidEmails","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","isCounterVisible","startsFrom","isOptionsPresent","options","handleFilterEmails","match","emailMatches","emails","_pruneDuplicates","_toConsumableArray","handleKeyDown","event","key","preventDefault","stopPropagation","onCreateOption","_otherProps$onCreateO","_pruneDuplicates2","call","handleBlur","overrideProps","isValidNewOption","_","selectOptions","isInputEmpty","isEmpty","trim","doesInputContainSeparator","includes","isInputPresentInOptions","find","option","isFilterEmailsLinkVisible","Label","CreatableSelect","isMulti","classNamePrefix","isDisabled","classnames","control","mergeLeft","overflowY","onFocus","onInputChange","onKeyDown","menuIsOpen","onClick","join","displayName"],"mappings":"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"}
package/dist/Slider.js CHANGED
@@ -31,6 +31,8 @@ import 'dayjs/plugin/weekOfYear';
31
31
  import '@bigbinary/neeto-cist';
32
32
  import 'ramda';
33
33
 
34
+ var NEETO_UI_PRIMARY_500 = "#4558f9";
35
+
34
36
  var _excluded = ["min", "max", "defaultValue", "onChange", "value", "label", "required", "labelProps", "error", "helpText"];
35
37
  function ownKeys(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; }
36
38
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -85,8 +87,14 @@ var Slider = function Slider(_ref) {
85
87
  htmlFor: id
86
88
  }, labelProps), label)), /*#__PURE__*/React__default.createElement(_Slider, _extends({
87
89
  className: "neeto-ui-w-full",
90
+ handleStyle: {
91
+ backgroundColor: NEETO_UI_PRIMARY_500
92
+ },
88
93
  tooltip: {
89
94
  formatter: null
95
+ },
96
+ trackStyle: {
97
+ backgroundColor: NEETO_UI_PRIMARY_500
90
98
  }
91
99
  }, _objectSpread(_objectSpread({
92
100
  defaultValue: defaultValue,
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sources":["../src/components/Slider/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { Slider as AntdSlider, ConfigProvider } from \"antd\";\nimport PropTypes from \"prop-types\";\n\nimport Label from \"components/Label\";\nimport { useId } from \"hooks\";\nimport { ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES, hyphenize, noop } from \"utils\";\n\nconst Slider = ({\n min = 0,\n max = 100,\n defaultValue = 0,\n onChange = noop,\n value = undefined,\n label,\n required = false,\n labelProps = {},\n error,\n helpText,\n ...otherProps\n}) => {\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n\n return (\n <ConfigProvider\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n Slider: {\n dotActiveBorderColor: \"rgb(var(--neeto-ui-primary-500))\",\n dotBorderColor: \"rgb(var(--neeto-ui-gray-500))\",\n handleActiveColor: \"rgb(var(--neeto-ui-primary-600))\",\n handleColor: \"rgb(var(--neeto-ui-primary-500))\",\n railBg: \"rgb(var(--neeto-ui-gray-200))\",\n railHoverBg: \"rgb(var(--neeto-ui-gray-300))\",\n trackBg: \"rgb(var(--neeto-ui-primary-500))\",\n trackBgDisabled: \"rgb(var(--neeto-ui-gray-100))\",\n trackHoverBg: \"rgb(var(--neeto-ui-primary-600))\",\n\n // Global overrides\n colorFillContentHover: \"rgb(var(--neeto-ui-gray-600))\",\n },\n },\n }}\n >\n <div className=\"neeto-ui-input__wrapper\">\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-slider-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n </div>\n <AntdSlider\n className=\"neeto-ui-w-full\"\n tooltip={{ formatter: null }}\n {...{ defaultValue, max, min, onChange, value, ...otherProps, id }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n {helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n id={helpTextId}\n >\n {helpText}\n </p>\n )}\n </div>\n </ConfigProvider>\n );\n};\n\nSlider.propTypes = {\n /**\n * The minimum value the slider can slide to.\n */\n min: PropTypes.number,\n /**\n * The maximum value the slider can slide to.\n */\n max: PropTypes.number,\n /**\n * Callback function that is fired when the user changes the slider's value.\n */\n onChange: PropTypes.func,\n /**\n * The value of slider. When `range` is false, use number, otherwise, use [number, number]\n */\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.array]),\n /**\n * The value of slider. When `range` is false, use number, otherwise, use [number, number]\n *\n */\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.array]),\n};\n\nexport default Slider;\n"],"names":["Slider","_ref","_ref$min","min","_ref$max","max","_ref$defaultValue","defaultValue","_ref$onChange","onChange","noop","_ref$value","value","undefined","label","_ref$required","required","_ref$labelProps","labelProps","error","helpText","otherProps","_objectWithoutProperties","_excluded","id","useId","errorId","concat","helpTextId","React","createElement","_ConfigProvider","theme","token","_objectSpread","ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES","components","dotActiveBorderColor","dotBorderColor","handleActiveColor","handleColor","railBg","railHoverBg","trackBg","trackBgDisabled","trackHoverBg","colorFillContentHover","className","Label","_extends","hyphenize","htmlFor","_Slider","tooltip","formatter"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","sources":["../src/components/Slider/constants.js","../src/components/Slider/index.jsx"],"sourcesContent":["export const NEETO_UI_PRIMARY_500 = \"#4558f9\";\n","import React from \"react\";\n\nimport { Slider as AntdSlider, ConfigProvider } from \"antd\";\nimport PropTypes from \"prop-types\";\n\nimport Label from \"components/Label\";\nimport { useId } from \"hooks\";\nimport { ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES, hyphenize, noop } from \"utils\";\n\nimport { NEETO_UI_PRIMARY_500 } from \"./constants\";\n\nconst Slider = ({\n min = 0,\n max = 100,\n defaultValue = 0,\n onChange = noop,\n value = undefined,\n label,\n required = false,\n labelProps = {},\n error,\n helpText,\n ...otherProps\n}) => {\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n\n return (\n <ConfigProvider\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n Slider: {\n dotActiveBorderColor: \"rgb(var(--neeto-ui-primary-500))\",\n dotBorderColor: \"rgb(var(--neeto-ui-gray-500))\",\n handleActiveColor: \"rgb(var(--neeto-ui-primary-600))\",\n handleColor: \"rgb(var(--neeto-ui-primary-500))\",\n railBg: \"rgb(var(--neeto-ui-gray-200))\",\n railHoverBg: \"rgb(var(--neeto-ui-gray-300))\",\n trackBg: \"rgb(var(--neeto-ui-primary-500))\",\n trackBgDisabled: \"rgb(var(--neeto-ui-gray-100))\",\n trackHoverBg: \"rgb(var(--neeto-ui-primary-600))\",\n\n // Global overrides\n colorFillContentHover: \"rgb(var(--neeto-ui-gray-600))\",\n },\n },\n }}\n >\n <div className=\"neeto-ui-input__wrapper\">\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-slider-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n </div>\n <AntdSlider\n className=\"neeto-ui-w-full\"\n handleStyle={{ backgroundColor: NEETO_UI_PRIMARY_500 }}\n tooltip={{ formatter: null }}\n trackStyle={{ backgroundColor: NEETO_UI_PRIMARY_500 }}\n {...{ defaultValue, max, min, onChange, value, ...otherProps, id }}\n />\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n {helpText && (\n <p\n className=\"neeto-ui-input__help-text\"\n data-cy={`${hyphenize(label)}-input-help`}\n id={helpTextId}\n >\n {helpText}\n </p>\n )}\n </div>\n </ConfigProvider>\n );\n};\n\nSlider.propTypes = {\n /**\n * The minimum value the slider can slide to.\n */\n min: PropTypes.number,\n /**\n * The maximum value the slider can slide to.\n */\n max: PropTypes.number,\n /**\n * Callback function that is fired when the user changes the slider's value.\n */\n onChange: PropTypes.func,\n /**\n * The value of slider. When `range` is false, use number, otherwise, use [number, number]\n */\n value: PropTypes.oneOfType([PropTypes.number, PropTypes.array]),\n /**\n * The value of slider. When `range` is false, use number, otherwise, use [number, number]\n *\n */\n defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.array]),\n};\n\nexport default Slider;\n"],"names":["NEETO_UI_PRIMARY_500","Slider","_ref","_ref$min","min","_ref$max","max","_ref$defaultValue","defaultValue","_ref$onChange","onChange","noop","_ref$value","value","undefined","label","_ref$required","required","_ref$labelProps","labelProps","error","helpText","otherProps","_objectWithoutProperties","_excluded","id","useId","errorId","concat","helpTextId","React","createElement","_ConfigProvider","theme","token","_objectSpread","ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES","components","dotActiveBorderColor","dotBorderColor","handleActiveColor","handleColor","railBg","railHoverBg","trackBg","trackBgDisabled","trackHoverBg","colorFillContentHover","className","Label","_extends","hyphenize","htmlFor","_Slider","handleStyle","backgroundColor","tooltip","formatter","trackStyle"],"mappings":"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"}
package/dist/Table.js CHANGED
@@ -790,7 +790,7 @@ var Table = function Table(_ref) {
790
790
  components: {
791
791
  Pagination: {
792
792
  itemActiveBg: "rgb(var(--neeto-ui-primary-500))",
793
- itemActiveBgDisabled: "rgb(var(--neeto-ui-gray-50))",
793
+ itemActiveBgDisabled: "rgb(var(--neeto-ui-gray-100))",
794
794
  itemActiveColorDisabled: "rgb(var(--neeto-ui-gray-300))",
795
795
  itemBg: "rgb(var(--neeto-ui-white))",
796
796
  itemInputBg: "rgb(var(--neeto-ui-white))",
@@ -804,31 +804,31 @@ var Table = function Table(_ref) {
804
804
  },
805
805
  Table: {
806
806
  headerBorderRadius: 0,
807
- bodySortBg: "rgb(var(--neeto-ui-gray-50))",
808
- borderColor: "rgb(var(--neeto-ui-gray-200))",
807
+ bodySortBg: "rgb(var(--neeto-ui-gray-100))",
808
+ borderColor: "rgb(var(--neeto-ui-gray-300))",
809
809
  expandIconBg: "rgb(var(--neeto-ui-white))",
810
810
  filterDropdownBg: "rgb(var(--neeto-ui-white))",
811
811
  filterDropdownMenuBg: "rgb(var(--neeto-ui-white))",
812
812
  fixedHeaderSortActiveBg: "rgb(var(--neeto-ui-gray-200))",
813
813
  footerBg: "rgb(var(--neeto-ui-gray-100))",
814
- footerColor: "rgb(var(--neeto-ui-black))",
814
+ footerColor: "rgb(var(--neeto-ui-gray-800))",
815
815
  headerBg: "rgb(var(--neeto-ui-gray-100))",
816
- headerColor: "rgb(var(--neeto-ui-black))",
816
+ headerColor: "rgb(var(--neeto-ui-gray-700))",
817
817
  headerFilterHoverBg: "rgb(var(--neeto-ui-gray-100))",
818
818
  headerSortActiveBg: "rgb(var(--neeto-ui-gray-200))",
819
- headerSortHoverBg: "rgb(var(--neeto-ui-gray-200))",
820
- headerSplitColor: "rgb(var(--neeto-ui-gray-100))",
821
- rowExpandedBg: "rgb(var(--neeto-ui-gray-100))",
822
- rowHoverBg: "rgb(var(--neeto-ui-gray-50))",
823
- rowSelectedBg: "rgb(var(--neeto-ui-accent-50))",
824
- rowSelectedHoverBg: "rgb(var(--neeto-ui-accent-50))",
825
- stickyScrollBarBg: "rgb(var(--neeto-ui-gray-100))",
826
- cellPaddingBlock: 11,
819
+ headerSortHoverBg: "rgb(var(--neeto-ui-gray-100))",
820
+ headerSplitColor: "rgb(var(--neeto-ui-gray-200))",
821
+ rowExpandedBg: "rgb(var(--neeto-ui-gray-200))",
822
+ rowHoverBg: "rgb(var(--neeto-ui-gray-100))",
823
+ rowSelectedBg: "rgb(var(--neeto-ui-primary-100))",
824
+ rowSelectedHoverBg: "rgb(var(--neeto-ui-pastel-purple))",
825
+ stickyScrollBarBg: "rgb(var(--neeto-ui-primary-100))",
826
+ cellPaddingBlock: 10,
827
827
  // Global overrides
828
828
  colorPrimary: "rgb(var(--neeto-ui-primary-500))",
829
829
  fontSize: 14,
830
830
  fontWeightStrong: neetoUIFontBold,
831
- paddingContentVerticalLG: 11
831
+ paddingContentVerticalLG: 10
832
832
  }
833
833
  }
834
834
  }