@activecollab/components 1.0.132 → 1.0.135

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.
Files changed (58) hide show
  1. package/dist/cjs/components/ComboBox/ComboBox.js +2 -2
  2. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  3. package/dist/cjs/components/Dot/Dot.js +46 -0
  4. package/dist/cjs/components/Dot/Dot.js.map +1 -0
  5. package/dist/cjs/components/Dot/Styles.js +26 -0
  6. package/dist/cjs/components/Dot/Styles.js.map +1 -0
  7. package/dist/cjs/components/Dot/index.js +19 -0
  8. package/dist/cjs/components/Dot/index.js.map +1 -0
  9. package/dist/cjs/components/Input/Input.js +4 -4
  10. package/dist/cjs/components/Input/Input.js.map +1 -1
  11. package/dist/cjs/components/Select/Select.js +1 -1
  12. package/dist/cjs/components/Select/Select.js.map +1 -1
  13. package/dist/cjs/components/SelectDate/SelectDate.js +24 -13
  14. package/dist/cjs/components/SelectDate/SelectDate.js.map +1 -1
  15. package/dist/cjs/components/Tag/Styles.js +4 -11
  16. package/dist/cjs/components/Tag/Styles.js.map +1 -1
  17. package/dist/cjs/components/index.js +13 -0
  18. package/dist/cjs/components/index.js.map +1 -1
  19. package/dist/esm/components/ComboBox/ComboBox.js +2 -2
  20. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  21. package/dist/esm/components/ComboBox/Styles.d.ts +1 -1
  22. package/dist/esm/components/Dot/Dot.d.ts +8 -0
  23. package/dist/esm/components/Dot/Dot.d.ts.map +1 -0
  24. package/dist/esm/components/Dot/Dot.js +22 -0
  25. package/dist/esm/components/Dot/Dot.js.map +1 -0
  26. package/dist/esm/components/Dot/Styles.d.ts +7 -0
  27. package/dist/esm/components/Dot/Styles.d.ts.map +1 -0
  28. package/dist/esm/components/Dot/Styles.js +10 -0
  29. package/dist/esm/components/Dot/Styles.js.map +1 -0
  30. package/dist/esm/components/Dot/index.d.ts +2 -0
  31. package/dist/esm/components/Dot/index.d.ts.map +1 -0
  32. package/dist/esm/components/Dot/index.js +2 -0
  33. package/dist/esm/components/Dot/index.js.map +1 -0
  34. package/dist/esm/components/Input/Input.d.ts +2 -2
  35. package/dist/esm/components/Input/Input.d.ts.map +1 -1
  36. package/dist/esm/components/Input/Input.js +4 -4
  37. package/dist/esm/components/Input/Input.js.map +1 -1
  38. package/dist/esm/components/Select/Select.js +1 -1
  39. package/dist/esm/components/Select/Select.js.map +1 -1
  40. package/dist/esm/components/Select/Styles.d.ts +1 -1
  41. package/dist/esm/components/Select/Styles.d.ts.map +1 -1
  42. package/dist/esm/components/SelectDate/SelectDate.d.ts +3 -1
  43. package/dist/esm/components/SelectDate/SelectDate.d.ts.map +1 -1
  44. package/dist/esm/components/SelectDate/SelectDate.js +24 -13
  45. package/dist/esm/components/SelectDate/SelectDate.js.map +1 -1
  46. package/dist/esm/components/Tag/Styles.d.ts +2 -1
  47. package/dist/esm/components/Tag/Styles.d.ts.map +1 -1
  48. package/dist/esm/components/Tag/Styles.js +3 -9
  49. package/dist/esm/components/Tag/Styles.js.map +1 -1
  50. package/dist/esm/components/index.d.ts +1 -0
  51. package/dist/esm/components/index.d.ts.map +1 -1
  52. package/dist/esm/components/index.js +1 -0
  53. package/dist/esm/components/index.js.map +1 -1
  54. package/dist/index.js +116 -85
  55. package/dist/index.js.map +1 -1
  56. package/dist/index.min.js +1 -1
  57. package/dist/index.min.js.map +1 -1
  58. package/package.json +1 -1
@@ -184,8 +184,8 @@ var ComboBox = function ComboBox(_ref) {
184
184
  className: "c-combo-box",
185
185
  onBlur: handleBlur,
186
186
  onFocus: onOpen,
187
- ref: comboBoxRef,
188
- inputRef: handleRef,
187
+ wrapRef: comboBoxRef,
188
+ ref: handleRef,
189
189
  value: loading && loadingText ? loadingText : value,
190
190
  onKeyDown: handleOnKeyDown,
191
191
  onChange: handleOnChange,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":["ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","prop","timeoutRef","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","open","setOpen","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","comboBoxRef","handleBlur","current","setTimeout","clearTimeout","zIndex","clientWidth","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Button } from \"../Button/Button\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\n\nexport interface IComboBoxProps {\n /** Set selected items */\n selected?: string | number;\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (e: string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n}\n\nexport const ComboBox: FC<\n IComboBoxProps & Omit<IAutocompleteProps, keyof IComboBoxProps>\n> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n ...prop\n}) => {\n const timeoutRef = useRef<NodeJS.Timeout>();\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const [open, setOpen] = useState(false);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n },\n [open, selectedName]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue) {\n onChange?.(selectedValue);\n setOpen(false);\n }\n },\n [onChange]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback((option, props) => {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n }, []);\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n onChange?.(\"\");\n setOpen(false);\n },\n [onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n timeoutRef.current = setTimeout(() => {\n setOpen(false);\n }, 200);\n }, [selectedName]);\n\n useEffect(() => {\n return () => {\n timeoutRef.current && clearTimeout(timeoutRef.current);\n };\n }, []);\n\n return (\n <>\n <StyledComboBoxInput\n className=\"c-combo-box\"\n onBlur={handleBlur}\n onFocus={onOpen}\n ref={comboBoxRef}\n inputRef={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n {!disabled ? (\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{ zIndex: 10 }}\n strategy={\"fixed\"}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type=\"single\"\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n ) : null}\n </>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"file":"ComboBox.js"}
