@activecollab/components 2.0.2 → 2.0.4
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.
- package/dist/cjs/components/Autocomplete/Autocomplete.js +1 -1
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js +3 -3
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/cjs/components/ComboBox/ComboBox.js +7 -7
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/cjs/components/CommandPalette/CommandPalette.js +2 -2
- package/dist/cjs/components/CommandPalette/CommandPalette.js.map +1 -1
- package/dist/cjs/components/Filter/Submenu.js +1 -1
- package/dist/cjs/components/Filter/Submenu.js.map +1 -1
- package/dist/cjs/components/Input/Input.js +1 -1
- package/dist/cjs/components/Input/Input.js.map +1 -1
- package/dist/cjs/components/Menu/Menu.js +4 -4
- package/dist/cjs/components/Menu/Menu.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +1 -1
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +11 -14
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/Window/Window.js +1 -1
- package/dist/cjs/components/Window/Window.js.map +1 -1
- package/dist/cjs/hooks/useInputHours.js +7 -7
- package/dist/cjs/hooks/useInputHours.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +5 -5
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +7 -10
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/index.js +39 -41
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Window.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_reactFocusLock","_helpers","_useForkRef","_reactRemoveScroll","_Style","_utils","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","returnFocus","preventScroll","Window","exports","forwardRef","_ref","ref","children","onClose","className","style","onKeyDown","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableCloseOnEs","disableCloseOnEsc","onClick","rest","innerRef","useRef","handleRef","useForkRef","_useLayerContext","useLayerContext","_useLayerContext$zInd","zIndex","layers","skyscraper","handleKeyDown","useCallback","event","defaultPrevented","preventDefault","handleClick","stopPropagation","createElement","Portal","disabled","RemoveScroll","forwardProps","enabled","noIsolation","StyledWindow","tabIndex","classnames","displayName"],"sources":["../../../../src/components/Window/Window.tsx"],"sourcesContent":["import React, { useCallback, useRef, forwardRef, KeyboardEvent } from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\nimport { layers } from \"../../utils\";\n\nexport interface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableCloseOnEsc?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IWindow>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n disableCloseOnEsc = false,\n onClick,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = layers.skyscraper } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\") &&\n !disableCloseOnEsc\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [disableCloseOnEsc, onClose, onKeyDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n event?.stopPropagation();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick]\n );\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n onClick={handleClick}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Window.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_reactFocusLock","_helpers","_useForkRef","_reactRemoveScroll","_Style","_utils","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","returnFocus","preventScroll","Window","exports","forwardRef","_ref","ref","children","onClose","className","style","onKeyDown","_ref$disableFocusLock","disableFocusLock","_ref$disableScrollLoc","disableScrollLock","_ref$disableCloseOnEs","disableCloseOnEsc","onClick","rest","innerRef","useRef","handleRef","useForkRef","_useLayerContext","useLayerContext","_useLayerContext$zInd","zIndex","layers","skyscraper","handleKeyDown","useCallback","event","defaultPrevented","preventDefault","handleClick","stopPropagation","createElement","Portal","disabled","RemoveScroll","forwardProps","enabled","noIsolation","StyledWindow","tabIndex","classnames","displayName"],"sources":["../../../../src/components/Window/Window.tsx"],"sourcesContent":["import React, { useCallback, useRef, forwardRef, KeyboardEvent } from \"react\";\nimport classnames from \"classnames\";\nimport FocusLock from \"react-focus-lock\";\nimport { Portal, useLayerContext } from \"../../helpers\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { StyledWindow } from \"./Style\";\nimport { layers } from \"../../utils\";\n\nexport interface IWindow {\n onClose?: () => void;\n disableFocusLock?: boolean;\n disableScrollLock?: boolean;\n disableCloseOnEsc?: boolean;\n}\n\nconst returnFocus = { preventScroll: true };\n\nexport const Window = forwardRef<\n HTMLDivElement,\n IWindow & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof IWindow>\n>(\n (\n {\n children,\n onClose,\n className,\n style,\n onKeyDown,\n disableFocusLock = false,\n disableScrollLock = false,\n disableCloseOnEsc = false,\n onClick,\n ...rest\n },\n ref\n ) => {\n const innerRef = useRef<HTMLDivElement>(null);\n const handleRef = useForkRef(innerRef, ref);\n const { zIndex = layers.skyscraper } = useLayerContext();\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (\n !event.defaultPrevented &&\n (event.key === \"Esc\" || event.key === \"Escape\") &&\n !disableCloseOnEsc\n ) {\n event.preventDefault();\n if (onClose) {\n onClose();\n }\n }\n if (typeof onKeyDown === \"function\") {\n onKeyDown(event);\n }\n },\n [disableCloseOnEsc, onClose, onKeyDown]\n );\n\n const handleClick = useCallback(\n (event) => {\n event?.stopPropagation();\n typeof onClick === \"function\" && onClick(event);\n },\n [onClick]\n );\n\n return (\n <Portal>\n <FocusLock returnFocus={returnFocus} disabled={disableFocusLock}>\n <RemoveScroll\n forwardProps\n ref={handleRef}\n enabled={!disableScrollLock}\n noIsolation\n >\n <StyledWindow\n {...rest}\n style={{ zIndex, ...style }}\n onKeyDown={handleKeyDown}\n tabIndex={0}\n className={classnames(\"c-window\", className)}\n onClick={handleClick}\n >\n {children}\n </StyledWindow>\n </RemoveScroll>\n </FocusLock>\n </Portal>\n );\n }\n);\n\nWindow.displayName = \"Window\";\n"],"mappings":"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"}
|
|
@@ -114,7 +114,7 @@ var useInputHours = exports.useInputHours = function useInputHours(_ref, inputRe
|
|
|
114
114
|
var isHoursSelected = selectionStart < newDotsIndex;
|
|
115
115
|
var newSelectionStart = isHoursSelected ? 0 : newDotsIndex + 1;
|
|
116
116
|
var selectionEnd = isHoursSelected ? newDotsIndex : newValue.length;
|
|
117
|
-
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0
|
|
117
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.setSelectionRange(newSelectionStart, selectionEnd);
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
120
|
}
|
|
@@ -142,7 +142,7 @@ var useInputHours = exports.useInputHours = function useInputHours(_ref, inputRe
|
|
|
142
142
|
}
|
|
143
143
|
if ((e.metaKey || e.ctrlKey) && e.key === "a") {
|
|
144
144
|
var _inputRef$current2;
|
|
145
|
-
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0
|
|
145
|
+
(_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 || _inputRef$current2.select();
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
148
|
var input = e.target;
|
|
@@ -157,7 +157,7 @@ var useInputHours = exports.useInputHours = function useInputHours(_ref, inputRe
|
|
|
157
157
|
if (isMinutesSelected) {
|
|
158
158
|
var _inputRef$current3;
|
|
159
159
|
e.preventDefault();
|
|
160
|
-
(_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0
|
|
160
|
+
(_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 || _inputRef$current3.setSelectionRange(0, newDotsIndex);
|
|
161
161
|
}
|
|
162
162
|
} else {
|
|
163
163
|
var _newDotsIndex = currentValue.indexOf(":");
|
|
@@ -165,7 +165,7 @@ var useInputHours = exports.useInputHours = function useInputHours(_ref, inputRe
|
|
|
165
165
|
if (isHoursSelected) {
|
|
166
166
|
var _inputRef$current4;
|
|
167
167
|
e.preventDefault();
|
|
168
|
-
(_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0
|
|
168
|
+
(_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 || _inputRef$current4.setSelectionRange(_newDotsIndex + 1, currentValue.length);
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
}
|
|
@@ -204,10 +204,10 @@ var useInputHours = exports.useInputHours = function useInputHours(_ref, inputRe
|
|
|
204
204
|
var dotsIndex = currentValue.indexOf(":");
|
|
205
205
|
if (selectionStart < dotsIndex) {
|
|
206
206
|
var _inputRef$current6;
|
|
207
|
-
(_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0
|
|
207
|
+
(_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 || _inputRef$current6.setSelectionRange(0, dotsIndex);
|
|
208
208
|
} else if (selectionStart >= dotsIndex) {
|
|
209
209
|
var _inputRef$current7;
|
|
210
|
-
(_inputRef$current7 = inputRef.current) === null || _inputRef$current7 === void 0
|
|
210
|
+
(_inputRef$current7 = inputRef.current) === null || _inputRef$current7 === void 0 || _inputRef$current7.setSelectionRange(dotsIndex + 1, currentValue.length);
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
213
|
if (typeof onClick === "function") {
|
|
@@ -217,7 +217,7 @@ var useInputHours = exports.useInputHours = function useInputHours(_ref, inputRe
|
|
|
217
217
|
var handleDoubleClick = (0, _react.useCallback)(function () {
|
|
218
218
|
if (inputRef.current) {
|
|
219
219
|
var _inputRef$current8;
|
|
220
|
-
(_inputRef$current8 = inputRef.current) === null || _inputRef$current8 === void 0
|
|
220
|
+
(_inputRef$current8 = inputRef.current) === null || _inputRef$current8 === void 0 || _inputRef$current8.select();
|
|
221
221
|
}
|
|
222
222
|
}, [inputRef]);
|
|
223
223
|
var inputProps = (0, _react.useMemo)(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInputHours.js","names":["_react","require","_utils","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useInputHours","exports","_ref","inputRef","withLeadingZero","onSave","_ref$validation","validation","validateTimeInput","allowEmptyValue","onCancel","_ref$minuteIncrement","minuteIncrement","incrementOnlySelected","onEnterKeyPress","onChange","onClick","_useState","useState","decimalToHours","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","handleIncrementDecrement","increment","selectionStart","dotsIndex","indexOf","_currentValue$split$m","split","map","Number","_currentValue$split$m2","hours","minutes","newHours","newMinutes","newMinutesString","newHoursString","newValue","requestAnimationFrame","_inputRef$current","newDotsIndex","isHoursSelected","newSelectionStart","selectionEnd","setSelectionRange","handleKeyDown","key","blur","metaKey","ctrlKey","_inputRef$current2","select","input","start","end","shiftKey","isMinutesSelected","_inputRef$current3","preventDefault","_inputRef$current4","substring","handleChange","handleClick","_inputRef$current5","_inputRef$current6","_inputRef$current7","handleDoubleClick","_inputRef$current8","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick"],"sources":["../../../src/hooks/useInputHours.tsx"],"sourcesContent":["import {\n RefObject,\n useCallback,\n useMemo,\n useRef,\n useState,\n MouseEvent,\n} from \"react\";\nimport { decimalToHours } from \"../utils\";\nimport { validateTimeInput } from \"../utils\";\n\nexport interface IInputHours {\n value?: string | number;\n withLeadingZero?: boolean;\n onSave?: (e: Event) => void;\n validation?: (...args) => boolean;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n minuteIncrement?: number;\n incrementOnlySelected?: boolean;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n}\n\nexport const useInputHours = (\n {\n value,\n withLeadingZero,\n onSave,\n validation = validateTimeInput,\n allowEmptyValue,\n onCancel,\n minuteIncrement = 1,\n incrementOnlySelected,\n onEnterKeyPress,\n onChange,\n onClick,\n }: IInputHours,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n decimalToHours(value, withLeadingZero)\n );\n const [prevValue, setPrevValue] = useState(() =>\n decimalToHours(value, withLeadingZero)\n );\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = decimalToHours(e.target.value, withLeadingZero);\n setPrevValue(_value);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n },\n [allowEmptyValue, onCancel, onSave, prevValue, withLeadingZero]\n );\n\n const handleIncrementDecrement = useCallback(\n (increment: boolean) => {\n if (inputRef.current) {\n const selectionStart = inputRef.current.selectionStart;\n if (selectionStart !== null) {\n const dotsIndex = currentValue.indexOf(\":\");\n const [hours, minutes] = currentValue.split(\":\").map(Number);\n let newHours = hours;\n let newMinutes = minutes;\n\n if (selectionStart < dotsIndex) {\n if (increment) {\n newHours += 1;\n } else {\n newHours -= 1;\n if (newHours < 0) newHours = 0;\n }\n } else if (selectionStart > dotsIndex) {\n if (increment) {\n newMinutes += minuteIncrement;\n if (newMinutes > 59) {\n newMinutes = 0;\n if (!incrementOnlySelected) newHours += 1;\n }\n } else {\n if (newMinutes >= minuteIncrement || newMinutes === 0) {\n newMinutes -= minuteIncrement;\n if (newMinutes < 0 && newHours > 0) {\n newMinutes = 60 - minuteIncrement;\n if (!incrementOnlySelected) newHours -= 1;\n }\n if (newHours < 0) {\n newHours = 0;\n }\n } else {\n newMinutes = 0;\n }\n }\n }\n\n const newMinutesString =\n newMinutes < 10 ? `0${newMinutes}` : newMinutes;\n const newHoursString =\n withLeadingZero && newHours < 10 ? `0${newHours}` : newHours;\n const newValue = `${newHoursString}:${newMinutesString}`;\n\n if (validation(newValue, withLeadingZero)) {\n setCurrentValue(newValue);\n\n if (onChange) onChange(newValue);\n\n requestAnimationFrame(() => {\n const newDotsIndex = newValue.indexOf(\":\");\n const isHoursSelected = selectionStart < newDotsIndex;\n const newSelectionStart = isHoursSelected ? 0 : newDotsIndex + 1;\n const selectionEnd = isHoursSelected\n ? newDotsIndex\n : newValue.length;\n inputRef.current?.setSelectionRange(\n newSelectionStart,\n selectionEnd\n );\n });\n }\n }\n }\n },\n [\n currentValue,\n incrementOnlySelected,\n inputRef,\n minuteIncrement,\n onChange,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n const input = e.target;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const currentValue = input.value;\n if (e.key === \"Tab\") {\n if (start !== end) {\n if (e.shiftKey) {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isMinutesSelected = start > newDotsIndex;\n if (isMinutesSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(0, newDotsIndex);\n }\n } else {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isHoursSelected = start < newDotsIndex;\n if (isHoursSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(\n newDotsIndex + 1,\n currentValue.length\n );\n }\n }\n }\n return;\n }\n\n if (start !== end) {\n if (e.key === \"ArrowUp\") {\n handleIncrementDecrement(true);\n return;\n }\n if (e.key === \"ArrowDown\") {\n handleIncrementDecrement(false);\n return;\n }\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n } else {\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n }\n },\n [\n handleIncrementDecrement,\n inputRef,\n onCancel,\n onEnterKeyPress,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n setCurrentValue(e.target.value);\n if (onChange) onChange(e.target.value);\n },\n [onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n const selectionStart = inputRef.current?.selectionStart;\n if (\n inputRef.current &&\n currentValue &&\n currentValue.length > 0 &&\n typeof selectionStart === \"number\"\n ) {\n const dotsIndex = currentValue.indexOf(\":\");\n if (selectionStart < dotsIndex) {\n inputRef.current?.setSelectionRange(0, dotsIndex);\n } else if (selectionStart >= dotsIndex) {\n inputRef.current?.setSelectionRange(\n dotsIndex + 1,\n currentValue.length\n );\n }\n }\n\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [currentValue, inputRef, onClick]\n );\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n };\n }, [\n currentValue,\n handleBlur,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleKeyDown,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useInputHours.js","names":["_react","require","_utils","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","Array","from","test","len","length","arr2","r","l","t","Symbol","iterator","e","u","a","f","next","done","push","value","return","isArray","useInputHours","exports","_ref","inputRef","withLeadingZero","onSave","_ref$validation","validation","validateTimeInput","allowEmptyValue","onCancel","_ref$minuteIncrement","minuteIncrement","incrementOnlySelected","onEnterKeyPress","onChange","onClick","_useState","useState","decimalToHours","_useState2","currentValue","setCurrentValue","_useState3","_useState4","prevValue","setPrevValue","escapeRef","useRef","handleBlur","useCallback","current","target","trim","_value","handleIncrementDecrement","increment","selectionStart","dotsIndex","indexOf","_currentValue$split$m","split","map","Number","_currentValue$split$m2","hours","minutes","newHours","newMinutes","newMinutesString","newHoursString","newValue","requestAnimationFrame","_inputRef$current","newDotsIndex","isHoursSelected","newSelectionStart","selectionEnd","setSelectionRange","handleKeyDown","key","blur","metaKey","ctrlKey","_inputRef$current2","select","input","start","end","shiftKey","isMinutesSelected","_inputRef$current3","preventDefault","_inputRef$current4","substring","handleChange","handleClick","_inputRef$current5","_inputRef$current6","_inputRef$current7","handleDoubleClick","_inputRef$current8","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick"],"sources":["../../../src/hooks/useInputHours.tsx"],"sourcesContent":["import {\n RefObject,\n useCallback,\n useMemo,\n useRef,\n useState,\n MouseEvent,\n} from \"react\";\nimport { decimalToHours } from \"../utils\";\nimport { validateTimeInput } from \"../utils\";\n\nexport interface IInputHours {\n value?: string | number;\n withLeadingZero?: boolean;\n onSave?: (e: Event) => void;\n validation?: (...args) => boolean;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n minuteIncrement?: number;\n incrementOnlySelected?: boolean;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n}\n\nexport const useInputHours = (\n {\n value,\n withLeadingZero,\n onSave,\n validation = validateTimeInput,\n allowEmptyValue,\n onCancel,\n minuteIncrement = 1,\n incrementOnlySelected,\n onEnterKeyPress,\n onChange,\n onClick,\n }: IInputHours,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n decimalToHours(value, withLeadingZero)\n );\n const [prevValue, setPrevValue] = useState(() =>\n decimalToHours(value, withLeadingZero)\n );\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = decimalToHours(e.target.value, withLeadingZero);\n setPrevValue(_value);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n },\n [allowEmptyValue, onCancel, onSave, prevValue, withLeadingZero]\n );\n\n const handleIncrementDecrement = useCallback(\n (increment: boolean) => {\n if (inputRef.current) {\n const selectionStart = inputRef.current.selectionStart;\n if (selectionStart !== null) {\n const dotsIndex = currentValue.indexOf(\":\");\n const [hours, minutes] = currentValue.split(\":\").map(Number);\n let newHours = hours;\n let newMinutes = minutes;\n\n if (selectionStart < dotsIndex) {\n if (increment) {\n newHours += 1;\n } else {\n newHours -= 1;\n if (newHours < 0) newHours = 0;\n }\n } else if (selectionStart > dotsIndex) {\n if (increment) {\n newMinutes += minuteIncrement;\n if (newMinutes > 59) {\n newMinutes = 0;\n if (!incrementOnlySelected) newHours += 1;\n }\n } else {\n if (newMinutes >= minuteIncrement || newMinutes === 0) {\n newMinutes -= minuteIncrement;\n if (newMinutes < 0 && newHours > 0) {\n newMinutes = 60 - minuteIncrement;\n if (!incrementOnlySelected) newHours -= 1;\n }\n if (newHours < 0) {\n newHours = 0;\n }\n } else {\n newMinutes = 0;\n }\n }\n }\n\n const newMinutesString =\n newMinutes < 10 ? `0${newMinutes}` : newMinutes;\n const newHoursString =\n withLeadingZero && newHours < 10 ? `0${newHours}` : newHours;\n const newValue = `${newHoursString}:${newMinutesString}`;\n\n if (validation(newValue, withLeadingZero)) {\n setCurrentValue(newValue);\n\n if (onChange) onChange(newValue);\n\n requestAnimationFrame(() => {\n const newDotsIndex = newValue.indexOf(\":\");\n const isHoursSelected = selectionStart < newDotsIndex;\n const newSelectionStart = isHoursSelected ? 0 : newDotsIndex + 1;\n const selectionEnd = isHoursSelected\n ? newDotsIndex\n : newValue.length;\n inputRef.current?.setSelectionRange(\n newSelectionStart,\n selectionEnd\n );\n });\n }\n }\n }\n },\n [\n currentValue,\n incrementOnlySelected,\n inputRef,\n minuteIncrement,\n onChange,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n const input = e.target;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const currentValue = input.value;\n if (e.key === \"Tab\") {\n if (start !== end) {\n if (e.shiftKey) {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isMinutesSelected = start > newDotsIndex;\n if (isMinutesSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(0, newDotsIndex);\n }\n } else {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isHoursSelected = start < newDotsIndex;\n if (isHoursSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(\n newDotsIndex + 1,\n currentValue.length\n );\n }\n }\n }\n return;\n }\n\n if (start !== end) {\n if (e.key === \"ArrowUp\") {\n handleIncrementDecrement(true);\n return;\n }\n if (e.key === \"ArrowDown\") {\n handleIncrementDecrement(false);\n return;\n }\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n } else {\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n }\n },\n [\n handleIncrementDecrement,\n inputRef,\n onCancel,\n onEnterKeyPress,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n setCurrentValue(e.target.value);\n if (onChange) onChange(e.target.value);\n },\n [onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n const selectionStart = inputRef.current?.selectionStart;\n if (\n inputRef.current &&\n currentValue &&\n currentValue.length > 0 &&\n typeof selectionStart === \"number\"\n ) {\n const dotsIndex = currentValue.indexOf(\":\");\n if (selectionStart < dotsIndex) {\n inputRef.current?.setSelectionRange(0, dotsIndex);\n } else if (selectionStart >= dotsIndex) {\n inputRef.current?.setSelectionRange(\n dotsIndex + 1,\n currentValue.length\n );\n }\n }\n\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [currentValue, inputRef, onClick]\n );\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n };\n }, [\n currentValue,\n handleBlur,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleKeyDown,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC, ReactElement, Ref } from "react";
|
|
1
|
+
import { FC, ReactElement, Ref, ReactNode } from "react";
|
|
2
2
|
import { Placement } from "@popperjs/core";
|
|
3
3
|
import { IAutocompleteProps } from "../Autocomplete/Autocomplete";
|
|
4
4
|
interface ElementWithRef<T> extends ReactElement {
|
|
@@ -13,10 +13,6 @@ export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" |
|
|
|
13
13
|
position?: Placement;
|
|
14
14
|
/** onChange callback */
|
|
15
15
|
onChange?: (e: (string | number)[] | string | number) => void;
|
|
16
|
-
/** Set action icon in select */
|
|
17
|
-
actionIcon?: ReactElement;
|
|
18
|
-
/** Set label for action icon */
|
|
19
|
-
actionLabel?: string;
|
|
20
16
|
/** Placeholder for Select input */
|
|
21
17
|
placeholder?: string;
|
|
22
18
|
/** Function that triggers when empty is clicked */
|
|
@@ -31,6 +27,10 @@ export interface ISelectProps extends Omit<IAutocompleteProps, "handleChange" |
|
|
|
31
27
|
onSelectOpen?: () => void;
|
|
32
28
|
/** Callback called when the Select menu is closed */
|
|
33
29
|
onSelectClose?: () => void;
|
|
30
|
+
/** Node element on the left side */
|
|
31
|
+
startAdornment?: ReactNode;
|
|
32
|
+
/** Node element on the right side */
|
|
33
|
+
endAdornment?: ReactNode;
|
|
34
34
|
}
|
|
35
35
|
export declare const Select: FC<ISelectProps>;
|
|
36
36
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAUlE,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,cAAc,GAAG,SAAS,GAAG,mBAAmB,GAAG,oBAAoB,CACxE;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CA6OnC,CAAC"}
|
|
@@ -8,7 +8,6 @@ exports.Select = void 0;
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/extends"));
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _Autocomplete = require("../Autocomplete");
|
|
11
|
-
var _Tooltip = require("../Tooltip");
|
|
12
11
|
var _Menu = require("../Menu/Menu");
|
|
13
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
13
|
var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
|
|
@@ -25,8 +24,6 @@ const Select = _ref => {
|
|
|
25
24
|
selected = [],
|
|
26
25
|
position = "bottom-start",
|
|
27
26
|
onChange = () => null,
|
|
28
|
-
actionIcon,
|
|
29
|
-
actionLabel,
|
|
30
27
|
placeholder,
|
|
31
28
|
emptyAction = () => null,
|
|
32
29
|
disableSearch = false,
|
|
@@ -38,8 +35,13 @@ const Select = _ref => {
|
|
|
38
35
|
renderOption,
|
|
39
36
|
handleDefaultOptionChange,
|
|
40
37
|
preselectDefaultValue = type === "single",
|
|
38
|
+
startAdornment,
|
|
39
|
+
endAdornment,
|
|
41
40
|
...prop
|
|
42
41
|
} = _ref;
|
|
42
|
+
if (disableSearch && (startAdornment || endAdornment)) {
|
|
43
|
+
console.warn("Adornments are not visible when search bar is hidden");
|
|
44
|
+
}
|
|
43
45
|
const childNode = (0, _react.useRef)();
|
|
44
46
|
const elementRef = (0, _react.useRef)(null);
|
|
45
47
|
const handleRef = (0, _useForkRef.default)(childNode, elementRef);
|
|
@@ -157,15 +159,10 @@ const Select = _ref => {
|
|
|
157
159
|
}, [isAllOptionsChecked, renderOption, selectedOptions, type, someOptionsChecked]);
|
|
158
160
|
return /*#__PURE__*/_react.default.createElement(Tag, props, /*#__PURE__*/_react.default.createElement("div", null, !disableSearch ? /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectForm, {
|
|
159
161
|
ref: formRef
|
|
160
|
-
}, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
|
|
162
|
+
}, startAdornment, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
|
|
161
163
|
ref: handleRef,
|
|
162
164
|
placeholder: placeholder
|
|
163
|
-
}),
|
|
164
|
-
popperTooltipStyle: {
|
|
165
|
-
zIndex: 1301
|
|
166
|
-
},
|
|
167
|
-
title: actionLabel
|
|
168
|
-
}, /*#__PURE__*/_react.default.createElement("div", null, actionIcon)), actionIcon && !actionLabel && actionIcon) : null, /*#__PURE__*/_react.default.createElement(_Autocomplete.Autocomplete, (0, _extends2.default)({}, prop, {
|
|
165
|
+
}), endAdornment) : null, /*#__PURE__*/_react.default.createElement(_Autocomplete.Autocomplete, (0, _extends2.default)({}, prop, {
|
|
169
166
|
clearInputOnSelect: true,
|
|
170
167
|
inputEl: childNode,
|
|
171
168
|
handleEmptyAction: handleEmptyAction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_Autocomplete","_Tooltip","_Menu","_classnames","_interopRequireDefault","_useForkRef","_Styles","_OptionContent","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","prop","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledSelectInput","Tooltip","popperTooltipStyle","zIndex","title","Autocomplete","clearInputOnSelect","inputEl","exports","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n ...prop\n}) => {\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n isIndeterminate={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n selectedOptions,\n type,\n someOptionsChecked,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_Autocomplete","_Menu","_classnames","_interopRequireDefault","_useForkRef","_Styles","_OptionContent","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledSelectInput","Autocomplete","clearInputOnSelect","inputEl","exports","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n isIndeterminate={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n selectedOptions,\n type,\n someOptionsChecked,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
|