@activecollab/components 2.0.172 → 2.0.173
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 +7 -1
- package/dist/cjs/components/Input/InputTime.js.map +1 -1
- package/dist/esm/components/Input/InputTime.d.ts +1 -1
- package/dist/esm/components/Input/InputTime.d.ts.map +1 -1
- package/dist/esm/components/Input/InputTime.js +5 -1
- package/dist/esm/components/Input/InputTime.js.map +1 -1
- package/dist/index.js +7 -1
- 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
|
@@ -53,7 +53,7 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
|
|
|
53
53
|
disabled = _ref.disabled,
|
|
54
54
|
invalid = _ref.invalid,
|
|
55
55
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
56
|
-
var _useState = (0, _react.useState)(defaultSelected ||
|
|
56
|
+
var _useState = (0, _react.useState)(defaultSelected || undefined),
|
|
57
57
|
_useState2 = _slicedToArray(_useState, 2),
|
|
58
58
|
selected = _useState2[0],
|
|
59
59
|
setSelected = _useState2[1];
|
|
@@ -113,6 +113,12 @@ var InputTime = exports.InputTime = function InputTime(_ref) {
|
|
|
113
113
|
});
|
|
114
114
|
}
|
|
115
115
|
}, [isOpen, selected]);
|
|
116
|
+
(0, _react.useEffect)(function () {
|
|
117
|
+
if (defaultSelected !== selected && timeOptions.some(function (opt) {
|
|
118
|
+
return opt.id === defaultSelected;
|
|
119
|
+
})) setSelected(defaultSelected);
|
|
120
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
121
|
+
}, [defaultSelected, timeOptions]);
|
|
116
122
|
return /*#__PURE__*/_react.default.createElement(StyledInputTimeWrapper, {
|
|
117
123
|
className: (0, _classnames.default)("c-input-time", className)
|
|
118
124
|
}, /*#__PURE__*/_react.default.createElement(_ComboBox.ComboBox, _extends({}, rest, {
|
|
@@ -1 +1 @@
|
|
|
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","trim","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 if (/\\d{1,2}:\\d{2}/.test(text.trim())) {\n return;\n }\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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,gBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,OAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,iBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAGA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AAAgD,IAAAS,SAAA;AAAA,SAAAP,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAAA,SAAAK,eAAAC,GAAA,EAAAZ,CAAA,WAAAa,eAAA,CAAAD,GAAA,KAAAE,qBAAA,CAAAF,GAAA,EAAAZ,CAAA,KAAAe,2BAAA,CAAAH,GAAA,EAAAZ,CAAA,KAAAgB,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAA7B,CAAA,GAAAG,MAAA,CAAAI,SAAA,CAAAwB,QAAA,CAAAtB,IAAA,CAAAmB,CAAA,EAAAI,KAAA,aAAAhC,CAAA,iBAAA4B,CAAA,CAAAK,WAAA,EAAAjC,CAAA,GAAA4B,CAAA,CAAAK,WAAA,CAAAC,IAAA,MAAAlC,CAAA,cAAAA,CAAA,mBAAAmC,KAAA,CAAAC,IAAA,CAAAR,CAAA,OAAA5B,CAAA,+DAAAqC,IAAA,CAAArC,CAAA,UAAA8B,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAR,GAAA,EAAAgB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAhB,GAAA,CAAAL,MAAA,EAAAqB,GAAA,GAAAhB,GAAA,CAAAL,MAAA,WAAAP,CAAA,MAAA6B,IAAA,OAAAJ,KAAA,CAAAG,GAAA,GAAA5B,CAAA,GAAA4B,GAAA,EAAA5B,CAAA,IAAA6B,IAAA,CAAA7B,CAAA,IAAAY,GAAA,CAAAZ,CAAA,UAAA6B,IAAA;AAAA,SAAAf,sBAAA5B,CAAA,EAAA4C,CAAA,QAAA3C,CAAA,WAAAD,CAAA,gCAAA6C,MAAA,IAAA7C,CAAA,CAAA6C,MAAA,CAAAC,QAAA,KAAA9C,CAAA,4BAAAC,CAAA,QAAAH,CAAA,EAAAM,CAAA,EAAAU,CAAA,EAAAJ,CAAA,EAAAJ,CAAA,OAAAyC,CAAA,OAAAf,CAAA,iBAAAlB,CAAA,IAAAb,CAAA,GAAAA,CAAA,CAAAY,IAAA,CAAAb,CAAA,GAAAgD,IAAA,QAAAJ,CAAA,QAAArC,MAAA,CAAAN,CAAA,MAAAA,CAAA,UAAA8C,CAAA,uBAAAA,CAAA,IAAAjD,CAAA,GAAAgB,CAAA,CAAAD,IAAA,CAAAZ,CAAA,GAAAgD,IAAA,MAAA3C,CAAA,CAAA4C,IAAA,CAAApD,CAAA,CAAAqD,KAAA,GAAA7C,CAAA,CAAAe,MAAA,KAAAuB,CAAA,GAAAG,CAAA,iBAAA/C,CAAA,IAAAgC,CAAA,OAAA5B,CAAA,GAAAJ,CAAA,yBAAA+C,CAAA,YAAA9C,CAAA,CAAAmD,MAAA,KAAA1C,CAAA,GAAAT,CAAA,CAAAmD,MAAA,IAAA7C,MAAA,CAAAG,CAAA,MAAAA,CAAA,2BAAAsB,CAAA,QAAA5B,CAAA,aAAAE,CAAA;AAAA,SAAAqB,gBAAAD,GAAA,QAAAa,KAAA,CAAAc,OAAA,CAAA3B,GAAA,UAAAA,GAAA;AAAA,SAAA4B,yBAAAhC,MAAA,EAAAiC,QAAA,QAAAjC,MAAA,yBAAAH,MAAA,GAAAqC,6BAAA,CAAAlC,MAAA,EAAAiC,QAAA,OAAAhC,GAAA,EAAAT,CAAA,MAAAP,MAAA,CAAAkD,qBAAA,QAAAC,gBAAA,GAAAnD,MAAA,CAAAkD,qBAAA,CAAAnC,MAAA,QAAAR,CAAA,MAAAA,CAAA,GAAA4C,gBAAA,CAAArC,MAAA,EAAAP,CAAA,MAAAS,GAAA,GAAAmC,gBAAA,CAAA5C,CAAA,OAAAyC,QAAA,CAAAI,OAAA,CAAApC,GAAA,uBAAAhB,MAAA,CAAAI,SAAA,CAAAiD,oBAAA,CAAA/C,IAAA,CAAAS,MAAA,EAAAC,GAAA,aAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAJ,MAAA;AAAA,SAAAqC,8BAAAlC,MAAA,EAAAiC,QAAA,QAAAjC,MAAA,yBAAAH,MAAA,WAAA0C,UAAA,GAAAtD,MAAA,CAAAuD,IAAA,CAAAxC,MAAA,OAAAC,GAAA,EAAAT,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAA+C,UAAA,CAAAxC,MAAA,EAAAP,CAAA,MAAAS,GAAA,GAAAsC,UAAA,CAAA/C,CAAA,OAAAyC,QAAA,CAAAI,OAAA,CAAApC,GAAA,kBAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAJ,MAAA;AAIhD4C,mBAAG,CAACC,MAAM,CAACC,wBAAG,CAAC;AAER,IAAMC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAGE,yBAAM,CAACC,GAAG,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qEAO/C;AAiBD,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIC,MAAM,EAAK;EAC/B,oBAAO5F,MAAA,CAAAc,OAAA,CAAA+E,aAAA;IAAKC,EAAE,EAAEF,MAAM,CAACE;EAAG,GAAEF,MAAM,CAACpC,IAAU,CAAC;AAChD,CAAC;AAEM,IAAMuC,SAAmC,GAAAV,OAAA,CAAAU,SAAA,GAAG,SAAtCA,SAAmCA,CAAAC,IAAA,EAc1C;EAAA,IAAAC,SAAA,GAAAD,IAAA,CAbJE,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,IAAI,GAAAA,SAAA;IACDE,eAAe,GAAAH,IAAA,CAAzBI,QAAQ;IAAAC,QAAA,GAAAL,IAAA,CACRM,GAAG;IAAHA,GAAG,GAAAD,QAAA,cAAG,OAAO,GAAAA,QAAA;IAAAE,QAAA,GAAAP,IAAA,CACbQ,GAAG;IAAHA,GAAG,GAAAD,QAAA,cAAG,OAAO,GAAAA,QAAA;IACbE,QAAQ,GAAAT,IAAA,CAARS,QAAQ;IAAAC,SAAA,GAAAV,IAAA,CACRW,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,EAAE,GAAAA,SAAA;IACTE,IAAI,GAAAZ,IAAA,CAAJY,IAAI;IACJC,SAAS,GAAAb,IAAA,CAATa,SAAS;IACTC,WAAW,GAAAd,IAAA,CAAXc,WAAW;IACXC,WAAW,GAAAf,IAAA,CAAXe,WAAW;IACXC,QAAQ,GAAAhB,IAAA,CAARgB,QAAQ;IACRC,OAAO,GAAAjB,IAAA,CAAPiB,OAAO;IACJC,IAAI,GAAA1C,wBAAA,CAAAwB,IAAA,EAAArF,SAAA;EAEP,IAAAwG,SAAA,GAAgC,IAAAC,eAAQ,EAASjB,eAAe,IAAI,EAAE,CAAC;IAAAkB,UAAA,GAAA1E,cAAA,CAAAwE,SAAA;IAAhEf,QAAQ,GAAAiB,UAAA;IAAEC,WAAW,GAAAD,UAAA;EAC5B,IAAAE,UAAA,GAA4B,IAAAH,eAAQ,EAAC,KAAK,CAAC;IAAAI,UAAA,GAAA7E,cAAA,CAAA4E,UAAA;IAApCE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EAExB,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAA6B;IACpD,IAAMC,OAAO,GAAG,IAAAC,eAAM,EAAC,IAAAC,sBAAW,EAACxB,GAAG,CAAC,GAAGA,GAAG,GAAG,OAAO,EAAE,OAAO,CAAC;IACjE,IAAMyB,OAAO,GAAG,IAAAF,eAAM,EAAC,IAAAC,sBAAW,EAACtB,GAAG,CAAC,GAAGA,GAAG,GAAG,OAAO,EAAE,OAAO,CAAC;IACjE,IAAMwB,OAA2B,GAAG,EAAE;IAEtC,IAAMC,WAAW,GAAGL,OAAO,CAACM,KAAK,CAAC,CAAC;IACnC,OAAOD,WAAW,CAACE,cAAc,CAACJ,OAAO,CAAC,EAAE;MAC1CC,OAAO,CAAC5D,IAAI,CAAC;QACX0B,EAAE,EAAEmC,WAAW,CAACG,MAAM,CAAC,OAAO,CAAC;QAC/B5E,IAAI,EAAEyE,WAAW,CAACG,MAAM,CAAClC,IAAI,KAAK,IAAI,GAAG,SAAS,GAAG,OAAO;MAC9D,CAAC,CAAC;MACF+B,WAAW,CAACI,GAAG,CAAC1B,IAAI,EAAE,SAAS,CAAC;IAClC;IAEA,OAAOqB,OAAO;EAChB,CAAC;EAED,IAAMM,WAAW,GAAGX,mBAAmB,CAAC,CAAC;EAEzC,IAAMY,iBAAiB,GAAG,IAAAC,kBAAW,EACnC,UAACC,IAAY,EAAK;IAChB,IAAI,eAAe,CAAC9E,IAAI,CAAC8E,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC,EAAE;MACrC;IACF;IACA,IAAMC,GAAG,GAAG,IAAA1D,mBAAG,EAAewD,IAAI,CAAC;IACnC,IAAMG,MAAM,GAAGD,GAAG,CAACE,KAAK,CAAC,CAAC,CAACxH,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAIuH,MAAM,IAAIA,MAAM,CAAC,KAAK,CAAC,IAAIA,MAAM,CAAC,KAAK,CAAC,KAAKxC,QAAQ,EAAE;MACzD,IAAM/B,KAAK,GAAG,IAAAwD,eAAM,EAACe,MAAM,CAAC,CAACR,MAAM,CAAC,OAAO,CAAC;MAC5C,IAAIE,WAAW,CAACQ,IAAI,CAAC,UAAClD,MAAM;QAAA,OAAKA,MAAM,CAACE,EAAE,KAAKzB,KAAK;MAAA,EAAC,EAAE;QACrDiD,WAAW,CAACjD,KAAK,CAAC;QAClBoC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGpC,KAAK,CAAC;QACjBqD,SAAS,CAAC,KAAK,CAAC;MAClB;IACF;EACF,CAAC,EACD,CAACjB,QAAQ,EAAEL,QAAQ,EAAEkC,WAAW,CAClC,CAAC;EAED,IAAMS,YAAY,GAAG,SAAfA,YAAYA,CAAI/H,CAAC,EAAK;IAC1BsG,WAAW,CAACtG,CAAC,CAAC;IACdyF,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAGzF,CAAC,CAAC;EACf,CAAC;EAED,IAAMgI,UAAU,GAAG,SAAbA,UAAUA,CAAA,EAAS;IACvBtB,SAAS,CAAC,IAAI,CAAC;EACjB,CAAC;EAED,IAAMuB,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxBvB,SAAS,CAAC,KAAK,CAAC;EAClB,CAAC;EAED,IAAAwB,gBAAS,EAAC,YAAM;IACd,IAAIzB,MAAM,IAAIrB,QAAQ,EAAE;MAAA,IAAA+C,qBAAA;MACtB,IAAMC,YAAY,IAAAD,qBAAA,GAAGE,QAAQ,CAACC,cAAc,CAAClD,QAAQ,CAAC,cAAA+C,qBAAA,uBAAjCA,qBAAA,CAAmCI,aAAa;MACrEH,YAAY,aAAZA,YAAY,eAAZA,YAAY,CAAEI,cAAc,CAAC;QAAEC,QAAQ,EAAE,QAAQ;QAAEC,KAAK,EAAE;MAAS,CAAC,CAAC;IACvE;EACF,CAAC,EAAE,CAACjC,MAAM,EAAErB,QAAQ,CAAC,CAAC;EAEtB,oBACEpG,MAAA,CAAAc,OAAA,CAAA+E,aAAA,CAACT,sBAAsB;IAACyB,SAAS,EAAE,IAAA8C,mBAAU,EAAC,cAAc,EAAE9C,SAAS;EAAE,gBACvE7G,MAAA,CAAAc,OAAA,CAAA+E,aAAA,CAACnF,SAAA,CAAAkJ,QAAQ,EAAA1H,QAAA,KACHgF,IAAI;IACRc,OAAO,EAAEM,WAAY;IACrBuB,IAAI,EAAEpC,MAAO;IACbqC,oBAAoB;IACpB1D,QAAQ,EAAEA,QAAS;IACnB2D,oBAAoB;IACpBC,aAAa,EAAEzB,iBAAkB;IACjC9B,QAAQ,EAAEsC,YAAa;IACvBkB,cAAc;IACdnD,WAAW,EAAEA,WAAY;IACzBnB,YAAY,EAAEA,YAAa;IAC3BuE,aAAa,EAAE,GAAI;IACnBtD,IAAI,EAAEA,IAAK;IACXuD,OAAO,EAAElB,WAAY;IACrBmB,MAAM,EAAEpB,UAAW;IACnBjC,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA;EAAQ,EAClB,CACqB,CAAC;AAE7B,CAAC"}
|
|
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","undefined","_useState2","setSelected","_useState3","_useState4","isOpen","setIsOpen","generateTimeOptions","minTime","moment","isValidTime","maxTime","options","currentTime","clone","isSameOrBefore","format","add","timeOptions","handleInputChange","useCallback","text","trim","doc","parsed","times","some","handleChange","handleOpen","handleClose","useEffect","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","opt","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: Time24HourFormat) => 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<Time24HourFormat | undefined>(\n defaultSelected || undefined\n );\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 if (/\\d{1,2}:\\d{2}/.test(text.trim())) {\n return;\n }\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\") as Time24HourFormat;\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 useEffect(() => {\n if (\n defaultSelected !== selected &&\n timeOptions.some((opt) => opt.id === defaultSelected)\n )\n setSelected(defaultSelected);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultSelected, timeOptions]);\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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"}
|
|
@@ -7,7 +7,7 @@ export interface InputTimeProps {
|
|
|
7
7
|
selected?: Time24HourFormat;
|
|
8
8
|
min?: Time24HourFormat;
|
|
9
9
|
max?: Time24HourFormat;
|
|
10
|
-
onChange?: (val:
|
|
10
|
+
onChange?: (val: Time24HourFormat) => void;
|
|
11
11
|
className?: string;
|
|
12
12
|
placeholder?: string;
|
|
13
13
|
size?: InputSize;
|
|
@@ -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,
|
|
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,gBAAgB,KAAK,IAAI,CAAC;IAC3C,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,CA+G9C,CAAC"}
|
|
@@ -33,7 +33,7 @@ export const InputTime = _ref => {
|
|
|
33
33
|
invalid,
|
|
34
34
|
...rest
|
|
35
35
|
} = _ref;
|
|
36
|
-
const [selected, setSelected] = useState(defaultSelected ||
|
|
36
|
+
const [selected, setSelected] = useState(defaultSelected || undefined);
|
|
37
37
|
const [isOpen, setIsOpen] = useState(false);
|
|
38
38
|
const generateTimeOptions = () => {
|
|
39
39
|
const minTime = moment(isValidTime(min) ? min : "00:00", "HH:mm");
|
|
@@ -85,6 +85,10 @@ export const InputTime = _ref => {
|
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
}, [isOpen, selected]);
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
if (defaultSelected !== selected && timeOptions.some(opt => opt.id === defaultSelected)) setSelected(defaultSelected);
|
|
90
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
91
|
+
}, [defaultSelected, timeOptions]);
|
|
88
92
|
return /*#__PURE__*/React.createElement(StyledInputTimeWrapper, {
|
|
89
93
|
className: classNames("c-input-time", className)
|
|
90
94
|
}, /*#__PURE__*/React.createElement(ComboBox, _extends({}, rest, {
|
|
@@ -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","rest","setSelected","isOpen","setIsOpen","generateTimeOptions","minTime","maxTime","options","currentTime","clone","isSameOrBefore","push","format","add","timeOptions","handleInputChange","text","test","trim","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:
|
|
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","undefined","isOpen","setIsOpen","generateTimeOptions","minTime","maxTime","options","currentTime","clone","isSameOrBefore","push","format","add","timeOptions","handleInputChange","text","test","trim","doc","parsed","times","get","value","some","handleChange","e","handleOpen","handleClose","_document$getElementB","selectedItem","document","getElementById","parentElement","scrollIntoView","behavior","block","opt","_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: Time24HourFormat) => 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<Time24HourFormat | undefined>(\n defaultSelected || undefined\n );\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 if (/\\d{1,2}:\\d{2}/.test(text.trim())) {\n return;\n }\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\") as Time24HourFormat;\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 useEffect(() => {\n if (\n defaultSelected !== selected &&\n timeOptions.some((opt) => opt.id === defaultSelected)\n )\n setSelected(defaultSelected);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [defaultSelected, timeOptions]);\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":";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,IAc7C;EAAA,IAd8C;IAClDC,IAAI,GAAG,IAAI;IACXC,QAAQ,EAAEC,eAAe;IACzBC,GAAG,GAAG,OAAO;IACbC,GAAG,GAAG,OAAO;IACbC,QAAQ;IACRC,IAAI,GAAG,EAAE;IACTC,IAAI;IACJC,SAAS;IACTC,WAAW;IACXC,WAAW;IACXC,QAAQ;IACRC,OAAO;IACP,GAAGC;EACL,CAAC,GAAAd,IAAA;EACC,MAAM,CAACE,QAAQ,EAAEa,WAAW,CAAC,GAAGnC,QAAQ,CACtCuB,eAAe,IAAIa,SACrB,CAAC;EACD,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGtC,QAAQ,CAAC,KAAK,CAAC;EAE3C,MAAMuC,mBAAmB,GAAGA,CAAA,KAA0B;IACpD,MAAMC,OAAO,GAAGpC,MAAM,CAACE,WAAW,CAACkB,GAAG,CAAC,GAAGA,GAAG,GAAG,OAAO,EAAE,OAAO,CAAC;IACjE,MAAMiB,OAAO,GAAGrC,MAAM,CAACE,WAAW,CAACmB,GAAG,CAAC,GAAGA,GAAG,GAAG,OAAO,EAAE,OAAO,CAAC;IACjE,MAAMiB,OAA2B,GAAG,EAAE;IAEtC,MAAMC,WAAW,GAAGH,OAAO,CAACI,KAAK,CAAC,CAAC;IACnC,OAAOD,WAAW,CAACE,cAAc,CAACJ,OAAO,CAAC,EAAE;MAC1CC,OAAO,CAACI,IAAI,CAAC;QACX7B,EAAE,EAAE0B,WAAW,CAACI,MAAM,CAAC,OAAO,CAAC;QAC/B7B,IAAI,EAAEyB,WAAW,CAACI,MAAM,CAAC1B,IAAI,KAAK,IAAI,GAAG,SAAS,GAAG,OAAO;MAC9D,CAAC,CAAC;MACFsB,WAAW,CAACK,GAAG,CAACrB,IAAI,EAAE,SAAS,CAAC;IAClC;IAEA,OAAOe,OAAO;EAChB,CAAC;EAED,MAAMO,WAAW,GAAGV,mBAAmB,CAAC,CAAC;EAEzC,MAAMW,iBAAiB,GAAGpD,WAAW,CAClCqD,IAAY,IAAK;IAChB,IAAI,eAAe,CAACC,IAAI,CAACD,IAAI,CAACE,IAAI,CAAC,CAAC,CAAC,EAAE;MACrC;IACF;IACA,MAAMC,GAAG,GAAGpD,GAAG,CAAeiD,IAAI,CAAC;IACnC,MAAMI,MAAM,GAAGD,GAAG,CAACE,KAAK,CAAC,CAAC,CAACC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,IAAIF,MAAM,IAAIA,MAAM,CAAC,KAAK,CAAC,IAAIA,MAAM,CAAC,KAAK,CAAC,KAAKjC,QAAQ,EAAE;MACzD,MAAMoC,KAAK,GAAGtD,MAAM,CAACmD,MAAM,CAAC,CAACR,MAAM,CAAC,OAAO,CAAqB;MAChE,IAAIE,WAAW,CAACU,IAAI,CAAE5C,MAAM,IAAKA,MAAM,CAACE,EAAE,KAAKyC,KAAK,CAAC,EAAE;QACrDvB,WAAW,CAACuB,KAAK,CAAC;QAClBhC,QAAQ,YAARA,QAAQ,CAAGgC,KAAK,CAAC;QACjBpB,SAAS,CAAC,KAAK,CAAC;MAClB;IACF;EACF,CAAC,EACD,CAACZ,QAAQ,EAAEJ,QAAQ,EAAE2B,WAAW,CAClC,CAAC;EAED,MAAMW,YAAY,GAAIC,CAAC,IAAK;IAC1B1B,WAAW,CAAC0B,CAAC,CAAC;IACdnC,QAAQ,YAARA,QAAQ,CAAGmC,CAAC,CAAC;EACf,CAAC;EAED,MAAMC,UAAU,GAAGA,CAAA,KAAM;IACvBxB,SAAS,CAAC,IAAI,CAAC;EACjB,CAAC;EAED,MAAMyB,WAAW,GAAGA,CAAA,KAAM;IACxBzB,SAAS,CAAC,KAAK,CAAC;EAClB,CAAC;EAEDvC,SAAS,CAAC,MAAM;IACd,IAAIsC,MAAM,IAAIf,QAAQ,EAAE;MAAA,IAAA0C,qBAAA;MACtB,MAAMC,YAAY,IAAAD,qBAAA,GAAGE,QAAQ,CAACC,cAAc,CAAC7C,QAAQ,CAAC,qBAAjC0C,qBAAA,CAAmCI,aAAa;MACrEH,YAAY,YAAZA,YAAY,CAAEI,cAAc,CAAC;QAAEC,QAAQ,EAAE,QAAQ;QAAEC,KAAK,EAAE;MAAS,CAAC,CAAC;IACvE;EACF,CAAC,EAAE,CAAClC,MAAM,EAAEf,QAAQ,CAAC,CAAC;EAEtBvB,SAAS,CAAC,MAAM;IACd,IACEwB,eAAe,KAAKD,QAAQ,IAC5B2B,WAAW,CAACU,IAAI,CAAEa,GAAG,IAAKA,GAAG,CAACvD,EAAE,KAAKM,eAAe,CAAC,EAErDY,WAAW,CAACZ,eAAe,CAAC;IAC9B;EACF,CAAC,EAAE,CAACA,eAAe,EAAE0B,WAAW,CAAC,CAAC;EAElC,oBACEpD,KAAA,CAAAmB,aAAA,CAACP,sBAAsB;IAACoB,SAAS,EAAE5B,UAAU,CAAC,cAAc,EAAE4B,SAAS;EAAE,gBACvEhC,KAAA,CAAAmB,aAAA,CAACT,QAAQ,EAAAkE,QAAA,KACHvC,IAAI;IACRQ,OAAO,EAAEO,WAAY;IACrByB,IAAI,EAAErC,MAAO;IACbsC,oBAAoB;IACpBrD,QAAQ,EAAEA,QAAS;IACnBsD,oBAAoB;IACpBC,aAAa,EAAE3B,iBAAkB;IACjCxB,QAAQ,EAAEkC,YAAa;IACvBkB,cAAc;IACdhD,WAAW,EAAEA,WAAY;IACzBhB,YAAY,EAAEA,YAAa;IAC3BiE,aAAa,EAAE,GAAI;IACnBnD,IAAI,EAAEA,IAAK;IACXoD,OAAO,EAAEjB,WAAY;IACrBkB,MAAM,EAAEnB,UAAW;IACnB/B,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA;EAAQ,EAClB,CACqB,CAAC;AAE7B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -17454,7 +17454,7 @@
|
|
|
17454
17454
|
disabled = _ref.disabled,
|
|
17455
17455
|
invalid = _ref.invalid,
|
|
17456
17456
|
rest = _objectWithoutProperties(_ref, _excluded$A);
|
|
17457
|
-
var _useState = React.useState(defaultSelected ||
|
|
17457
|
+
var _useState = React.useState(defaultSelected || undefined),
|
|
17458
17458
|
_useState2 = _slicedToArray(_useState, 2),
|
|
17459
17459
|
selected = _useState2[0],
|
|
17460
17460
|
setSelected = _useState2[1];
|
|
@@ -17514,6 +17514,12 @@
|
|
|
17514
17514
|
});
|
|
17515
17515
|
}
|
|
17516
17516
|
}, [isOpen, selected]);
|
|
17517
|
+
React.useEffect(function () {
|
|
17518
|
+
if (defaultSelected !== selected && timeOptions.some(function (opt) {
|
|
17519
|
+
return opt.id === defaultSelected;
|
|
17520
|
+
})) setSelected(defaultSelected);
|
|
17521
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
17522
|
+
}, [defaultSelected, timeOptions]);
|
|
17517
17523
|
return /*#__PURE__*/React__default["default"].createElement(StyledInputTimeWrapper, {
|
|
17518
17524
|
className: classNames__default["default"]("c-input-time", className)
|
|
17519
17525
|
}, /*#__PURE__*/React__default["default"].createElement(ComboBox, _extends({}, rest, {
|