1
+ {"version":3,"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":["ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","prop","timeoutRef","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","open","setOpen","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","comboBoxRef","handleBlur","current","setTimeout","clearTimeout","zIndex","clientWidth","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Button } from \"../Button/Button\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\n\nexport interface IComboBoxProps {\n /** Set selected items */\n selected?: string | number;\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (e: string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n}\n\nexport const ComboBox: FC<\n IComboBoxProps & Omit<IAutocompleteProps, keyof IComboBoxProps>\n> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n ...prop\n}) => {\n const timeoutRef = useRef<NodeJS.Timeout>();\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const [open, setOpen] = useState(false);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n },\n [open, selectedName]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue) {\n onChange?.(selectedValue);\n setOpen(false);\n }\n },\n [onChange]\n );\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback((option, props) => {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n }, []);\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n onChange?.(\"\");\n setOpen(false);\n },\n [onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n timeoutRef.current = setTimeout(() => {\n setOpen(false);\n }, 200);\n }, [selectedName]);\n\n useEffect(() => {\n return () => {\n timeoutRef.current && clearTimeout(timeoutRef.current);\n };\n }, []);\n\n return (\n <>\n <StyledComboBoxInput\n className=\"c-combo-box\"\n onBlur={handleBlur}\n onFocus={onOpen}\n wrapRef={comboBoxRef}\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n {!disabled ? (\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{ zIndex: 10 }}\n strategy={\"fixed\"}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type=\"single\"\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n ) : null}\n </>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"file":"ComboBox.js"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Dot = void 0;
9
+
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _Styles = require("./Styles");
15
+
16
+ var _excluded = ["color", "size", "className"];
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ function _extends() { _extends = Object.assign || 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); }
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
30
+ var Dot = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
31
+ var color = _ref.color,
32
+ _ref$size = _ref.size,
33
+ size = _ref$size === void 0 ? 8 : _ref$size,
34
+ className = _ref.className,
35
+ rest = _objectWithoutProperties(_ref, _excluded);
36
+
37
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledDot, _extends({
38
+ className: (0, _classnames.default)("c-dot", className),
39
+ ref: ref,
40
+ $color: color,
41
+ $size: size
42
+ }, rest));
43
+ });
44
+ exports.Dot = Dot;
45
+ Dot.displayName = "Dot";
46
+ //# sourceMappingURL=Dot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Dot/Dot.tsx"],"names":["Dot","ref","color","size","className","rest","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;AAQO,IAAMA,GAAG,gBAAG,uBAGjB,gBAA0CC,GAA1C,EAAkD;AAAA,MAA/CC,KAA+C,QAA/CA,KAA+C;AAAA,uBAAxCC,IAAwC;AAAA,MAAxCA,IAAwC,0BAAjC,CAAiC;AAAA,MAA9BC,SAA8B,QAA9BA,SAA8B;AAAA,MAAhBC,IAAgB;;AAClD,sBACE,6BAAC,iBAAD;AACE,IAAA,SAAS,EAAE,yBAAW,OAAX,EAAoBD,SAApB,CADb;AAEE,IAAA,GAAG,EAAEH,GAFP;AAGE,IAAA,MAAM,EAAEC,KAHV;AAIE,IAAA,KAAK,EAAEC;AAJT,KAKME,IALN,EADF;AASD,CAbkB,CAAZ;;AAePL,GAAG,CAACM,WAAJ,GAAkB,KAAlB","sourcesContent":["import classnames from \"classnames\";\nimport React, { forwardRef } from \"react\";\nimport { StyledDot } from \"./Styles\";\n\nexport interface DotProps {\n color: string;\n size?: number;\n className?: string;\n}\n\nexport const Dot = forwardRef<\n HTMLDivElement,\n DotProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof DotProps>\n>(({ color, size = 8, className, ...rest }, ref) => {\n return (\n <StyledDot\n className={classnames(\"c-dot\", className)}\n ref={ref}\n $color={color}\n $size={size}\n {...rest}\n />\n );\n});\n\nDot.displayName = \"Dot\";\n"],"file":"Dot.js"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.StyledDot = void 0;
9
+
10
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
+
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ var StyledDot = _styledComponents.default.div.withConfig({
17
+ displayName: "Styles__StyledDot",
18
+ componentId: "sc-1hwsgu3-0"
19
+ })(["border-radius:100%;", " ", ""], function (props) {
20
+ return props.$size && (0, _styledComponents.css)(["width:", "px;height:", "px;"], props.$size, props.$size);
21
+ }, function (props) {
22
+ return props.$color && (0, _styledComponents.css)(["background-color:", ";"], props.$color);
23
+ });
24
+
25
+ exports.StyledDot = StyledDot;
26
+ //# sourceMappingURL=Styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Dot/Styles.ts"],"names":["StyledDot","styled","div","props","$size","css","$color"],"mappings":";;;;;;;;;AAAA;;;;;;AAOO,IAAMA,SAAS,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,qCAGlB,UAACC,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,QACAC,qBADA,mCAEWF,KAAK,CAACC,KAFjB,EAGYD,KAAK,CAACC,KAHlB,CADA;AAAA,CAHkB,EAUlB,UAACD,KAAD;AAAA,SACAA,KAAK,CAACG,MAAN,QACAD,qBADA,8BAEsBF,KAAK,CAACG,MAF5B,CADA;AAAA,CAVkB,CAAf","sourcesContent":["import styled, { css } from \"styled-components\";\n\ninterface StyledDotProps {\n $color: string;\n $size: number;\n}\n\nexport const StyledDot = styled.div<StyledDotProps>`\n border-radius: 100%;\n\n ${(props) =>\n props.$size &&\n css`\n width: ${props.$size}px;\n height: ${props.$size}px;\n `}\n\n ${(props) =>\n props.$color &&\n css`\n background-color: ${props.$color};\n `}\n`;\n"],"file":"Styles.js"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _Dot = require("./Dot");
8
+
9
+ Object.keys(_Dot).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _Dot[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _Dot[key];
16
+ }
17
+ });
18
+ });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/Dot/index.ts"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from \"./Dot\";\n"],"file":"index.js"}
@@ -15,7 +15,7 @@ var _Styles = require("./Styles");
15
15
 
16
16
  var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
17
17
 
18
- var _excluded = ["className", "style", "type", "disabled", "size", "invalid", "startAdornment", "endAdornment", "inputRef"];
18
+ var _excluded = ["className", "style", "type", "disabled", "size", "invalid", "startAdornment", "endAdornment", "wrapRef"];
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -43,11 +43,11 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
43
43
  invalid = _ref$invalid === void 0 ? false : _ref$invalid,
44
44
  startAdornment = _ref.startAdornment,
45
45
  endAdornment = _ref.endAdornment,
46
- inputRef = _ref.inputRef,
46
+ wrapRef = _ref.wrapRef,
47
47
  rest = _objectWithoutProperties(_ref, _excluded);
48
48
 
49
49
  var intInputRef = (0, _react.useRef)(null);
