@activecollab/components 2.0.168 → 2.0.169
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Input/InputTime.js +8 -3
- package/dist/cjs/components/Input/InputTime.js.map +1 -1
- package/dist/esm/components/Input/InputTime.d.ts.map +1 -1
- package/dist/esm/components/Input/InputTime.js +5 -3
- package/dist/esm/components/Input/InputTime.js.map +1 -1
- package/dist/index.js +135 -133
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,15 +12,19 @@ var _moment = _interopRequireDefault(require("moment"));
|
|
|
12
12
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
13
|
var _timeUtils = require("../../utils/timeUtils");
|
|
14
14
|
var _ComboBox = require("../ComboBox/ComboBox");
|
|
15
|
+
var _excluded = ["mode", "selected", "min", "max", "onChange", "step", "size", "className", "placeholder", "triggerMode", "disabled", "invalid"];
|
|
15
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
19
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
18
20
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
19
21
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
20
22
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
21
23
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
22
24
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
23
25
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
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
|
+
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; }
|
|
24
28
|
_compromise.default.plugin(_compromiseDates.default);
|
|
25
29
|
var StyledInputTimeWrapper = exports.StyledInputTimeWrapper = _styledComponents.default.div.withConfig({
|
|
26
30
|
displayName: "InputTime__StyledInputTimeWrapper",
|
|
@@ -47,7 +51,8 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
|
|
|
47
51
|
placeholder = _ref.placeholder,
|
|
48
52
|
triggerMode = _ref.triggerMode,
|
|
49
53
|
disabled = _ref.disabled,
|
|
50
|
-
invalid = _ref.invalid
|
|
54
|
+
invalid = _ref.invalid,
|
|
55
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
51
56
|
var _useState = (0, _react.useState)(defaultSelected || ""),
|
|
52
57
|
_useState2 = _slicedToArray(_useState, 2),
|
|
53
58
|
selected = _useState2[0],
|
|
@@ -107,7 +112,7 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
|
|
|
107
112
|
}, [isOpen, selected]);
|
|
108
113
|
return /*#__PURE__*/_react.default.createElement(StyledInputTimeWrapper, {
|
|
109
114
|
className: (0, _classnames.default)("c-input-time", className)
|
|
110
|
-
}, /*#__PURE__*/_react.default.createElement(_ComboBox.ComboBox, {
|
|
115
|
+
}, /*#__PURE__*/_react.default.createElement(_ComboBox.ComboBox, _extends({}, rest, {
|
|
111
116
|
options: timeOptions,
|
|
112
117
|
open: isOpen,
|
|
113
118
|
disabledInternalSort: true,
|
|
@@ -125,6 +130,6 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
|
|
|
125
130
|
triggerMode: triggerMode,
|
|
126
131
|
disabled: disabled,
|
|
127
132
|
invalid: invalid
|
|
128
|
-
}));
|
|
133
|
+
})));
|
|
129
134
|
};
|
|
130
135
|
//# sourceMappingURL=InputTime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputTime.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_compromise","_compromiseDates","_moment","_styledComponents","_timeUtils","_ComboBox","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","length","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","nlp","plugin","plg","StyledInputTimeWrapper","exports","styled","div","withConfig","displayName","componentId","renderOption","option","createElement","id","InputTime","_ref","_ref$mode","mode","defaultSelected","selected","_ref$min","min","_ref$max","max","onChange","_ref$step","step","size","className","placeholder","triggerMode","disabled","invalid","_useState","useState","_useState2","setSelected","_useState3","_useState4","isOpen","setIsOpen","generateTimeOptions","minTime","moment","isValidTime","maxTime","options","currentTime","clone","isSameOrBefore","format","add","timeOptions","handleInputChange","useCallback","text","doc","parsed","times","some","handleChange","handleOpen","handleClose","useEffect","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","classNames","ComboBox","open","disabledInternalSort","keepSameOptionsOrder","onInputChange","forceCloseMenu","autoHeightMax","onClose","onOpen"],"sources":["../../../../src/components/Input/InputTime.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport nlp from \"compromise\";\nimport plg, { DatesMethods } from \"compromise-dates\";\nimport moment from \"moment\";\nimport styled from \"styled-components\";\n\nimport { InputMode, InputSize } from \"./types\";\nimport { isValidTime } from \"../../utils/timeUtils\";\nimport { ComboBox } from \"../ComboBox/ComboBox\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Time24HourFormat } from \"../SelectTime\";\n\nnlp.plugin(plg);\n\nexport const StyledInputTimeWrapper = styled.div`\n max-width: 176px;\n flex: 1;\n\n & .c-combo-box--list {\n min-width: 176px;\n }\n`;\n\nexport interface InputTimeProps {\n mode?: \"12\" | \"24\";\n selected?: Time24HourFormat;\n min?: Time24HourFormat;\n max?: Time24HourFormat;\n onChange?: (val: string) => void;\n className?: string;\n placeholder?: string;\n size?: InputSize;\n step?: 1 | 5 | 15 | 30 | 60;\n triggerMode?: InputMode;\n disabled?: boolean;\n invalid?: boolean;\n}\n\nconst renderOption = (option) => {\n return <div id={option.id}>{option.name}</div>;\n};\n\nexport const InputTime: React.FC<InputTimeProps> = ({\n mode = \"24\",\n selected: defaultSelected,\n min = \"00:00\",\n max = \"23:45\",\n onChange,\n step = 15,\n size,\n className,\n placeholder,\n triggerMode,\n disabled,\n invalid,\n}) => {\n const [selected, setSelected] = useState<string>(defaultSelected || \"\");\n const [isOpen, setIsOpen] = useState(false);\n\n const generateTimeOptions = (): IOptionItemProps[] => {\n const minTime = moment(isValidTime(min) ? min : \"00:00\", \"HH:mm\");\n const maxTime = moment(isValidTime(max) ? max : \"23:45\", \"HH:mm\");\n const options: IOptionItemProps[] = [];\n\n const currentTime = minTime.clone();\n while (currentTime.isSameOrBefore(maxTime)) {\n options.push({\n id: currentTime.format(\"HH:mm\"),\n name: currentTime.format(mode === \"12\" ? \"hh:mm A\" : \"HH:mm\"),\n });\n currentTime.add(step, \"minutes\");\n }\n\n return options;\n };\n\n const timeOptions = generateTimeOptions();\n\n const handleInputChange = useCallback(\n (text: string) => {\n const doc = nlp<DatesMethods>(text);\n const parsed = doc.times().get()[0];\n if (parsed && parsed[\"24h\"] && parsed[\"24h\"] !== selected) {\n const value = moment(parsed).format(\"HH:mm\");\n if (timeOptions.some((option) => option.id === value)) {\n setSelected(value);\n onChange?.(value);\n setIsOpen(false);\n }\n }\n },\n [onChange, selected, timeOptions]\n );\n\n const handleChange = (e) => {\n setSelected(e);\n onChange?.(e);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (isOpen && selected) {\n const selectedItem = document.getElementById(selected)?.parentElement;\n selectedItem?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [isOpen, selected]);\n\n return (\n <StyledInputTimeWrapper className={classNames(\"c-input-time\", className)}>\n <ComboBox\n options={timeOptions}\n open={isOpen}\n disabledInternalSort\n selected={selected}\n keepSameOptionsOrder\n onInputChange={handleInputChange}\n onChange={handleChange}\n forceCloseMenu\n placeholder={placeholder}\n renderOption={renderOption}\n autoHeightMax={226}\n size={size}\n onClose={handleClose}\n onOpen={handleOpen}\n triggerMode={triggerMode}\n disabled={disabled}\n invalid={invalid}\n />\n </StyledInputTimeWrapper>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InputTime.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_compromise","_compromiseDates","_moment","_styledComponents","_timeUtils","_ComboBox","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","nlp","plugin","plg","StyledInputTimeWrapper","exports","styled","div","withConfig","displayName","componentId","renderOption","option","createElement","id","InputTime","_ref","_ref$mode","mode","defaultSelected","selected","_ref$min","min","_ref$max","max","onChange","_ref$step","step","size","className","placeholder","triggerMode","disabled","invalid","rest","_useState","useState","_useState2","setSelected","_useState3","_useState4","isOpen","setIsOpen","generateTimeOptions","minTime","moment","isValidTime","maxTime","options","currentTime","clone","isSameOrBefore","format","add","timeOptions","handleInputChange","useCallback","text","doc","parsed","times","some","handleChange","handleOpen","handleClose","useEffect","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","classNames","ComboBox","open","disabledInternalSort","keepSameOptionsOrder","onInputChange","forceCloseMenu","autoHeightMax","onClose","onOpen"],"sources":["../../../../src/components/Input/InputTime.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport nlp from \"compromise\";\nimport plg, { DatesMethods } from \"compromise-dates\";\nimport moment from \"moment\";\nimport styled from \"styled-components\";\n\nimport { InputMode, InputSize } from \"./types\";\nimport { isValidTime } from \"../../utils/timeUtils\";\nimport { ComboBox } from \"../ComboBox/ComboBox\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Time24HourFormat } from \"../SelectTime\";\n\nnlp.plugin(plg);\n\nexport const StyledInputTimeWrapper = styled.div`\n max-width: 176px;\n flex: 1;\n\n & .c-combo-box--list {\n min-width: 176px;\n }\n`;\n\nexport interface InputTimeProps {\n mode?: \"12\" | \"24\";\n selected?: Time24HourFormat;\n min?: Time24HourFormat;\n max?: Time24HourFormat;\n onChange?: (val: string) => void;\n className?: string;\n placeholder?: string;\n size?: InputSize;\n step?: 1 | 5 | 15 | 30 | 60;\n triggerMode?: InputMode;\n disabled?: boolean;\n invalid?: boolean;\n}\n\nconst renderOption = (option) => {\n return <div id={option.id}>{option.name}</div>;\n};\n\nexport const InputTime: React.FC<InputTimeProps> = ({\n mode = \"24\",\n selected: defaultSelected,\n min = \"00:00\",\n max = \"23:45\",\n onChange,\n step = 15,\n size,\n className,\n placeholder,\n triggerMode,\n disabled,\n invalid,\n ...rest\n}) => {\n const [selected, setSelected] = useState<string>(defaultSelected || \"\");\n const [isOpen, setIsOpen] = useState(false);\n\n const generateTimeOptions = (): IOptionItemProps[] => {\n const minTime = moment(isValidTime(min) ? min : \"00:00\", \"HH:mm\");\n const maxTime = moment(isValidTime(max) ? max : \"23:45\", \"HH:mm\");\n const options: IOptionItemProps[] = [];\n\n const currentTime = minTime.clone();\n while (currentTime.isSameOrBefore(maxTime)) {\n options.push({\n id: currentTime.format(\"HH:mm\"),\n name: currentTime.format(mode === \"12\" ? \"hh:mm A\" : \"HH:mm\"),\n });\n currentTime.add(step, \"minutes\");\n }\n\n return options;\n };\n\n const timeOptions = generateTimeOptions();\n\n const handleInputChange = useCallback(\n (text: string) => {\n const doc = nlp<DatesMethods>(text);\n const parsed = doc.times().get()[0];\n if (parsed && parsed[\"24h\"] && parsed[\"24h\"] !== selected) {\n const value = moment(parsed).format(\"HH:mm\");\n if (timeOptions.some((option) => option.id === value)) {\n setSelected(value);\n onChange?.(value);\n setIsOpen(false);\n }\n }\n },\n [onChange, selected, timeOptions]\n );\n\n const handleChange = (e) => {\n setSelected(e);\n onChange?.(e);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (isOpen && selected) {\n const selectedItem = document.getElementById(selected)?.parentElement;\n selectedItem?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [isOpen, selected]);\n\n return (\n <StyledInputTimeWrapper className={classNames(\"c-input-time\", className)}>\n <ComboBox\n {...rest}\n options={timeOptions}\n open={isOpen}\n disabledInternalSort\n selected={selected}\n keepSameOptionsOrder\n onInputChange={handleInputChange}\n onChange={handleChange}\n forceCloseMenu\n placeholder={placeholder}\n renderOption={renderOption}\n autoHeightMax={226}\n size={size}\n onClose={handleClose}\n onOpen={handleOpen}\n triggerMode={triggerMode}\n disabled={disabled}\n invalid={invalid}\n />\n </StyledInputTimeWrapper>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputTime.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputTime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAQhE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,eAAO,MAAM,sBAAsB,oEAOlC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"InputTime.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/InputTime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAQhE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,eAAO,MAAM,sBAAsB,oEAOlC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiG9C,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import React, { useCallback, useEffect, useState } from "react";
|
|
2
3
|
import classNames from "classnames";
|
|
3
4
|
import nlp from "compromise";
|
|
@@ -29,7 +30,8 @@ export const InputTime = _ref => {
|
|
|
29
30
|
placeholder,
|
|
30
31
|
triggerMode,
|
|
31
32
|
disabled,
|
|
32
|
-
invalid
|
|
33
|
+
invalid,
|
|
34
|
+
...rest
|
|
33
35
|
} = _ref;
|
|
34
36
|
const [selected, setSelected] = useState(defaultSelected || "");
|
|
35
37
|
const [isOpen, setIsOpen] = useState(false);
|
|
@@ -82,7 +84,7 @@ export const InputTime = _ref => {
|
|
|
82
84
|
}, [isOpen, selected]);
|
|
83
85
|
return /*#__PURE__*/React.createElement(StyledInputTimeWrapper, {
|
|
84
86
|
className: classNames("c-input-time", className)
|
|
85
|
-
}, /*#__PURE__*/React.createElement(ComboBox, {
|
|
87
|
+
}, /*#__PURE__*/React.createElement(ComboBox, _extends({}, rest, {
|
|
86
88
|
options: timeOptions,
|
|
87
89
|
open: isOpen,
|
|
88
90
|
disabledInternalSort: true,
|
|
@@ -100,6 +102,6 @@ export const InputTime = _ref => {
|
|
|
100
102
|
triggerMode: triggerMode,
|
|
101
103
|
disabled: disabled,
|
|
102
104
|
invalid: invalid
|
|
103
|
-
}));
|
|
105
|
+
})));
|
|
104
106
|
};
|
|
105
107
|
//# sourceMappingURL=InputTime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputTime.js","names":["React","useCallback","useEffect","useState","classNames","nlp","plg","moment","styled","isValidTime","ComboBox","plugin","StyledInputTimeWrapper","div","withConfig","displayName","componentId","renderOption","option","createElement","id","name","InputTime","_ref","mode","selected","defaultSelected","min","max","onChange","step","size","className","placeholder","triggerMode","disabled","invalid","setSelected","isOpen","setIsOpen","generateTimeOptions","minTime","maxTime","options","currentTime","clone","isSameOrBefore","push","format","add","timeOptions","handleInputChange","text","doc","parsed","times","get","value","some","handleChange","e","handleOpen","handleClose","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","open","disabledInternalSort","keepSameOptionsOrder","onInputChange","forceCloseMenu","autoHeightMax","onClose","onOpen"],"sources":["../../../../src/components/Input/InputTime.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport nlp from \"compromise\";\nimport plg, { DatesMethods } from \"compromise-dates\";\nimport moment from \"moment\";\nimport styled from \"styled-components\";\n\nimport { InputMode, InputSize } from \"./types\";\nimport { isValidTime } from \"../../utils/timeUtils\";\nimport { ComboBox } from \"../ComboBox/ComboBox\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Time24HourFormat } from \"../SelectTime\";\n\nnlp.plugin(plg);\n\nexport const StyledInputTimeWrapper = styled.div`\n max-width: 176px;\n flex: 1;\n\n & .c-combo-box--list {\n min-width: 176px;\n }\n`;\n\nexport interface InputTimeProps {\n mode?: \"12\" | \"24\";\n selected?: Time24HourFormat;\n min?: Time24HourFormat;\n max?: Time24HourFormat;\n onChange?: (val: string) => void;\n className?: string;\n placeholder?: string;\n size?: InputSize;\n step?: 1 | 5 | 15 | 30 | 60;\n triggerMode?: InputMode;\n disabled?: boolean;\n invalid?: boolean;\n}\n\nconst renderOption = (option) => {\n return <div id={option.id}>{option.name}</div>;\n};\n\nexport const InputTime: React.FC<InputTimeProps> = ({\n mode = \"24\",\n selected: defaultSelected,\n min = \"00:00\",\n max = \"23:45\",\n onChange,\n step = 15,\n size,\n className,\n placeholder,\n triggerMode,\n disabled,\n invalid,\n}) => {\n const [selected, setSelected] = useState<string>(defaultSelected || \"\");\n const [isOpen, setIsOpen] = useState(false);\n\n const generateTimeOptions = (): IOptionItemProps[] => {\n const minTime = moment(isValidTime(min) ? min : \"00:00\", \"HH:mm\");\n const maxTime = moment(isValidTime(max) ? max : \"23:45\", \"HH:mm\");\n const options: IOptionItemProps[] = [];\n\n const currentTime = minTime.clone();\n while (currentTime.isSameOrBefore(maxTime)) {\n options.push({\n id: currentTime.format(\"HH:mm\"),\n name: currentTime.format(mode === \"12\" ? \"hh:mm A\" : \"HH:mm\"),\n });\n currentTime.add(step, \"minutes\");\n }\n\n return options;\n };\n\n const timeOptions = generateTimeOptions();\n\n const handleInputChange = useCallback(\n (text: string) => {\n const doc = nlp<DatesMethods>(text);\n const parsed = doc.times().get()[0];\n if (parsed && parsed[\"24h\"] && parsed[\"24h\"] !== selected) {\n const value = moment(parsed).format(\"HH:mm\");\n if (timeOptions.some((option) => option.id === value)) {\n setSelected(value);\n onChange?.(value);\n setIsOpen(false);\n }\n }\n },\n [onChange, selected, timeOptions]\n );\n\n const handleChange = (e) => {\n setSelected(e);\n onChange?.(e);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (isOpen && selected) {\n const selectedItem = document.getElementById(selected)?.parentElement;\n selectedItem?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [isOpen, selected]);\n\n return (\n <StyledInputTimeWrapper className={classNames(\"c-input-time\", className)}>\n <ComboBox\n options={timeOptions}\n open={isOpen}\n disabledInternalSort\n selected={selected}\n keepSameOptionsOrder\n onInputChange={handleInputChange}\n onChange={handleChange}\n forceCloseMenu\n placeholder={placeholder}\n renderOption={renderOption}\n autoHeightMax={226}\n size={size}\n onClose={handleClose}\n onOpen={handleOpen}\n triggerMode={triggerMode}\n disabled={disabled}\n invalid={invalid}\n />\n </StyledInputTimeWrapper>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE/D,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,GAAG,MAAM,YAAY;AAC5B,OAAOC,GAAG,MAAwB,kBAAkB;AACpD,OAAOC,MAAM,MAAM,QAAQ;AAC3B,OAAOC,MAAM,MAAM,mBAAmB;AAGtC,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,QAAQ,QAAQ,sBAAsB;AAI/CL,GAAG,CAACM,MAAM,CAACL,GAAG,CAAC;AAEf,OAAO,MAAMM,sBAAsB,GAAGJ,MAAM,CAACK,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qEAO/C;AAiBD,MAAMC,YAAY,GAAIC,MAAM,IAAK;EAC/B,oBAAOlB,KAAA,CAAAmB,aAAA;IAAKC,EAAE,EAAEF,MAAM,CAACE;EAAG,GAAEF,MAAM,CAACG,IAAU,CAAC;AAChD,CAAC;AAED,OAAO,MAAMC,SAAmC,GAAGC,IAAA,
|
|
1
|
+
{"version":3,"file":"InputTime.js","names":["React","useCallback","useEffect","useState","classNames","nlp","plg","moment","styled","isValidTime","ComboBox","plugin","StyledInputTimeWrapper","div","withConfig","displayName","componentId","renderOption","option","createElement","id","name","InputTime","_ref","mode","selected","defaultSelected","min","max","onChange","step","size","className","placeholder","triggerMode","disabled","invalid","rest","setSelected","isOpen","setIsOpen","generateTimeOptions","minTime","maxTime","options","currentTime","clone","isSameOrBefore","push","format","add","timeOptions","handleInputChange","text","doc","parsed","times","get","value","some","handleChange","e","handleOpen","handleClose","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","_extends","open","disabledInternalSort","keepSameOptionsOrder","onInputChange","forceCloseMenu","autoHeightMax","onClose","onOpen"],"sources":["../../../../src/components/Input/InputTime.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\n\nimport classNames from \"classnames\";\nimport nlp from \"compromise\";\nimport plg, { DatesMethods } from \"compromise-dates\";\nimport moment from \"moment\";\nimport styled from \"styled-components\";\n\nimport { InputMode, InputSize } from \"./types\";\nimport { isValidTime } from \"../../utils/timeUtils\";\nimport { ComboBox } from \"../ComboBox/ComboBox\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { Time24HourFormat } from \"../SelectTime\";\n\nnlp.plugin(plg);\n\nexport const StyledInputTimeWrapper = styled.div`\n max-width: 176px;\n flex: 1;\n\n & .c-combo-box--list {\n min-width: 176px;\n }\n`;\n\nexport interface InputTimeProps {\n mode?: \"12\" | \"24\";\n selected?: Time24HourFormat;\n min?: Time24HourFormat;\n max?: Time24HourFormat;\n onChange?: (val: string) => void;\n className?: string;\n placeholder?: string;\n size?: InputSize;\n step?: 1 | 5 | 15 | 30 | 60;\n triggerMode?: InputMode;\n disabled?: boolean;\n invalid?: boolean;\n}\n\nconst renderOption = (option) => {\n return <div id={option.id}>{option.name}</div>;\n};\n\nexport const InputTime: React.FC<InputTimeProps> = ({\n mode = \"24\",\n selected: defaultSelected,\n min = \"00:00\",\n max = \"23:45\",\n onChange,\n step = 15,\n size,\n className,\n placeholder,\n triggerMode,\n disabled,\n invalid,\n ...rest\n}) => {\n const [selected, setSelected] = useState<string>(defaultSelected || \"\");\n const [isOpen, setIsOpen] = useState(false);\n\n const generateTimeOptions = (): IOptionItemProps[] => {\n const minTime = moment(isValidTime(min) ? min : \"00:00\", \"HH:mm\");\n const maxTime = moment(isValidTime(max) ? max : \"23:45\", \"HH:mm\");\n const options: IOptionItemProps[] = [];\n\n const currentTime = minTime.clone();\n while (currentTime.isSameOrBefore(maxTime)) {\n options.push({\n id: currentTime.format(\"HH:mm\"),\n name: currentTime.format(mode === \"12\" ? \"hh:mm A\" : \"HH:mm\"),\n });\n currentTime.add(step, \"minutes\");\n }\n\n return options;\n };\n\n const timeOptions = generateTimeOptions();\n\n const handleInputChange = useCallback(\n (text: string) => {\n const doc = nlp<DatesMethods>(text);\n const parsed = doc.times().get()[0];\n if (parsed && parsed[\"24h\"] && parsed[\"24h\"] !== selected) {\n const value = moment(parsed).format(\"HH:mm\");\n if (timeOptions.some((option) => option.id === value)) {\n setSelected(value);\n onChange?.(value);\n setIsOpen(false);\n }\n }\n },\n [onChange, selected, timeOptions]\n );\n\n const handleChange = (e) => {\n setSelected(e);\n onChange?.(e);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (isOpen && selected) {\n const selectedItem = document.getElementById(selected)?.parentElement;\n selectedItem?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [isOpen, selected]);\n\n return (\n <StyledInputTimeWrapper className={classNames(\"c-input-time\", className)}>\n <ComboBox\n {...rest}\n options={timeOptions}\n open={isOpen}\n disabledInternalSort\n selected={selected}\n keepSameOptionsOrder\n onInputChange={handleInputChange}\n onChange={handleChange}\n forceCloseMenu\n placeholder={placeholder}\n renderOption={renderOption}\n autoHeightMax={226}\n size={size}\n onClose={handleClose}\n onOpen={handleOpen}\n triggerMode={triggerMode}\n disabled={disabled}\n invalid={invalid}\n />\n </StyledInputTimeWrapper>\n );\n};\n"],"mappings":"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"}
|