@activecollab/components 2.0.210 → 2.0.211

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.
@@ -24,10 +24,10 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
24
24
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25
25
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
26
26
  var renderOption = function renderOption(option, data) {
27
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionWrapper, null, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionFlag, null, (0, _countryExplorer.getCountryFlag)(option.id)), /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionName, null, option.name)), /*#__PURE__*/_react.default.createElement(_RadioButton.RadioButton, {
27
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionWrapper, null, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionFlag, null, (0, _countryExplorer.getCountryFlag)(option.id)), /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionName, null, option.name)), /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionRowEnd, null, /*#__PURE__*/_react.default.createElement(_Styles.StyledOptionCode, null, option.additionalInfo), /*#__PURE__*/_react.default.createElement(_RadioButton.RadioButton, {
28
28
  checked: data.checked,
29
29
  onChange: data.onChange
30
- }));
30
+ })));
31
31
  };
32
32
  var InputPhone = exports.InputPhone = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
33
33
  var _ref$size = _ref.size,
@@ -52,7 +52,8 @@ var InputPhone = exports.InputPhone = /*#__PURE__*/(0, _react.forwardRef)(functi
52
52
  var options = _countryExplorer.countriesArraySortedByName.map(function (country) {
53
53
  return {
54
54
  id: country.countryCode,
55
- name: "+".concat(country.callingCode, " ").concat(country.name)
55
+ name: country.name,
56
+ additionalInfo: "+".concat(country.callingCode)
56
57
  };
57
58
  });
58
59
  var separatePrefixFromValue = function separatePrefixFromValue(fullValue) {
@@ -65,12 +66,11 @@ var InputPhone = exports.InputPhone = /*#__PURE__*/(0, _react.forwardRef)(functi
65
66
  var code = digits.slice(0, i);
66
67
  if (_countryExplorer.callingCodeToCountryCodeMap[code]) {
67
68
  newPrefix = _countryExplorer.callingCodeToCountryCodeMap[code];
68
- newValue = fullValue.slice(prefixLength + (0, _countryExplorer.getCountryCallingCode)(newPrefix).length);
69
+ var dialCode = (0, _countryExplorer.getCountryCallingCode)(newPrefix);
70
+ newValue = fullValue.slice(prefixLength + dialCode.length);
69
71
  break;
70
72
  }
71
73
  }
72
- } else if (fullValue.startsWith(prefix)) {
73
- newValue = fullValue.slice(prefix.length);
74
74
  }
75
75
  return {
76
76
  newPrefix,
@@ -141,6 +141,10 @@ var InputPhone = exports.InputPhone = /*#__PURE__*/(0, _react.forwardRef)(functi
141
141
  onChange: handleSelectChange,
142
142
  options: options,
143
143
  selected: prefix,
144
+ filterCriteria: function filterCriteria(option, filter) {
145
+ var _option$additionalInf;
146
+ return !!(option !== null && option !== void 0 && (_option$additionalInf = option.additionalInfo) !== null && _option$additionalInf !== void 0 && _option$additionalInf.toLowerCase().includes(filter));
147
+ },
144
148
  selectedLabel: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Styles.StyledFlagTriggerLabel, {
145
149
  $size: size
146
150
  }, (0, _countryExplorer.getCountryFlag)(prefix)), "+", (0, _countryExplorer.getCountryCallingCode)(prefix)),
@@ -1 +1 @@
1
- {"version":3,"file":"InputPhone.js","names":["_react","_interopRequireWildcard","require","_countryExplorer","_Input","_InputSelect","_Styles","_utils","_RadioButton","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","renderOption","option","data","createElement","Fragment","StyledOptionWrapper","StyledOptionFlag","getCountryFlag","id","StyledOptionName","RadioButton","checked","onChange","InputPhone","exports","forwardRef","_ref","ref","_ref$size","size","disabled","_ref$value","defaultValue","_ref$defaultCountry","defaultCountry","rest","inputRef","useRef","handleRef","useForkRef","_useState","useState","_useState2","prefix","setPrefix","_useState3","_useState4","setValue","options","countriesArraySortedByName","map","country","countryCode","concat","callingCode","separatePrefixFromValue","fullValue","newPrefix","newValue","startsWith","prefixLength","digits","code","callingCodeToCountryCodeMap","getCountryCallingCode","useEffect","_separatePrefixFromVa","handleChange","useCallback","inputValue","_separatePrefixFromVa2","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","filteredPaste","replace","inputElement","currentTarget","selectionStart","selectionEnd","currentValue","beforeSelection","afterSelection","newValueAfterPaste","_separatePrefixFromVa3","Input","type","onPaste","startAdornment","InputSelect","selected","selectedLabel","StyledFlagTriggerLabel","$size","keepSameOptionsOrder","search","displayName"],"sources":["../../../../src/components/Input/InputPhone.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n callingCodeToCountryCodeMap,\n countriesArraySortedByName,\n getCountryCallingCode,\n getCountryFlag,\n Country,\n} from \"country-explorer\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport {\n StyledFlagTriggerLabel,\n StyledOptionFlag,\n StyledOptionName,\n StyledOptionWrapper,\n} from \"./Styles\";\nimport { useForkRef } from \"../../utils\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport interface InputPhoneProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** Default country code to be selected */\n defaultCountry?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"small\" | \"regular\" | \"big\";\n}\n\nconst renderOption = (\n option: Record<string, React.ReactNode>,\n data: Record<string, unknown>\n): React.ReactElement => (\n <>\n <StyledOptionWrapper>\n <StyledOptionFlag>{getCountryFlag(option.id)}</StyledOptionFlag>\n <StyledOptionName>{option.name}</StyledOptionName>\n </StyledOptionWrapper>\n <RadioButton\n checked={data.checked as boolean}\n onChange={data.onChange as ChangeEventHandler<HTMLInputElement>}\n />\n </>\n);\n\nexport const InputPhone = forwardRef<HTMLInputElement, InputPhoneProps>(\n (\n {\n size = \"regular\",\n disabled,\n value: defaultValue = \"\",\n onChange,\n defaultCountry = \"US\",\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n const [prefix, setPrefix] = useState(defaultCountry);\n const [value, setValue] = useState<string>(\"\");\n\n const options = countriesArraySortedByName.map((country: Country) => ({\n id: country.countryCode,\n name: `+${country.callingCode} ${country.name}`,\n }));\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n if (fullValue.startsWith(\"+\") || fullValue.startsWith(\"00\")) {\n const prefixLength = fullValue.startsWith(\"+\") ? 1 : 2;\n const digits = fullValue.slice(prefixLength);\n\n for (let i = digits.length; i >= 1; i--) {\n const code = digits.slice(0, i);\n if (callingCodeToCountryCodeMap[code]) {\n newPrefix = callingCodeToCountryCodeMap[code];\n newValue = fullValue.slice(\n prefixLength + getCountryCallingCode(newPrefix).length\n );\n break;\n }\n }\n } else if (fullValue.startsWith(prefix)) {\n newValue = fullValue.slice(prefix.length);\n }\n\n return { newPrefix, newValue };\n };\n\n useEffect(() => {\n const { newPrefix, newValue } = separatePrefixFromValue(defaultValue);\n setPrefix(newPrefix);\n setValue(newValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (/[^0-9+]/.test(inputValue)) {\n return;\n }\n\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, prefix]\n );\n\n const handleSelectChange = (val: string | number | (string | number)[]) => {\n setPrefix(val as string);\n setTimeout(() => {\n inputRef.current?.focus();\n }, 200);\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(val)}${value}`);\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n\n const paste = e.clipboardData.getData(\"text\");\n const filteredPaste = paste.replace(/[^0-9+]/g, \"\");\n\n const inputElement = e.currentTarget as HTMLInputElement;\n const { selectionStart, selectionEnd } = inputElement;\n\n if (selectionStart !== null && selectionEnd !== null) {\n const currentValue = inputElement.value;\n const beforeSelection = currentValue.slice(0, selectionStart);\n const afterSelection = currentValue.slice(selectionEnd);\n\n const newValueAfterPaste =\n beforeSelection + filteredPaste + afterSelection;\n const { newPrefix, newValue } =\n separatePrefixFromValue(newValueAfterPaste);\n\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n }\n };\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n size={size}\n value={value}\n disabled={disabled}\n type=\"text\"\n onPaste={handlePaste}\n onChange={handleChange}\n data-testid=\"InputPhone\"\n startAdornment={\n <InputSelect\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n selectedLabel={\n <>\n <StyledFlagTriggerLabel $size={size}>\n {getCountryFlag(prefix)}\n </StyledFlagTriggerLabel>\n +{getCountryCallingCode(prefix)}\n </>\n }\n disabled={disabled}\n keepSameOptionsOrder={false}\n search\n renderOption={renderOption}\n />\n }\n />\n );\n }\n);\n\nInputPhone.displayName = \"InputPhone\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputPhone.js","names":["_react","_interopRequireWildcard","require","_countryExplorer","_Input","_InputSelect","_Styles","_utils","_RadioButton","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","renderOption","option","data","createElement","Fragment","StyledOptionWrapper","StyledOptionFlag","getCountryFlag","id","StyledOptionName","StyledOptionRowEnd","StyledOptionCode","additionalInfo","RadioButton","checked","onChange","InputPhone","exports","forwardRef","_ref","ref","_ref$size","size","disabled","_ref$value","defaultValue","_ref$defaultCountry","defaultCountry","rest","inputRef","useRef","handleRef","useForkRef","_useState","useState","_useState2","prefix","setPrefix","_useState3","_useState4","setValue","options","countriesArraySortedByName","map","country","countryCode","concat","callingCode","separatePrefixFromValue","fullValue","newPrefix","newValue","startsWith","prefixLength","digits","code","callingCodeToCountryCodeMap","dialCode","getCountryCallingCode","useEffect","_separatePrefixFromVa","handleChange","useCallback","inputValue","_separatePrefixFromVa2","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","filteredPaste","replace","inputElement","currentTarget","selectionStart","selectionEnd","currentValue","beforeSelection","afterSelection","newValueAfterPaste","_separatePrefixFromVa3","Input","type","onPaste","startAdornment","InputSelect","selected","filterCriteria","filter","_option$additionalInf","toLowerCase","includes","selectedLabel","StyledFlagTriggerLabel","$size","keepSameOptionsOrder","search","displayName"],"sources":["../../../../src/components/Input/InputPhone.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n callingCodeToCountryCodeMap,\n countriesArraySortedByName,\n getCountryCallingCode,\n getCountryFlag,\n Country,\n} from \"country-explorer\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport {\n StyledFlagTriggerLabel,\n StyledOptionCode,\n StyledOptionFlag,\n StyledOptionName,\n StyledOptionRowEnd,\n StyledOptionWrapper,\n} from \"./Styles\";\nimport { useForkRef } from \"../../utils\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport interface InputPhoneProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** Default country code to be selected */\n defaultCountry?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"small\" | \"regular\" | \"big\";\n}\n\nconst renderOption = (\n option: Record<string, React.ReactNode>,\n data: Record<string, unknown>\n): React.ReactElement => (\n <>\n <StyledOptionWrapper>\n <StyledOptionFlag>{getCountryFlag(option.id)}</StyledOptionFlag>\n <StyledOptionName>{option.name}</StyledOptionName>\n </StyledOptionWrapper>\n <StyledOptionRowEnd>\n <StyledOptionCode>{option.additionalInfo}</StyledOptionCode>\n <RadioButton\n checked={data.checked as boolean}\n onChange={data.onChange as ChangeEventHandler<HTMLInputElement>}\n />\n </StyledOptionRowEnd>\n </>\n);\n\nexport const InputPhone = forwardRef<HTMLInputElement, InputPhoneProps>(\n (\n {\n size = \"regular\",\n disabled,\n value: defaultValue = \"\",\n onChange,\n defaultCountry = \"US\",\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n const [prefix, setPrefix] = useState(defaultCountry);\n const [value, setValue] = useState<string>(\"\");\n\n const options = countriesArraySortedByName.map((country: Country) => ({\n id: country.countryCode,\n name: country.name,\n additionalInfo: `+${country.callingCode}`,\n }));\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n if (fullValue.startsWith(\"+\") || fullValue.startsWith(\"00\")) {\n const prefixLength = fullValue.startsWith(\"+\") ? 1 : 2;\n const digits = fullValue.slice(prefixLength);\n\n for (let i = digits.length; i >= 1; i--) {\n const code = digits.slice(0, i);\n if (callingCodeToCountryCodeMap[code]) {\n newPrefix = callingCodeToCountryCodeMap[code];\n const dialCode = getCountryCallingCode(newPrefix);\n newValue = fullValue.slice(prefixLength + dialCode.length);\n break;\n }\n }\n }\n\n return { newPrefix, newValue };\n };\n\n useEffect(() => {\n const { newPrefix, newValue } = separatePrefixFromValue(defaultValue);\n setPrefix(newPrefix);\n setValue(newValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (/[^0-9+]/.test(inputValue)) {\n return;\n }\n\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, prefix]\n );\n\n const handleSelectChange = (val: string | number | (string | number)[]) => {\n setPrefix(val as string);\n setTimeout(() => {\n inputRef.current?.focus();\n }, 200);\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(val)}${value}`);\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n\n const paste = e.clipboardData.getData(\"text\");\n const filteredPaste = paste.replace(/[^0-9+]/g, \"\");\n\n const inputElement = e.currentTarget as HTMLInputElement;\n const { selectionStart, selectionEnd } = inputElement;\n\n if (selectionStart !== null && selectionEnd !== null) {\n const currentValue = inputElement.value;\n const beforeSelection = currentValue.slice(0, selectionStart);\n const afterSelection = currentValue.slice(selectionEnd);\n\n const newValueAfterPaste =\n beforeSelection + filteredPaste + afterSelection;\n const { newPrefix, newValue } =\n separatePrefixFromValue(newValueAfterPaste);\n\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n }\n };\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n size={size}\n value={value}\n disabled={disabled}\n type=\"text\"\n onPaste={handlePaste}\n onChange={handleChange}\n data-testid=\"InputPhone\"\n startAdornment={\n <InputSelect\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n filterCriteria={(option, filter) => {\n return !!option?.additionalInfo?.toLowerCase().includes(filter);\n }}\n selectedLabel={\n <>\n <StyledFlagTriggerLabel $size={size}>\n {getCountryFlag(prefix)}\n </StyledFlagTriggerLabel>\n +{getCountryCallingCode(prefix)}\n </>\n }\n disabled={disabled}\n keepSameOptionsOrder={false}\n search\n renderOption={renderOption}\n />\n }\n />\n );\n }\n);\n\nInputPhone.displayName = \"InputPhone\";\n"],"mappings":"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"}
@@ -25,7 +25,8 @@ var InputSelect = exports.InputSelect = function InputSelect(_ref) {
25
25
  _ref$keepSameOptionsO = _ref.keepSameOptionsOrder,
26
26
  keepSameOptionsOrder = _ref$keepSameOptionsO === void 0 ? true : _ref$keepSameOptionsO,
27
27
  selectedLabel = _ref.selectedLabel,
28
- renderOption = _ref.renderOption;
28
+ renderOption = _ref.renderOption,
29
+ filterCriteria = _ref.filterCriteria;
29
30
  return /*#__PURE__*/_react.default.createElement(_Select.Select, {
30
31
  onChange: onChange,
31
32
  forceCloseMenu: true,
@@ -42,7 +43,8 @@ var InputSelect = exports.InputSelect = function InputSelect(_ref) {
42
43
  disabledInternalSort: disabledInternalSort,
43
44
  keepSameOptionsOrder: keepSameOptionsOrder,
44
45
  selected: selected,
45
- renderOption: renderOption
46
+ renderOption: renderOption,
47
+ filterCriteria: filterCriteria
46
48
  });
47
49
  };
48
50
  var _StyledStyledButton = (0, _styledComponents.default)(_Styles2.StyledButton).withConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"InputSelect.js","names":["_react","_interopRequireDefault","require","_Styles","_Icons","_Select","_Styles2","obj","__esModule","default","InputSelect","exports","_ref","onChange","size","selected","options","_ref$search","search","_ref$disabled","disabled","_ref$disabledInternal","disabledInternalSort","_ref$keepSameOptionsO","keepSameOptionsOrder","selectedLabel","renderOption","createElement","Select","forceCloseMenu","disableSearch","target","_StyledStyledButton","StyledInputSelectTrigger","$disabled","$size","ArrowDownIcon","fill","ArrowDownSmallIcon","_styledComponents","StyledButton","withConfig","displayName","componentId"],"sources":["../../../../src/components/Input/InputSelect.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from \"react\";\n\nimport { StyledInputSelectTrigger } from \"./Styles\";\nimport { ArrowDownIcon, ArrowDownSmallIcon } from \"../Icons\";\nimport { ElementWithRef, IOptionItemProps, Select } from \"../Select\";\nimport { StyledButton } from \"../Trigger/Styles\";\n\nexport interface InputSelectProps {\n onChange: (val: string | number | (string | number)[]) => void;\n size: string;\n selected: string;\n options: IOptionItemProps[];\n disabled?: boolean;\n search?: boolean;\n // @ToDo: Fix this\n disabledInternalSort?: boolean;\n keepSameOptionsOrder?: boolean;\n selectedLabel?: ReactNode;\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n}\n\nexport const InputSelect: React.FC<InputSelectProps> = ({\n onChange,\n size,\n selected,\n options,\n search = false,\n disabled = false,\n disabledInternalSort = true,\n keepSameOptionsOrder = true,\n selectedLabel,\n renderOption,\n}) => {\n return (\n <Select\n onChange={onChange}\n forceCloseMenu\n disableSearch={!search}\n target={\n <StyledButton css=\"flex-shrink:0\">\n <StyledInputSelectTrigger $disabled={disabled} $size={size}>\n {selectedLabel ? selectedLabel : selected}\n {size === \"big\" ? (\n <ArrowDownIcon fill=\"var(--color-theme-700)\" />\n ) : (\n <ArrowDownSmallIcon fill=\"var(--color-theme-700)\" />\n )}\n </StyledInputSelectTrigger>\n </StyledButton>\n }\n options={options}\n disabledInternalSort={disabledInternalSort}\n keepSameOptionsOrder={keepSameOptionsOrder}\n selected={selected}\n renderOption={renderOption}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAiD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAsB1C,IAAMG,WAAuC,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAA1CA,WAAuCA,CAAAE,IAAA,EAW9C;EAAA,IAVJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAAC,WAAA,GAAAL,IAAA,CACPM,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAE,aAAA,GAAAP,IAAA,CACdQ,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,qBAAA,GAAAT,IAAA,CAChBU,oBAAoB;IAApBA,oBAAoB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAAX,IAAA,CAC3BY,oBAAoB;IAApBA,oBAAoB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAC3BE,aAAa,GAAAb,IAAA,CAAba,aAAa;IACbC,YAAY,GAAAd,IAAA,CAAZc,YAAY;EAEZ,oBACE1B,MAAA,CAAAS,OAAA,CAAAkB,aAAA,CAACtB,OAAA,CAAAuB,MAAM;IACLf,QAAQ,EAAEA,QAAS;IACnBgB,cAAc;IACdC,aAAa,EAAE,CAACZ,MAAO;IACvBa,MAAM,eACJ/B,MAAA,CAAAS,OAAA,CAAAkB,aAAA,CAAAK,mBAAA,qBACEhC,MAAA,CAAAS,OAAA,CAAAkB,aAAA,CAACxB,OAAA,CAAA8B,wBAAwB;MAACC,SAAS,EAAEd,QAAS;MAACe,KAAK,EAAErB;IAAK,GACxDW,aAAa,GAAGA,aAAa,GAAGV,QAAQ,EACxCD,IAAI,KAAK,KAAK,gBACbd,MAAA,CAAAS,OAAA,CAAAkB,aAAA,CAACvB,MAAA,CAAAgC,aAAa;MAACC,IAAI,EAAC;IAAwB,CAAE,CAAC,gBAE/CrC,MAAA,CAAAS,OAAA,CAAAkB,aAAA,CAACvB,MAAA,CAAAkC,kBAAkB;MAACD,IAAI,EAAC;IAAwB,CAAE,CAE7B,CACd,CACf;IACDrB,OAAO,EAAEA,OAAQ;IACjBM,oBAAoB,EAAEA,oBAAqB;IAC3CE,oBAAoB,EAAEA,oBAAqB;IAC3CT,QAAQ,EAAEA,QAAS;IACnBW,YAAY,EAAEA;EAAa,CAC5B,CAAC;AAEN,CAAC;AAAC,IAAAM,mBAAA,OAAAO,iBAAA,CAAA9B,OAAA,EAAAH,QAAA,CAAAkC,YAAA,EAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA"}
1
+ {"version":3,"file":"InputSelect.js","names":["_react","_interopRequireDefault","require","_Styles","_Icons","_Select","_Styles2","obj","__esModule","default","InputSelect","exports","_ref","onChange","size","selected","options","_ref$search","search","_ref$disabled","disabled","_ref$disabledInternal","disabledInternalSort","_ref$keepSameOptionsO","keepSameOptionsOrder","selectedLabel","renderOption","filterCriteria","createElement","Select","forceCloseMenu","disableSearch","target","_StyledStyledButton","StyledInputSelectTrigger","$disabled","$size","ArrowDownIcon","fill","ArrowDownSmallIcon","_styledComponents","StyledButton","withConfig","displayName","componentId"],"sources":["../../../../src/components/Input/InputSelect.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from \"react\";\n\nimport { StyledInputSelectTrigger } from \"./Styles\";\nimport { ArrowDownIcon, ArrowDownSmallIcon } from \"../Icons\";\nimport { ElementWithRef, IOptionItemProps, Select } from \"../Select\";\nimport { StyledButton } from \"../Trigger/Styles\";\n\nexport interface InputSelectProps {\n onChange: (val: string | number | (string | number)[]) => void;\n size: string;\n selected: string;\n options: IOptionItemProps[];\n disabled?: boolean;\n search?: boolean;\n // @ToDo: Fix this\n disabledInternalSort?: boolean;\n keepSameOptionsOrder?: boolean;\n selectedLabel?: ReactNode;\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Custom filter function for additional filtering criteria */\n filterCriteria?: (option: IOptionItemProps, filter: string) => boolean;\n}\n\nexport const InputSelect: React.FC<InputSelectProps> = ({\n onChange,\n size,\n selected,\n options,\n search = false,\n disabled = false,\n disabledInternalSort = true,\n keepSameOptionsOrder = true,\n selectedLabel,\n renderOption,\n filterCriteria,\n}) => {\n return (\n <Select\n onChange={onChange}\n forceCloseMenu\n disableSearch={!search}\n target={\n <StyledButton css=\"flex-shrink:0\">\n <StyledInputSelectTrigger $disabled={disabled} $size={size}>\n {selectedLabel ? selectedLabel : selected}\n {size === \"big\" ? (\n <ArrowDownIcon fill=\"var(--color-theme-700)\" />\n ) : (\n <ArrowDownSmallIcon fill=\"var(--color-theme-700)\" />\n )}\n </StyledInputSelectTrigger>\n </StyledButton>\n }\n options={options}\n disabledInternalSort={disabledInternalSort}\n keepSameOptionsOrder={keepSameOptionsOrder}\n selected={selected}\n renderOption={renderOption}\n filterCriteria={filterCriteria}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAiD,SAAAD,uBAAAM,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAwB1C,IAAMG,WAAuC,GAAAC,OAAA,CAAAD,WAAA,GAAG,SAA1CA,WAAuCA,CAAAE,IAAA,EAY9C;EAAA,IAXJC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IAAAC,WAAA,GAAAL,IAAA,CACPM,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAE,aAAA,GAAAP,IAAA,CACdQ,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAAAE,qBAAA,GAAAT,IAAA,CAChBU,oBAAoB;IAApBA,oBAAoB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAAX,IAAA,CAC3BY,oBAAoB;IAApBA,oBAAoB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAC3BE,aAAa,GAAAb,IAAA,CAAba,aAAa;IACbC,YAAY,GAAAd,IAAA,CAAZc,YAAY;IACZC,cAAc,GAAAf,IAAA,CAAde,cAAc;EAEd,oBACE3B,MAAA,CAAAS,OAAA,CAAAmB,aAAA,CAACvB,OAAA,CAAAwB,MAAM;IACLhB,QAAQ,EAAEA,QAAS;IACnBiB,cAAc;IACdC,aAAa,EAAE,CAACb,MAAO;IACvBc,MAAM,eACJhC,MAAA,CAAAS,OAAA,CAAAmB,aAAA,CAAAK,mBAAA,qBACEjC,MAAA,CAAAS,OAAA,CAAAmB,aAAA,CAACzB,OAAA,CAAA+B,wBAAwB;MAACC,SAAS,EAAEf,QAAS;MAACgB,KAAK,EAAEtB;IAAK,GACxDW,aAAa,GAAGA,aAAa,GAAGV,QAAQ,EACxCD,IAAI,KAAK,KAAK,gBACbd,MAAA,CAAAS,OAAA,CAAAmB,aAAA,CAACxB,MAAA,CAAAiC,aAAa;MAACC,IAAI,EAAC;IAAwB,CAAE,CAAC,gBAE/CtC,MAAA,CAAAS,OAAA,CAAAmB,aAAA,CAACxB,MAAA,CAAAmC,kBAAkB;MAACD,IAAI,EAAC;IAAwB,CAAE,CAE7B,CACd,CACf;IACDtB,OAAO,EAAEA,OAAQ;IACjBM,oBAAoB,EAAEA,oBAAqB;IAC3CE,oBAAoB,EAAEA,oBAAqB;IAC3CT,QAAQ,EAAEA,QAAS;IACnBW,YAAY,EAAEA,YAAa;IAC3BC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC;AAAC,IAAAM,mBAAA,OAAAO,iBAAA,CAAA/B,OAAA,EAAAH,QAAA,CAAAmC,YAAA,EAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA"}
@@ -3,11 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.StyledPasswordIndicatorWrapper = exports.StyledPasswordIndicator = exports.StyledOptionWrapper = exports.StyledOptionName = exports.StyledOptionFlag = exports.StyledInputWrapper = exports.StyledInputSelectTrigger = exports.StyledInput = exports.StyledFlagTriggerLabel = void 0;
6
+ exports.StyledPasswordIndicatorWrapper = exports.StyledPasswordIndicator = exports.StyledOptionWrapper = exports.StyledOptionRowEnd = exports.StyledOptionName = exports.StyledOptionFlag = exports.StyledOptionCode = exports.StyledInputWrapper = exports.StyledInputSelectTrigger = exports.StyledInput = exports.StyledFlagTriggerLabel = void 0;
7
7
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
8
  var _BoxSizingStyle = require("../BoxSizingStyle");
9
9
  var _FontStyle = require("../FontStyle");
10
10
  var _InputResetStyle = require("../InputResetStyle");
11
+ var _Typography = require("../Typography");
11
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
13
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
14
  var StyledInputWrapper = exports.StyledInputWrapper = _styledComponents.default.div.withConfig({
@@ -102,14 +103,24 @@ var StyledOptionFlag = exports.StyledOptionFlag = _styledComponents.default.span
102
103
  componentId: "sc-ce8kcp-6"
103
104
  })(["font-size:24px;margin-right:4px;"]);
104
105
  StyledFlagTriggerLabel.displayName = "StyledOptionFlag";
105
- var StyledOptionName = exports.StyledOptionName = _styledComponents.default.span.withConfig({
106
+ var StyledOptionName = exports.StyledOptionName = (0, _styledComponents.default)(_Typography.Body2).withConfig({
106
107
  displayName: "Styles__StyledOptionName",
107
108
  componentId: "sc-ce8kcp-7"
108
109
  })(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"]);
109
110
  StyledOptionName.displayName = "StyledOptionName";
111
+ var StyledOptionCode = exports.StyledOptionCode = (0, _styledComponents.default)(_Typography.Body2).withConfig({
112
+ displayName: "Styles__StyledOptionCode",
113
+ componentId: "sc-ce8kcp-8"
114
+ })(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;color:var(--color-theme-600);flex-shrink:0;"]);
115
+ StyledOptionCode.displayName = "StyledOptionCode";
116
+ var StyledOptionRowEnd = exports.StyledOptionRowEnd = _styledComponents.default.span.withConfig({
117
+ displayName: "Styles__StyledOptionRowEnd",
118
+ componentId: "sc-ce8kcp-9"
119
+ })(["display:flex;align-items:center;gap:8px;"]);
120
+ StyledOptionRowEnd.displayName = "StyledOptionRowEnd";
110
121
  var StyledOptionWrapper = exports.StyledOptionWrapper = _styledComponents.default.span.withConfig({
111
122
  displayName: "Styles__StyledOptionWrapper",
112
- componentId: "sc-ce8kcp-8"
123
+ componentId: "sc-ce8kcp-10"
113
124
  })(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px;display:flex;justify-items:center;align-items:center;"]);
114
125
  StyledOptionWrapper.displayName = "StyledOptionWrapper";
115
126
  //# sourceMappingURL=Styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_BoxSizingStyle","_FontStyle","_InputResetStyle","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledInputWrapper","exports","styled","div","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","props","$mode","css","$size","$disabled","$invalid","StyledInput","input","InputResetStyle","disabled","$loading","align","StyledPasswordIndicatorWrapper","StyledPasswordIndicator","$strength","$index","StyledInputSelectTrigger","StyledFlagTriggerLabel","span","_ref","StyledOptionFlag","StyledOptionName","StyledOptionWrapper"],"sources":["../../../../src/components/Input/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { InputProps } from \"./Input\";\nimport { InputMode, InputSize } from \"./types\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { InputResetStyle } from \"../InputResetStyle\";\n\ninterface StyledInputWrapperProps {\n $size?: InputSize;\n $invalid?: boolean;\n $disabled?: boolean;\n $mode?: InputMode;\n}\n\nexport const StyledInputWrapper = styled.div<StyledInputWrapperProps>`\n align-items: center;\n background-color: var(--input-background-color);\n border-color: var(--color-theme-500);\n border-radius: 8px;\n border-style: solid;\n border-width: 1px;\n cursor: text;\n display: flex;\n height: 32px;\n padding-block: 4px;\n padding-inline: 4px;\n transition: all 0.3s ease;\n width: 360px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n\n ${(props) =>\n props.$mode === \"flat\" &&\n css`\n background-color: transparent;\n border: none;\n border-radius: none;\n `}\n\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n border-radius: 6px;\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n props.$size === \"biggest\" &&\n css`\n height: 48px;\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n cursor: default;\n opacity: 50%;\n `}\n\n ${(props) =>\n !props.$disabled &&\n !props.$invalid &&\n css`\n &:focus-within,\n &:hover {\n border-color: var(--color-primary);\n }\n `}\n\n ${(props) =>\n !props.$disabled &&\n props.$invalid &&\n props.$mode === \"outlined\" &&\n css`\n border-color: var(--red-alert);\n `}\n`;\n\nStyledInputWrapper.displayName = \"StyledInputWrapper\";\n\ninterface StyledInputProps extends Pick<InputProps, \"align\"> {\n $size?: InputSize;\n $loading?: boolean;\n $mode?: InputMode;\n $invalid?: boolean;\n}\n\nexport const StyledInput = styled.input<StyledInputProps>`\n ${BoxSizingStyle}\n ${InputResetStyle}\n background-color: var(--input-background-color);\n border: none;\n color: var(--color-theme-900);\n /* @TODO: Prebaciti velicine fontova, weight, razmake, itd... u naše varijable. */\n font-size: 0.875rem;\n font-weight: 400;\n letter-spacing: 0.02em;\n margin-block: 0;\n margin-inline: 4px;\n outline: none;\n padding: 0;\n width: 100%;\n\n ${(props) =>\n props.$mode === \"flat\" &&\n css`\n background-color: transparent;\n `}\n\n &::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n\n ${(props) =>\n props.$size === \"biggest\" &&\n css`\n font-size: 1.25rem;\n font-weight: 700;\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n `}\n\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n\n ${(props) =>\n props.align &&\n css`\n text-align: ${props.align};\n `}\n\n ${(props) =>\n props.$mode === \"flat\" &&\n props.$invalid &&\n css`\n color: var(--red-alert);\n `}\n`;\n\nStyledInput.displayName = \"StyledInput\";\n\nexport const StyledPasswordIndicatorWrapper = styled.div`\n display: flex;\n gap: 2px;\n margin-top: 6px;\n margin-bottom: 4px;\n`;\n\nStyledPasswordIndicatorWrapper.displayName = \"StyledPasswordIndicatorWrapper\";\n\nexport const StyledPasswordIndicator = styled.div<{\n $strength: number;\n $index: number;\n}>`\n width: 100%;\n height: 4px;\n border-radius: 6px;\n background-color: ${(props) => {\n const { $strength, $index } = props;\n\n if ($strength === 0) {\n return \"var(--color-theme-300)\";\n } else if ($strength === 1) {\n return $index === 0 ? \"var(--red-alert)\" : \"var(--color-theme-300)\";\n } else if ($strength === 2) {\n return $index < 2 ? \"var(--color-orange)\" : \"var(--color-theme-300)\";\n } else if ($strength === 3) {\n return $index < 3 ? \"var(--color-blue-sky)\" : \"var(--color-theme-300)\";\n } else {\n return \"var(--color-sucess-green)\";\n }\n }};\n`;\n\nStyledPasswordIndicator.displayName = \"StyledPasswordIndicator\";\n\nexport const StyledInputSelectTrigger = styled.div<{\n $size: string;\n $disabled?: boolean;\n}>`\n display: flex;\n gap: 6px;\n align-items: center;\n margin-right: 2px;\n margin-left: 8px;\n color: var(--color-theme-700);\n font-weight: 400;\n letter-spacing: 0.02em;\n font-size: 0.875rem;\n flex-shrink: 0;\n cursor: ${(props) => {\n if (props.$disabled) {\n return \"unset\";\n }\n return \"pointer\";\n }};\n\n pointer-events: ${(props) => {\n if (props.$disabled) {\n return \"none\";\n }\n return \"unset\";\n }};\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n`;\n\nStyledInputSelectTrigger.displayName = \"StyledInputSelectTrigger\";\n\nexport const StyledFlagTriggerLabel = styled.span<{\n $size: \"small\" | \"regular\" | \"big\";\n}>`\n font-size: ${({ $size }) => ($size === \"small\" ? \"20px\" : \"24px\")};\n`;\n\nStyledFlagTriggerLabel.displayName = \"StyledFlagTriggerLabel\";\n\nexport const StyledOptionFlag = styled.span`\n font-size: 24px;\n margin-right: 4px;\n`;\n\nStyledFlagTriggerLabel.displayName = \"StyledOptionFlag\";\n\nexport const StyledOptionName = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nStyledOptionName.displayName = \"StyledOptionName\";\n\nexport const StyledOptionWrapper = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-right: 8px;\n display: flex;\n justify-items: center;\n align-items: center;\n`;\n\nStyledOptionWrapper.displayName = \"StyledOptionWrapper\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAAqD,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAS9C,IAAMY,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAGE,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gUAexCC,oBAAS,EACTC,8BAAc,EAGd,UAACC,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,KAAK,MAAM,QACtBC,qBAAG,mEAIF;AAAA,GAGD,UAACF,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,OAAO,QACvBD,qBAAG,qCAGF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,KAAK,QACrBD,qBAAG,mBAEF;AAAA,GAEC,UAACF,KAAK;EAAA,OACRA,KAAK,CAACG,KAAK,KAAK,SAAS,QACzBD,qBAAG,mBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACI,SAAS,QACfF,qBAAG,kCAGF;AAAA,GAED,UAACF,KAAK;EAAA,OACN,CAACA,KAAK,CAACI,SAAS,IAChB,CAACJ,KAAK,CAACK,QAAQ,QACfH,qBAAG,iEAKF;AAAA,GAED,UAACF,KAAK;EAAA,OACN,CAACA,KAAK,CAACI,SAAS,IAChBJ,KAAK,CAACK,QAAQ,IACdL,KAAK,CAACC,KAAK,KAAK,UAAU,QAC1BC,qBAAG,qCAEF;AAAA,EACJ;AAEDX,kBAAkB,CAACK,WAAW,GAAG,oBAAoB;AAS9C,IAAMU,WAAW,GAAAd,OAAA,CAAAc,WAAA,GAAGb,yBAAM,CAACc,KAAK,CAAAZ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kUACnCE,8BAAc,EACdS,gCAAe,EAcf,UAACR,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,KAAK,MAAM,QACtBC,qBAAG,oCAEF;AAAA,GAMD,UAACF,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,KAAK,QACrBD,qBAAG,sBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,SAAS,QACzBD,qBAAG,yCAGF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACS,QAAQ,QACdP,qBAAG,sBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACU,QAAQ,QACdR,qBAAG,uBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACW,KAAK,QACXT,qBAAG,wBACaF,KAAK,CAACW,KAAK,CAC1B;AAAA,GAEC,UAACX,KAAK;EAAA,OACRA,KAAK,CAACC,KAAK,KAAK,MAAM,IACtBD,KAAK,CAACK,QAAQ,QACdH,qBAAG,8BAEF;AAAA,EACJ;AAEDI,WAAW,CAACV,WAAW,GAAG,aAAa;AAEhC,IAAMgB,8BAA8B,GAAApB,OAAA,CAAAoB,8BAAA,GAAGnB,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,8DAKvD;AAEDe,8BAA8B,CAAChB,WAAW,GAAG,gCAAgC;AAEtE,IAAMiB,uBAAuB,GAAArB,OAAA,CAAAqB,uBAAA,GAAGpB,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uEAO3B,UAACG,KAAK,EAAK;EAC7B,IAAQc,SAAS,GAAad,KAAK,CAA3Bc,SAAS;IAAEC,MAAM,GAAKf,KAAK,CAAhBe,MAAM;EAEzB,IAAID,SAAS,KAAK,CAAC,EAAE;IACnB,OAAO,wBAAwB;EACjC,CAAC,MAAM,IAAIA,SAAS,KAAK,CAAC,EAAE;IAC1B,OAAOC,MAAM,KAAK,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;EACrE,CAAC,MAAM,IAAID,SAAS,KAAK,CAAC,EAAE;IAC1B,OAAOC,MAAM,GAAG,CAAC,GAAG,qBAAqB,GAAG,wBAAwB;EACtE,CAAC,MAAM,IAAID,SAAS,KAAK,CAAC,EAAE;IAC1B,OAAOC,MAAM,GAAG,CAAC,GAAG,uBAAuB,GAAG,wBAAwB;EACxE,CAAC,MAAM;IACL,OAAO,2BAA2B;EACpC;AACF,CAAC,CACF;AAEDF,uBAAuB,CAACjB,WAAW,GAAG,yBAAyB;AAExD,IAAMoB,wBAAwB,GAAAxB,OAAA,CAAAwB,wBAAA,GAAGvB,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0NActC,UAACG,KAAK,EAAK;EACnB,IAAIA,KAAK,CAACI,SAAS,EAAE;IACnB,OAAO,OAAO;EAChB;EACA,OAAO,SAAS;AAClB,CAAC,EAEiB,UAACJ,KAAK,EAAK;EAC3B,IAAIA,KAAK,CAACI,SAAS,EAAE;IACnB,OAAO,MAAM;EACf;EACA,OAAO,OAAO;AAChB,CAAC,EAEC,UAACJ,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,KAAK,QACrBD,qBAAG,sBAEF;AAAA,EACJ;AAEDc,wBAAwB,CAACpB,WAAW,GAAG,0BAA0B;AAE1D,IAAMqB,sBAAsB,GAAAzB,OAAA,CAAAyB,sBAAA,GAAGxB,yBAAM,CAACyB,IAAI,CAAAvB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wBAGlC,UAAAsB,IAAA;EAAA,IAAGhB,KAAK,GAAAgB,IAAA,CAALhB,KAAK;EAAA,OAAQA,KAAK,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM;AAAA,CAAC,CAClE;AAEDc,sBAAsB,CAACrB,WAAW,GAAG,wBAAwB;AAEtD,IAAMwB,gBAAgB,GAAA5B,OAAA,CAAA4B,gBAAA,GAAG3B,yBAAM,CAACyB,IAAI,CAAAvB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wCAG1C;AAEDoB,sBAAsB,CAACrB,WAAW,GAAG,kBAAkB;AAEhD,IAAMyB,gBAAgB,GAAA7B,OAAA,CAAA6B,gBAAA,GAAG5B,yBAAM,CAACyB,IAAI,CAAAvB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kEAI1C;AAEDwB,gBAAgB,CAACzB,WAAW,GAAG,kBAAkB;AAE1C,IAAM0B,mBAAmB,GAAA9B,OAAA,CAAA8B,mBAAA,GAAG7B,yBAAM,CAACyB,IAAI,CAAAvB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wIAQ7C;AAEDyB,mBAAmB,CAAC1B,WAAW,GAAG,qBAAqB"}
1
+ {"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_BoxSizingStyle","_FontStyle","_InputResetStyle","_Typography","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledInputWrapper","exports","styled","div","withConfig","displayName","componentId","FontStyle","BoxSizingStyle","props","$mode","css","$size","$disabled","$invalid","StyledInput","input","InputResetStyle","disabled","$loading","align","StyledPasswordIndicatorWrapper","StyledPasswordIndicator","$strength","$index","StyledInputSelectTrigger","StyledFlagTriggerLabel","span","_ref","StyledOptionFlag","StyledOptionName","Body2","StyledOptionCode","StyledOptionRowEnd","StyledOptionWrapper"],"sources":["../../../../src/components/Input/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport { InputProps } from \"./Input\";\nimport { InputMode, InputSize } from \"./types\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { InputResetStyle } from \"../InputResetStyle\";\nimport { Body2 } from \"../Typography\";\n\ninterface StyledInputWrapperProps {\n $size?: InputSize;\n $invalid?: boolean;\n $disabled?: boolean;\n $mode?: InputMode;\n}\n\nexport const StyledInputWrapper = styled.div<StyledInputWrapperProps>`\n align-items: center;\n background-color: var(--input-background-color);\n border-color: var(--color-theme-500);\n border-radius: 8px;\n border-style: solid;\n border-width: 1px;\n cursor: text;\n display: flex;\n height: 32px;\n padding-block: 4px;\n padding-inline: 4px;\n transition: all 0.3s ease;\n width: 360px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n\n ${(props) =>\n props.$mode === \"flat\" &&\n css`\n background-color: transparent;\n border: none;\n border-radius: none;\n `}\n\n\n ${(props) =>\n props.$size === \"small\" &&\n css`\n border-radius: 6px;\n height: 24px;\n `}\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n props.$size === \"biggest\" &&\n css`\n height: 48px;\n `}\n\n ${(props) =>\n props.$disabled &&\n css`\n cursor: default;\n opacity: 50%;\n `}\n\n ${(props) =>\n !props.$disabled &&\n !props.$invalid &&\n css`\n &:focus-within,\n &:hover {\n border-color: var(--color-primary);\n }\n `}\n\n ${(props) =>\n !props.$disabled &&\n props.$invalid &&\n props.$mode === \"outlined\" &&\n css`\n border-color: var(--red-alert);\n `}\n`;\n\nStyledInputWrapper.displayName = \"StyledInputWrapper\";\n\ninterface StyledInputProps extends Pick<InputProps, \"align\"> {\n $size?: InputSize;\n $loading?: boolean;\n $mode?: InputMode;\n $invalid?: boolean;\n}\n\nexport const StyledInput = styled.input<StyledInputProps>`\n ${BoxSizingStyle}\n ${InputResetStyle}\n background-color: var(--input-background-color);\n border: none;\n color: var(--color-theme-900);\n /* @TODO: Prebaciti velicine fontova, weight, razmake, itd... u naše varijable. */\n font-size: 0.875rem;\n font-weight: 400;\n letter-spacing: 0.02em;\n margin-block: 0;\n margin-inline: 4px;\n outline: none;\n padding: 0;\n width: 100%;\n\n ${(props) =>\n props.$mode === \"flat\" &&\n css`\n background-color: transparent;\n `}\n\n &::placeholder {\n color: var(--color-theme-transparent-500);\n }\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n\n ${(props) =>\n props.$size === \"biggest\" &&\n css`\n font-size: 1.25rem;\n font-weight: 700;\n `}\n\n ${(props) =>\n props.disabled &&\n css`\n cursor: default;\n `}\n\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n\n ${(props) =>\n props.align &&\n css`\n text-align: ${props.align};\n `}\n\n ${(props) =>\n props.$mode === \"flat\" &&\n props.$invalid &&\n css`\n color: var(--red-alert);\n `}\n`;\n\nStyledInput.displayName = \"StyledInput\";\n\nexport const StyledPasswordIndicatorWrapper = styled.div`\n display: flex;\n gap: 2px;\n margin-top: 6px;\n margin-bottom: 4px;\n`;\n\nStyledPasswordIndicatorWrapper.displayName = \"StyledPasswordIndicatorWrapper\";\n\nexport const StyledPasswordIndicator = styled.div<{\n $strength: number;\n $index: number;\n}>`\n width: 100%;\n height: 4px;\n border-radius: 6px;\n background-color: ${(props) => {\n const { $strength, $index } = props;\n\n if ($strength === 0) {\n return \"var(--color-theme-300)\";\n } else if ($strength === 1) {\n return $index === 0 ? \"var(--red-alert)\" : \"var(--color-theme-300)\";\n } else if ($strength === 2) {\n return $index < 2 ? \"var(--color-orange)\" : \"var(--color-theme-300)\";\n } else if ($strength === 3) {\n return $index < 3 ? \"var(--color-blue-sky)\" : \"var(--color-theme-300)\";\n } else {\n return \"var(--color-sucess-green)\";\n }\n }};\n`;\n\nStyledPasswordIndicator.displayName = \"StyledPasswordIndicator\";\n\nexport const StyledInputSelectTrigger = styled.div<{\n $size: string;\n $disabled?: boolean;\n}>`\n display: flex;\n gap: 6px;\n align-items: center;\n margin-right: 2px;\n margin-left: 8px;\n color: var(--color-theme-700);\n font-weight: 400;\n letter-spacing: 0.02em;\n font-size: 0.875rem;\n flex-shrink: 0;\n cursor: ${(props) => {\n if (props.$disabled) {\n return \"unset\";\n }\n return \"pointer\";\n }};\n\n pointer-events: ${(props) => {\n if (props.$disabled) {\n return \"none\";\n }\n return \"unset\";\n }};\n\n ${(props) =>\n props.$size === \"big\" &&\n css`\n font-size: 1rem;\n `}\n`;\n\nStyledInputSelectTrigger.displayName = \"StyledInputSelectTrigger\";\n\nexport const StyledFlagTriggerLabel = styled.span<{\n $size: \"small\" | \"regular\" | \"big\";\n}>`\n font-size: ${({ $size }) => ($size === \"small\" ? \"20px\" : \"24px\")};\n`;\n\nStyledFlagTriggerLabel.displayName = \"StyledFlagTriggerLabel\";\n\nexport const StyledOptionFlag = styled.span`\n font-size: 24px;\n margin-right: 4px;\n`;\n\nStyledFlagTriggerLabel.displayName = \"StyledOptionFlag\";\n\nexport const StyledOptionName = styled(Body2)`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nStyledOptionName.displayName = \"StyledOptionName\";\n\nexport const StyledOptionCode = styled(Body2)`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-left: auto;\n color: var(--color-theme-600);\n flex-shrink: 0;\n`;\n\nStyledOptionCode.displayName = \"StyledOptionCode\";\n\nexport const StyledOptionRowEnd = styled.span`\n display: flex;\n align-items: center;\n gap: 8px;\n`;\n\nStyledOptionRowEnd.displayName = \"StyledOptionRowEnd\";\n\nexport const StyledOptionWrapper = styled.span`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-right: 8px;\n display: flex;\n justify-items: center;\n align-items: center;\n`;\n\nStyledOptionWrapper.displayName = \"StyledOptionWrapper\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAIA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAsC,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAS/B,IAAMY,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAGE,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gUAexCC,oBAAS,EACTC,8BAAc,EAGd,UAACC,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,KAAK,MAAM,QACtBC,qBAAG,mEAIF;AAAA,GAGD,UAACF,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,OAAO,QACvBD,qBAAG,qCAGF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,KAAK,QACrBD,qBAAG,mBAEF;AAAA,GAEC,UAACF,KAAK;EAAA,OACRA,KAAK,CAACG,KAAK,KAAK,SAAS,QACzBD,qBAAG,mBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACI,SAAS,QACfF,qBAAG,kCAGF;AAAA,GAED,UAACF,KAAK;EAAA,OACN,CAACA,KAAK,CAACI,SAAS,IAChB,CAACJ,KAAK,CAACK,QAAQ,QACfH,qBAAG,iEAKF;AAAA,GAED,UAACF,KAAK;EAAA,OACN,CAACA,KAAK,CAACI,SAAS,IAChBJ,KAAK,CAACK,QAAQ,IACdL,KAAK,CAACC,KAAK,KAAK,UAAU,QAC1BC,qBAAG,qCAEF;AAAA,EACJ;AAEDX,kBAAkB,CAACK,WAAW,GAAG,oBAAoB;AAS9C,IAAMU,WAAW,GAAAd,OAAA,CAAAc,WAAA,GAAGb,yBAAM,CAACc,KAAK,CAAAZ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kUACnCE,8BAAc,EACdS,gCAAe,EAcf,UAACR,KAAK;EAAA,OACNA,KAAK,CAACC,KAAK,KAAK,MAAM,QACtBC,qBAAG,oCAEF;AAAA,GAMD,UAACF,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,KAAK,QACrBD,qBAAG,sBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,SAAS,QACzBD,qBAAG,yCAGF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACS,QAAQ,QACdP,qBAAG,sBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACU,QAAQ,QACdR,qBAAG,uBAEF;AAAA,GAED,UAACF,KAAK;EAAA,OACNA,KAAK,CAACW,KAAK,QACXT,qBAAG,wBACaF,KAAK,CAACW,KAAK,CAC1B;AAAA,GAEC,UAACX,KAAK;EAAA,OACRA,KAAK,CAACC,KAAK,KAAK,MAAM,IACtBD,KAAK,CAACK,QAAQ,QACdH,qBAAG,8BAEF;AAAA,EACJ;AAEDI,WAAW,CAACV,WAAW,GAAG,aAAa;AAEhC,IAAMgB,8BAA8B,GAAApB,OAAA,CAAAoB,8BAAA,GAAGnB,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,8DAKvD;AAEDe,8BAA8B,CAAChB,WAAW,GAAG,gCAAgC;AAEtE,IAAMiB,uBAAuB,GAAArB,OAAA,CAAAqB,uBAAA,GAAGpB,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uEAO3B,UAACG,KAAK,EAAK;EAC7B,IAAQc,SAAS,GAAad,KAAK,CAA3Bc,SAAS;IAAEC,MAAM,GAAKf,KAAK,CAAhBe,MAAM;EAEzB,IAAID,SAAS,KAAK,CAAC,EAAE;IACnB,OAAO,wBAAwB;EACjC,CAAC,MAAM,IAAIA,SAAS,KAAK,CAAC,EAAE;IAC1B,OAAOC,MAAM,KAAK,CAAC,GAAG,kBAAkB,GAAG,wBAAwB;EACrE,CAAC,MAAM,IAAID,SAAS,KAAK,CAAC,EAAE;IAC1B,OAAOC,MAAM,GAAG,CAAC,GAAG,qBAAqB,GAAG,wBAAwB;EACtE,CAAC,MAAM,IAAID,SAAS,KAAK,CAAC,EAAE;IAC1B,OAAOC,MAAM,GAAG,CAAC,GAAG,uBAAuB,GAAG,wBAAwB;EACxE,CAAC,MAAM;IACL,OAAO,2BAA2B;EACpC;AACF,CAAC,CACF;AAEDF,uBAAuB,CAACjB,WAAW,GAAG,yBAAyB;AAExD,IAAMoB,wBAAwB,GAAAxB,OAAA,CAAAwB,wBAAA,GAAGvB,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0NActC,UAACG,KAAK,EAAK;EACnB,IAAIA,KAAK,CAACI,SAAS,EAAE;IACnB,OAAO,OAAO;EAChB;EACA,OAAO,SAAS;AAClB,CAAC,EAEiB,UAACJ,KAAK,EAAK;EAC3B,IAAIA,KAAK,CAACI,SAAS,EAAE;IACnB,OAAO,MAAM;EACf;EACA,OAAO,OAAO;AAChB,CAAC,EAEC,UAACJ,KAAK;EAAA,OACNA,KAAK,CAACG,KAAK,KAAK,KAAK,QACrBD,qBAAG,sBAEF;AAAA,EACJ;AAEDc,wBAAwB,CAACpB,WAAW,GAAG,0BAA0B;AAE1D,IAAMqB,sBAAsB,GAAAzB,OAAA,CAAAyB,sBAAA,GAAGxB,yBAAM,CAACyB,IAAI,CAAAvB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wBAGlC,UAAAsB,IAAA;EAAA,IAAGhB,KAAK,GAAAgB,IAAA,CAALhB,KAAK;EAAA,OAAQA,KAAK,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM;AAAA,CAAC,CAClE;AAEDc,sBAAsB,CAACrB,WAAW,GAAG,wBAAwB;AAEtD,IAAMwB,gBAAgB,GAAA5B,OAAA,CAAA4B,gBAAA,GAAG3B,yBAAM,CAACyB,IAAI,CAAAvB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wCAG1C;AAEDoB,sBAAsB,CAACrB,WAAW,GAAG,kBAAkB;AAEhD,IAAMyB,gBAAgB,GAAA7B,OAAA,CAAA6B,gBAAA,GAAG,IAAA5B,yBAAM,EAAC6B,iBAAK,CAAC,CAAA3B,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kEAI5C;AAEDwB,gBAAgB,CAACzB,WAAW,GAAG,kBAAkB;AAE1C,IAAM2B,gBAAgB,GAAA/B,OAAA,CAAA+B,gBAAA,GAAG,IAAA9B,yBAAM,EAAC6B,iBAAK,CAAC,CAAA3B,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,8HAO5C;AAED0B,gBAAgB,CAAC3B,WAAW,GAAG,kBAAkB;AAE1C,IAAM4B,kBAAkB,GAAAhC,OAAA,CAAAgC,kBAAA,GAAG/B,yBAAM,CAACyB,IAAI,CAAAvB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gDAI5C;AAED2B,kBAAkB,CAAC5B,WAAW,GAAG,oBAAoB;AAE9C,IAAM6B,mBAAmB,GAAAjC,OAAA,CAAAiC,mBAAA,GAAGhC,yBAAM,CAACyB,IAAI,CAAAvB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wIAQ7C;AAED4B,mBAAmB,CAAC7B,WAAW,GAAG,qBAAqB"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputPhone.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputPhone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAUf,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAW5C,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,UAAU,EACV,MAAM,GAAG,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAC1D;IACD,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iBAAiB;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;CACpC;AAkBD,eAAO,MAAM,UAAU,0FAgJtB,CAAC"}
1
+ {"version":3,"file":"InputPhone.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputPhone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAUf,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAa5C,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,UAAU,EACV,MAAM,GAAG,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAC1D;IACD,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iBAAiB;IACjB,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;CACpC;AAqBD,eAAO,MAAM,UAAU,0FAiJtB,CAAC"}
@@ -3,13 +3,13 @@ import React, { forwardRef, useCallback, useEffect, useRef, useState } from "rea
3
3
  import { callingCodeToCountryCodeMap, countriesArraySortedByName, getCountryCallingCode, getCountryFlag } from "country-explorer";
4
4
  import { Input } from "./Input";
5
5
  import { InputSelect } from "./InputSelect";
6
- import { StyledFlagTriggerLabel, StyledOptionFlag, StyledOptionName, StyledOptionWrapper } from "./Styles";
6
+ import { StyledFlagTriggerLabel, StyledOptionCode, StyledOptionFlag, StyledOptionName, StyledOptionRowEnd, StyledOptionWrapper } from "./Styles";
7
7
  import { useForkRef } from "../../utils";
8
8
  import { RadioButton } from "../RadioButton";
9
- const renderOption = (option, data) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledOptionWrapper, null, /*#__PURE__*/React.createElement(StyledOptionFlag, null, getCountryFlag(option.id)), /*#__PURE__*/React.createElement(StyledOptionName, null, option.name)), /*#__PURE__*/React.createElement(RadioButton, {
9
+ const renderOption = (option, data) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledOptionWrapper, null, /*#__PURE__*/React.createElement(StyledOptionFlag, null, getCountryFlag(option.id)), /*#__PURE__*/React.createElement(StyledOptionName, null, option.name)), /*#__PURE__*/React.createElement(StyledOptionRowEnd, null, /*#__PURE__*/React.createElement(StyledOptionCode, null, option.additionalInfo), /*#__PURE__*/React.createElement(RadioButton, {
10
10
  checked: data.checked,
11
11
  onChange: data.onChange
12
- }));
12
+ })));
13
13
  export const InputPhone = /*#__PURE__*/forwardRef((_ref, ref) => {
14
14
  let {
15
15
  size = "regular",
@@ -25,7 +25,8 @@ export const InputPhone = /*#__PURE__*/forwardRef((_ref, ref) => {
25
25
  const [value, setValue] = useState("");
26
26
  const options = countriesArraySortedByName.map(country => ({
27
27
  id: country.countryCode,
28
- name: "+" + country.callingCode + " " + country.name
28
+ name: country.name,
29
+ additionalInfo: "+" + country.callingCode
29
30
  }));
30
31
  const separatePrefixFromValue = fullValue => {
31
32
  let newPrefix = prefix;
@@ -37,12 +38,11 @@ export const InputPhone = /*#__PURE__*/forwardRef((_ref, ref) => {
37
38
  const code = digits.slice(0, i);
38
39
  if (callingCodeToCountryCodeMap[code]) {
39
40
  newPrefix = callingCodeToCountryCodeMap[code];
40
- newValue = fullValue.slice(prefixLength + getCountryCallingCode(newPrefix).length);
41
+ const dialCode = getCountryCallingCode(newPrefix);
42
+ newValue = fullValue.slice(prefixLength + dialCode.length);
41
43
  break;
42
44
  }
43
45
  }
44
- } else if (fullValue.startsWith(prefix)) {
45
- newValue = fullValue.slice(prefix.length);
46
46
  }
47
47
  return {
48
48
  newPrefix,
@@ -118,6 +118,10 @@ export const InputPhone = /*#__PURE__*/forwardRef((_ref, ref) => {
118
118
  onChange: handleSelectChange,
119
119
  options: options,
120
120
  selected: prefix,
121
+ filterCriteria: (option, filter) => {
122
+ var _option$additionalInf;
123
+ return !!(option != null && (_option$additionalInf = option.additionalInfo) != null && _option$additionalInf.toLowerCase().includes(filter));
124
+ },
121
125
  selectedLabel: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledFlagTriggerLabel, {
122
126
  $size: size
123
127
  }, getCountryFlag(prefix)), "+", getCountryCallingCode(prefix)),
@@ -1 +1 @@
1
- {"version":3,"file":"InputPhone.js","names":["React","forwardRef","useCallback","useEffect","useRef","useState","callingCodeToCountryCodeMap","countriesArraySortedByName","getCountryCallingCode","getCountryFlag","Input","InputSelect","StyledFlagTriggerLabel","StyledOptionFlag","StyledOptionName","StyledOptionWrapper","useForkRef","RadioButton","renderOption","option","data","createElement","Fragment","id","name","checked","onChange","InputPhone","_ref","ref","size","disabled","value","defaultValue","defaultCountry","rest","inputRef","handleRef","prefix","setPrefix","setValue","options","map","country","countryCode","callingCode","separatePrefixFromValue","fullValue","newPrefix","newValue","startsWith","prefixLength","digits","slice","i","length","code","handleChange","e","inputValue","target","test","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","filteredPaste","replace","inputElement","currentTarget","selectionStart","selectionEnd","currentValue","beforeSelection","afterSelection","newValueAfterPaste","_extends","type","onPaste","startAdornment","selected","selectedLabel","$size","keepSameOptionsOrder","search","displayName"],"sources":["../../../../src/components/Input/InputPhone.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n callingCodeToCountryCodeMap,\n countriesArraySortedByName,\n getCountryCallingCode,\n getCountryFlag,\n Country,\n} from \"country-explorer\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport {\n StyledFlagTriggerLabel,\n StyledOptionFlag,\n StyledOptionName,\n StyledOptionWrapper,\n} from \"./Styles\";\nimport { useForkRef } from \"../../utils\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport interface InputPhoneProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** Default country code to be selected */\n defaultCountry?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"small\" | \"regular\" | \"big\";\n}\n\nconst renderOption = (\n option: Record<string, React.ReactNode>,\n data: Record<string, unknown>\n): React.ReactElement => (\n <>\n <StyledOptionWrapper>\n <StyledOptionFlag>{getCountryFlag(option.id)}</StyledOptionFlag>\n <StyledOptionName>{option.name}</StyledOptionName>\n </StyledOptionWrapper>\n <RadioButton\n checked={data.checked as boolean}\n onChange={data.onChange as ChangeEventHandler<HTMLInputElement>}\n />\n </>\n);\n\nexport const InputPhone = forwardRef<HTMLInputElement, InputPhoneProps>(\n (\n {\n size = \"regular\",\n disabled,\n value: defaultValue = \"\",\n onChange,\n defaultCountry = \"US\",\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n const [prefix, setPrefix] = useState(defaultCountry);\n const [value, setValue] = useState<string>(\"\");\n\n const options = countriesArraySortedByName.map((country: Country) => ({\n id: country.countryCode,\n name: `+${country.callingCode} ${country.name}`,\n }));\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n if (fullValue.startsWith(\"+\") || fullValue.startsWith(\"00\")) {\n const prefixLength = fullValue.startsWith(\"+\") ? 1 : 2;\n const digits = fullValue.slice(prefixLength);\n\n for (let i = digits.length; i >= 1; i--) {\n const code = digits.slice(0, i);\n if (callingCodeToCountryCodeMap[code]) {\n newPrefix = callingCodeToCountryCodeMap[code];\n newValue = fullValue.slice(\n prefixLength + getCountryCallingCode(newPrefix).length\n );\n break;\n }\n }\n } else if (fullValue.startsWith(prefix)) {\n newValue = fullValue.slice(prefix.length);\n }\n\n return { newPrefix, newValue };\n };\n\n useEffect(() => {\n const { newPrefix, newValue } = separatePrefixFromValue(defaultValue);\n setPrefix(newPrefix);\n setValue(newValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (/[^0-9+]/.test(inputValue)) {\n return;\n }\n\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, prefix]\n );\n\n const handleSelectChange = (val: string | number | (string | number)[]) => {\n setPrefix(val as string);\n setTimeout(() => {\n inputRef.current?.focus();\n }, 200);\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(val)}${value}`);\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n\n const paste = e.clipboardData.getData(\"text\");\n const filteredPaste = paste.replace(/[^0-9+]/g, \"\");\n\n const inputElement = e.currentTarget as HTMLInputElement;\n const { selectionStart, selectionEnd } = inputElement;\n\n if (selectionStart !== null && selectionEnd !== null) {\n const currentValue = inputElement.value;\n const beforeSelection = currentValue.slice(0, selectionStart);\n const afterSelection = currentValue.slice(selectionEnd);\n\n const newValueAfterPaste =\n beforeSelection + filteredPaste + afterSelection;\n const { newPrefix, newValue } =\n separatePrefixFromValue(newValueAfterPaste);\n\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n }\n };\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n size={size}\n value={value}\n disabled={disabled}\n type=\"text\"\n onPaste={handlePaste}\n onChange={handleChange}\n data-testid=\"InputPhone\"\n startAdornment={\n <InputSelect\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n selectedLabel={\n <>\n <StyledFlagTriggerLabel $size={size}>\n {getCountryFlag(prefix)}\n </StyledFlagTriggerLabel>\n +{getCountryCallingCode(prefix)}\n </>\n }\n disabled={disabled}\n keepSameOptionsOrder={false}\n search\n renderOption={renderOption}\n />\n }\n />\n );\n }\n);\n\nInputPhone.displayName = \"InputPhone\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputPhone.js","names":["React","forwardRef","useCallback","useEffect","useRef","useState","callingCodeToCountryCodeMap","countriesArraySortedByName","getCountryCallingCode","getCountryFlag","Input","InputSelect","StyledFlagTriggerLabel","StyledOptionCode","StyledOptionFlag","StyledOptionName","StyledOptionRowEnd","StyledOptionWrapper","useForkRef","RadioButton","renderOption","option","data","createElement","Fragment","id","name","additionalInfo","checked","onChange","InputPhone","_ref","ref","size","disabled","value","defaultValue","defaultCountry","rest","inputRef","handleRef","prefix","setPrefix","setValue","options","map","country","countryCode","callingCode","separatePrefixFromValue","fullValue","newPrefix","newValue","startsWith","prefixLength","digits","slice","i","length","code","dialCode","handleChange","e","inputValue","target","test","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","filteredPaste","replace","inputElement","currentTarget","selectionStart","selectionEnd","currentValue","beforeSelection","afterSelection","newValueAfterPaste","_extends","type","onPaste","startAdornment","selected","filterCriteria","filter","_option$additionalInf","toLowerCase","includes","selectedLabel","$size","keepSameOptionsOrder","search","displayName"],"sources":["../../../../src/components/Input/InputPhone.tsx"],"sourcesContent":["import React, {\n ChangeEventHandler,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n callingCodeToCountryCodeMap,\n countriesArraySortedByName,\n getCountryCallingCode,\n getCountryFlag,\n Country,\n} from \"country-explorer\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport {\n StyledFlagTriggerLabel,\n StyledOptionCode,\n StyledOptionFlag,\n StyledOptionName,\n StyledOptionRowEnd,\n StyledOptionWrapper,\n} from \"./Styles\";\nimport { useForkRef } from \"../../utils\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport interface InputPhoneProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** Default country code to be selected */\n defaultCountry?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"small\" | \"regular\" | \"big\";\n}\n\nconst renderOption = (\n option: Record<string, React.ReactNode>,\n data: Record<string, unknown>\n): React.ReactElement => (\n <>\n <StyledOptionWrapper>\n <StyledOptionFlag>{getCountryFlag(option.id)}</StyledOptionFlag>\n <StyledOptionName>{option.name}</StyledOptionName>\n </StyledOptionWrapper>\n <StyledOptionRowEnd>\n <StyledOptionCode>{option.additionalInfo}</StyledOptionCode>\n <RadioButton\n checked={data.checked as boolean}\n onChange={data.onChange as ChangeEventHandler<HTMLInputElement>}\n />\n </StyledOptionRowEnd>\n </>\n);\n\nexport const InputPhone = forwardRef<HTMLInputElement, InputPhoneProps>(\n (\n {\n size = \"regular\",\n disabled,\n value: defaultValue = \"\",\n onChange,\n defaultCountry = \"US\",\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n const [prefix, setPrefix] = useState(defaultCountry);\n const [value, setValue] = useState<string>(\"\");\n\n const options = countriesArraySortedByName.map((country: Country) => ({\n id: country.countryCode,\n name: country.name,\n additionalInfo: `+${country.callingCode}`,\n }));\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n if (fullValue.startsWith(\"+\") || fullValue.startsWith(\"00\")) {\n const prefixLength = fullValue.startsWith(\"+\") ? 1 : 2;\n const digits = fullValue.slice(prefixLength);\n\n for (let i = digits.length; i >= 1; i--) {\n const code = digits.slice(0, i);\n if (callingCodeToCountryCodeMap[code]) {\n newPrefix = callingCodeToCountryCodeMap[code];\n const dialCode = getCountryCallingCode(newPrefix);\n newValue = fullValue.slice(prefixLength + dialCode.length);\n break;\n }\n }\n }\n\n return { newPrefix, newValue };\n };\n\n useEffect(() => {\n const { newPrefix, newValue } = separatePrefixFromValue(defaultValue);\n setPrefix(newPrefix);\n setValue(newValue);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (/[^0-9+]/.test(inputValue)) {\n return;\n }\n\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onChange, prefix]\n );\n\n const handleSelectChange = (val: string | number | (string | number)[]) => {\n setPrefix(val as string);\n setTimeout(() => {\n inputRef.current?.focus();\n }, 200);\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(val)}${value}`);\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n\n const paste = e.clipboardData.getData(\"text\");\n const filteredPaste = paste.replace(/[^0-9+]/g, \"\");\n\n const inputElement = e.currentTarget as HTMLInputElement;\n const { selectionStart, selectionEnd } = inputElement;\n\n if (selectionStart !== null && selectionEnd !== null) {\n const currentValue = inputElement.value;\n const beforeSelection = currentValue.slice(0, selectionStart);\n const afterSelection = currentValue.slice(selectionEnd);\n\n const newValueAfterPaste =\n beforeSelection + filteredPaste + afterSelection;\n const { newPrefix, newValue } =\n separatePrefixFromValue(newValueAfterPaste);\n\n setPrefix(newPrefix);\n setValue(newValue);\n\n typeof onChange === \"function\" &&\n onChange(`+${getCountryCallingCode(newPrefix)}${newValue}`);\n }\n };\n\n return (\n <Input\n {...rest}\n ref={handleRef}\n size={size}\n value={value}\n disabled={disabled}\n type=\"text\"\n onPaste={handlePaste}\n onChange={handleChange}\n data-testid=\"InputPhone\"\n startAdornment={\n <InputSelect\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n filterCriteria={(option, filter) => {\n return !!option?.additionalInfo?.toLowerCase().includes(filter);\n }}\n selectedLabel={\n <>\n <StyledFlagTriggerLabel $size={size}>\n {getCountryFlag(prefix)}\n </StyledFlagTriggerLabel>\n +{getCountryCallingCode(prefix)}\n </>\n }\n disabled={disabled}\n keepSameOptionsOrder={false}\n search\n renderOption={renderOption}\n />\n }\n />\n );\n }\n);\n\nInputPhone.displayName = \"InputPhone\";\n"],"mappings":"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"}
@@ -14,6 +14,8 @@ export interface InputSelectProps {
14
14
  target?: ElementWithRef<Element>;
15
15
  /** Render option */
16
16
  renderOption?: (option: Record<string, ReactNode>, data: Record<string, unknown>) => string | ReactElement;
17
+ /** Custom filter function for additional filtering criteria */
18
+ filterCriteria?: (option: IOptionItemProps, filter: string) => boolean;
17
19
  }
18
20
  export declare const InputSelect: React.FC<InputSelectProps>;
19
21
  //# sourceMappingURL=InputSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAU,MAAM,WAAW,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;CAC5B;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAoClD,CAAC"}
1
+ {"version":3,"file":"InputSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAU,MAAM,WAAW,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAC3B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACxE;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsClD,CAAC"}
@@ -15,7 +15,8 @@ export const InputSelect = _ref => {
15
15
  disabledInternalSort = true,
16
16
  keepSameOptionsOrder = true,
17
17
  selectedLabel,
18
- renderOption
18
+ renderOption,
19
+ filterCriteria
19
20
  } = _ref;
20
21
  return /*#__PURE__*/React.createElement(Select, {
21
22
  onChange: onChange,
@@ -33,7 +34,8 @@ export const InputSelect = _ref => {
33
34
  disabledInternalSort: disabledInternalSort,
34
35
  keepSameOptionsOrder: keepSameOptionsOrder,
35
36
  selected: selected,
36
- renderOption: renderOption
37
+ renderOption: renderOption,
38
+ filterCriteria: filterCriteria
37
39
  });
38
40
  };
39
41
  var _StyledStyledButton = _styled(StyledButton).withConfig({
@@ -1 +1 @@
1
- {"version":3,"file":"InputSelect.js","names":["React","StyledInputSelectTrigger","ArrowDownIcon","ArrowDownSmallIcon","Select","StyledButton","InputSelect","_ref","onChange","size","selected","options","search","disabled","disabledInternalSort","keepSameOptionsOrder","selectedLabel","renderOption","createElement","forceCloseMenu","disableSearch","target","_StyledStyledButton","$disabled","$size","fill","_styled","withConfig","displayName","componentId"],"sources":["../../../../src/components/Input/InputSelect.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from \"react\";\n\nimport { StyledInputSelectTrigger } from \"./Styles\";\nimport { ArrowDownIcon, ArrowDownSmallIcon } from \"../Icons\";\nimport { ElementWithRef, IOptionItemProps, Select } from \"../Select\";\nimport { StyledButton } from \"../Trigger/Styles\";\n\nexport interface InputSelectProps {\n onChange: (val: string | number | (string | number)[]) => void;\n size: string;\n selected: string;\n options: IOptionItemProps[];\n disabled?: boolean;\n search?: boolean;\n // @ToDo: Fix this\n disabledInternalSort?: boolean;\n keepSameOptionsOrder?: boolean;\n selectedLabel?: ReactNode;\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n}\n\nexport const InputSelect: React.FC<InputSelectProps> = ({\n onChange,\n size,\n selected,\n options,\n search = false,\n disabled = false,\n disabledInternalSort = true,\n keepSameOptionsOrder = true,\n selectedLabel,\n renderOption,\n}) => {\n return (\n <Select\n onChange={onChange}\n forceCloseMenu\n disableSearch={!search}\n target={\n <StyledButton css=\"flex-shrink:0\">\n <StyledInputSelectTrigger $disabled={disabled} $size={size}>\n {selectedLabel ? selectedLabel : selected}\n {size === \"big\" ? (\n <ArrowDownIcon fill=\"var(--color-theme-700)\" />\n ) : (\n <ArrowDownSmallIcon fill=\"var(--color-theme-700)\" />\n )}\n </StyledInputSelectTrigger>\n </StyledButton>\n }\n options={options}\n disabledInternalSort={disabledInternalSort}\n keepSameOptionsOrder={keepSameOptionsOrder}\n selected={selected}\n renderOption={renderOption}\n />\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAmC,OAAO;AAEtD,SAASC,wBAAwB,QAAQ,UAAU;AACnD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,UAAU;AAC5D,SAA2CC,MAAM,QAAQ,WAAW;AACpE,SAASC,YAAY,QAAQ,mBAAmB;AAsBhD,OAAO,MAAMC,WAAuC,GAAGC,IAAA,IAWjD;EAAA,IAXkD;IACtDC,QAAQ;IACRC,IAAI;IACJC,QAAQ;IACRC,OAAO;IACPC,MAAM,GAAG,KAAK;IACdC,QAAQ,GAAG,KAAK;IAChBC,oBAAoB,GAAG,IAAI;IAC3BC,oBAAoB,GAAG,IAAI;IAC3BC,aAAa;IACbC;EACF,CAAC,GAAAV,IAAA;EACC,oBACEP,KAAA,CAAAkB,aAAA,CAACd,MAAM;IACLI,QAAQ,EAAEA,QAAS;IACnBW,cAAc;IACdC,aAAa,EAAE,CAACR,MAAO;IACvBS,MAAM,eACJrB,KAAA,CAAAkB,aAAA,CAAAI,mBAAA,qBACEtB,KAAA,CAAAkB,aAAA,CAACjB,wBAAwB;MAACsB,SAAS,EAAEV,QAAS;MAACW,KAAK,EAAEf;IAAK,GACxDO,aAAa,GAAGA,aAAa,GAAGN,QAAQ,EACxCD,IAAI,KAAK,KAAK,gBACbT,KAAA,CAAAkB,aAAA,CAAChB,aAAa;MAACuB,IAAI,EAAC;IAAwB,CAAE,CAAC,gBAE/CzB,KAAA,CAAAkB,aAAA,CAACf,kBAAkB;MAACsB,IAAI,EAAC;IAAwB,CAAE,CAE7B,CACd,CACf;IACDd,OAAO,EAAEA,OAAQ;IACjBG,oBAAoB,EAAEA,oBAAqB;IAC3CC,oBAAoB,EAAEA,oBAAqB;IAC3CL,QAAQ,EAAEA,QAAS;IACnBO,YAAY,EAAEA;EAAa,CAC5B,CAAC;AAEN,CAAC;AAAC,IAAAK,mBAAA,GAAAI,OAAA,CAAArB,YAAA,EAAAsB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA"}
1
+ {"version":3,"file":"InputSelect.js","names":["React","StyledInputSelectTrigger","ArrowDownIcon","ArrowDownSmallIcon","Select","StyledButton","InputSelect","_ref","onChange","size","selected","options","search","disabled","disabledInternalSort","keepSameOptionsOrder","selectedLabel","renderOption","filterCriteria","createElement","forceCloseMenu","disableSearch","target","_StyledStyledButton","$disabled","$size","fill","_styled","withConfig","displayName","componentId"],"sources":["../../../../src/components/Input/InputSelect.tsx"],"sourcesContent":["import React, { ReactElement, ReactNode } from \"react\";\n\nimport { StyledInputSelectTrigger } from \"./Styles\";\nimport { ArrowDownIcon, ArrowDownSmallIcon } from \"../Icons\";\nimport { ElementWithRef, IOptionItemProps, Select } from \"../Select\";\nimport { StyledButton } from \"../Trigger/Styles\";\n\nexport interface InputSelectProps {\n onChange: (val: string | number | (string | number)[]) => void;\n size: string;\n selected: string;\n options: IOptionItemProps[];\n disabled?: boolean;\n search?: boolean;\n // @ToDo: Fix this\n disabledInternalSort?: boolean;\n keepSameOptionsOrder?: boolean;\n selectedLabel?: ReactNode;\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Custom filter function for additional filtering criteria */\n filterCriteria?: (option: IOptionItemProps, filter: string) => boolean;\n}\n\nexport const InputSelect: React.FC<InputSelectProps> = ({\n onChange,\n size,\n selected,\n options,\n search = false,\n disabled = false,\n disabledInternalSort = true,\n keepSameOptionsOrder = true,\n selectedLabel,\n renderOption,\n filterCriteria,\n}) => {\n return (\n <Select\n onChange={onChange}\n forceCloseMenu\n disableSearch={!search}\n target={\n <StyledButton css=\"flex-shrink:0\">\n <StyledInputSelectTrigger $disabled={disabled} $size={size}>\n {selectedLabel ? selectedLabel : selected}\n {size === \"big\" ? (\n <ArrowDownIcon fill=\"var(--color-theme-700)\" />\n ) : (\n <ArrowDownSmallIcon fill=\"var(--color-theme-700)\" />\n )}\n </StyledInputSelectTrigger>\n </StyledButton>\n }\n options={options}\n disabledInternalSort={disabledInternalSort}\n keepSameOptionsOrder={keepSameOptionsOrder}\n selected={selected}\n renderOption={renderOption}\n filterCriteria={filterCriteria}\n />\n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAmC,OAAO;AAEtD,SAASC,wBAAwB,QAAQ,UAAU;AACnD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,UAAU;AAC5D,SAA2CC,MAAM,QAAQ,WAAW;AACpE,SAASC,YAAY,QAAQ,mBAAmB;AAwBhD,OAAO,MAAMC,WAAuC,GAAGC,IAAA,IAYjD;EAAA,IAZkD;IACtDC,QAAQ;IACRC,IAAI;IACJC,QAAQ;IACRC,OAAO;IACPC,MAAM,GAAG,KAAK;IACdC,QAAQ,GAAG,KAAK;IAChBC,oBAAoB,GAAG,IAAI;IAC3BC,oBAAoB,GAAG,IAAI;IAC3BC,aAAa;IACbC,YAAY;IACZC;EACF,CAAC,GAAAX,IAAA;EACC,oBACEP,KAAA,CAAAmB,aAAA,CAACf,MAAM;IACLI,QAAQ,EAAEA,QAAS;IACnBY,cAAc;IACdC,aAAa,EAAE,CAACT,MAAO;IACvBU,MAAM,eACJtB,KAAA,CAAAmB,aAAA,CAAAI,mBAAA,qBACEvB,KAAA,CAAAmB,aAAA,CAAClB,wBAAwB;MAACuB,SAAS,EAAEX,QAAS;MAACY,KAAK,EAAEhB;IAAK,GACxDO,aAAa,GAAGA,aAAa,GAAGN,QAAQ,EACxCD,IAAI,KAAK,KAAK,gBACbT,KAAA,CAAAmB,aAAA,CAACjB,aAAa;MAACwB,IAAI,EAAC;IAAwB,CAAE,CAAC,gBAE/C1B,KAAA,CAAAmB,aAAA,CAAChB,kBAAkB;MAACuB,IAAI,EAAC;IAAwB,CAAE,CAE7B,CACd,CACf;IACDf,OAAO,EAAEA,OAAQ;IACjBG,oBAAoB,EAAEA,oBAAqB;IAC3CC,oBAAoB,EAAEA,oBAAqB;IAC3CL,QAAQ,EAAEA,QAAS;IACnBO,YAAY,EAAEA,YAAa;IAC3BC,cAAc,EAAEA;EAAe,CAChC,CAAC;AAEN,CAAC;AAAC,IAAAK,mBAAA,GAAAI,OAAA,CAAAtB,YAAA,EAAAuB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { InputProps } from "./Input";
2
3
  import { InputMode, InputSize } from "./types";
3
4
  interface StyledInputWrapperProps {
@@ -27,7 +28,9 @@ export declare const StyledFlagTriggerLabel: import("styled-components").StyledC
27
28
  $size: "small" | "regular" | "big";
28
29
  }, never>;
29
30
  export declare const StyledOptionFlag: import("styled-components").StyledComponent<"span", any, {}, never>;
30
- export declare const StyledOptionName: import("styled-components").StyledComponent<"span", any, {}, never>;
31
+ export declare const StyledOptionName: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Typography").IBodyProps & Omit<import("../Typography/Typography").ITypographyProps, "variant" | "weight"> & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
32
+ export declare const StyledOptionCode: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Typography").IBodyProps & Omit<import("../Typography/Typography").ITypographyProps, "variant" | "weight"> & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
33
+ export declare const StyledOptionRowEnd: import("styled-components").StyledComponent<"span", any, {}, never>;
31
34
  export declare const StyledOptionWrapper: import("styled-components").StyledComponent<"span", any, {}, never>;
32
35
  export {};
33
36
  //# sourceMappingURL=Styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Styles.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAK/C,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,yFAuE9B,CAAC;AAIF,UAAU,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,oFA+DvB,CAAC;AAIF,eAAO,MAAM,8BAA8B,oEAK1C,CAAC;AAIF,eAAO,MAAM,uBAAuB;eACvB,MAAM;YACT,MAAM;SAoBf,CAAC;AAIF,eAAO,MAAM,wBAAwB;WAC5B,MAAM;;SAgCd,CAAC;AAIF,eAAO,MAAM,sBAAsB;WAC1B,OAAO,GAAG,SAAS,GAAG,KAAK;SAGnC,CAAC;AAIF,eAAO,MAAM,gBAAgB,qEAG5B,CAAC;AAIF,eAAO,MAAM,gBAAgB,qEAI5B,CAAC;AAIF,eAAO,MAAM,mBAAmB,qEAQ/B,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Styles.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAM/C,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,kBAAkB,yFAuE9B,CAAC;AAIF,UAAU,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,oFA+DvB,CAAC;AAIF,eAAO,MAAM,8BAA8B,oEAK1C,CAAC;AAIF,eAAO,MAAM,uBAAuB;eACvB,MAAM;YACT,MAAM;SAoBf,CAAC;AAIF,eAAO,MAAM,wBAAwB;WAC5B,MAAM;;SAgCd,CAAC;AAIF,eAAO,MAAM,sBAAsB;WAC1B,OAAO,GAAG,SAAS,GAAG,KAAK;SAGnC,CAAC;AAIF,eAAO,MAAM,gBAAgB,qEAG5B,CAAC;AAIF,eAAO,MAAM,gBAAgB,8QAI5B,CAAC;AAIF,eAAO,MAAM,gBAAgB,8QAO5B,CAAC;AAIF,eAAO,MAAM,kBAAkB,qEAI9B,CAAC;AAIF,eAAO,MAAM,mBAAmB,qEAQ/B,CAAC"}
@@ -2,6 +2,7 @@ import styled, { css } from "styled-components";
2
2
  import { BoxSizingStyle } from "../BoxSizingStyle";
3
3
  import { FontStyle } from "../FontStyle";
4
4
  import { InputResetStyle } from "../InputResetStyle";
5
+ import { Body2 } from "../Typography";
5
6
  export const StyledInputWrapper = styled.div.withConfig({
6
7
  displayName: "Styles__StyledInputWrapper",
7
8
  componentId: "sc-ce8kcp-0"
@@ -68,14 +69,24 @@ export const StyledOptionFlag = styled.span.withConfig({
68
69
  componentId: "sc-ce8kcp-6"
69
70
  })(["font-size:24px;margin-right:4px;"]);
70
71
  StyledFlagTriggerLabel.displayName = "StyledOptionFlag";
71
- export const StyledOptionName = styled.span.withConfig({
72
+ export const StyledOptionName = styled(Body2).withConfig({
72
73
  displayName: "Styles__StyledOptionName",
73
74
  componentId: "sc-ce8kcp-7"
74
75
  })(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"]);
75
76
  StyledOptionName.displayName = "StyledOptionName";
77
+ export const StyledOptionCode = styled(Body2).withConfig({
78
+ displayName: "Styles__StyledOptionCode",
79
+ componentId: "sc-ce8kcp-8"
80
+ })(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto;color:var(--color-theme-600);flex-shrink:0;"]);
81
+ StyledOptionCode.displayName = "StyledOptionCode";
82
+ export const StyledOptionRowEnd = styled.span.withConfig({
83
+ displayName: "Styles__StyledOptionRowEnd",
84
+ componentId: "sc-ce8kcp-9"
85
+ })(["display:flex;align-items:center;gap:8px;"]);
86
+ StyledOptionRowEnd.displayName = "StyledOptionRowEnd";
76
87
  export const StyledOptionWrapper = styled.span.withConfig({
77
88
  displayName: "Styles__StyledOptionWrapper",
78
- componentId: "sc-ce8kcp-8"
89
+ componentId: "sc-ce8kcp-10"
79
90
  })(["overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:8px;display:flex;justify-items:center;align-items:center;"]);
80
91
  StyledOptionWrapper.displayName = "StyledOptionWrapper";
81
92
  //# sourceMappingURL=Styles.js.map