50
- var handleRef = (0, _useForkRef.default)(inputRef, intInputRef);
50
+ var handleRef = (0, _useForkRef.default)(ref, intInputRef);
51
51
  var handleWrapperClick = (0, _react.useCallback)(function () {
52
52
  var _intInputRef$current;
53
53
 
@@ -60,7 +60,7 @@ var Input = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
60
60
  style: style,
61
61
  className: (0, _classnames.default)("c-input-wrapper", className),
62
62
  onClick: handleWrapperClick,
63
- ref: ref
63
+ ref: wrapRef
64
64
  }, startAdornment, /*#__PURE__*/_react.default.createElement(_Styles.StyledInput, _extends({
65
65
  ref: handleRef,
66
66
  type: type,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Input/Input.tsx"],"names":["Input","React","forwardRef","ref","className","style","type","disabled","size","invalid","startAdornment","endAdornment","inputRef","rest","intInputRef","handleRef","handleWrapperClick","current","focus","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAWO,IAAMA,KAAK,gBAAGC,eAAMC,UAAN,CAInB,gBAaEC,GAbF,EAcK;AAAA,4BAZDC,SAYC;AAAA,MAZDA,SAYC,+BAZW,EAYX;AAAA,MAXDC,KAWC,QAXDA,KAWC;AAAA,uBAVDC,IAUC;AAAA,MAVDA,IAUC,0BAVM,MAUN;AAAA,2BATDC,QASC;AAAA,MATDA,QASC,8BATU,KASV;AAAA,uBARDC,IAQC;AAAA,MARDA,IAQC,0BARM,SAQN;AAAA,0BAPDC,OAOC;AAAA,MAPDA,OAOC,6BAPS,KAOT;AAAA,MANDC,cAMC,QANDA,cAMC;AAAA,MALDC,YAKC,QALDA,YAKC;AAAA,MAJDC,QAIC,QAJDA,QAIC;AAAA,MAHEC,IAGF;;AACH,MAAMC,WAAW,GAAG,mBAAyB,IAAzB,CAApB;AACA,MAAMC,SAAS,GAAG,yBAAWH,QAAX,EAAqBE,WAArB,CAAlB;AAEA,MAAME,kBAAkB,GAAG,wBAAY,YAAM;AAAA;;AAC3C,4BAAAF,WAAW,CAACG,OAAZ,8EAAqBC,KAArB;AACD,GAF0B,EAExB,EAFwB,CAA3B;AAIA,sBACE,6BAAC,0BAAD;AACE,IAAA,KAAK,EAAEV,IADT;AAEE,IAAA,QAAQ,EAAEC,OAFZ;AAGE,IAAA,SAAS,EAAEF,QAHb;AAIE,IAAA,KAAK,EAAEF,KAJT;AAKE,IAAA,SAAS,EAAE,yBAAW,iBAAX,EAA8BD,SAA9B,CALb;AAME,IAAA,OAAO,EAAEY,kBANX;AAOE,IAAA,GAAG,EAAEb;AAPP,KASGO,cATH,eAUE,6BAAC,mBAAD;AACE,IAAA,GAAG,EAAEK,SADP;AAEE,IAAA,IAAI,EAAET,IAFR;AAGE,IAAA,KAAK,EAAEE,IAHT;AAIE,IAAA,QAAQ,EAAED,QAJZ;AAKE,IAAA,SAAS,EAAC;AALZ,KAMMM,IANN,EAVF,EAkBGF,YAlBH,CADF;AAsBD,CAhDkB,CAAd;;;AAmDPX,KAAK,CAACmB,WAAN,GAAoB,OAApB","sourcesContent":["import React, { ReactNode, Ref, useCallback, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledInput, StyledInputWrapper } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { InputSize } from \"./types\";\nexport interface InputProps {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n invalid?: boolean;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n inputRef?: Ref<HTMLInputElement>;\n}\n\nexport const Input = React.forwardRef<\n HTMLDivElement,\n InputProps & Omit<React.ComponentPropsWithoutRef<\"input\">, keyof InputProps>\n>(\n (\n {\n className = \"\",\n style,\n type = \"text\",\n disabled = false,\n size = \"regular\",\n invalid = false,\n startAdornment,\n endAdornment,\n inputRef,\n ...rest\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(inputRef, intInputRef);\n\n const handleWrapperClick = useCallback(() => {\n intInputRef.current?.focus();\n }, []);\n\n return (\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n $disabled={disabled}\n style={style}\n className={classnames(\"c-input-wrapper\", className)}\n onClick={handleWrapperClick}\n ref={ref}\n >\n {startAdornment}\n <StyledInput\n ref={handleRef}\n type={type}\n $size={size}\n disabled={disabled}\n className=\"c-input\"\n {...rest}\n />\n {endAdornment}\n </StyledInputWrapper>\n );\n }\n);\n\nInput.displayName = \"Input\";\n"],"file":"Input.js"}
1
+ {"version":3,"sources":["../../../../src/components/Input/Input.tsx"],"names":["Input","React","forwardRef","ref","className","style","type","disabled","size","invalid","startAdornment","endAdornment","wrapRef","rest","intInputRef","handleRef","handleWrapperClick","current","focus","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAWO,IAAMA,KAAK,gBAAGC,eAAMC,UAAN,CAInB,gBAaEC,GAbF,EAcK;AAAA,4BAZDC,SAYC;AAAA,MAZDA,SAYC,+BAZW,EAYX;AAAA,MAXDC,KAWC,QAXDA,KAWC;AAAA,uBAVDC,IAUC;AAAA,MAVDA,IAUC,0BAVM,MAUN;AAAA,2BATDC,QASC;AAAA,MATDA,QASC,8BATU,KASV;AAAA,uBARDC,IAQC;AAAA,MARDA,IAQC,0BARM,SAQN;AAAA,0BAPDC,OAOC;AAAA,MAPDA,OAOC,6BAPS,KAOT;AAAA,MANDC,cAMC,QANDA,cAMC;AAAA,MALDC,YAKC,QALDA,YAKC;AAAA,MAJDC,OAIC,QAJDA,OAIC;AAAA,MAHEC,IAGF;;AACH,MAAMC,WAAW,GAAG,mBAAyB,IAAzB,CAApB;AACA,MAAMC,SAAS,GAAG,yBAAWZ,GAAX,EAAgBW,WAAhB,CAAlB;AAEA,MAAME,kBAAkB,GAAG,wBAAY,YAAM;AAAA;;AAC3C,4BAAAF,WAAW,CAACG,OAAZ,8EAAqBC,KAArB;AACD,GAF0B,EAExB,EAFwB,CAA3B;AAIA,sBACE,6BAAC,0BAAD;AACE,IAAA,KAAK,EAAEV,IADT;AAEE,IAAA,QAAQ,EAAEC,OAFZ;AAGE,IAAA,SAAS,EAAEF,QAHb;AAIE,IAAA,KAAK,EAAEF,KAJT;AAKE,IAAA,SAAS,EAAE,yBAAW,iBAAX,EAA8BD,SAA9B,CALb;AAME,IAAA,OAAO,EAAEY,kBANX;AAOE,IAAA,GAAG,EAAEJ;AAPP,KASGF,cATH,eAUE,6BAAC,mBAAD;AACE,IAAA,GAAG,EAAEK,SADP;AAEE,IAAA,IAAI,EAAET,IAFR;AAGE,IAAA,KAAK,EAAEE,IAHT;AAIE,IAAA,QAAQ,EAAED,QAJZ;AAKE,IAAA,SAAS,EAAC;AALZ,KAMMM,IANN,EAVF,EAkBGF,YAlBH,CADF;AAsBD,CAhDkB,CAAd;;;AAmDPX,KAAK,CAACmB,WAAN,GAAoB,OAApB","sourcesContent":["import React, { ReactNode, Ref, useCallback, useRef } from \"react\";\nimport classnames from \"classnames\";\nimport { StyledInput, StyledInputWrapper } from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { InputSize } from \"./types\";\nexport interface InputProps {\n /** Velicina inputa koja definse font-size i border radius */\n size?: InputSize;\n invalid?: boolean;\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n wrapRef?: Ref<HTMLDivElement>;\n}\n\nexport const Input = React.forwardRef<\n HTMLInputElement,\n InputProps & Omit<React.ComponentPropsWithoutRef<\"input\">, keyof InputProps>\n>(\n (\n {\n className = \"\",\n style,\n type = \"text\",\n disabled = false,\n size = \"regular\",\n invalid = false,\n startAdornment,\n endAdornment,\n wrapRef,\n ...rest\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleWrapperClick = useCallback(() => {\n intInputRef.current?.focus();\n }, []);\n\n return (\n <StyledInputWrapper\n $size={size}\n $invalid={invalid}\n $disabled={disabled}\n style={style}\n className={classnames(\"c-input-wrapper\", className)}\n onClick={handleWrapperClick}\n ref={wrapRef}\n >\n {startAdornment}\n <StyledInput\n ref={handleRef}\n type={type}\n $size={size}\n disabled={disabled}\n className=\"c-input\"\n {...rest}\n />\n {endAdornment}\n </StyledInputWrapper>\n );\n }\n);\n\nInput.displayName = \"Input\";\n"],"file":"Input.js"}
@@ -246,7 +246,7 @@ var Select = function Select(_ref) {
246
246
  return /*#__PURE__*/_react.default.createElement(Tag, props, /*#__PURE__*/_react.default.createElement("div", null, !disableSearch ? /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectForm, {
247
247
  ref: formRef
248
248
  }, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
249
- inputRef: handleRef,
249
+ ref: handleRef,
250
250
  autoFocus: true,
251
251
  placeholder: placeholder
252
252
  }), actionIcon && actionLabel && /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","prop","childNode","setChildNode","elementRef","handleRef","Tag","Menu","formRef","open","setOpen","isGroup","item","undefined","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","isAllOptionsChecked","every","includes","focus","handleChange","selectedValue","value","v","filter","concat","onClose","onOpen","props","menuClassName","className","handleEmptyAction","current","reset","handleDefaultOptionChange","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"mappings":";;;;;;;;;AAAA;;AAUA;;AACA;;AACA;;AAGA;;AAGA;;AACA;;AAMA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCO,IAAMA,MAA6C,GAAG,SAAhDA,MAAgD,OAmBvD;AAAA,uBAlBJC,IAkBI;AAAA,MAlBJA,IAkBI,0BAlBG,QAkBH;AAAA,MAjBJC,IAiBI,QAjBJA,IAiBI;AAAA,MAhBJC,MAgBI,QAhBJA,MAgBI;AAAA,MAfJC,OAeI,QAfJA,OAeI;AAAA,2BAdJC,QAcI;AAAA,MAdJA,QAcI,8BAdO,EAcP;AAAA,2BAbJC,QAaI;AAAA,MAbJA,QAaI,8BAbO,cAaP;AAAA,2BAZJC,QAYI;AAAA,MAZJA,QAYI,8BAZO;AAAA,WAAY,IAAZ;AAAA,GAYP;AAAA,MAXJC,UAWI,QAXJA,UAWI;AAAA,MAVJC,WAUI,QAVJA,WAUI;AAAA,MATJC,WASI,QATJA,WASI;AAAA,8BARJC,WAQI;AAAA,MARJA,WAQI,iCARU;AAAA,WAAY,IAAZ;AAAA,GAQV;AAAA,gCAPJC,aAOI;AAAA,MAPJA,aAOI,mCAPY,KAOZ;AAAA,MANJC,cAMI,QANJA,cAMI;AAAA,MALJC,eAKI,QALJA,eAKI;AAAA,mCAJJC,oBAII;AAAA,MAJJA,oBAII,sCAJmB,KAInB;AAAA,MAHJC,YAGI,QAHJA,YAGI;AAAA,MAFJC,aAEI,QAFJA,aAEI;AAAA,MADDC,IACC;;AACJ,kBAAkC,sBAAlC;AAAA;AAAA,MAAOC,SAAP;AAAA,MAAkBC,YAAlB;;AACA,MAAMC,UAAU,GAAG,mBAAgC,IAAhC,CAAnB;AAEA,MAAMC,SAAS,GAAG,yBAAWF,YAAX,EAAyBC,UAAzB,CAAlB;AAEA,MAAME,GAAG,GAAG,CAACpB,MAAD,GAAU,KAAV,GAAkBqB,UAA9B;AACA,MAAMC,OAAO,GAAG,mBAA+B,IAA/B,CAAhB;;AAEA,mBAAwB,qBAAS,KAAT,CAAxB;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,OAAb;;AAEA,WAASC,OAAT,CACEC,IADF,EAE6B;AAC3B,WAAQA,IAAD,CAA4BzB,OAA5B,KAAwC0B,SAA/C;AACD;;AAED,MAAMC,eAAe,GAAG,oBACtB;AAAA,WAAO1B,QAAQ,YAAY2B,KAApB,GAA4B3B,QAA5B,GAAuC,CAACA,QAAD,CAA9C;AAAA,GADsB,EAEtB,CAACA,QAAD,CAFsB,CAAxB;AAKA,MAAM4B,aAAa,GAAG,oBAAQ,YAAM;AAClC,QAAI,CAAC7B,OAAL,EAAc;AACZ,aAAO,EAAP;AACD;;AACD,WAAOA,OAAP;AACD,GALqB,EAKnB,CAACA,OAAD,CALmB,CAAtB;AAOA,MAAM8B,eAAe,GAAG,oBAAQ,YAAM;AACpC,WAAOD,aAAa,CAACE,MAAd,CACL,UACEC,GADF,EAEEC,MAFF,EAGK;AACH,UAAI,CAACT,OAAO,CAACS,MAAD,CAAZ,EAAsB;AACpB,4CAAWD,GAAX,IAAgBC,MAAM,CAACC,EAAvB;AACD;;AACD,UAAMC,eAAe,GAAGF,MAAM,CAACjC,OAAP,CAAeoC,GAAf,CAAmB,UAACH,MAAD;AAAA,eAAYA,MAAM,CAACC,EAAnB;AAAA,OAAnB,CAAxB;AACA,0CAAWF,GAAX,sBAAmBG,eAAnB;AACD,KAVI,EAWL,EAXK,CAAP;AAaD,GAduB,EAcrB,CAACN,aAAD,CAdqB,CAAxB;AAgBA,MAAMQ,mBAAmB,GAAG,oBAC1B;AAAA,WAAMP,eAAe,CAACQ,KAAhB,CAAsB,UAACL,MAAD;AAAA,aAAYN,eAAe,CAACY,QAAhB,CAAyBN,MAAzB,CAAZ;AAAA,KAAtB,CAAN;AAAA,GAD0B,EAE1B,CAACH,eAAD,EAAkBH,eAAlB,CAF0B,CAA5B;AAKA,wBAAU,YAAM;AACdL,IAAAA,IAAI,KAAIP,SAAJ,aAAIA,SAAJ,uBAAIA,SAAS,CAAEyB,KAAX,EAAJ,CAAJ;AACD,GAFD,EAEG,CAACzB,SAAD,EAAYO,IAAZ,CAFH;AAIA,MAAMmB,YAAY,GAAG,wBACnB,UAACC,aAAD,EAAmB;AACjB,QAAIA,aAAa,KAAK,IAAtB,EAA4B;AAC1B,UAAI7C,IAAI,KAAK,QAAb,EAAuB;AACrB,YAAIY,cAAJ,EAAoB;AAClBc,UAAAA,OAAO,CAAC,KAAD,CAAP;AACD;;AACD,eAAOpB,QAAQ,CAACuC,aAAD,CAAf;AACD,OANyB,CAO1B;;;AACA,UAAMC,KAAK,GAAG,SAARA,KAAQ,GAA2B;AACvC,YAAID,aAAa,YAAYd,KAA7B,EAAoC;AAClC,cAAIc,aAAa,CAACJ,KAAd,CAAoB,UAACM,CAAD;AAAA,mBAAOjB,eAAe,CAACY,QAAhB,CAAyBK,CAAzB,CAAP;AAAA,WAApB,CAAJ,EAA6D;AAC3D,mBAAOjB,eAAe,CAACkB,MAAhB,CAAuB,UAACD,CAAD;AAAA,qBAAO,CAACF,aAAa,CAACH,QAAd,CAAuBK,CAAvB,CAAR;AAAA,aAAvB,CAAP;AACD;;AACD,iBAAOF,aAAa,CAACI,MAAd,CAAqBnB,eAArB,CAAP;AACD;;AACD,YAAIA,eAAe,CAACY,QAAhB,CAAyBG,aAAzB,CAAJ,EAA6C;AAC3C,iBAAOf,eAAe,CAACkB,MAAhB,CAAuB,UAACZ,MAAD;AAAA,mBAAYA,MAAM,KAAKS,aAAvB;AAAA,WAAvB,CAAP;AACD;;AACD,4CAAWf,eAAX,IAA4Be,aAA5B;AACD,OAXD;;AAYA,aAAOvC,QAAQ,CAACwC,KAAK,EAAN,CAAf;AACD;AACF,GAxBkB,EAyBnB,CAACxC,QAAD,EAAWN,IAAX,EAAiBY,cAAjB,EAAiCkB,eAAjC,CAzBmB,CAArB;AA4BA,MAAMoB,OAAO,GAAG,wBAAY,YAAM;AAChCxB,IAAAA,OAAO,CAAC,KAAD,CAAP;;AACA,QAAIV,aAAJ,EAAmB;AACjBA,MAAAA,aAAa;AACd;AACF,GALe,EAKb,CAACA,aAAD,CALa,CAAhB;AAOA,MAAMmC,MAAM,GAAG,wBAAY,YAAM;AAC/BzB,IAAAA,OAAO,CAAC,IAAD,CAAP;;AACA,QAAIX,YAAJ,EAAkB;AAChBA,MAAAA,YAAY;AACb;AACF,GALc,EAKZ,CAACA,YAAD,CALY,CAAf;AAOA,MAAMqC,KAAK,GAAG,oBAAQ,YAAM;AAC1B,QAAIlD,MAAJ,EAAY;AACV,aAAO;AACLmD,QAAAA,aAAa,EAAE,yBAAW,UAAX,EAAuBxC,eAAvB,CADV;AAELqC,QAAAA,OAAO,EAAPA,OAFK;AAGLC,QAAAA,MAAM,EAANA,MAHK;AAILjD,QAAAA,MAAM,EAANA,MAJK;AAKLD,QAAAA,IAAI,EAAJA,IALK;AAMLwB,QAAAA,IAAI,EAAJA,IANK;AAOLpB,QAAAA,QAAQ,EAARA;AAPK,OAAP;AASD;;AACD,WAAO;AAAEiD,MAAAA,SAAS,EAAE,yBAAW,UAAX,EAAuBzC,eAAvB;AAAb,KAAP;AACD,GAba,EAaX,CAACX,MAAD,EAASW,eAAT,EAA0BqC,OAA1B,EAAmCC,MAAnC,EAA2ClD,IAA3C,EAAiDwB,IAAjD,EAAuDpB,QAAvD,CAbW,CAAd;AAeA,MAAMkD,iBAAiB,GAAG,wBACxB,UAACT,KAAD,EAAW;AAAA;;AACTpC,IAAAA,WAAW,CAACoC,KAAD,CAAX;;AACA,QAAIlC,cAAJ,EAAoB;AAClBc,MAAAA,OAAO,CAAC,KAAD,CAAP;AACD;;AACD,wBAAAF,OAAO,CAACgC,OAAR,sEAAiBC,KAAjB;AACD,GAPuB,EAQxB,CAAC/C,WAAD,EAAcE,cAAd,CARwB,CAA1B;AAWA,MAAM8C,yBAAyB,GAAG,wBAAY,YAAM;AAClD,QAAI1D,IAAI,KAAK,UAAb,EAAyB;AACvB,UAAI8B,eAAe,CAAC6B,MAAhB,KAA2B1B,eAAe,CAAC0B,MAA/C,EAAuD;AACrDrD,QAAAA,QAAQ,CAAC,EAAD,CAAR;AACD,OAFD,MAEO;AACLA,QAAAA,QAAQ,CAAC2B,eAAD,CAAR;AACD;AACF,KAND,MAMO;AACL3B,MAAAA,QAAQ,CAAC,EAAD,CAAR;;AACA,UAAIM,cAAJ,EAAoB;AAClBc,QAAAA,OAAO,CAAC,KAAD,CAAP;AACD;AACF;AACF,GAbiC,EAa/B,CAACpB,QAAD,EAAWN,IAAX,EAAiBY,cAAjB,EAAiCkB,eAAe,CAAC6B,MAAjD,EAAyD1B,eAAzD,CAb+B,CAAlC;AAeA,MAAM2B,kBAAkB,GAAG,wBACzB,UAACxB,MAAD,EAASgB,KAAT,EAAmB;AACjB,wBACE,yEACE,6BAAC,4BAAD;AACE,MAAA,QAAQ,EAAEhB,MAAM,CAACyB,KADnB;AAEE,MAAA,KAAK,EAAEzB,MAAM,CAAC0B,KAFhB;AAGE,MAAA,SAAS,EAAE1B,MAAM,CAAC2B,SAHpB;AAIE,MAAA,IAAI,EAAE3B,MAAM,CAAC4B,IAJf;AAKE,MAAA,cAAc,EAAE5B,MAAM,CAAC6B;AALzB,MADF,EAQG7B,MAAM,CAACC,EAAP,KAAc,IAAd,GACCrC,IAAI,KAAK,UAAT,gBACE,6BAAC,sBAAD;AAAgB,MAAA,OAAO,EAAEwC;AAAzB,OAAkDY,KAAlD,EADF,gBAGE,6BAAC,yBAAD;AACE,MAAA,OAAO,EAAEtB,eAAe,CAAC6B,MAAhB,GAAyB,CAAzB,IAA8B,CAAC7B,eAAe,CAAC,CAAD;AADzD,OAEMsB,KAFN,EAJH,GASGpD,IAAI,KAAK,UAAT,gBACF,6BAAC,sBAAD,EAAoBoD,KAApB,CADE,gBAGF,6BAAC,yBAAD,EAAuBA,KAAvB,CApBJ,CADF;AAyBD,GA3BwB,EA4BzB,CAACZ,mBAAD,EAAsBV,eAAtB,EAAuC9B,IAAvC,CA5ByB,CAA3B;AA+BA,sBACE,6BAAC,GAAD,EAASoD,KAAT,eACE,0CACG,CAACzC,aAAD,gBACC,6BAAC,wBAAD;AAAkB,IAAA,GAAG,EAAEa;AAAvB,kBACE,6BAAC,yBAAD;AACE,IAAA,QAAQ,EAAEH,SADZ;AAEE,IAAA,SAAS,MAFX;AAGE,IAAA,WAAW,EAAEZ;AAHf,IADF,EAMGF,UAAU,IAAIC,WAAd,iBACC,6BAAC,gBAAD;AACE,IAAA,kBAAkB,EAAE;AAAE0D,MAAAA,MAAM,EAAE;AAAV,KADtB;AAEE,IAAA,KAAK,EAAE1D;AAFT,kBAIE,0CAAMD,UAAN,CAJF,CAPJ,EAcGA,UAAU,IAAI,CAACC,WAAf,IAA8BD,UAdjC,CADD,GAiBG,IAlBN,eAmBE,6BAAC,0BAAD,eACMU,IADN;AAEE,IAAA,OAAO,EAAEC,SAFX;AAGE,IAAA,iBAAiB,EAAEqC,iBAHrB;AAIE,IAAA,QAAQ,EAAEnD,QAJZ;AAKE,IAAA,YAAY,EAAEwC,YALhB;AAME,IAAA,YAAY,EAAEgB,kBANhB;AAOE,IAAA,OAAO,EAAEzD,OAPX;AAQE,IAAA,yBAAyB,EAAEuD,yBAR7B;AASE,IAAA,IAAI,EAAE1D,IATR;AAUE,IAAA,qBAAqB,EAAEA,IAAI,KAAK,QAVlC;AAWE,IAAA,oBAAoB,EAAEc;AAXxB,KAnBF,CADF,CADF;AAqCD,CAhOM;;;AAkOPf,MAAM,CAACoE,WAAP,GAAqB,QAArB","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete } 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\ninterface ISelectProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set selected items */\n selected?: (string | number)[] | string | number;\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 /** Should the order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\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 & IAutocompleteProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = (): null => 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 ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\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 (!isGroup(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 useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== null) {\n if (type === \"single\") {\n if (forceCloseMenu) {\n setOpen(false);\n }\n return onChange(selectedValue);\n }\n // multiple\n const value = (): (string | number)[] => {\n if (selectedValue instanceof Array) {\n if (selectedValue.every((v) => selectedOptions.includes(v))) {\n return selectedOptions.filter((v) => !selectedValue.includes(v));\n }\n return selectedValue.concat(selectedOptions);\n }\n if (selectedOptions.includes(selectedValue)) {\n return selectedOptions.filter((option) => option !== selectedValue);\n }\n return [...selectedOptions, selectedValue];\n };\n return onChange(value());\n }\n },\n [onChange, type, forceCloseMenu, selectedOptions]\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 };\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 handleDefaultOptionChange = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n onChange([]);\n } else {\n onChange(allOptionValues);\n }\n } else {\n onChange(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n }\n }, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\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 checked={isAllOptionsChecked} {...props} />\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 [isAllOptionsChecked, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n inputRef={handleRef}\n autoFocus\n placeholder={placeholder}\n />\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 inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChange}\n type={type}\n preselectDefaultValue={type === \"single\"}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"file":"Select.js"}
1
+ {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","prop","childNode","setChildNode","elementRef","handleRef","Tag","Menu","formRef","open","setOpen","isGroup","item","undefined","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","isAllOptionsChecked","every","includes","focus","handleChange","selectedValue","value","v","filter","concat","onClose","onOpen","props","menuClassName","className","handleEmptyAction","current","reset","handleDefaultOptionChange","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete } 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\ninterface ISelectProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set selected items */\n selected?: (string | number)[] | string | number;\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 /** Should the order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\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 & IAutocompleteProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = (): null => 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 ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\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 (!isGroup(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 useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== null) {\n if (type === \"single\") {\n if (forceCloseMenu) {\n setOpen(false);\n }\n return onChange(selectedValue);\n }\n // multiple\n const value = (): (string | number)[] => {\n if (selectedValue instanceof Array) {\n if (selectedValue.every((v) => selectedOptions.includes(v))) {\n return selectedOptions.filter((v) => !selectedValue.includes(v));\n }\n return selectedValue.concat(selectedOptions);\n }\n if (selectedOptions.includes(selectedValue)) {\n return selectedOptions.filter((option) => option !== selectedValue);\n }\n return [...selectedOptions, selectedValue];\n };\n return onChange(value());\n }\n },\n [onChange, type, forceCloseMenu, selectedOptions]\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 };\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 handleDefaultOptionChange = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n onChange([]);\n } else {\n onChange(allOptionValues);\n }\n } else {\n onChange(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n }\n }, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\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 checked={isAllOptionsChecked} {...props} />\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 [isAllOptionsChecked, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\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 inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChange}\n type={type}\n preselectDefaultValue={type === \"single\"}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"file":"Select.js"}
@@ -418,23 +418,34 @@ var SelectDate = function SelectDate(_ref) {
418
418
  renderDay: renderDay
419
419
  });
420
420
  }, [handleMonthChange, month, mode, selectionMode, dateRequired, newDates, firstDayOfWeek, saveButtonText, cancelButtonText, clearButtonText, onDayClick, handleSave, handleChange, handleCancel, handleClear, disabledSaveButton, modifiers, renderDay]);
421
- return /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectDate, {
422
- className: "select-date"
423
- }, labelType !== "inline" ? /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
424
- target: labelType === "icon" && icon ? /*#__PURE__*/_react.default.createElement(_SelectDateTarget.SelectDateTarget, {
425
- icon: icon,
426
- title: tooltipText,
427
- targetIconClassName: targetIconClassName,
428
- forceHideTooltip: showDatePicker,
429
- popperTooltipClassName: popperTooltipClassName,
430
- popperTooltipStyle: popperTooltipStyle,
431
- active: showDatePicker
432
- }) : /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectDateButton, {
421
+ var renderTargetEl = (0, _react.useMemo)(function () {
422
+ if (labelType === "icon" && icon) {
423
+ return /*#__PURE__*/_react.default.createElement(_SelectDateTarget.SelectDateTarget, {
424
+ icon: icon,
425
+ title: tooltipText,
426
+ targetIconClassName: targetIconClassName,
427
+ forceHideTooltip: showDatePicker,
428
+ popperTooltipClassName: popperTooltipClassName,
429
+ popperTooltipStyle: popperTooltipStyle,
430
+ active: showDatePicker
431
+ });
432
+ }
433
+
434
+ if (typeof labelType === "function") {
435
+ return labelType(labelText);
436
+ }
437
+
438
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectDateButton, {
433
439
  type: "button",
434
440
  className: (0, _classnames.default)("date-picker-target", targetClassName)
435
441
  }, /*#__PURE__*/_react.default.createElement("span", {
436
442
  className: targetTextClassName
437
- }, labelText)),
443
+ }, labelText));
444
+ }, [icon, labelText, labelType, popperTooltipClassName, popperTooltipStyle, showDatePicker, targetClassName, targetIconClassName, targetTextClassName, tooltipText]);
445
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectDate, {
446
+ className: "select-date"
447
+ }, labelType !== "inline" ? /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
448
+ target: renderTargetEl,
438
449
  open: showDatePicker,
439
450
  onOpen: handleShowDatePicker,
440
451
  onBeforeClose: handleBeforeCloseMenu,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":["getUtcTimestampFromDate","date","moment","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","timezoneAware","setTimezoneAware","labelText","endDate","local","startDate","currentYear","year","formattedEndDate","format","replace","trim","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","customClassNames","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","disabled","toJSON","slice","renderDay","titles","push","forEach","title","child","length","map","index","renderDatePickerForm","displayName"],"mappings":"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","sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, or inline */\n trigger?: \"text\" | \"icon\" | \"inline\";\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat = \"DD MM. YYYY\",\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const currentYear = moment.utc().year();\n\n const formattedEndDate =\n !longDateFormat && endDate.year() === currentYear\n ? endDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : endDate.format(dateFormat);\n const formattedStartDate =\n !longDateFormat && startDate.year() === currentYear\n ? startDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : startDate.format(dateFormat);\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={\n labelType === \"icon\" && icon ? (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n ) : (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n )\n }\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"file":"SelectDate.js"}
1
+ {"version":3,"sources":["../../../../src/components/SelectDate/SelectDate.tsx"],"names":["getUtcTimestampFromDate","date","moment","utc","getFullYear","getMonth","getDate","unix","isDayInRange","day","data","repeating","from","Date","to","SelectDate","changeMode","mode","trigger","labelType","saveButtonText","cancelButtonText","clearButtonText","modalHeaderText","modalDiscardMessage","modalDiscardBtnText","modalCancelBtnText","onDayClick","onSave","onCancel","onToggleDatePicker","required","dateRequired","defaultTimezoneAware","longDateFormat","defaultShowDatePicker","firstDayOfWeek","selectedDays","selectionMode","menuClassName","targetClassName","icon","defaultLabelText","targetTextClassName","targetIconClassName","backgroundElementClass","dateFormat","defaultMonth","daysToModify","weekends","weekendLabel","weekendIsSelectable","tooltipText","popperTooltipClassName","popperClassName","popperTooltipStyle","position","disableDaysBefore","timezoneAware","setTimezoneAware","labelText","endDate","local","startDate","currentYear","year","formattedEndDate","format","replace","trim","formattedStartDate","modifiedDates","toDate","offsetFrom","utcOffset","offsetTo","handleModifiedSave","selectedDates","Object","prototype","hasOwnProperty","call","undefined","getDefaultMonth","month","setMonth","handleMonthChange","newDates","setNewDates","showDiscardModal","setShowDiscardModal","showDatePicker","setShowDatePicker","disabledSaveButton","handleSave","handleChange","dates","handleBeforeCloseMenu","result","selectedDaysFrom","selectedDaysTo","newDatesFrom","newDatesTo","handleClose","handleCancel","event","preventDefault","handleShowDatePicker","handleCloseDiscardModal","handleClear","handleSaveDiscardModal","modifiers","userAvailabilities","filter","type","globalDaysOff","selectableGlobalDaysOff","customClassNames","userAvailability","currentDay","some","weekend","value","getDay","nonWorkingDay","nonWorkingDays","disabled","toJSON","slice","renderDay","titles","push","forEach","title","child","length","map","index","renderDatePickerForm","renderTargetEl","displayName"],"mappings":"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","sourcesContent":["import React, {\n ElementType,\n FC,\n useCallback,\n useEffect,\n useMemo,\n useState,\n ReactNode,\n CSSProperties,\n} from \"react\";\nimport moment from \"moment\";\nimport classnames from \"classnames\";\nimport { DayModifiers } from \"react-day-picker\";\nimport { Placement } from \"@popperjs/core\";\nimport { Menu } from \"../Menu/Menu\";\nimport { DatePickerForm } from \"./DatePickerForm\";\nimport { customClassNames } from \"../DatePicker/ClassNames\";\nimport { DaysToModify } from \"./types\";\nimport { Tooltip } from \"../Tooltip/Tooltip\";\nimport { SelectDateTarget } from \"./SelectDateTarget\";\nimport {\n StyledConfirmDialog,\n StyledSelectDate,\n StyledSelectDateButton,\n} from \"./Styles\";\n\nconst getUtcTimestampFromDate = (date: Date): number => {\n return moment\n .utc([date.getFullYear(), date.getMonth(), date.getDate()])\n .unix();\n};\n\nconst isDayInRange = (day: Date, data: DaysToModify): boolean => {\n if (data.repeating) {\n const from = new Date(\n day.getFullYear(),\n data.from.getMonth(),\n data.from.getDate()\n );\n const to = new Date(\n day.getFullYear(),\n data.to.getMonth(),\n data.to.getDate()\n );\n return day >= from && day <= to;\n }\n\n return day >= data.from && day <= data.to;\n};\n\ntype TriggerStringType = \"text\" | \"icon\" | \"inline\";\ntype TriggerFunctionType = (text: string) => JSX.Element;\n\ninterface ISelectDate {\n /** Change mode - can be atomic and instant */\n changeMode?: \"atomic\" | \"instant\";\n /** Trigger - can be text, icon, inline, or custom render function */\n trigger?: TriggerStringType | TriggerFunctionType;\n /** Save button text */\n saveButtonText?: string;\n /** Cancel button text */\n cancelButtonText?: string;\n /** Clear button text */\n clearButtonText?: string;\n /** Modal header text */\n modalHeaderText?: string;\n /** Modal cancel button text */\n modalCancelBtnText?: string;\n /** Modal discard button text */\n modalDiscardBtnText?: string;\n /** Modal discard message text */\n modalDiscardMessage?: string;\n /** Tooltip text */\n tooltipText?: string;\n /** Called when day is clicked */\n onDayClick?: (day: Date, modifiers: DayModifiers) => void;\n /** Save changes in atomic mode */\n onSave?: (dates?: { from: number; to: number }) => void;\n /** On cancel closes datepicker or opens disard modal in atomic mode */\n onCancel?: () => void;\n /** Clear dates when they are not required */\n onClear?: () => void;\n /** Use this callback to get is picker visible */\n onToggleDatePicker?: (value: boolean) => void;\n /** Set selected day or days */\n selectedDays?: { from: number; to: number };\n /** Set month */\n defaultMonth?: Date;\n /** Set selection range */\n selectionMode?: string;\n /** Set is date required */\n required?: boolean;\n /** Set default show on date picker (only for text and icon mode) */\n defaultShowDatePicker?: boolean;\n /** Long date format (Always show year) */\n longDateFormat?: boolean;\n /** Set is date required */\n defaultTimezoneAware?: boolean;\n /** Set first day of week */\n firstDayOfWeek?: number;\n /** One of icon types */\n icon?: ElementType;\n /** Default Label text */\n defaultLabelText?: string;\n /** Date format */\n dateFormat?: string;\n /** Menu classes */\n menuClassName?: string;\n /** Target element classes */\n targetClassName?: string;\n /** Target element text classes */\n targetTextClassName?: string;\n /** Target element icon classes */\n targetIconClassName?: string;\n /** Background style for clickable element after the menu is open (opacity, color, etc...) */\n backgroundElementClass?: string;\n /** Days to modify */\n daysToModify?: DaysToModify[];\n /** Array of weekend days */\n weekends?: number[];\n /** Weekend label */\n weekendLabel?: string;\n /** Allows weekends to be selected */\n weekendIsSelectable?: boolean;\n /** Popper Tooltip style */\n popperTooltipStyle?: CSSProperties;\n /** Popper Tooltip class name*/\n popperTooltipClassName?: string;\n /** Popper class name*/\n popperClassName?: string;\n /** Position of selectDate menu */\n position?: Placement;\n /** Disable days before specified date */\n disableDaysBefore?: Date;\n}\n\nexport const SelectDate: FC<ISelectDate> = ({\n changeMode: mode = \"instant\",\n trigger: labelType = \"text\",\n saveButtonText = \"Save\",\n cancelButtonText = \"Cancel\",\n clearButtonText = \"Clear\",\n modalHeaderText = \"Discard changes?\",\n modalDiscardMessage = \"All unsaved changes will be lost.\",\n modalDiscardBtnText = \"OK\",\n modalCancelBtnText = \"Cancel\",\n onDayClick,\n onSave,\n onCancel,\n onToggleDatePicker,\n required: dateRequired = false,\n defaultTimezoneAware = false,\n longDateFormat = false,\n defaultShowDatePicker = false,\n firstDayOfWeek = 0,\n selectedDays,\n selectionMode = \"custom\",\n menuClassName,\n targetClassName,\n icon,\n defaultLabelText = \"Set...\",\n targetTextClassName,\n targetIconClassName,\n backgroundElementClass,\n dateFormat = \"DD MM. YYYY\",\n defaultMonth,\n daysToModify = [],\n weekends = [],\n weekendLabel = \"Weekend\",\n weekendIsSelectable = false,\n tooltipText,\n popperTooltipClassName,\n popperClassName,\n popperTooltipStyle,\n position,\n disableDaysBefore,\n}) => {\n const [timezoneAware, setTimezoneAware] = useState(defaultTimezoneAware);\n\n const labelText = useMemo(() => {\n if (!selectedDays) {\n return defaultLabelText;\n } else {\n const endDate = timezoneAware\n ? moment.unix(selectedDays.to).local()\n : moment.unix(selectedDays.to).utc();\n\n const startDate = timezoneAware\n ? moment.unix(selectedDays.from).local()\n : moment.unix(selectedDays.from).utc();\n\n const currentYear = moment.utc().year();\n\n const formattedEndDate =\n !longDateFormat && endDate.year() === currentYear\n ? endDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : endDate.format(dateFormat);\n const formattedStartDate =\n !longDateFormat && startDate.year() === currentYear\n ? startDate.format(dateFormat.replace(/Y|,$/gi, ``).trim())\n : startDate.format(dateFormat);\n\n if (selectedDays.from === selectedDays.to) {\n return formattedEndDate;\n }\n\n return `${formattedStartDate} - ${formattedEndDate}`;\n }\n }, [\n selectedDays,\n dateFormat,\n timezoneAware,\n defaultLabelText,\n longDateFormat,\n ]);\n\n const modifiedDates = useMemo(() => {\n if (\n typeof selectedDays === \"object\" &&\n !!selectedDays.from &&\n !!selectedDays.to\n ) {\n if (timezoneAware) {\n return {\n from: moment.unix(selectedDays.from).toDate(),\n to: moment.unix(selectedDays.to).toDate(),\n };\n }\n const offsetFrom = moment.unix(selectedDays.from).utcOffset() * 60;\n const offsetTo = moment.unix(selectedDays.to).utcOffset() * 60;\n return {\n from: new Date((selectedDays.from - offsetFrom) * 1000),\n to: new Date((selectedDays.to - offsetTo) * 1000),\n };\n }\n }, [selectedDays, timezoneAware]);\n\n const handleModifiedSave = useCallback(\n (selectedDates) => {\n setTimezoneAware(false);\n if (typeof onSave === \"function\") {\n if (\n typeof selectedDates === \"object\" &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"from\") &&\n Object.prototype.hasOwnProperty.call(selectedDates, \"to\")\n ) {\n onSave({\n from: getUtcTimestampFromDate(selectedDates.from),\n to: getUtcTimestampFromDate(selectedDates.to),\n });\n } else {\n onSave(undefined);\n }\n }\n },\n [onSave]\n );\n\n const getDefaultMonth = useCallback(() => {\n let date = new Date();\n\n if (typeof selectedDays === \"object\" && !!selectedDays.from) {\n date = timezoneAware\n ? new Date(selectedDays.from * 1000)\n : new Date(\n (selectedDays.from -\n moment.unix(selectedDays.from).utcOffset() * 60) *\n 1000\n );\n } else if (defaultMonth) {\n date = defaultMonth;\n }\n\n // forcing second day in month\n return new Date(date.getFullYear(), date.getMonth(), 2);\n }, [defaultMonth, selectedDays, timezoneAware]);\n\n const [month, setMonth] = useState(getDefaultMonth);\n\n const handleMonthChange = useCallback(\n (month) => {\n setMonth(month);\n },\n [setMonth]\n );\n\n const [newDates, setNewDates] = useState(modifiedDates);\n const [showDiscardModal, setShowDiscardModal] = useState(false);\n const [showDatePicker, setShowDatePicker] = useState(defaultShowDatePicker);\n\n const disabledSaveButton = useMemo(() => {\n return (\n modifiedDates?.from === newDates?.from &&\n modifiedDates?.to === newDates?.to\n );\n }, [modifiedDates, newDates]);\n\n useEffect(() => {\n setShowDatePicker(defaultShowDatePicker);\n }, [defaultShowDatePicker]);\n\n useEffect(() => {\n modifiedDates && setNewDates(modifiedDates);\n }, [modifiedDates]);\n\n useEffect(() => {\n typeof onToggleDatePicker === \"function\" &&\n onToggleDatePicker(showDatePicker);\n }, [showDatePicker, onToggleDatePicker]);\n\n useEffect(() => {\n if (!showDatePicker) {\n setMonth(getDefaultMonth());\n }\n }, [showDatePicker, getDefaultMonth]);\n\n const handleSave = useCallback(() => {\n handleModifiedSave(newDates);\n setShowDatePicker(false);\n }, [newDates, handleModifiedSave]);\n\n const handleChange = useCallback(\n (dates) => {\n if (mode !== \"atomic\") {\n handleModifiedSave(dates);\n }\n setNewDates(dates);\n },\n [mode, handleModifiedSave]\n );\n\n const handleBeforeCloseMenu = useCallback(() => {\n let result = true;\n\n if ((modifiedDates && !newDates) || (!modifiedDates && newDates)) {\n result = false;\n }\n\n const selectedDaysFrom = modifiedDates?.from;\n const selectedDaysTo = modifiedDates?.to;\n const newDatesFrom = newDates?.from;\n const newDatesTo = newDates?.to;\n\n if (\n selectedDaysFrom &&\n newDatesFrom &&\n selectedDaysTo &&\n newDatesTo &&\n (moment(selectedDaysFrom).format(\"DD-MM-YYYY\") !==\n moment(newDatesFrom).format(\"DD-MM-YYYY\") ||\n moment(selectedDaysTo).format(\"DD-MM-YYYY\") !==\n moment(newDatesTo).format(\"DD-MM-YYYY\"))\n ) {\n result = false;\n }\n\n if (!result) {\n setShowDiscardModal(true);\n }\n\n return result;\n }, [modifiedDates, newDates]);\n\n const handleClose = useCallback(() => {\n if (mode !== \"atomic\" || handleBeforeCloseMenu()) {\n typeof onCancel === \"function\" && onCancel();\n setShowDatePicker(false);\n }\n }, [mode, onCancel, handleBeforeCloseMenu]);\n\n const handleCancel = useCallback(\n (event) => {\n event && event.preventDefault();\n return handleClose();\n },\n [handleClose]\n );\n\n const handleShowDatePicker = useCallback(() => {\n setShowDatePicker(!showDatePicker);\n }, [showDatePicker]);\n\n const handleCloseDiscardModal = useCallback(() => {\n setShowDiscardModal(false);\n }, []);\n\n const handleClear = useCallback(() => {\n if (!dateRequired) {\n setNewDates(undefined);\n if (mode === \"instant\") {\n handleModifiedSave(undefined);\n }\n }\n }, [mode, dateRequired, handleModifiedSave]);\n\n const handleSaveDiscardModal = useCallback(() => {\n setNewDates(modifiedDates);\n setShowDiscardModal(false);\n setShowDatePicker(false);\n }, [modifiedDates]);\n\n const modifiers = useMemo(() => {\n const userAvailabilities = daysToModify.filter(\n (data) => data.type === \"user_day_off\"\n );\n const globalDaysOff = daysToModify.filter(\n (data) => data.type === \"global_day_off\"\n );\n const selectableGlobalDaysOff = daysToModify.filter(\n (data) => data.type === \"selectable_global_day_off\"\n );\n\n return {\n [customClassNames.userAvailability]: (day: Date): boolean => {\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return userAvailabilities.some((data) =>\n isDayInRange(currentDay, data)\n );\n },\n [customClassNames.weekend]: (day: Date): boolean => {\n return weekends.some((value) => day.getDay() === value);\n },\n [customClassNames.nonWorkingDay]: (day: Date): boolean => {\n // return true if day is weekend day\n if (weekends.some((value) => value === day.getDay())) {\n return true;\n }\n const nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return nonWorkingDays.some((data) => isDayInRange(currentDay, data));\n },\n [customClassNames.disabled]: (day: Date): boolean => {\n if (disableDaysBefore) {\n if (\n day.toJSON().slice(0, 10) < disableDaysBefore.toJSON().slice(0, 10)\n ) {\n return true;\n }\n }\n // return true if day is weekend day\n if (\n !weekendIsSelectable &&\n weekends.some((value) => value === day.getDay())\n ) {\n return true;\n }\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n return globalDaysOff.some((data) => isDayInRange(currentDay, data));\n },\n };\n }, [daysToModify, weekends, disableDaysBefore, weekendIsSelectable]);\n\n const renderDay = useCallback(\n (day: Date): ReactNode => {\n const titles: string[] = [];\n\n if (weekends.some((value) => day.getDay() === value)) {\n titles.push(weekendLabel);\n }\n\n // construct new date because react-day-picker returns date with hours set\n const currentDay = new Date(\n day.getFullYear(),\n day.getMonth(),\n day.getDate()\n );\n\n daysToModify.forEach((data) => {\n if (isDayInRange(currentDay, data)) {\n titles.push(data.title);\n }\n });\n\n const child = (\n <div className=\"c-DayPicker-Day-Number\">{day.getDate()}</div>\n );\n\n if (titles.length) {\n const title = (\n <div key={`title-wrapper-${day.getDate()}`}>\n {titles.map((title: string, index: number) => (\n <div key={`title-text-${index}`}>{title}</div>\n ))}\n </div>\n );\n\n return (\n <Tooltip\n title={title}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n >\n {child}\n </Tooltip>\n );\n }\n\n return child;\n },\n [\n weekendLabel,\n weekends,\n daysToModify,\n popperTooltipClassName,\n popperTooltipStyle,\n ]\n );\n\n const renderDatePickerForm = useCallback((): JSX.Element => {\n return (\n <DatePickerForm\n onMonthChange={handleMonthChange}\n month={month}\n mode={mode}\n selectionMode={selectionMode}\n dateRequired={dateRequired}\n selectedDays={newDates}\n firstDayOfWeek={firstDayOfWeek}\n saveButtonText={saveButtonText}\n cancelButtonText={cancelButtonText}\n clearButtonText={clearButtonText}\n onDayClick={onDayClick}\n onSave={handleSave}\n onChange={handleChange}\n onCancel={handleCancel}\n onClear={handleClear}\n disabledSaveButton={disabledSaveButton}\n modifiers={modifiers}\n renderDay={renderDay}\n />\n );\n }, [\n handleMonthChange,\n month,\n mode,\n selectionMode,\n dateRequired,\n newDates,\n firstDayOfWeek,\n saveButtonText,\n cancelButtonText,\n clearButtonText,\n onDayClick,\n handleSave,\n handleChange,\n handleCancel,\n handleClear,\n disabledSaveButton,\n modifiers,\n renderDay,\n ]);\n\n const renderTargetEl = useMemo(() => {\n if (labelType === \"icon\" && icon) {\n return (\n <SelectDateTarget\n icon={icon}\n title={tooltipText}\n targetIconClassName={targetIconClassName}\n forceHideTooltip={showDatePicker}\n popperTooltipClassName={popperTooltipClassName}\n popperTooltipStyle={popperTooltipStyle}\n active={showDatePicker}\n />\n );\n }\n if (typeof labelType === \"function\") {\n return labelType(labelText);\n }\n return (\n <StyledSelectDateButton\n type=\"button\"\n className={classnames(\"date-picker-target\", targetClassName)}\n >\n <span className={targetTextClassName}>{labelText}</span>\n </StyledSelectDateButton>\n );\n }, [\n icon,\n labelText,\n labelType,\n popperTooltipClassName,\n popperTooltipStyle,\n showDatePicker,\n targetClassName,\n targetIconClassName,\n targetTextClassName,\n tooltipText,\n ]);\n\n return (\n <StyledSelectDate className=\"select-date\">\n {labelType !== \"inline\" ? (\n <Menu\n target={renderTargetEl}\n open={showDatePicker}\n onOpen={handleShowDatePicker}\n onBeforeClose={handleBeforeCloseMenu}\n onClose={handleClose}\n position={position}\n menuClassName={menuClassName}\n popperClassName={popperClassName}\n backgroundElementClass={backgroundElementClass}\n >\n {renderDatePickerForm()}\n </Menu>\n ) : (\n renderDatePickerForm()\n )}\n {mode === \"atomic\" ? (\n <StyledConfirmDialog\n className=\"modal-select-date\"\n open={showDiscardModal}\n onCancel={handleCloseDiscardModal}\n onConfirm={handleSaveDiscardModal}\n dialogTitle={modalHeaderText}\n dialogContent={modalDiscardMessage}\n cancelBtnText={modalCancelBtnText}\n confirmBtnText={modalDiscardBtnText}\n />\n ) : null}\n </StyledSelectDate>\n );\n};\n\nSelectDate.displayName = \"SelectDate\";\n"],"file":"SelectDate.js"}
@@ -11,6 +11,8 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
11
 
12
12
  var _BoxSizingStyle = require("../BoxSizingStyle");
13
13
 
14
+ var _Dot = require("../Dot");
15
+
14
16
  var _FontStyle = require("../FontStyle");
15
17
 
16
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -27,23 +29,14 @@ var StyledTag = _styledComponents.default.div.withConfig({
27
29
 
28
30
  exports.StyledTag = StyledTag;
29
31
  StyledTag.displayName = "StyledTag";
30
-
31
- var StyledTagDot = _styledComponents.default.div.withConfig({
32
+ var StyledTagDot = (0, _styledComponents.default)(_Dot.Dot).withConfig({
32
33
  displayName: "Styles__StyledTagDot",
33
34
  componentId: "sc-1chtb47-1"
34
- })(["", " ", " ", ""], {
35
- "width": "0.5rem",
36
- "height": "0.5rem",
37
- "borderRadius": "9999px",
38
- "justifyContent": "center"
39
- }, function (props) {
35
+ })(["", ""], function (props) {
40
36
  return props.$showText && (0, _styledComponents.css)(["", ""], {
41
37
  "marginRight": "0.25rem"
42
38
  });
43
- }, function (props) {
44
- return props.color && (0, _styledComponents.css)(["background-color:", ";"], props.color);
45
39
  });
46
-
47
40
  exports.StyledTagDot = StyledTagDot;
48
41
  StyledTagDot.displayName = "StyledTagDot";
49
42