@activecollab/components 1.0.389 → 1.0.391
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/EditableContent/EditableContent.js +5 -3
- package/dist/cjs/components/EditableContent/EditableContent.js.map +1 -1
- package/dist/cjs/components/EditableHours/EditableHours.js +103 -34
- package/dist/cjs/components/EditableHours/EditableHours.js.map +1 -1
- package/dist/cjs/components/Input/InputHours.js +35 -17
- package/dist/cjs/components/Input/InputHours.js.map +1 -1
- package/dist/cjs/{components/HoursWrapper/HoursWrapper.js → hooks/useInputHours.js} +45 -76
- package/dist/cjs/hooks/useInputHours.js.map +1 -0
- package/dist/esm/components/EditableContent/EditableContent.d.ts.map +1 -1
- package/dist/esm/components/EditableContent/EditableContent.js +5 -3
- package/dist/esm/components/EditableContent/EditableContent.js.map +1 -1
- package/dist/esm/components/EditableHours/EditableHours.d.ts +5 -11
- package/dist/esm/components/EditableHours/EditableHours.d.ts.map +1 -1
- package/dist/esm/components/EditableHours/EditableHours.js +98 -36
- package/dist/esm/components/EditableHours/EditableHours.js.map +1 -1
- package/dist/esm/components/Input/InputHours.d.ts +2 -2
- package/dist/esm/components/Input/InputHours.d.ts.map +1 -1
- package/dist/esm/components/Input/InputHours.js +35 -17
- package/dist/esm/components/Input/InputHours.js.map +1 -1
- package/dist/esm/hooks/useInputHours.d.ts +27 -0
- package/dist/esm/hooks/useInputHours.d.ts.map +1 -0
- package/dist/esm/{components/HoursWrapper/HoursWrapper.js → hooks/useInputHours.js} +41 -68
- package/dist/esm/hooks/useInputHours.js.map +1 -0
- package/dist/index.js +305 -245
- 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
- package/dist/cjs/components/HoursWrapper/HoursWrapper.js.map +0 -1
- package/dist/cjs/components/HoursWrapper/index.js +0 -17
- package/dist/cjs/components/HoursWrapper/index.js.map +0 -1
- package/dist/esm/components/HoursWrapper/HoursWrapper.d.ts +0 -9
- package/dist/esm/components/HoursWrapper/HoursWrapper.d.ts.map +0 -1
- package/dist/esm/components/HoursWrapper/HoursWrapper.js.map +0 -1
- package/dist/esm/components/HoursWrapper/index.d.ts +0 -2
- package/dist/esm/components/HoursWrapper/index.d.ts.map +0 -1
- package/dist/esm/components/HoursWrapper/index.js +0 -2
- package/dist/esm/components/HoursWrapper/index.js.map +0 -1
|
@@ -8,7 +8,7 @@ exports.EditableContent = void 0;
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _utils = require("../../utils");
|
|
10
10
|
var _Styles = require("./Styles");
|
|
11
|
-
var _excluded = ["className", "variant", "weight", "disabled", "inputProps", "wrapRef"];
|
|
11
|
+
var _excluded = ["className", "variant", "weight", "disabled", "inputProps", "wrapRef", "children"];
|
|
12
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
13
|
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; }
|
|
14
14
|
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); }
|
|
@@ -23,6 +23,7 @@ var EditableContent = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
23
23
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
24
24
|
inputProps = _ref.inputProps,
|
|
25
25
|
wrapRef = _ref.wrapRef,
|
|
26
|
+
children = _ref.children,
|
|
26
27
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
27
28
|
var intInputRef = (0, _react.useRef)(null);
|
|
28
29
|
var handleRef = (0, _utils.useForkRef)(ref, intInputRef);
|
|
@@ -39,8 +40,9 @@ var EditableContent = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
39
40
|
variant: variant,
|
|
40
41
|
forwardedAs: "span",
|
|
41
42
|
weight: weight,
|
|
42
|
-
$disabled: disabled
|
|
43
|
-
|
|
43
|
+
$disabled: disabled,
|
|
44
|
+
className: "presentation"
|
|
45
|
+
}, children ? children : inputProps === null || inputProps === void 0 ? void 0 : inputProps.value), /*#__PURE__*/_react.default.createElement(_Styles.StyledInput, _extends({}, inputProps, {
|
|
44
46
|
ref: handleRef,
|
|
45
47
|
forwardedAs: "input",
|
|
46
48
|
variant: variant,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableContent.js","names":["EditableContent","forwardRef","ref","className","variant","weight","disabled","inputProps","wrapRef","props","intInputRef","useRef","handleRef","useForkRef","handleBlur","useCallback","evt","current","scrollLeft","onBlur","value","displayName"],"sources":["../../../../src/components/EditableContent/EditableContent.tsx"],"sourcesContent":["import React, { forwardRef, Ref, useCallback, useRef } from \"react\";\nimport { useForkRef } from \"../../utils\";\nimport { Variant } from \"../Typography/Typography\";\nimport { StyledDiv, StyledInput, StyledSpan } from \"./Styles\";\n\nexport interface EditableContentInterface {\n /** Typography variant. */\n variant?: Variant;\n /** Typography weight. */\n weight?: \"light\" | \"regular\" | \"bold\" | \"medium\";\n /** Input props. */\n inputProps?: Partial<React.ComponentPropsWithoutRef<\"input\">>;\n /** Disable edit mode. */\n disabled?: boolean;\n /** Wrapper reference. */\n wrapRef?: Ref<HTMLDivElement>;\n}\n\nexport const EditableContent = forwardRef<\n HTMLDivElement,\n EditableContentInterface &\n Omit<React.ComponentPropsWithoutRef<\"div\">, keyof EditableContentInterface>\n>(\n (\n {\n className,\n variant = \"Body 2\",\n weight,\n disabled = false,\n inputProps,\n wrapRef,\n ...props\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleBlur = useCallback(\n (evt) => {\n if (intInputRef?.current) {\n intInputRef.current.scrollLeft = 0;\n }\n typeof inputProps?.onBlur === `function` && inputProps?.onBlur(evt);\n },\n [inputProps]\n );\n\n return (\n <StyledDiv className={className} ref={wrapRef} {...props}>\n <StyledSpan\n variant={variant}\n forwardedAs=\"span\"\n weight={weight}\n $disabled={disabled}\n >\n {inputProps?.value}\n </StyledSpan>\n <StyledInput\n {...inputProps}\n ref={handleRef}\n forwardedAs=\"input\"\n variant={variant}\n weight={weight}\n value={inputProps?.value}\n onBlur={handleBlur}\n disabled={disabled}\n data-form-type=\"other\"\n />\n </StyledDiv>\n );\n }\n);\n\nEditableContent.displayName = \"EditableContent\";\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AAA8D;AAAA;AAAA;AAAA;AAAA;AAAA;AAevD,IAAMA,eAAe,gBAAG,IAAAC,iBAAU,EAKvC,
|
|
1
|
+
{"version":3,"file":"EditableContent.js","names":["EditableContent","forwardRef","ref","className","variant","weight","disabled","inputProps","wrapRef","children","props","intInputRef","useRef","handleRef","useForkRef","handleBlur","useCallback","evt","current","scrollLeft","onBlur","value","displayName"],"sources":["../../../../src/components/EditableContent/EditableContent.tsx"],"sourcesContent":["import React, { forwardRef, Ref, useCallback, useRef } from \"react\";\nimport { useForkRef } from \"../../utils\";\nimport { Variant } from \"../Typography/Typography\";\nimport { StyledDiv, StyledInput, StyledSpan } from \"./Styles\";\n\nexport interface EditableContentInterface {\n /** Typography variant. */\n variant?: Variant;\n /** Typography weight. */\n weight?: \"light\" | \"regular\" | \"bold\" | \"medium\";\n /** Input props. */\n inputProps?: Partial<React.ComponentPropsWithoutRef<\"input\">>;\n /** Disable edit mode. */\n disabled?: boolean;\n /** Wrapper reference. */\n wrapRef?: Ref<HTMLDivElement>;\n}\n\nexport const EditableContent = forwardRef<\n HTMLDivElement,\n EditableContentInterface &\n Omit<React.ComponentPropsWithoutRef<\"div\">, keyof EditableContentInterface>\n>(\n (\n {\n className,\n variant = \"Body 2\",\n weight,\n disabled = false,\n inputProps,\n wrapRef,\n children,\n ...props\n },\n ref\n ) => {\n const intInputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, intInputRef);\n\n const handleBlur = useCallback(\n (evt) => {\n if (intInputRef?.current) {\n intInputRef.current.scrollLeft = 0;\n }\n typeof inputProps?.onBlur === `function` && inputProps?.onBlur(evt);\n },\n [inputProps]\n );\n\n return (\n <StyledDiv className={className} ref={wrapRef} {...props}>\n <StyledSpan\n variant={variant}\n forwardedAs=\"span\"\n weight={weight}\n $disabled={disabled}\n className=\"presentation\"\n >\n {children ? children : inputProps?.value}\n </StyledSpan>\n <StyledInput\n {...inputProps}\n ref={handleRef}\n forwardedAs=\"input\"\n variant={variant}\n weight={weight}\n value={inputProps?.value}\n onBlur={handleBlur}\n disabled={disabled}\n data-form-type=\"other\"\n />\n </StyledDiv>\n );\n }\n);\n\nEditableContent.displayName = \"EditableContent\";\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AAA8D;AAAA;AAAA;AAAA;AAAA;AAAA;AAevD,IAAMA,eAAe,gBAAG,IAAAC,iBAAU,EAKvC,gBAWEC,GAAG,EACA;EAAA,IAVDC,SAAS,QAATA,SAAS;IAAA,oBACTC,OAAO;IAAPA,OAAO,6BAAG,QAAQ;IAClBC,MAAM,QAANA,MAAM;IAAA,qBACNC,QAAQ;IAARA,QAAQ,8BAAG,KAAK;IAChBC,UAAU,QAAVA,UAAU;IACVC,OAAO,QAAPA,OAAO;IACPC,QAAQ,QAARA,QAAQ;IACLC,KAAK;EAIV,IAAMC,WAAW,GAAG,IAAAC,aAAM,EAAmB,IAAI,CAAC;EAClD,IAAMC,SAAS,GAAG,IAAAC,iBAAU,EAACZ,GAAG,EAAES,WAAW,CAAC;EAE9C,IAAMI,UAAU,GAAG,IAAAC,kBAAW,EAC5B,UAACC,GAAG,EAAK;IACP,IAAIN,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEO,OAAO,EAAE;MACxBP,WAAW,CAACO,OAAO,CAACC,UAAU,GAAG,CAAC;IACpC;IACA,QAAOZ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,MAAM,gBAAe,KAAIb,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,MAAM,CAACH,GAAG,CAAC;EACrE,CAAC,EACD,CAACV,UAAU,CAAC,CACb;EAED,oBACE,6BAAC,iBAAS;IAAC,SAAS,EAAEJ,SAAU;IAAC,GAAG,EAAEK;EAAQ,GAAKE,KAAK,gBACtD,6BAAC,kBAAU;IACT,OAAO,EAAEN,OAAQ;IACjB,WAAW,EAAC,MAAM;IAClB,MAAM,EAAEC,MAAO;IACf,SAAS,EAAEC,QAAS;IACpB,SAAS,EAAC;EAAc,GAEvBG,QAAQ,GAAGA,QAAQ,GAAGF,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEc,KAAK,CAC7B,eACb,6BAAC,mBAAW,eACNd,UAAU;IACd,GAAG,EAAEM,SAAU;IACf,WAAW,EAAC,OAAO;IACnB,OAAO,EAAET,OAAQ;IACjB,MAAM,EAAEC,MAAO;IACf,KAAK,EAAEE,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEc,KAAM;IACzB,MAAM,EAAEN,UAAW;IACnB,QAAQ,EAAET,QAAS;IACnB,kBAAe;EAAO,GACtB,CACQ;AAEhB,CAAC,CACF;AAAC;AAEFN,eAAe,CAACsB,WAAW,GAAG,iBAAiB"}
|
|
@@ -8,10 +8,10 @@ exports.EditableHours = void 0;
|
|
|
8
8
|
var _EditableContent = require("../EditableContent");
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
|
|
11
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
11
|
var _utils = require("../../utils");
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
var _useInputHours2 = require("../../hooks/useInputHours");
|
|
13
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
14
|
+
var _excluded = ["value", "onCancel", "onSave", "allowEmptyValue", "withLeadingZero", "validation", "incrementOnlySelected", "minuteIncrement", "className", "onEnterKeyPress", "inputProps", "onClick", "ticking", "onFocus"];
|
|
15
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
16
|
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); }
|
|
17
17
|
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; }
|
|
@@ -19,42 +19,111 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
19
19
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
20
20
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
21
21
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
22
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
23
|
+
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."); }
|
|
24
|
+
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); }
|
|
25
|
+
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; }
|
|
26
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
27
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
28
|
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; }
|
|
23
29
|
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
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
30
|
+
var StyledEditableContent = (0, _styledComponents.default)(_EditableContent.EditableContent).withConfig({
|
|
31
|
+
displayName: "EditableHours__StyledEditableContent",
|
|
32
|
+
componentId: "sc-nvi34j-0"
|
|
33
|
+
})(["", ""], function (_ref) {
|
|
34
|
+
var $ticking = _ref.$ticking;
|
|
35
|
+
return $ticking && (0, _styledComponents.css)([".presentation{visibility:visible;}input{opacity:0;}"]);
|
|
36
|
+
});
|
|
37
|
+
var EditableHours = /*#__PURE__*/_react.default.forwardRef(function (_ref2, ref) {
|
|
38
|
+
var defaultValue = _ref2.value,
|
|
39
|
+
onCancel = _ref2.onCancel,
|
|
40
|
+
onSave = _ref2.onSave,
|
|
41
|
+
allowEmptyValue = _ref2.allowEmptyValue,
|
|
42
|
+
_ref2$withLeadingZero = _ref2.withLeadingZero,
|
|
43
|
+
withLeadingZero = _ref2$withLeadingZero === void 0 ? true : _ref2$withLeadingZero,
|
|
44
|
+
_ref2$validation = _ref2.validation,
|
|
45
|
+
validation = _ref2$validation === void 0 ? _utils.validateTimeInput : _ref2$validation,
|
|
46
|
+
_ref2$incrementOnlySe = _ref2.incrementOnlySelected,
|
|
47
|
+
incrementOnlySelected = _ref2$incrementOnlySe === void 0 ? false : _ref2$incrementOnlySe,
|
|
48
|
+
_ref2$minuteIncrement = _ref2.minuteIncrement,
|
|
49
|
+
minuteIncrement = _ref2$minuteIncrement === void 0 ? 1 : _ref2$minuteIncrement,
|
|
50
|
+
className = _ref2.className,
|
|
51
|
+
externalEnterKeyPress = _ref2.onEnterKeyPress,
|
|
52
|
+
externalInputProps = _ref2.inputProps,
|
|
53
|
+
externalOnClick = _ref2.onClick,
|
|
54
|
+
ticking = _ref2.ticking,
|
|
55
|
+
onFocus = _ref2.onFocus,
|
|
56
|
+
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
40
57
|
var inputRef = (0, _react.useRef)(null);
|
|
41
58
|
var handleRef = (0, _useForkRef.default)(ref, inputRef);
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
var _useInputHours = (0, _useInputHours2.useInputHours)({
|
|
60
|
+
value: defaultValue,
|
|
61
|
+
withLeadingZero: withLeadingZero,
|
|
62
|
+
onSave: onSave,
|
|
63
|
+
validation: validation,
|
|
64
|
+
allowEmptyValue: allowEmptyValue,
|
|
65
|
+
onCancel: onCancel,
|
|
66
|
+
minuteIncrement: minuteIncrement,
|
|
67
|
+
incrementOnlySelected: incrementOnlySelected,
|
|
68
|
+
onEnterKeyPress: externalEnterKeyPress,
|
|
69
|
+
onClick: externalOnClick
|
|
70
|
+
}, inputRef),
|
|
71
|
+
inputProps = _useInputHours.inputProps,
|
|
72
|
+
setCurrentValue = _useInputHours.setCurrentValue,
|
|
73
|
+
setPrevValue = _useInputHours.setPrevValue;
|
|
74
|
+
var value = inputProps.value,
|
|
75
|
+
onBlur = inputProps.onBlur,
|
|
76
|
+
onKeyDown = inputProps.onKeyDown,
|
|
77
|
+
onChange = inputProps.onChange,
|
|
78
|
+
onClick = inputProps.onClick,
|
|
79
|
+
onDoubleClick = inputProps.onDoubleClick;
|
|
80
|
+
(0, _react.useEffect)(function () {
|
|
81
|
+
var _value;
|
|
82
|
+
if (defaultValue !== undefined) {
|
|
83
|
+
_value = (0, _utils.decimalToHours)(defaultValue, withLeadingZero);
|
|
84
|
+
}
|
|
85
|
+
setCurrentValue(function (prevState) {
|
|
86
|
+
if (prevState !== _value) {
|
|
87
|
+
return _value;
|
|
88
|
+
}
|
|
89
|
+
return prevState;
|
|
90
|
+
});
|
|
91
|
+
setPrevValue(function (prevState) {
|
|
92
|
+
if (prevState !== _value) {
|
|
93
|
+
return _value;
|
|
94
|
+
}
|
|
95
|
+
return prevState;
|
|
96
|
+
});
|
|
97
|
+
}, [defaultValue, setCurrentValue, setPrevValue, withLeadingZero]);
|
|
98
|
+
var splitTime = (0, _react.useMemo)(function () {
|
|
99
|
+
if (value && ticking) {
|
|
100
|
+
var _value$split = value.split(":"),
|
|
101
|
+
_value$split2 = _slicedToArray(_value$split, 2),
|
|
102
|
+
hours = _value$split2[0],
|
|
103
|
+
minutes = _value$split2[1];
|
|
104
|
+
return {
|
|
105
|
+
hours: hours,
|
|
106
|
+
minutes: minutes
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
}, [value, ticking]);
|
|
110
|
+
return /*#__PURE__*/_react.default.createElement(StyledEditableContent, _extends({
|
|
52
111
|
ref: handleRef,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
112
|
+
className: className,
|
|
113
|
+
inputProps: _objectSpread(_objectSpread({}, externalInputProps), {}, {
|
|
114
|
+
value: value,
|
|
115
|
+
onBlur: onBlur,
|
|
116
|
+
onKeyDown: onKeyDown,
|
|
117
|
+
onChange: onChange,
|
|
118
|
+
onClick: onClick,
|
|
119
|
+
onDoubleClick: onDoubleClick,
|
|
120
|
+
onFocus: onFocus,
|
|
121
|
+
type: "text"
|
|
122
|
+
}),
|
|
123
|
+
$ticking: ticking
|
|
124
|
+
}, rest), ticking && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, splitTime === null || splitTime === void 0 ? void 0 : splitTime.hours, /*#__PURE__*/_react.default.createElement("span", {
|
|
125
|
+
className: "tw-animate-ping"
|
|
126
|
+
}, ":"), splitTime === null || splitTime === void 0 ? void 0 : splitTime.minutes));
|
|
58
127
|
});
|
|
59
128
|
exports.EditableHours = EditableHours;
|
|
60
129
|
EditableHours.displayName = "EditableHours";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableHours.js","names":["EditableHours","React","forwardRef","ref","value","onCancel","onSave","allowEmptyValue","withLeadingZero","validation","validateTimeInput","incrementOnlySelected","minuteIncrement","className","inputProps","rest","inputRef","useRef","handleRef","useForkRef","
|
|
1
|
+
{"version":3,"file":"EditableHours.js","names":["StyledEditableContent","styled","EditableContent","$ticking","css","EditableHours","React","forwardRef","ref","defaultValue","value","onCancel","onSave","allowEmptyValue","withLeadingZero","validation","validateTimeInput","incrementOnlySelected","minuteIncrement","className","externalEnterKeyPress","onEnterKeyPress","externalInputProps","inputProps","externalOnClick","onClick","ticking","onFocus","rest","inputRef","useRef","handleRef","useForkRef","useInputHours","setCurrentValue","setPrevValue","onBlur","onKeyDown","onChange","onDoubleClick","useEffect","_value","undefined","decimalToHours","prevState","splitTime","useMemo","split","hours","minutes","type","displayName"],"sources":["../../../../src/components/EditableHours/EditableHours.tsx"],"sourcesContent":["import { EditableContent, EditableContentInterface } from \"../EditableContent\";\nimport React, { useEffect, useMemo, useRef, FocusEvent } from \"react\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { decimalToHours, validateTimeInput } from \"../../utils\";\nimport { IInputHours, useInputHours } from \"../../hooks/useInputHours\";\nimport styled, { css } from \"styled-components\";\n\nexport interface EditableHoursProps\n extends EditableContentInterface,\n Omit<IInputHours, \"onChange\"> {\n className?: string;\n ticking?: boolean;\n onFocus?: (event: FocusEvent) => void;\n}\n\nconst StyledEditableContent = styled(EditableContent)<{ $ticking?: boolean }>`\n ${({ $ticking }) =>\n $ticking &&\n css`\n .presentation {\n visibility: visible;\n }\n\n input {\n opacity: 0;\n }\n `}\n`;\n\nexport const EditableHours = React.forwardRef<\n HTMLDivElement,\n EditableHoursProps\n>(\n (\n {\n value: defaultValue,\n onCancel,\n onSave,\n allowEmptyValue,\n withLeadingZero = true,\n validation = validateTimeInput,\n incrementOnlySelected = false,\n minuteIncrement = 1,\n className,\n onEnterKeyPress: externalEnterKeyPress,\n inputProps: externalInputProps,\n onClick: externalOnClick,\n ticking,\n onFocus,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const { inputProps, setCurrentValue, setPrevValue } = useInputHours(\n {\n value: defaultValue,\n withLeadingZero,\n onSave,\n validation,\n allowEmptyValue,\n onCancel,\n minuteIncrement,\n incrementOnlySelected,\n onEnterKeyPress: externalEnterKeyPress,\n onClick: externalOnClick,\n },\n inputRef\n );\n\n const { value, onBlur, onKeyDown, onChange, onClick, onDoubleClick } =\n inputProps;\n\n useEffect(() => {\n let _value;\n if (defaultValue !== undefined) {\n _value = decimalToHours(defaultValue, withLeadingZero);\n }\n setCurrentValue((prevState) => {\n if (prevState !== _value) {\n return _value;\n }\n return prevState;\n });\n setPrevValue((prevState) => {\n if (prevState !== _value) {\n return _value;\n }\n return prevState;\n });\n }, [defaultValue, setCurrentValue, setPrevValue, withLeadingZero]);\n\n const splitTime = useMemo(() => {\n if (value && ticking) {\n const [hours, minutes] = value.split(\":\");\n\n return {\n hours,\n minutes,\n };\n }\n }, [value, ticking]);\n\n return (\n <StyledEditableContent\n ref={handleRef}\n className={className}\n inputProps={{\n ...externalInputProps,\n value,\n onBlur,\n onKeyDown,\n onChange,\n onClick,\n onDoubleClick,\n onFocus,\n type: \"text\",\n }}\n $ticking={ticking}\n {...rest}\n >\n {ticking && (\n <>\n {splitTime?.hours}\n <span className=\"tw-animate-ping\">:</span>\n {splitTime?.minutes}\n </>\n )}\n </StyledEditableContent>\n );\n }\n);\n\nEditableHours.displayName = \"EditableHours\";\n"],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
|
|
10
10
|
var _utils = require("../../utils");
|
|
11
11
|
var _Input = require("./Input");
|
|
12
|
-
var
|
|
13
|
-
var _excluded = ["value", "onCancel", "onSave", "onEnterKeyPress", "allowEmptyValue", "withLeadingZero", "validation", "incrementOnlySelected", "minuteIncrement", "className"];
|
|
12
|
+
var _useInputHours2 = require("../../hooks/useInputHours");
|
|
13
|
+
var _excluded = ["value", "onCancel", "onSave", "onEnterKeyPress", "allowEmptyValue", "withLeadingZero", "validation", "incrementOnlySelected", "minuteIncrement", "className", "onChange", "onClick"];
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
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); }
|
|
16
16
|
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; }
|
|
@@ -18,10 +18,10 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
18
18
|
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; }
|
|
19
19
|
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; }
|
|
20
20
|
var InputHours = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
21
|
-
var
|
|
21
|
+
var defaultValue = _ref.value,
|
|
22
22
|
onCancel = _ref.onCancel,
|
|
23
23
|
onSave = _ref.onSave,
|
|
24
|
-
|
|
24
|
+
externalEnterKeyPress = _ref.onEnterKeyPress,
|
|
25
25
|
allowEmptyValue = _ref.allowEmptyValue,
|
|
26
26
|
_ref$withLeadingZero = _ref.withLeadingZero,
|
|
27
27
|
withLeadingZero = _ref$withLeadingZero === void 0 ? true : _ref$withLeadingZero,
|
|
@@ -32,24 +32,42 @@ var InputHours = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
32
32
|
_ref$minuteIncrement = _ref.minuteIncrement,
|
|
33
33
|
minuteIncrement = _ref$minuteIncrement === void 0 ? 1 : _ref$minuteIncrement,
|
|
34
34
|
className = _ref.className,
|
|
35
|
+
externalOnChange = _ref.onChange,
|
|
36
|
+
externalOnClick = _ref.onClick,
|
|
35
37
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
36
38
|
var inputRef = (0, _react.useRef)(null);
|
|
37
39
|
var handleRef = (0, _useForkRef.default)(ref, inputRef);
|
|
38
|
-
|
|
40
|
+
var _useInputHours = (0, _useInputHours2.useInputHours)({
|
|
41
|
+
value: defaultValue,
|
|
42
|
+
withLeadingZero: withLeadingZero,
|
|
43
|
+
onSave: onSave,
|
|
44
|
+
validation: validation,
|
|
45
|
+
allowEmptyValue: allowEmptyValue,
|
|
46
|
+
onCancel: onCancel,
|
|
47
|
+
minuteIncrement: minuteIncrement,
|
|
48
|
+
incrementOnlySelected: incrementOnlySelected,
|
|
49
|
+
onEnterKeyPress: externalEnterKeyPress,
|
|
50
|
+
onChange: externalOnChange,
|
|
51
|
+
onClick: externalOnClick
|
|
52
|
+
}, inputRef),
|
|
53
|
+
inputProps = _useInputHours.inputProps;
|
|
54
|
+
var value = inputProps.value,
|
|
55
|
+
onBlur = inputProps.onBlur,
|
|
56
|
+
onKeyDown = inputProps.onKeyDown,
|
|
57
|
+
onChange = inputProps.onChange,
|
|
58
|
+
onClick = inputProps.onClick,
|
|
59
|
+
onDoubleClick = inputProps.onDoubleClick;
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement(_Input.Input, _extends({}, rest, {
|
|
61
|
+
className: className,
|
|
62
|
+
placeholder: withLeadingZero ? "00:00" : "0:00",
|
|
39
63
|
value: value,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
allowEmptyValue: allowEmptyValue,
|
|
46
|
-
withLeadingZero: withLeadingZero,
|
|
47
|
-
validation: validation,
|
|
64
|
+
onBlur: onBlur,
|
|
65
|
+
onKeyDown: onKeyDown,
|
|
66
|
+
onChange: onChange,
|
|
67
|
+
onClick: onClick,
|
|
68
|
+
onDoubleClick: onDoubleClick,
|
|
48
69
|
ref: handleRef
|
|
49
|
-
}
|
|
50
|
-
className: className,
|
|
51
|
-
placeholder: withLeadingZero ? "00:00" : "0:00"
|
|
52
|
-
}, rest)));
|
|
70
|
+
}));
|
|
53
71
|
});
|
|
54
72
|
exports.InputHours = InputHours;
|
|
55
73
|
InputHours.displayName = "InputHours";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputHours.js","names":["InputHours","React","forwardRef","ref","value","onCancel","onSave","onEnterKeyPress","allowEmptyValue","withLeadingZero","validation","validateTimeInput","incrementOnlySelected","minuteIncrement","className","rest","inputRef","useRef","handleRef","useForkRef","displayName"],"sources":["../../../../src/components/Input/InputHours.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { validateTimeInput } from \"../../utils\";\nimport { Input } from \"./Input\";\nimport
|
|
1
|
+
{"version":3,"file":"InputHours.js","names":["InputHours","React","forwardRef","ref","defaultValue","value","onCancel","onSave","externalEnterKeyPress","onEnterKeyPress","allowEmptyValue","withLeadingZero","validation","validateTimeInput","incrementOnlySelected","minuteIncrement","className","externalOnChange","onChange","externalOnClick","onClick","rest","inputRef","useRef","handleRef","useForkRef","useInputHours","inputProps","onBlur","onKeyDown","onDoubleClick","displayName"],"sources":["../../../../src/components/Input/InputHours.tsx"],"sourcesContent":["import React, { useRef } from \"react\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { validateTimeInput } from \"../../utils\";\nimport { Input } from \"./Input\";\nimport type { InputProps } from \"./Input\";\nimport { IInputHours, useInputHours } from \"../../hooks/useInputHours\";\n\nexport interface InputHoursProps\n extends Omit<InputProps, \"value\" | \"onChange\">,\n IInputHours {}\n\nexport const InputHours = React.forwardRef<HTMLInputElement, InputHoursProps>(\n (\n {\n value: defaultValue,\n onCancel,\n onSave,\n onEnterKeyPress: externalEnterKeyPress,\n allowEmptyValue,\n withLeadingZero = true,\n validation = validateTimeInput,\n incrementOnlySelected = false,\n minuteIncrement = 1,\n className,\n onChange: externalOnChange,\n onClick: externalOnClick,\n ...rest\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const handleRef = useForkRef(ref, inputRef);\n\n const { inputProps } = useInputHours(\n {\n value: defaultValue,\n withLeadingZero,\n onSave,\n validation,\n allowEmptyValue,\n onCancel,\n minuteIncrement,\n incrementOnlySelected,\n onEnterKeyPress: externalEnterKeyPress,\n onChange: externalOnChange,\n onClick: externalOnClick,\n },\n inputRef\n );\n\n const { value, onBlur, onKeyDown, onChange, onClick, onDoubleClick } =\n inputProps;\n\n return (\n <Input\n {...rest}\n className={className}\n placeholder={withLeadingZero ? \"00:00\" : \"0:00\"}\n value={value}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n onChange={onChange}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n ref={handleRef}\n />\n );\n }\n);\n\nInputHours.displayName = \"InputHours\";\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AAEA;AAAuE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMhE,IAAMA,UAAU,gBAAGC,cAAK,CAACC,UAAU,CACxC,gBAgBEC,GAAG,EACA;EAAA,IAfMC,YAAY,QAAnBC,KAAK;IACLC,QAAQ,QAARA,QAAQ;IACRC,MAAM,QAANA,MAAM;IACWC,qBAAqB,QAAtCC,eAAe;IACfC,eAAe,QAAfA,eAAe;IAAA,4BACfC,eAAe;IAAfA,eAAe,qCAAG,IAAI;IAAA,uBACtBC,UAAU;IAAVA,UAAU,gCAAGC,wBAAiB;IAAA,6BAC9BC,qBAAqB;IAArBA,qBAAqB,sCAAG,KAAK;IAAA,4BAC7BC,eAAe;IAAfA,eAAe,qCAAG,CAAC;IACnBC,SAAS,QAATA,SAAS;IACCC,gBAAgB,QAA1BC,QAAQ;IACCC,eAAe,QAAxBC,OAAO;IACJC,IAAI;EAIT,IAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAmB,IAAI,CAAC;EAC/C,IAAMC,SAAS,GAAG,IAAAC,mBAAU,EAACtB,GAAG,EAAEmB,QAAQ,CAAC;EAE3C,qBAAuB,IAAAI,6BAAa,EAClC;MACErB,KAAK,EAAED,YAAY;MACnBO,eAAe,EAAfA,eAAe;MACfJ,MAAM,EAANA,MAAM;MACNK,UAAU,EAAVA,UAAU;MACVF,eAAe,EAAfA,eAAe;MACfJ,QAAQ,EAARA,QAAQ;MACRS,eAAe,EAAfA,eAAe;MACfD,qBAAqB,EAArBA,qBAAqB;MACrBL,eAAe,EAAED,qBAAqB;MACtCU,QAAQ,EAAED,gBAAgB;MAC1BG,OAAO,EAAED;IACX,CAAC,EACDG,QAAQ,CACT;IAfOK,UAAU,kBAAVA,UAAU;EAiBlB,IAAQtB,KAAK,GACXsB,UAAU,CADJtB,KAAK;IAAEuB,MAAM,GACnBD,UAAU,CADGC,MAAM;IAAEC,SAAS,GAC9BF,UAAU,CADWE,SAAS;IAAEX,QAAQ,GACxCS,UAAU,CADsBT,QAAQ;IAAEE,OAAO,GACjDO,UAAU,CADgCP,OAAO;IAAEU,aAAa,GAChEH,UAAU,CADyCG,aAAa;EAGlE,oBACE,6BAAC,YAAK,eACAT,IAAI;IACR,SAAS,EAAEL,SAAU;IACrB,WAAW,EAAEL,eAAe,GAAG,OAAO,GAAG,MAAO;IAChD,KAAK,EAAEN,KAAM;IACb,MAAM,EAAEuB,MAAO;IACf,SAAS,EAAEC,SAAU;IACrB,QAAQ,EAAEX,QAAS;IACnB,OAAO,EAAEE,OAAQ;IACjB,aAAa,EAAEU,aAAc;IAC7B,GAAG,EAAEN;EAAU,GACf;AAEN,CAAC,CACF;AAAC;AAEFxB,UAAU,CAAC+B,WAAW,GAAG,YAAY"}
|
|
@@ -1,74 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
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
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports.
|
|
8
|
-
var _react =
|
|
9
|
-
var
|
|
10
|
-
var _useForkRef = _interopRequireDefault(require("../../utils/useForkRef"));
|
|
11
|
-
var _utils = require("../../utils");
|
|
12
|
-
var _EditableContent = require("../EditableContent");
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
-
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); }
|
|
15
|
-
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; }
|
|
16
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
17
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
18
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
exports.useInputHours = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _utils = require("../utils");
|
|
19
9
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
20
10
|
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."); }
|
|
21
11
|
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); }
|
|
22
12
|
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; }
|
|
23
13
|
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
24
14
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
25
|
-
var
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
onCancel = _ref.onCancel,
|
|
15
|
+
var useInputHours = function useInputHours(_ref, inputRef) {
|
|
16
|
+
var value = _ref.value,
|
|
17
|
+
withLeadingZero = _ref.withLeadingZero,
|
|
29
18
|
onSave = _ref.onSave,
|
|
30
|
-
onEnterKeyPress = _ref.onEnterKeyPress,
|
|
31
|
-
allowEmptyValue = _ref.allowEmptyValue,
|
|
32
|
-
_ref$withLeadingZero = _ref.withLeadingZero,
|
|
33
|
-
withLeadingZero = _ref$withLeadingZero === void 0 ? true : _ref$withLeadingZero,
|
|
34
19
|
_ref$validation = _ref.validation,
|
|
35
20
|
validation = _ref$validation === void 0 ? _utils.validateTimeInput : _ref$validation,
|
|
36
|
-
|
|
37
|
-
|
|
21
|
+
allowEmptyValue = _ref.allowEmptyValue,
|
|
22
|
+
onCancel = _ref.onCancel,
|
|
38
23
|
_ref$minuteIncrement = _ref.minuteIncrement,
|
|
39
|
-
minuteIncrement = _ref$minuteIncrement === void 0 ? 1 : _ref$minuteIncrement
|
|
40
|
-
|
|
41
|
-
|
|
24
|
+
minuteIncrement = _ref$minuteIncrement === void 0 ? 1 : _ref$minuteIncrement,
|
|
25
|
+
incrementOnlySelected = _ref.incrementOnlySelected,
|
|
26
|
+
onEnterKeyPress = _ref.onEnterKeyPress,
|
|
27
|
+
onChange = _ref.onChange,
|
|
28
|
+
onClick = _ref.onClick;
|
|
42
29
|
var _useState = (0, _react.useState)(function () {
|
|
43
|
-
return (0,
|
|
30
|
+
return (0, _utils.decimalToHours)(value, withLeadingZero);
|
|
44
31
|
}),
|
|
45
32
|
_useState2 = _slicedToArray(_useState, 2),
|
|
46
33
|
currentValue = _useState2[0],
|
|
47
34
|
setCurrentValue = _useState2[1];
|
|
48
35
|
var _useState3 = (0, _react.useState)(function () {
|
|
49
|
-
return (0,
|
|
36
|
+
return (0, _utils.decimalToHours)(value, withLeadingZero);
|
|
50
37
|
}),
|
|
51
38
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
52
39
|
prevValue = _useState4[0],
|
|
53
40
|
setPrevValue = _useState4[1];
|
|
54
41
|
var escapeRef = (0, _react.useRef)(false);
|
|
55
|
-
(0, _react.useEffect)(function () {
|
|
56
|
-
var _value;
|
|
57
|
-
if (value !== undefined) {
|
|
58
|
-
_value = (0, _timeUtils.decimalToHours)(value, withLeadingZero);
|
|
59
|
-
}
|
|
60
|
-
if (currentValue !== _value) {
|
|
61
|
-
setCurrentValue(_value);
|
|
62
|
-
setPrevValue(_value);
|
|
63
|
-
}
|
|
64
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
65
|
-
}, [value]);
|
|
66
42
|
var handleBlur = (0, _react.useCallback)(function (e) {
|
|
67
43
|
if (escapeRef.current) {
|
|
68
44
|
setCurrentValue(prevValue);
|
|
69
45
|
} else {
|
|
70
46
|
if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {
|
|
71
|
-
var _value = (0,
|
|
47
|
+
var _value = (0, _utils.decimalToHours)(e.target.value, withLeadingZero);
|
|
72
48
|
setPrevValue(_value);
|
|
73
49
|
setCurrentValue(_value);
|
|
74
50
|
typeof onSave === "function" && onSave(e);
|
|
@@ -142,11 +118,11 @@ var HoursWrapper = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
142
118
|
}
|
|
143
119
|
}
|
|
144
120
|
}
|
|
145
|
-
}, [currentValue, incrementOnlySelected, minuteIncrement, validation, withLeadingZero]);
|
|
121
|
+
}, [currentValue, incrementOnlySelected, inputRef, minuteIncrement, validation, withLeadingZero]);
|
|
146
122
|
var handleKeyDown = (0, _react.useCallback)(function (e) {
|
|
147
123
|
if (e.key === "Enter") {
|
|
148
124
|
e.target.blur();
|
|
149
|
-
onEnterKeyPress
|
|
125
|
+
if (typeof onEnterKeyPress === "function") onEnterKeyPress(e.target.value);
|
|
150
126
|
}
|
|
151
127
|
if (e.key === "ArrowLeft") {
|
|
152
128
|
return;
|
|
@@ -215,11 +191,12 @@ var HoursWrapper = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
215
191
|
return;
|
|
216
192
|
}
|
|
217
193
|
}
|
|
218
|
-
}, [handleIncrementDecrement, onCancel, onEnterKeyPress, validation, withLeadingZero]);
|
|
194
|
+
}, [handleIncrementDecrement, inputRef, onCancel, onEnterKeyPress, validation, withLeadingZero]);
|
|
219
195
|
var handleChange = (0, _react.useCallback)(function (e) {
|
|
220
196
|
setCurrentValue(e.target.value);
|
|
221
|
-
|
|
222
|
-
|
|
197
|
+
if (onChange) onChange(e.target.value);
|
|
198
|
+
}, [onChange]);
|
|
199
|
+
var handleClick = (0, _react.useCallback)(function (e) {
|
|
223
200
|
var _inputRef$current5;
|
|
224
201
|
var selectionStart = (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.selectionStart;
|
|
225
202
|
if (inputRef.current && currentValue && currentValue.length > 0 && typeof selectionStart === "number") {
|
|
@@ -232,39 +209,31 @@ var HoursWrapper = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
|
|
|
232
209
|
(_inputRef$current7 = inputRef.current) === null || _inputRef$current7 === void 0 ? void 0 : _inputRef$current7.setSelectionRange(dotsIndex + 1, currentValue.length);
|
|
233
210
|
}
|
|
234
211
|
}
|
|
235
|
-
|
|
236
|
-
|
|
212
|
+
if (typeof onClick === "function") {
|
|
213
|
+
onClick(e);
|
|
214
|
+
}
|
|
215
|
+
}, [currentValue, inputRef, onClick]);
|
|
216
|
+
var handleDoubleClick = (0, _react.useCallback)(function () {
|
|
237
217
|
if (inputRef.current) {
|
|
238
218
|
var _inputRef$current8;
|
|
239
219
|
(_inputRef$current8 = inputRef.current) === null || _inputRef$current8 === void 0 ? void 0 : _inputRef$current8.select();
|
|
240
220
|
}
|
|
221
|
+
}, [inputRef]);
|
|
222
|
+
var inputProps = (0, _react.useMemo)(function () {
|
|
223
|
+
return {
|
|
224
|
+
value: currentValue,
|
|
225
|
+
onBlur: handleBlur,
|
|
226
|
+
onKeyDown: handleKeyDown,
|
|
227
|
+
onChange: handleChange,
|
|
228
|
+
onClick: handleClick,
|
|
229
|
+
onDoubleClick: handleDoubleClick
|
|
230
|
+
};
|
|
231
|
+
}, [currentValue, handleBlur, handleChange, handleClick, handleDoubleClick, handleKeyDown]);
|
|
232
|
+
return {
|
|
233
|
+
inputProps: inputProps,
|
|
234
|
+
setCurrentValue: setCurrentValue,
|
|
235
|
+
setPrevValue: setPrevValue
|
|
241
236
|
};
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
onKeyDown: handleKeyDown,
|
|
246
|
-
onChange: handleChange,
|
|
247
|
-
onClick: handleClick,
|
|
248
|
-
onDoubleClick: handleDoubleClick,
|
|
249
|
-
onEnterKeyPress: onEnterKeyPress
|
|
250
|
-
};
|
|
251
|
-
if (!children) {
|
|
252
|
-
console.error("No children provided!");
|
|
253
|
-
return null;
|
|
254
|
-
}
|
|
255
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, _react.default.Children.map(children, function (child) {
|
|
256
|
-
var el = child;
|
|
257
|
-
if (el && el.type === _EditableContent.EditableContent) {
|
|
258
|
-
return /*#__PURE__*/_react.default.cloneElement(child, {
|
|
259
|
-
ref: handleRef,
|
|
260
|
-
inputProps: inputProps
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
return /*#__PURE__*/_react.default.cloneElement(child, _objectSpread({
|
|
264
|
-
ref: handleRef
|
|
265
|
-
}, inputProps));
|
|
266
|
-
}));
|
|
267
|
-
});
|
|
268
|
-
exports.HoursWrapper = HoursWrapper;
|
|
269
|
-
HoursWrapper.displayName = "HoursWrapper";
|
|
270
|
-
//# sourceMappingURL=HoursWrapper.js.map
|
|
237
|
+
};
|
|
238
|
+
exports.useInputHours = useInputHours;
|
|
239
|
+
//# sourceMappingURL=useInputHours.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInputHours.js","names":["useInputHours","inputRef","value","withLeadingZero","onSave","validation","validateTimeInput","allowEmptyValue","onCancel","minuteIncrement","incrementOnlySelected","onEnterKeyPress","onChange","onClick","useState","decimalToHours","currentValue","setCurrentValue","prevValue","setPrevValue","escapeRef","useRef","handleBlur","useCallback","e","current","target","trim","length","_value","handleIncrementDecrement","increment","selectionStart","dotsIndex","indexOf","split","map","Number","hours","minutes","newHours","newMinutes","newMinutesString","newHoursString","newValue","requestAnimationFrame","newDotsIndex","isHoursSelected","newSelectionStart","selectionEnd","setSelectionRange","handleKeyDown","key","blur","metaKey","ctrlKey","select","input","start","end","shiftKey","isMinutesSelected","preventDefault","substring","handleChange","handleClick","handleDoubleClick","inputProps","useMemo","onBlur","onKeyDown","onDoubleClick"],"sources":["../../../src/hooks/useInputHours.tsx"],"sourcesContent":["import {\n RefObject,\n useCallback,\n useMemo,\n useRef,\n useState,\n MouseEvent,\n} from \"react\";\nimport { decimalToHours } from \"../utils\";\nimport { validateTimeInput } from \"../utils\";\n\nexport interface IInputHours {\n value?: string | number;\n withLeadingZero?: boolean;\n onSave?: (e: Event) => void;\n validation?: (...args) => boolean;\n allowEmptyValue?: boolean;\n onCancel?: (e: Event) => void;\n minuteIncrement?: number;\n incrementOnlySelected?: boolean;\n onEnterKeyPress?: (val: string) => void;\n onChange?: (val: string) => void;\n onClick?: (event: MouseEvent<HTMLInputElement>) => void;\n}\n\nexport const useInputHours = (\n {\n value,\n withLeadingZero,\n onSave,\n validation = validateTimeInput,\n allowEmptyValue,\n onCancel,\n minuteIncrement = 1,\n incrementOnlySelected,\n onEnterKeyPress,\n onChange,\n onClick,\n }: IInputHours,\n inputRef: RefObject<HTMLInputElement | null>\n) => {\n const [currentValue, setCurrentValue] = useState(() =>\n decimalToHours(value, withLeadingZero)\n );\n const [prevValue, setPrevValue] = useState(() =>\n decimalToHours(value, withLeadingZero)\n );\n\n const escapeRef = useRef(false);\n\n const handleBlur = useCallback(\n (e) => {\n if (escapeRef.current) {\n setCurrentValue(prevValue);\n } else {\n if (e.target.value.trim().length > 0 && prevValue !== e.target.value) {\n const _value = decimalToHours(e.target.value, withLeadingZero);\n setPrevValue(_value);\n setCurrentValue(_value);\n typeof onSave === \"function\" && onSave(e);\n } else {\n if (!allowEmptyValue) {\n setCurrentValue(prevValue);\n typeof onCancel === \"function\" && onCancel(e);\n } else {\n if (typeof onSave === \"function\" && prevValue !== e.target.value) {\n onSave(e);\n } else {\n typeof onCancel === \"function\" && onCancel(e);\n }\n }\n }\n }\n },\n [allowEmptyValue, onCancel, onSave, prevValue, withLeadingZero]\n );\n\n const handleIncrementDecrement = useCallback(\n (increment: boolean) => {\n if (inputRef.current) {\n const selectionStart = inputRef.current.selectionStart;\n if (selectionStart !== null) {\n const dotsIndex = currentValue.indexOf(\":\");\n const [hours, minutes] = currentValue.split(\":\").map(Number);\n let newHours = hours;\n let newMinutes = minutes;\n\n if (selectionStart < dotsIndex) {\n if (increment) {\n newHours += 1;\n } else {\n newHours -= 1;\n if (newHours < 0) newHours = 0;\n }\n } else if (selectionStart > dotsIndex) {\n if (increment) {\n newMinutes += minuteIncrement;\n if (newMinutes > 59) {\n newMinutes = 0;\n if (!incrementOnlySelected) newHours += 1;\n }\n } else {\n if (newMinutes >= minuteIncrement || newMinutes === 0) {\n newMinutes -= minuteIncrement;\n if (newMinutes < 0 && newHours > 0) {\n newMinutes = 60 - minuteIncrement;\n if (!incrementOnlySelected) newHours -= 1;\n }\n if (newHours < 0) {\n newHours = 0;\n }\n } else {\n newMinutes = 0;\n }\n }\n }\n\n const newMinutesString =\n newMinutes < 10 ? `0${newMinutes}` : newMinutes;\n const newHoursString =\n withLeadingZero && newHours < 10 ? `0${newHours}` : newHours;\n const newValue = `${newHoursString}:${newMinutesString}`;\n\n if (validation(newValue, withLeadingZero)) {\n setCurrentValue(newValue);\n\n requestAnimationFrame(() => {\n const newDotsIndex = newValue.indexOf(\":\");\n const isHoursSelected = selectionStart < newDotsIndex;\n const newSelectionStart = isHoursSelected ? 0 : newDotsIndex + 1;\n const selectionEnd = isHoursSelected\n ? newDotsIndex\n : newValue.length;\n inputRef.current?.setSelectionRange(\n newSelectionStart,\n selectionEnd\n );\n });\n }\n }\n }\n },\n [\n currentValue,\n incrementOnlySelected,\n inputRef,\n minuteIncrement,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.target.blur();\n if (typeof onEnterKeyPress === \"function\")\n onEnterKeyPress(e.target.value);\n }\n if (e.key === \"ArrowLeft\") {\n return;\n }\n if (e.key === \"ArrowRight\") {\n return;\n }\n if (e.key === \"Escape\") {\n escapeRef.current = true;\n e.target.blur();\n typeof onCancel === \"function\" && onCancel(e);\n escapeRef.current = false;\n }\n if (e.key === \"Backspace\") {\n return;\n }\n if ((e.metaKey || e.ctrlKey) && e.key === \"a\") {\n inputRef.current?.select();\n return;\n }\n const input = e.target;\n const start = input.selectionStart;\n const end = input.selectionEnd;\n const currentValue = input.value;\n if (e.key === \"Tab\") {\n if (start !== end) {\n if (e.shiftKey) {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isMinutesSelected = start > newDotsIndex;\n if (isMinutesSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(0, newDotsIndex);\n }\n } else {\n const newDotsIndex = currentValue.indexOf(\":\");\n const isHoursSelected = start < newDotsIndex;\n if (isHoursSelected) {\n e.preventDefault();\n inputRef.current?.setSelectionRange(\n newDotsIndex + 1,\n currentValue.length\n );\n }\n }\n }\n return;\n }\n\n if (start !== end) {\n if (e.key === \"ArrowUp\") {\n handleIncrementDecrement(true);\n return;\n }\n if (e.key === \"ArrowDown\") {\n handleIncrementDecrement(false);\n return;\n }\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n } else {\n const newValue =\n currentValue.substring(0, start) +\n e.key +\n currentValue.substring(end);\n\n if (!validation(newValue, withLeadingZero)) {\n e.preventDefault();\n return;\n }\n }\n },\n [\n handleIncrementDecrement,\n inputRef,\n onCancel,\n onEnterKeyPress,\n validation,\n withLeadingZero,\n ]\n );\n\n const handleChange = useCallback(\n (e) => {\n setCurrentValue(e.target.value);\n if (onChange) onChange(e.target.value);\n },\n [onChange]\n );\n\n const handleClick = useCallback(\n (e) => {\n const selectionStart = inputRef.current?.selectionStart;\n if (\n inputRef.current &&\n currentValue &&\n currentValue.length > 0 &&\n typeof selectionStart === \"number\"\n ) {\n const dotsIndex = currentValue.indexOf(\":\");\n if (selectionStart < dotsIndex) {\n inputRef.current?.setSelectionRange(0, dotsIndex);\n } else if (selectionStart >= dotsIndex) {\n inputRef.current?.setSelectionRange(\n dotsIndex + 1,\n currentValue.length\n );\n }\n }\n\n if (typeof onClick === \"function\") {\n onClick(e);\n }\n },\n [currentValue, inputRef, onClick]\n );\n\n const handleDoubleClick = useCallback(() => {\n if (inputRef.current) {\n inputRef.current?.select();\n }\n }, [inputRef]);\n\n const inputProps = useMemo(() => {\n return {\n value: currentValue,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n onChange: handleChange,\n onClick: handleClick,\n onDoubleClick: handleDoubleClick,\n };\n }, [\n currentValue,\n handleBlur,\n handleChange,\n handleClick,\n handleDoubleClick,\n handleKeyDown,\n ]);\n\n return {\n inputProps,\n setCurrentValue,\n setPrevValue,\n };\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableContent.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableContent/EditableContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,GAAG,EAAuB,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGnD,MAAM,WAAW,wBAAwB;IACvC,0BAA0B;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yBAAyB;IACzB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjD,mBAAmB;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"EditableContent.d.ts","sourceRoot":"","sources":["../../../../src/components/EditableContent/EditableContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,GAAG,EAAuB,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAGnD,MAAM,WAAW,wBAAwB;IACvC,0BAA0B;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yBAAyB;IACzB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjD,mBAAmB;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC/B;AAED,eAAO,MAAM,eAAe,yuJAwD3B,CAAC"}
|