@activecollab/components 2.0.163 → 2.0.164

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.
@@ -7,8 +7,9 @@ exports.InputUrl = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _Input = require("./Input");
9
9
  var _InputSelect = require("./InputSelect");
10
+ var _Styles = require("./Styles");
10
11
  var _utils = require("../../utils");
11
- var _excluded = ["size", "disabled", "value", "onChange"];
12
+ var _excluded = ["size", "disabled", "value", "onChange", "scheme"];
12
13
  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); }
13
14
  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; }
14
15
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -20,7 +21,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
20
21
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
21
22
  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; }
22
23
  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; }
23
- var options = [{
24
+ var defaultOptions = [{
24
25
  id: "https://",
25
26
  name: "https://"
26
27
  }, {
@@ -34,9 +35,28 @@ var InputUrl = exports.InputUrl = /*#__PURE__*/(0, _react.forwardRef)(function (
34
35
  _ref$value = _ref.value,
35
36
  defaultValue = _ref$value === void 0 ? "" : _ref$value,
36
37
  onChange = _ref.onChange,
38
+ scheme = _ref.scheme,
37
39
  rest = _objectWithoutProperties(_ref, _excluded);
38
40
  var inputRef = (0, _react.useRef)(null);
39
41
  var handleRef = (0, _utils.useForkRef)(ref, inputRef);
42
+ var options = (0, _react.useMemo)(function () {
43
+ if (scheme && scheme.length > 0) {
44
+ if (Array.isArray(scheme)) {
45
+ return scheme.map(function (i) {
46
+ return {
47
+ id: i,
48
+ name: i
49
+ };
50
+ });
51
+ } else {
52
+ return [{
53
+ id: scheme,
54
+ name: scheme
55
+ }];
56
+ }
57
+ }
58
+ return defaultOptions;
59
+ }, [scheme]);
40
60
  var _useState = (0, _react.useState)(options[0].id),
41
61
  _useState2 = _slicedToArray(_useState, 2),
42
62
  prefix = _useState2[0],
@@ -85,14 +105,14 @@ var InputUrl = exports.InputUrl = /*#__PURE__*/(0, _react.forwardRef)(function (
85
105
  },
86
106
  // eslint-disable-next-line
87
107
  [onChange, prefix]);
88
- var handleSelectChange = function handleSelectChange(val) {
108
+ var handleSelectChange = (0, _react.useCallback)(function (val) {
89
109
  setPrefix(val);
90
110
  setTimeout(function () {
91
111
  var _inputRef$current;
92
112
  (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
93
113
  }, 200);
94
114
  typeof onChange === "function" && onChange(val + value);
95
- };
115
+ }, [onChange, value]);
96
116
  var handlePaste = function handlePaste(e) {
97
117
  e.preventDefault();
98
118
  var paste = e.clipboardData.getData("text");
@@ -107,6 +127,29 @@ var InputUrl = exports.InputUrl = /*#__PURE__*/(0, _react.forwardRef)(function (
107
127
  onChange(newPrefix + newValue);
108
128
  }
109
129
  };
130
+ var startAdornmentComponent = (0, _react.useMemo)(function () {
131
+ if (options.length > 1) {
132
+ return /*#__PURE__*/_react.default.createElement(_InputSelect.InputSelect, {
133
+ key: prefix,
134
+ size: size,
135
+ onChange: handleSelectChange,
136
+ options: options,
137
+ selected: prefix,
138
+ disabled: disabled
139
+ });
140
+ } else {
141
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledInputSelectTrigger, {
142
+ key: prefix,
143
+ $disabled: disabled,
144
+ $size: size
145
+ }, prefix);
146
+ }
147
+ }, [disabled, handleSelectChange, options, prefix, size]);
148
+ (0, _react.useEffect)(function () {
149
+ if (options.length > 0) {
150
+ setPrefix(options[0].id);
151
+ }
152
+ }, [options]);
110
153
  return /*#__PURE__*/_react.default.createElement(_Input.Input, _extends({}, rest, {
111
154
  ref: handleRef,
112
155
  size: size,
@@ -116,13 +159,7 @@ var InputUrl = exports.InputUrl = /*#__PURE__*/(0, _react.forwardRef)(function (
116
159
  onPaste: handlePaste,
117
160
  onChange: handleChange,
118
161
  "data-testid": "InputUrl",
119
- startAdornment: /*#__PURE__*/_react.default.createElement(_InputSelect.InputSelect, {
120
- size: size,
121
- onChange: handleSelectChange,
122
- options: options,
123
- selected: prefix,
124
- disabled: disabled
125
- })
162
+ startAdornment: startAdornmentComponent
126
163
  }));
127
164
  });
128
165
  InputUrl.displayName = "InputUrl";
@@ -1 +1 @@
1
- {"version":3,"file":"InputUrl.js","names":["_react","_interopRequireWildcard","require","_Input","_InputSelect","_utils","_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","options","id","InputUrl","exports","forwardRef","_ref","ref","_ref$size","size","disabled","_ref$value","defaultValue","onChange","rest","inputRef","useRef","handleRef","useForkRef","_useState","useState","_useState2","prefix","setPrefix","_useState3","_useState4","setValue","separatePrefixFromValue","fullValue","newPrefix","newValue","forEach","option","startsWith","replace","useEffect","_separatePrefixFromVa","handleChange","useCallback","inputValue","_separatePrefixFromVa2","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","_separatePrefixFromVa3","createElement","Input","type","onPaste","startAdornment","InputSelect","selected","displayName"],"sources":["../../../../src/components/Input/InputUrl.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport { useForkRef } from \"../../utils\";\n\nexport interface InputUrlProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"regular\" | \"big\" | \"biggest\";\n}\n\nconst options = [\n { id: \"https://\", name: \"https://\" },\n { id: \"http://\", name: \"http://\" },\n];\n\nexport const InputUrl = forwardRef<HTMLInputElement, InputUrlProps>(\n (\n { size = \"regular\", disabled, value: defaultValue = \"\", onChange, ...rest },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n const [prefix, setPrefix] = useState(options[0].id);\n\n const [value, setValue] = useState(\"\");\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n options.forEach((option) => {\n if (fullValue.startsWith(option.id)) {\n newPrefix = option.id;\n newValue = fullValue.replace(option.id, \"\");\n }\n });\n\n setValue(newValue);\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\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (!inputValue.startsWith(prefix)) {\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n typeof onChange === \"function\" && onChange(newPrefix + newValue);\n } else {\n const newValue = inputValue.replace(prefix, \"\");\n setValue(newValue);\n typeof onChange === \"function\" && onChange(prefix + newValue);\n }\n },\n // eslint-disable-next-line\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\" && onChange((val as string) + value);\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n const paste = e.clipboardData.getData(\"text\");\n const { newPrefix, newValue } = separatePrefixFromValue(paste);\n if (newPrefix !== prefix) {\n setPrefix(newPrefix);\n }\n setValue(newValue);\n\n if (typeof onChange === \"function\") {\n onChange(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=\"InputUrl\"\n startAdornment={\n <InputSelect\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n disabled={disabled}\n />\n }\n />\n );\n }\n);\n\nInputUrl.displayName = \"InputUrl\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputUrl.js","names":["_react","_interopRequireWildcard","require","_Input","_InputSelect","_Styles","_utils","_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","defaultOptions","id","InputUrl","exports","forwardRef","_ref","ref","_ref$size","size","disabled","_ref$value","defaultValue","onChange","scheme","rest","inputRef","useRef","handleRef","useForkRef","options","useMemo","map","_useState","useState","_useState2","prefix","setPrefix","_useState3","_useState4","setValue","separatePrefixFromValue","fullValue","newPrefix","newValue","forEach","option","startsWith","replace","useEffect","_separatePrefixFromVa","handleChange","useCallback","inputValue","_separatePrefixFromVa2","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","_separatePrefixFromVa3","startAdornmentComponent","createElement","InputSelect","selected","StyledInputSelectTrigger","$disabled","$size","Input","type","onPaste","startAdornment","displayName"],"sources":["../../../../src/components/Input/InputUrl.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport { StyledInputSelectTrigger } from \"./Styles\";\nimport { useForkRef } from \"../../utils\";\n\nexport interface InputUrlProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"regular\" | \"big\" | \"biggest\";\n scheme?: string[] | string;\n}\n\nconst defaultOptions = [\n { id: \"https://\", name: \"https://\" },\n { id: \"http://\", name: \"http://\" },\n];\n\nexport const InputUrl = forwardRef<HTMLInputElement, InputUrlProps>(\n (\n {\n size = \"regular\",\n disabled,\n value: defaultValue = \"\",\n onChange,\n scheme,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const options = useMemo(() => {\n if (scheme && scheme.length > 0) {\n if (Array.isArray(scheme)) {\n return scheme.map((i) => ({ id: i, name: i }));\n } else {\n return [{ id: scheme, name: scheme }];\n }\n }\n return defaultOptions;\n }, [scheme]);\n\n const [prefix, setPrefix] = useState(options[0].id);\n\n const [value, setValue] = useState(\"\");\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n options.forEach((option) => {\n if (fullValue.startsWith(option.id)) {\n newPrefix = option.id;\n newValue = fullValue.replace(option.id, \"\");\n }\n });\n\n setValue(newValue);\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\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (!inputValue.startsWith(prefix)) {\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n typeof onChange === \"function\" && onChange(newPrefix + newValue);\n } else {\n const newValue = inputValue.replace(prefix, \"\");\n setValue(newValue);\n typeof onChange === \"function\" && onChange(prefix + newValue);\n }\n },\n // eslint-disable-next-line\n [onChange, prefix]\n );\n\n const handleSelectChange = useCallback(\n (val: string | number | (string | number)[]) => {\n setPrefix(val as string);\n setTimeout(() => {\n inputRef.current?.focus();\n }, 200);\n typeof onChange === \"function\" && onChange((val as string) + value);\n },\n [onChange, value]\n );\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n const paste = e.clipboardData.getData(\"text\");\n const { newPrefix, newValue } = separatePrefixFromValue(paste);\n if (newPrefix !== prefix) {\n setPrefix(newPrefix);\n }\n setValue(newValue);\n\n if (typeof onChange === \"function\") {\n onChange(newPrefix + newValue);\n }\n };\n\n const startAdornmentComponent = useMemo(() => {\n if (options.length > 1) {\n return (\n <InputSelect\n key={prefix}\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n disabled={disabled}\n />\n );\n } else {\n return (\n <StyledInputSelectTrigger\n key={prefix}\n $disabled={disabled}\n $size={size}\n >\n {prefix}\n </StyledInputSelectTrigger>\n );\n }\n }, [disabled, handleSelectChange, options, prefix, size]);\n\n useEffect(() => {\n if (options.length > 0) {\n setPrefix(options[0].id);\n }\n }, [options]);\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=\"InputUrl\"\n startAdornment={startAdornmentComponent}\n />\n );\n }\n);\n\nInputUrl.displayName = \"InputUrl\";\n"],"mappings":"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"}
@@ -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":"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"}
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":"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"}
@@ -7,6 +7,7 @@ export interface InputUrlProps extends Omit<InputProps, "type" | "startAdornment
7
7
  onChange?: (val: string) => void;
8
8
  /** Input size */
9
9
  size?: "regular" | "big" | "biggest";
10
+ scheme?: string[] | string;
10
11
  }
11
12
  export declare const InputUrl: React.ForwardRefExoticComponent<InputUrlProps & React.RefAttributes<HTMLInputElement>>;
12
13
  //# sourceMappingURL=InputUrl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputUrl.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputUrl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAI5C,MAAM,WAAW,aACf,SAAQ,IAAI,CACV,UAAU,EACV,MAAM,GAAG,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAC1D;IACD,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iBAAiB;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;CACtC;AAOD,eAAO,MAAM,QAAQ,wFAkGpB,CAAC"}
1
+ {"version":3,"file":"InputUrl.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputUrl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAEf,OAAO,EAAS,UAAU,EAAE,MAAM,SAAS,CAAC;AAK5C,MAAM,WAAW,aACf,SAAQ,IAAI,CACV,UAAU,EACV,MAAM,GAAG,gBAAgB,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAC1D;IACD,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,iBAAiB;IACjB,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;CAC5B;AAOD,eAAO,MAAM,QAAQ,wFA+IpB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import React, { forwardRef, useCallback, useEffect, useRef, useState } from "react";
2
+ import React, { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from "react";
3
3
  import { Input } from "./Input";
4
4
  import { InputSelect } from "./InputSelect";
5
+ import { StyledInputSelectTrigger } from "./Styles";
5
6
  import { useForkRef } from "../../utils";
6
- const options = [{
7
+ const defaultOptions = [{
7
8
  id: "https://",
8
9
  name: "https://"
9
10
  }, {
@@ -16,10 +17,27 @@ export const InputUrl = /*#__PURE__*/forwardRef((_ref, ref) => {
16
17
  disabled,
17
18
  value: defaultValue = "",
18
19
  onChange,
20
+ scheme,
19
21
  ...rest
20
22
  } = _ref;
21
23
  const inputRef = useRef(null);
22
24
  const handleRef = useForkRef(ref, inputRef);
25
+ const options = useMemo(() => {
26
+ if (scheme && scheme.length > 0) {
27
+ if (Array.isArray(scheme)) {
28
+ return scheme.map(i => ({
29
+ id: i,
30
+ name: i
31
+ }));
32
+ } else {
33
+ return [{
34
+ id: scheme,
35
+ name: scheme
36
+ }];
37
+ }
38
+ }
39
+ return defaultOptions;
40
+ }, [scheme]);
23
41
  const [prefix, setPrefix] = useState(options[0].id);
24
42
  const [value, setValue] = useState("");
25
43
  const separatePrefixFromValue = fullValue => {
@@ -64,14 +82,14 @@ export const InputUrl = /*#__PURE__*/forwardRef((_ref, ref) => {
64
82
  },
65
83
  // eslint-disable-next-line
66
84
  [onChange, prefix]);
67
- const handleSelectChange = val => {
85
+ const handleSelectChange = useCallback(val => {
68
86
  setPrefix(val);
69
87
  setTimeout(() => {
70
88
  var _inputRef$current;
71
89
  (_inputRef$current = inputRef.current) == null || _inputRef$current.focus();
72
90
  }, 200);
73
91
  typeof onChange === "function" && onChange(val + value);
74
- };
92
+ }, [onChange, value]);
75
93
  const handlePaste = e => {
76
94
  e.preventDefault();
77
95
  const paste = e.clipboardData.getData("text");
@@ -87,6 +105,29 @@ export const InputUrl = /*#__PURE__*/forwardRef((_ref, ref) => {
87
105
  onChange(newPrefix + newValue);
88
106
  }
89
107
  };
108
+ const startAdornmentComponent = useMemo(() => {
109
+ if (options.length > 1) {
110
+ return /*#__PURE__*/React.createElement(InputSelect, {
111
+ key: prefix,
112
+ size: size,
113
+ onChange: handleSelectChange,
114
+ options: options,
115
+ selected: prefix,
116
+ disabled: disabled
117
+ });
118
+ } else {
119
+ return /*#__PURE__*/React.createElement(StyledInputSelectTrigger, {
120
+ key: prefix,
121
+ $disabled: disabled,
122
+ $size: size
123
+ }, prefix);
124
+ }
125
+ }, [disabled, handleSelectChange, options, prefix, size]);
126
+ useEffect(() => {
127
+ if (options.length > 0) {
128
+ setPrefix(options[0].id);
129
+ }
130
+ }, [options]);
90
131
  return /*#__PURE__*/React.createElement(Input, _extends({}, rest, {
91
132
  ref: handleRef,
92
133
  size: size,
@@ -96,13 +137,7 @@ export const InputUrl = /*#__PURE__*/forwardRef((_ref, ref) => {
96
137
  onPaste: handlePaste,
97
138
  onChange: handleChange,
98
139
  "data-testid": "InputUrl",
99
- startAdornment: /*#__PURE__*/React.createElement(InputSelect, {
100
- size: size,
101
- onChange: handleSelectChange,
102
- options: options,
103
- selected: prefix,
104
- disabled: disabled
105
- })
140
+ startAdornment: startAdornmentComponent
106
141
  }));
107
142
  });
108
143
  InputUrl.displayName = "InputUrl";
@@ -1 +1 @@
1
- {"version":3,"file":"InputUrl.js","names":["React","forwardRef","useCallback","useEffect","useRef","useState","Input","InputSelect","useForkRef","options","id","name","InputUrl","_ref","ref","size","disabled","value","defaultValue","onChange","rest","inputRef","handleRef","prefix","setPrefix","setValue","separatePrefixFromValue","fullValue","newPrefix","newValue","forEach","option","startsWith","replace","handleChange","e","inputValue","target","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","createElement","_extends","type","onPaste","startAdornment","selected","displayName"],"sources":["../../../../src/components/Input/InputUrl.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport { useForkRef } from \"../../utils\";\n\nexport interface InputUrlProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"regular\" | \"big\" | \"biggest\";\n}\n\nconst options = [\n { id: \"https://\", name: \"https://\" },\n { id: \"http://\", name: \"http://\" },\n];\n\nexport const InputUrl = forwardRef<HTMLInputElement, InputUrlProps>(\n (\n { size = \"regular\", disabled, value: defaultValue = \"\", onChange, ...rest },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n const [prefix, setPrefix] = useState(options[0].id);\n\n const [value, setValue] = useState(\"\");\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n options.forEach((option) => {\n if (fullValue.startsWith(option.id)) {\n newPrefix = option.id;\n newValue = fullValue.replace(option.id, \"\");\n }\n });\n\n setValue(newValue);\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\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (!inputValue.startsWith(prefix)) {\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n typeof onChange === \"function\" && onChange(newPrefix + newValue);\n } else {\n const newValue = inputValue.replace(prefix, \"\");\n setValue(newValue);\n typeof onChange === \"function\" && onChange(prefix + newValue);\n }\n },\n // eslint-disable-next-line\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\" && onChange((val as string) + value);\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n const paste = e.clipboardData.getData(\"text\");\n const { newPrefix, newValue } = separatePrefixFromValue(paste);\n if (newPrefix !== prefix) {\n setPrefix(newPrefix);\n }\n setValue(newValue);\n\n if (typeof onChange === \"function\") {\n onChange(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=\"InputUrl\"\n startAdornment={\n <InputSelect\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n disabled={disabled}\n />\n }\n />\n );\n }\n);\n\nInputUrl.displayName = \"InputUrl\";\n"],"mappings":"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"}
1
+ {"version":3,"file":"InputUrl.js","names":["React","forwardRef","useCallback","useEffect","useMemo","useRef","useState","Input","InputSelect","StyledInputSelectTrigger","useForkRef","defaultOptions","id","name","InputUrl","_ref","ref","size","disabled","value","defaultValue","onChange","scheme","rest","inputRef","handleRef","options","length","Array","isArray","map","i","prefix","setPrefix","setValue","separatePrefixFromValue","fullValue","newPrefix","newValue","forEach","option","startsWith","replace","handleChange","e","inputValue","target","handleSelectChange","val","setTimeout","_inputRef$current","current","focus","handlePaste","preventDefault","paste","clipboardData","getData","startAdornmentComponent","createElement","key","selected","$disabled","$size","_extends","type","onPaste","startAdornment","displayName"],"sources":["../../../../src/components/Input/InputUrl.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Input, InputProps } from \"./Input\";\nimport { InputSelect } from \"./InputSelect\";\nimport { StyledInputSelectTrigger } from \"./Styles\";\nimport { useForkRef } from \"../../utils\";\n\nexport interface InputUrlProps\n extends Omit<\n InputProps,\n \"type\" | \"startAdornment\" | \"onChange\" | \"value\" | \"size\"\n > {\n /** Input value */\n value?: string;\n /** onChange function */\n onChange?: (val: string) => void;\n /** Input size */\n size?: \"regular\" | \"big\" | \"biggest\";\n scheme?: string[] | string;\n}\n\nconst defaultOptions = [\n { id: \"https://\", name: \"https://\" },\n { id: \"http://\", name: \"http://\" },\n];\n\nexport const InputUrl = forwardRef<HTMLInputElement, InputUrlProps>(\n (\n {\n size = \"regular\",\n disabled,\n value: defaultValue = \"\",\n onChange,\n scheme,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const options = useMemo(() => {\n if (scheme && scheme.length > 0) {\n if (Array.isArray(scheme)) {\n return scheme.map((i) => ({ id: i, name: i }));\n } else {\n return [{ id: scheme, name: scheme }];\n }\n }\n return defaultOptions;\n }, [scheme]);\n\n const [prefix, setPrefix] = useState(options[0].id);\n\n const [value, setValue] = useState(\"\");\n\n const separatePrefixFromValue = (\n fullValue: string\n ): { newPrefix: string; newValue: string } => {\n let newPrefix = prefix;\n let newValue = fullValue;\n\n options.forEach((option) => {\n if (fullValue.startsWith(option.id)) {\n newPrefix = option.id;\n newValue = fullValue.replace(option.id, \"\");\n }\n });\n\n setValue(newValue);\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\n }, [defaultValue]);\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n if (!inputValue.startsWith(prefix)) {\n const { newPrefix, newValue } = separatePrefixFromValue(inputValue);\n setPrefix(newPrefix);\n setValue(newValue);\n typeof onChange === \"function\" && onChange(newPrefix + newValue);\n } else {\n const newValue = inputValue.replace(prefix, \"\");\n setValue(newValue);\n typeof onChange === \"function\" && onChange(prefix + newValue);\n }\n },\n // eslint-disable-next-line\n [onChange, prefix]\n );\n\n const handleSelectChange = useCallback(\n (val: string | number | (string | number)[]) => {\n setPrefix(val as string);\n setTimeout(() => {\n inputRef.current?.focus();\n }, 200);\n typeof onChange === \"function\" && onChange((val as string) + value);\n },\n [onChange, value]\n );\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n const paste = e.clipboardData.getData(\"text\");\n const { newPrefix, newValue } = separatePrefixFromValue(paste);\n if (newPrefix !== prefix) {\n setPrefix(newPrefix);\n }\n setValue(newValue);\n\n if (typeof onChange === \"function\") {\n onChange(newPrefix + newValue);\n }\n };\n\n const startAdornmentComponent = useMemo(() => {\n if (options.length > 1) {\n return (\n <InputSelect\n key={prefix}\n size={size}\n onChange={handleSelectChange}\n options={options}\n selected={prefix}\n disabled={disabled}\n />\n );\n } else {\n return (\n <StyledInputSelectTrigger\n key={prefix}\n $disabled={disabled}\n $size={size}\n >\n {prefix}\n </StyledInputSelectTrigger>\n );\n }\n }, [disabled, handleSelectChange, options, prefix, size]);\n\n useEffect(() => {\n if (options.length > 0) {\n setPrefix(options[0].id);\n }\n }, [options]);\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=\"InputUrl\"\n startAdornment={startAdornmentComponent}\n />\n );\n }\n);\n\nInputUrl.displayName = \"InputUrl\";\n"],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare const StyledPasswordIndicator: import("styled-components").Styled
21
21
  }, never>;
22
22
  export declare const StyledInputSelectTrigger: import("styled-components").StyledComponent<"div", any, {
23
23
  $size: string;
24
- $disabled: boolean;
24
+ $disabled?: boolean | undefined;
25
25
  }, never>;
26
26
  export declare const StyledFlagTriggerLabel: import("styled-components").StyledComponent<"span", any, {
27
27
  $size: "small" | "regular" | "big";
@@ -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;eACF,OAAO;SA+BnB,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;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 +1 @@
1
- {"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","InputResetStyle","StyledInputWrapper","div","withConfig","displayName","componentId","props","$mode","$size","$disabled","$invalid","StyledInput","input","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":"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"}
1
+ {"version":3,"file":"Styles.js","names":["styled","css","BoxSizingStyle","FontStyle","InputResetStyle","StyledInputWrapper","div","withConfig","displayName","componentId","props","$mode","$size","$disabled","$invalid","StyledInput","input","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,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAI/C,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,eAAe,QAAQ,oBAAoB;AASpD,OAAO,MAAMC,kBAAkB,GAAGL,MAAM,CAACM,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,gUAexCN,SAAS,EACTD,cAAc,EAGbQ,KAAK,IACNA,KAAK,CAACC,KAAK,KAAK,MAAM,IACtBV,GAAG,kEAIF,EAGAS,KAAK,IACNA,KAAK,CAACE,KAAK,KAAK,OAAO,IACvBX,GAAG,oCAGF,EAEAS,KAAK,IACNA,KAAK,CAACE,KAAK,KAAK,KAAK,IACrBX,GAAG,kBAEF,EAEES,KAAK,IACRA,KAAK,CAACE,KAAK,KAAK,SAAS,IACzBX,GAAG,kBAEF,EAEAS,KAAK,IACNA,KAAK,CAACG,SAAS,IACfZ,GAAG,iCAGF,EAEAS,KAAK,IACN,CAACA,KAAK,CAACG,SAAS,IAChB,CAACH,KAAK,CAACI,QAAQ,IACfb,GAAG,gEAKF,EAEAS,KAAK,IACN,CAACA,KAAK,CAACG,SAAS,IAChBH,KAAK,CAACI,QAAQ,IACdJ,KAAK,CAACC,KAAK,KAAK,UAAU,IAC1BV,GAAG,oCAEF,CACJ;AAEDI,kBAAkB,CAACG,WAAW,GAAG,oBAAoB;AASrD,OAAO,MAAMO,WAAW,GAAGf,MAAM,CAACgB,KAAK,CAAAT,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kUACnCP,cAAc,EACdE,eAAe,EAcdM,KAAK,IACNA,KAAK,CAACC,KAAK,KAAK,MAAM,IACtBV,GAAG,mCAEF,EAMAS,KAAK,IACNA,KAAK,CAACE,KAAK,KAAK,KAAK,IACrBX,GAAG,qBAEF,EAEAS,KAAK,IACNA,KAAK,CAACE,KAAK,KAAK,SAAS,IACzBX,GAAG,wCAGF,EAEAS,KAAK,IACNA,KAAK,CAACO,QAAQ,IACdhB,GAAG,qBAEF,EAEAS,KAAK,IACNA,KAAK,CAACQ,QAAQ,IACdjB,GAAG,sBAEF,EAEAS,KAAK,IACNA,KAAK,CAACS,KAAK,IACXlB,GAAG,uBACaS,KAAK,CAACS,KAAK,CAC1B,EAEET,KAAK,IACRA,KAAK,CAACC,KAAK,KAAK,MAAM,IACtBD,KAAK,CAACI,QAAQ,IACdb,GAAG,6BAEF,CACJ;AAEDc,WAAW,CAACP,WAAW,GAAG,aAAa;AAEvC,OAAO,MAAMY,8BAA8B,GAAGpB,MAAM,CAACM,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,8DAKvD;AAEDW,8BAA8B,CAACZ,WAAW,GAAG,gCAAgC;AAE7E,OAAO,MAAMa,uBAAuB,GAAGrB,MAAM,CAACM,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uEAO1BC,KAAK,IAAK;EAC7B,MAAM;IAAEY,SAAS;IAAEC;EAAO,CAAC,GAAGb,KAAK;EAEnC,IAAIY,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,CAACb,WAAW,GAAG,yBAAyB;AAE/D,OAAO,MAAMgB,wBAAwB,GAAGxB,MAAM,CAACM,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0NAcrCC,KAAK,IAAK;EACnB,IAAIA,KAAK,CAACG,SAAS,EAAE;IACnB,OAAO,OAAO;EAChB;EACA,OAAO,SAAS;AAClB,CAAC,EAEkBH,KAAK,IAAK;EAC3B,IAAIA,KAAK,CAACG,SAAS,EAAE;IACnB,OAAO,MAAM;EACf;EACA,OAAO,OAAO;AAChB,CAAC,EAEEH,KAAK,IACNA,KAAK,CAACE,KAAK,KAAK,KAAK,IACrBX,GAAG,qBAEF,CACJ;AAEDuB,wBAAwB,CAAChB,WAAW,GAAG,0BAA0B;AAEjE,OAAO,MAAMiB,sBAAsB,GAAGzB,MAAM,CAAC0B,IAAI,CAAAnB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wBAGlCkB,IAAA;EAAA,IAAC;IAAEf;EAAM,CAAC,GAAAe,IAAA;EAAA,OAAMf,KAAK,KAAK,OAAO,GAAG,MAAM,GAAG,MAAM;AAAA,CAAC,CAClE;AAEDa,sBAAsB,CAACjB,WAAW,GAAG,wBAAwB;AAE7D,OAAO,MAAMoB,gBAAgB,GAAG5B,MAAM,CAAC0B,IAAI,CAAAnB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wCAG1C;AAEDgB,sBAAsB,CAACjB,WAAW,GAAG,kBAAkB;AAEvD,OAAO,MAAMqB,gBAAgB,GAAG7B,MAAM,CAAC0B,IAAI,CAAAnB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kEAI1C;AAEDoB,gBAAgB,CAACrB,WAAW,GAAG,kBAAkB;AAEjD,OAAO,MAAMsB,mBAAmB,GAAG9B,MAAM,CAAC0B,IAAI,CAAAnB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wIAQ7C;AAEDqB,mBAAmB,CAACtB,WAAW,GAAG,qBAAqB"}
package/dist/index.js CHANGED
@@ -16477,8 +16477,8 @@
16477
16477
  componentId: "sc-1lmb5y-0"
16478
16478
  })(["flex-shrink:0"]);
16479
16479
 
16480
- var _excluded$B = ["size", "disabled", "value", "onChange"];
16481
- var options = [{
16480
+ var _excluded$B = ["size", "disabled", "value", "onChange", "scheme"];
16481
+ var defaultOptions = [{
16482
16482
  id: "https://",
16483
16483
  name: "https://"
16484
16484
  }, {
@@ -16492,9 +16492,28 @@
16492
16492
  _ref$value = _ref.value,
16493
16493
  defaultValue = _ref$value === void 0 ? "" : _ref$value,
16494
16494
  onChange = _ref.onChange,
16495
+ scheme = _ref.scheme,
16495
16496
  rest = _objectWithoutProperties(_ref, _excluded$B);
16496
16497
  var inputRef = React.useRef(null);
16497
16498
  var handleRef = useForkRef(ref, inputRef);
16499
+ var options = React.useMemo(function () {
16500
+ if (scheme && scheme.length > 0) {
16501
+ if (Array.isArray(scheme)) {
16502
+ return scheme.map(function (i) {
16503
+ return {
16504
+ id: i,
16505
+ name: i
16506
+ };
16507
+ });
16508
+ } else {
16509
+ return [{
16510
+ id: scheme,
16511
+ name: scheme
16512
+ }];
16513
+ }
16514
+ }
16515
+ return defaultOptions;
16516
+ }, [scheme]);
16498
16517
  var _useState = React.useState(options[0].id),
16499
16518
  _useState2 = _slicedToArray(_useState, 2),
16500
16519
  prefix = _useState2[0],
@@ -16543,14 +16562,14 @@
16543
16562
  },
16544
16563
  // eslint-disable-next-line
16545
16564
  [onChange, prefix]);
16546
- var handleSelectChange = function handleSelectChange(val) {
16565
+ var handleSelectChange = React.useCallback(function (val) {
16547
16566
  setPrefix(val);
16548
16567
  setTimeout(function () {
16549
16568
  var _inputRef$current;
16550
16569
  (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
16551
16570
  }, 200);
16552
16571
  typeof onChange === "function" && onChange(val + value);
16553
- };
16572
+ }, [onChange, value]);
16554
16573
  var handlePaste = function handlePaste(e) {
16555
16574
  e.preventDefault();
16556
16575
  var paste = e.clipboardData.getData("text");
@@ -16565,6 +16584,29 @@
16565
16584
  onChange(newPrefix + newValue);
16566
16585
  }
16567
16586
  };
16587
+ var startAdornmentComponent = React.useMemo(function () {
16588
+ if (options.length > 1) {
16589
+ return /*#__PURE__*/React__default["default"].createElement(InputSelect, {
16590
+ key: prefix,
16591
+ size: size,
16592
+ onChange: handleSelectChange,
16593
+ options: options,
16594
+ selected: prefix,
16595
+ disabled: disabled
16596
+ });
16597
+ } else {
16598
+ return /*#__PURE__*/React__default["default"].createElement(StyledInputSelectTrigger, {
16599
+ key: prefix,
16600
+ $disabled: disabled,
16601
+ $size: size
16602
+ }, prefix);
16603
+ }
16604
+ }, [disabled, handleSelectChange, options, prefix, size]);
16605
+ React.useEffect(function () {
16606
+ if (options.length > 0) {
16607
+ setPrefix(options[0].id);
16608
+ }
16609
+ }, [options]);
16568
16610
  return /*#__PURE__*/React__default["default"].createElement(Input, _extends({}, rest, {
16569
16611
  ref: handleRef,
16570
16612
  size: size,
@@ -16574,13 +16616,7 @@
16574
16616
  onPaste: handlePaste,
16575
16617
  onChange: handleChange,
16576
16618
  "data-testid": "InputUrl",
16577
- startAdornment: /*#__PURE__*/React__default["default"].createElement(InputSelect, {
16578
- size: size,
16579
- onChange: handleSelectChange,
16580
- options: options,
16581
- selected: prefix,
16582
- disabled: disabled
16583
- })
16619
+ startAdornment: startAdornmentComponent
16584
16620
  }));
16585
16621
  });
16586
16622
  InputUrl.displayName = "InputUrl";