@semcore/time-picker 3.3.3 → 3.4.0
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/CHANGELOG.md +3 -3
- package/lib/cjs/PickerFormat.js +5 -2
- package/lib/cjs/PickerFormat.js.map +1 -1
- package/lib/cjs/PickerInput.js +7 -1
- package/lib/cjs/PickerInput.js.map +1 -1
- package/lib/cjs/TimePicker.js +34 -20
- package/lib/cjs/TimePicker.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +46 -0
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -0
- package/lib/cjs/translations/de.json +7 -0
- package/lib/cjs/translations/en.json +7 -0
- package/lib/cjs/translations/es.json +7 -0
- package/lib/cjs/translations/fr.json +7 -0
- package/lib/cjs/translations/it.json +7 -0
- package/lib/cjs/translations/ja.json +7 -0
- package/lib/cjs/translations/ko.json +7 -0
- package/lib/cjs/translations/pt.json +7 -0
- package/lib/cjs/translations/tr.json +7 -0
- package/lib/cjs/translations/vi.json +7 -0
- package/lib/cjs/translations/zh.json +7 -0
- package/lib/es6/PickerFormat.js +5 -2
- package/lib/es6/PickerFormat.js.map +1 -1
- package/lib/es6/PickerInput.js +8 -1
- package/lib/es6/PickerInput.js.map +1 -1
- package/lib/es6/TimePicker.js +33 -20
- package/lib/es6/TimePicker.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/es6/translations/__intergalactic-dynamic-locales.js +25 -0
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -0
- package/lib/es6/translations/de.json +7 -0
- package/lib/es6/translations/en.json +7 -0
- package/lib/es6/translations/es.json +7 -0
- package/lib/es6/translations/fr.json +7 -0
- package/lib/es6/translations/it.json +7 -0
- package/lib/es6/translations/ja.json +7 -0
- package/lib/es6/translations/ko.json +7 -0
- package/lib/es6/translations/pt.json +7 -0
- package/lib/es6/translations/tr.json +7 -0
- package/lib/es6/translations/vi.json +7 -0
- package/lib/es6/translations/zh.json +7 -0
- package/lib/types/index.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
-
## [3.
|
|
5
|
+
## [3.4.0] - 2022-12-14
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Added
|
|
8
8
|
|
|
9
|
-
-
|
|
9
|
+
- Added internationalization of aria attributes.
|
|
10
10
|
|
|
11
11
|
## [3.3.2] - 2022-12-13
|
|
12
12
|
|
package/lib/cjs/PickerFormat.js
CHANGED
|
@@ -55,9 +55,12 @@ var TimePickerFormat = /*#__PURE__*/function (_Component) {
|
|
|
55
55
|
var _this$asProps = this.asProps,
|
|
56
56
|
Children = _this$asProps.Children,
|
|
57
57
|
meridiem = _this$asProps.meridiem,
|
|
58
|
-
styles = _this$asProps.styles
|
|
58
|
+
styles = _this$asProps.styles,
|
|
59
|
+
getI18nText = _this$asProps.getI18nText;
|
|
59
60
|
var SPickerFormatText = 'span';
|
|
60
|
-
var label =
|
|
61
|
+
var label = getI18nText('format', {
|
|
62
|
+
meridiem: meridiem
|
|
63
|
+
});
|
|
61
64
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPickerFormat, _ref2.cn("SPickerFormat", _objectSpread({}, (0, _core.assignProps)({
|
|
62
65
|
"type": "button",
|
|
63
66
|
"tag": "button",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerFormat.js","names":["TimePickerFormat","SPickerFormat","Box","asProps","Children","meridiem","styles","SPickerFormatText","label","sstyled","origin","Component","keyboardFocusEnhance"],"sources":["../../src/PickerFormat.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nclass TimePickerFormat extends Component {\n static enhance = [keyboardFocusEnhance()];\n render() {\n const SPickerFormat = Root;\n const { Children, meridiem, styles } = this.asProps;\n const SPickerFormatText = 'span';\n\n const label =
|
|
1
|
+
{"version":3,"file":"PickerFormat.js","names":["TimePickerFormat","SPickerFormat","Box","asProps","Children","meridiem","styles","getI18nText","SPickerFormatText","label","sstyled","origin","Component","keyboardFocusEnhance"],"sources":["../../src/PickerFormat.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nclass TimePickerFormat extends Component {\n static enhance = [keyboardFocusEnhance()];\n render() {\n const SPickerFormat = Root;\n const { Children, meridiem, styles, getI18nText } = this.asProps;\n const SPickerFormatText = 'span';\n\n const label = getI18nText('format', { meridiem });\n\n return sstyled(styles)(\n <SPickerFormat render={Box} type=\"button\" tag=\"button\" role=\"switch\" aria-label={label}>\n {Children.origin ? <Children /> : <SPickerFormatText>{meridiem}</SPickerFormatText>}\n </SPickerFormat>,\n );\n }\n}\n\nexport default TimePickerFormat;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;;;;;;;;;IAEMA,gB;;;;;;;;;;;;WAEJ,kBAAS;MAAA;MAAA;;MACP,IAAMC,aAAa,GAOMC,YAPzB;MACA,oBAAoD,KAAKC,OAAzD;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,QAAlB,iBAAkBA,QAAlB;MAAA,IAA4BC,MAA5B,iBAA4BA,MAA5B;MAAA,IAAoCC,WAApC,iBAAoCA,WAApC;MACA,IAAMC,iBAAiB,GAAG,MAA1B;MAEA,IAAMC,KAAK,GAAGF,WAAW,CAAC,QAAD,EAAW;QAAEF,QAAQ,EAARA;MAAF,CAAX,CAAzB;MAEA,eAAO,IAAAK,aAAA,EAAQJ,MAAR,CAAP,eACE,gCAAC,aAAD;QAAA,QAAiC,QAAjC;QAAA,OAA8C,QAA9C;QAAA,QAA4D,QAA5D;QAAA,cAAiFG;MAAjF,YACGL,QAAQ,CAACO,MAAT,gBAAkB,gCAAC,QAAD,2BAAlB,gBAAiC,gCAAC,iBAAD,qCAAoBN,QAApB,CADpC,CADF;IAKD;;;EAd4BO,e;;iCAAzBZ,gB,aACa,CAAC,IAAAa,gCAAA,GAAD,C;eAgBJb,gB"}
|
package/lib/cjs/PickerInput.js
CHANGED
|
@@ -122,6 +122,12 @@ var ItemPicker = /*#__PURE__*/function (_Component) {
|
|
|
122
122
|
visible: visible
|
|
123
123
|
});
|
|
124
124
|
});
|
|
125
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getAriaLabel", function () {
|
|
126
|
+
var getI18nText = _this.asProps._getI18nText;
|
|
127
|
+
if (_this.field === 'hours') return getI18nText('hours');
|
|
128
|
+
if (_this.field === 'minutes') return getI18nText('minutes');
|
|
129
|
+
return undefined;
|
|
130
|
+
});
|
|
125
131
|
return _this;
|
|
126
132
|
}
|
|
127
133
|
|
|
@@ -191,7 +197,7 @@ var ItemPicker = /*#__PURE__*/function (_Component) {
|
|
|
191
197
|
"disabled": disabled,
|
|
192
198
|
"neighborLocation": false,
|
|
193
199
|
"value": value,
|
|
194
|
-
"aria-label":
|
|
200
|
+
"aria-label": this.getAriaLabel(),
|
|
195
201
|
"__excludeProps": ['aria-haspopup', 'aria-controls', 'aria-flowto', 'aria-expanded', 'aria-autocomplete', 'role'],
|
|
196
202
|
"onChange": this.handleChange,
|
|
197
203
|
"onBlur": this.handleBlur,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerInput.js","names":["MAP_FIELD_TO_TIME","hours","minutes","MAP_SIZE_SELECT","m","l","getOptions","min","max","step","length","Number","toFixed","options","Array","fill","numValue","map","i","index","value","withLeadingZero","String","ItemPicker","React","createRef","dirtyValue","undefined","visible","minMax","Math","e","stopPropagation","numberValue","intOrDefault","NaN","isNaN","setState","slice","submitChanges","dispatchOnChange","event","asProps","$onValueChange","field","state","parseValueWithMinMax","SPickerInput","Select","Trigger","styles","onSelect","time","size","disabled","onVisibleChange","other","timeValue","sstyled","callAllEventHandlers","handleSelect","handleVisibleChange","Input","Value","inputRef","handleChange","handleBlur","handleKeyDown","Component","placeholder","Hours","currentTarget","keyCode","selectionStart","selectionEnd","preventDefault","nextInput","is12Hour","minutesInputRef","current","focus","prevProps","prevState","Minutes","prevFocus","hoursInputRef"],"sources":["../../src/PickerInput.jsx"],"sourcesContent":["import React from 'react';\nimport Input from '@semcore/input';\nimport Select from '@semcore/select';\nimport { intOrDefault, withLeadingZero } from './TimePicker';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\n\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nconst MAP_SIZE_SELECT = {\n m: 'm',\n l: 'l',\n};\n\nfunction getOptions(min, max, step = 1) {\n const length = Number(((max + 1 - min) / step).toFixed(0));\n const options = Array(length).fill('');\n let numValue = min;\n return options.map((i, index) => {\n numValue = index === 0 ? numValue : numValue + step;\n const value = withLeadingZero(String(numValue));\n return (\n <Select.Option value={value} key={value}>\n {value}\n </Select.Option>\n );\n });\n}\n\nclass ItemPicker extends Component {\n static defaultProps = {\n placeholder: '00',\n };\n\n inputRef = React.createRef();\n\n minMax() {\n return [];\n }\n\n state = {\n dirtyValue: undefined,\n visible: false,\n };\n\n parseValueWithMinMax = (value) => {\n const [min, max] = this.minMax();\n return String(Math.max(min, Math.min(max, value)));\n };\n\n dispatchOnChange(value, event) {\n this.setState({ dirtyValue: undefined });\n this.asProps.$onValueChange(value, this.field, event);\n }\n\n submitChanges(event) {\n let { dirtyValue } = this.state;\n if (dirtyValue !== undefined) {\n // if changes value\n if (dirtyValue) dirtyValue = this.parseValueWithMinMax(dirtyValue); // if not \"\"\n this.dispatchOnChange(dirtyValue, event);\n }\n }\n\n handleChange = (value, e) => {\n /* hide props for bubbling events */\n e.stopPropagation();\n const numberValue = intOrDefault(Number(value), NaN);\n\n if (!Number.isNaN(numberValue)) {\n this.setState({ dirtyValue: value.slice(-2) });\n }\n };\n\n handleBlur = (e) => this.submitChanges(e);\n\n /* rewrite method */\n handleKeyDown = () => {};\n\n handleSelect = (value, e) => {\n this.dispatchOnChange(value, e);\n };\n\n handleVisibleChange = (visible) => this.setState({ visible });\n\n render() {\n const SPickerInput = Root;\n const { styles, step, onSelect, time, size, disabled, onVisibleChange, ...other } =\n this.asProps;\n const { dirtyValue, visible } = this.state;\n const timeValue = time[MAP_FIELD_TO_TIME[this.field]];\n const value = dirtyValue === undefined ? timeValue : dirtyValue;\n const [min, max] = this.minMax();\n\n return sstyled(styles)(\n <Select\n {...other}\n interaction=\"focus\"\n size={size ? MAP_SIZE_SELECT[size] : false}\n onChange={callAllEventHandlers(onSelect, this.handleSelect)}\n onVisibleChange={callAllEventHandlers(onVisibleChange, this.handleVisibleChange)}\n visible={visible}\n value={timeValue}\n >\n <SPickerInput\n render={Select.Trigger}\n tag={Input.Value}\n ref={this.inputRef}\n size={size}\n disabled={disabled}\n neighborLocation={false}\n value={value}\n aria-label={`${this.field} field`}\n __excludeProps={[\n 'aria-haspopup',\n 'aria-controls',\n 'aria-flowto',\n 'aria-expanded',\n 'aria-autocomplete',\n 'role',\n ]}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n />\n <Select.Menu aria-hidden=\"true\" hMax={180}>\n {getOptions(min, max, step)}\n </Select.Menu>\n </Select>,\n );\n }\n}\n\nclass Hours extends ItemPicker {\n field = 'hours';\n\n minMax() {\n const { is12Hour } = this.asProps;\n if (is12Hour) {\n return [1, 12];\n } else {\n return [0, 23];\n }\n }\n\n nextInput() {\n if (this.asProps.minutesInputRef.current) {\n this.setState({ visible: false });\n this.asProps.minutesInputRef.current.focus();\n }\n }\n\n handleKeyDown = (e) => {\n const { currentTarget } = e;\n if (e.keyCode === 13) this.submitChanges(e);\n if (e.keyCode === 39) {\n if (\n currentTarget.selectionStart >= currentTarget.value.length &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n e.preventDefault();\n this.nextInput();\n }\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n const { dirtyValue } = this.state;\n if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;\n\n if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {\n this.nextInput();\n }\n }\n}\n\nclass Minutes extends ItemPicker {\n field = 'minutes';\n\n minMax() {\n return [0, 59];\n }\n\n prevFocus() {\n if (this.asProps.hoursInputRef.current) {\n this.setState({ visible: false });\n this.asProps.hoursInputRef.current.focus();\n }\n }\n\n handleKeyDown = (e) => {\n const { currentTarget } = e;\n if (e.keyCode === 13) this.submitChanges(e);\n if (e.keyCode === 37) {\n if (\n currentTarget.selectionStart <= 0 &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n e.preventDefault();\n this.prevFocus();\n }\n }\n if (e.keyCode === 8) {\n if (currentTarget.value.length === 0) {\n e.preventDefault();\n this.prevFocus();\n }\n }\n };\n}\n\nexport { Hours, Minutes };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PickerInput.js","names":["MAP_FIELD_TO_TIME","hours","minutes","MAP_SIZE_SELECT","m","l","getOptions","min","max","step","length","Number","toFixed","options","Array","fill","numValue","map","i","index","value","withLeadingZero","String","ItemPicker","React","createRef","dirtyValue","undefined","visible","minMax","Math","e","stopPropagation","numberValue","intOrDefault","NaN","isNaN","setState","slice","submitChanges","dispatchOnChange","getI18nText","asProps","_getI18nText","field","event","$onValueChange","state","parseValueWithMinMax","SPickerInput","Select","Trigger","styles","onSelect","time","size","disabled","onVisibleChange","other","timeValue","sstyled","callAllEventHandlers","handleSelect","handleVisibleChange","Input","Value","inputRef","getAriaLabel","handleChange","handleBlur","handleKeyDown","Component","placeholder","Hours","currentTarget","keyCode","selectionStart","selectionEnd","preventDefault","nextInput","is12Hour","minutesInputRef","current","focus","prevProps","prevState","Minutes","prevFocus","hoursInputRef"],"sources":["../../src/PickerInput.jsx"],"sourcesContent":["import React from 'react';\nimport Input from '@semcore/input';\nimport Select from '@semcore/select';\nimport { intOrDefault, withLeadingZero } from './TimePicker';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\n\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nconst MAP_SIZE_SELECT = {\n m: 'm',\n l: 'l',\n};\n\nfunction getOptions(min, max, step = 1) {\n const length = Number(((max + 1 - min) / step).toFixed(0));\n const options = Array(length).fill('');\n let numValue = min;\n return options.map((i, index) => {\n numValue = index === 0 ? numValue : numValue + step;\n const value = withLeadingZero(String(numValue));\n return (\n <Select.Option value={value} key={value}>\n {value}\n </Select.Option>\n );\n });\n}\n\nclass ItemPicker extends Component {\n static defaultProps = {\n placeholder: '00',\n };\n\n inputRef = React.createRef();\n\n minMax() {\n return [];\n }\n\n state = {\n dirtyValue: undefined,\n visible: false,\n };\n\n parseValueWithMinMax = (value) => {\n const [min, max] = this.minMax();\n return String(Math.max(min, Math.min(max, value)));\n };\n\n dispatchOnChange(value, event) {\n this.setState({ dirtyValue: undefined });\n this.asProps.$onValueChange(value, this.field, event);\n }\n\n submitChanges(event) {\n let { dirtyValue } = this.state;\n if (dirtyValue !== undefined) {\n // if changes value\n if (dirtyValue) dirtyValue = this.parseValueWithMinMax(dirtyValue); // if not \"\"\n this.dispatchOnChange(dirtyValue, event);\n }\n }\n\n handleChange = (value, e) => {\n /* hide props for bubbling events */\n e.stopPropagation();\n const numberValue = intOrDefault(Number(value), NaN);\n\n if (!Number.isNaN(numberValue)) {\n this.setState({ dirtyValue: value.slice(-2) });\n }\n };\n\n handleBlur = (e) => this.submitChanges(e);\n\n /* rewrite method */\n handleKeyDown = () => {};\n\n handleSelect = (value, e) => {\n this.dispatchOnChange(value, e);\n };\n\n handleVisibleChange = (visible) => this.setState({ visible });\n\n getAriaLabel = () => {\n const { _getI18nText: getI18nText } = this.asProps;\n if (this.field === 'hours') return getI18nText('hours');\n if (this.field === 'minutes') return getI18nText('minutes');\n return undefined;\n };\n\n render() {\n const SPickerInput = Root;\n const { styles, step, onSelect, time, size, disabled, onVisibleChange, ...other } =\n this.asProps;\n const { dirtyValue, visible } = this.state;\n const timeValue = time[MAP_FIELD_TO_TIME[this.field]];\n const value = dirtyValue === undefined ? timeValue : dirtyValue;\n const [min, max] = this.minMax();\n\n return sstyled(styles)(\n <Select\n {...other}\n interaction=\"focus\"\n size={size ? MAP_SIZE_SELECT[size] : false}\n onChange={callAllEventHandlers(onSelect, this.handleSelect)}\n onVisibleChange={callAllEventHandlers(onVisibleChange, this.handleVisibleChange)}\n visible={visible}\n value={timeValue}\n >\n <SPickerInput\n render={Select.Trigger}\n tag={Input.Value}\n ref={this.inputRef}\n size={size}\n disabled={disabled}\n neighborLocation={false}\n value={value}\n aria-label={this.getAriaLabel()}\n __excludeProps={[\n 'aria-haspopup',\n 'aria-controls',\n 'aria-flowto',\n 'aria-expanded',\n 'aria-autocomplete',\n 'role',\n ]}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n />\n <Select.Menu aria-hidden=\"true\" hMax={180}>\n {getOptions(min, max, step)}\n </Select.Menu>\n </Select>,\n );\n }\n}\n\nclass Hours extends ItemPicker {\n field = 'hours';\n\n minMax() {\n const { is12Hour } = this.asProps;\n if (is12Hour) {\n return [1, 12];\n } else {\n return [0, 23];\n }\n }\n\n nextInput() {\n if (this.asProps.minutesInputRef.current) {\n this.setState({ visible: false });\n this.asProps.minutesInputRef.current.focus();\n }\n }\n\n handleKeyDown = (e) => {\n const { currentTarget } = e;\n if (e.keyCode === 13) this.submitChanges(e);\n if (e.keyCode === 39) {\n if (\n currentTarget.selectionStart >= currentTarget.value.length &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n e.preventDefault();\n this.nextInput();\n }\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n const { dirtyValue } = this.state;\n if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;\n\n if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {\n this.nextInput();\n }\n }\n}\n\nclass Minutes extends ItemPicker {\n field = 'minutes';\n\n minMax() {\n return [0, 59];\n }\n\n prevFocus() {\n if (this.asProps.hoursInputRef.current) {\n this.setState({ visible: false });\n this.asProps.hoursInputRef.current.focus();\n }\n }\n\n handleKeyDown = (e) => {\n const { currentTarget } = e;\n if (e.keyCode === 13) this.submitChanges(e);\n if (e.keyCode === 37) {\n if (\n currentTarget.selectionStart <= 0 &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n e.preventDefault();\n this.prevFocus();\n }\n }\n if (e.keyCode === 8) {\n if (currentTarget.value.length === 0) {\n e.preventDefault();\n this.prevFocus();\n }\n }\n };\n}\n\nexport { Hours, Minutes };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAJA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;AAEA,IAAMA,iBAAiB,GAAG;EACxBC,KAAK,EAAE,CADiB;EAExBC,OAAO,EAAE;AAFe,CAA1B;AAKA,IAAMC,eAAe,GAAG;EACtBC,CAAC,EAAE,GADmB;EAEtBC,CAAC,EAAE;AAFmB,CAAxB;;AAKA,SAASC,UAAT,CAAoBC,GAApB,EAAyBC,GAAzB,EAAwC;EAAA,IAAVC,IAAU,uEAAH,CAAG;EACtC,IAAMC,MAAM,GAAGC,MAAM,CAAC,CAAC,CAACH,GAAG,GAAG,CAAN,GAAUD,GAAX,IAAkBE,IAAnB,EAAyBG,OAAzB,CAAiC,CAAjC,CAAD,CAArB;EACA,IAAMC,OAAO,GAAGC,KAAK,CAACJ,MAAD,CAAL,CAAcK,IAAd,CAAmB,EAAnB,CAAhB;EACA,IAAIC,QAAQ,GAAGT,GAAf;EACA,OAAOM,OAAO,CAACI,GAAR,CAAY,UAACC,CAAD,EAAIC,KAAJ,EAAc;IAC/BH,QAAQ,GAAGG,KAAK,KAAK,CAAV,GAAcH,QAAd,GAAyBA,QAAQ,GAAGP,IAA/C;IACA,IAAMW,KAAK,GAAG,IAAAC,2BAAA,EAAgBC,MAAM,CAACN,QAAD,CAAtB,CAAd;IACA,oBACE,gCAAC,kBAAD,CAAQ,MAAR;MAAe,KAAK,EAAEI,KAAtB;MAA6B,GAAG,EAAEA;IAAlC,GACGA,KADH,CADF;EAKD,CARM,CAAP;AASD;;IAEKG,U;;;;;;;;;;;;;;;8GAKOC,iBAAA,CAAMC,SAAN,E;8FAMH;MACNC,UAAU,EAAEC,SADN;MAENC,OAAO,EAAE;IAFH,C;6GAKe,UAACR,KAAD,EAAW;MAChC,mBAAmB,MAAKS,MAAL,EAAnB;MAAA;MAAA,IAAOtB,GAAP;MAAA,IAAYC,GAAZ;;MACA,OAAOc,MAAM,CAACQ,IAAI,CAACtB,GAAL,CAASD,GAAT,EAAcuB,IAAI,CAACvB,GAAL,CAASC,GAAT,EAAcY,KAAd,CAAd,CAAD,CAAb;IACD,C;qGAgBc,UAACA,KAAD,EAAQW,CAAR,EAAc;MAC3B;MACAA,CAAC,CAACC,eAAF;MACA,IAAMC,WAAW,GAAG,IAAAC,wBAAA,EAAavB,MAAM,CAACS,KAAD,CAAnB,EAA4Be,GAA5B,CAApB;;MAEA,IAAI,CAACxB,MAAM,CAACyB,KAAP,CAAaH,WAAb,CAAL,EAAgC;QAC9B,MAAKI,QAAL,CAAc;UAAEX,UAAU,EAAEN,KAAK,CAACkB,KAAN,CAAY,CAAC,CAAb;QAAd,CAAd;MACD;IACF,C;mGAEY,UAACP,CAAD;MAAA,OAAO,MAAKQ,aAAL,CAAmBR,CAAnB,CAAP;IAAA,C;sGAGG,YAAM,CAAE,C;qGAET,UAACX,KAAD,EAAQW,CAAR,EAAc;MAC3B,MAAKS,gBAAL,CAAsBpB,KAAtB,EAA6BW,CAA7B;IACD,C;4GAEqB,UAACH,OAAD;MAAA,OAAa,MAAKS,QAAL,CAAc;QAAET,OAAO,EAAPA;MAAF,CAAd,CAAb;IAAA,C;qGAEP,YAAM;MACnB,IAAsBa,WAAtB,GAAsC,MAAKC,OAA3C,CAAQC,YAAR;MACA,IAAI,MAAKC,KAAL,KAAe,OAAnB,EAA4B,OAAOH,WAAW,CAAC,OAAD,CAAlB;MAC5B,IAAI,MAAKG,KAAL,KAAe,SAAnB,EAA8B,OAAOH,WAAW,CAAC,SAAD,CAAlB;MAC9B,OAAOd,SAAP;IACD,C;;;;;;WAtDD,kBAAS;MACP,OAAO,EAAP;IACD;;;WAYD,0BAAiBP,KAAjB,EAAwByB,KAAxB,EAA+B;MAC7B,KAAKR,QAAL,CAAc;QAAEX,UAAU,EAAEC;MAAd,CAAd;MACA,KAAKe,OAAL,CAAaI,cAAb,CAA4B1B,KAA5B,EAAmC,KAAKwB,KAAxC,EAA+CC,KAA/C;IACD;;;WAED,uBAAcA,KAAd,EAAqB;MACnB,IAAMnB,UAAN,GAAqB,KAAKqB,KAA1B,CAAMrB,UAAN;;MACA,IAAIA,UAAU,KAAKC,SAAnB,EAA8B;QAC5B;QACA,IAAID,UAAJ,EAAgBA,UAAU,GAAG,KAAKsB,oBAAL,CAA0BtB,UAA1B,CAAb,CAFY,CAEwC;;QACpE,KAAKc,gBAAL,CAAsBd,UAAtB,EAAkCmB,KAAlC;MACD;IACF;;;WA8BD,kBAAS;MAAA;MAAA;;MACP,IAAMI,YAAY,GAmBJC,kBAAA,CAAOC,OAnBrB;MACA,oBACE,KAAKT,OADP;MAAA,IAAQU,MAAR,iBAAQA,MAAR;MAAA,IAAgB3C,IAAhB,iBAAgBA,IAAhB;MAAA,IAAsB4C,QAAtB,iBAAsBA,QAAtB;MAAA,IAAgCC,IAAhC,iBAAgCA,IAAhC;MAAA,IAAsCC,IAAtC,iBAAsCA,IAAtC;MAAA,IAA4CC,QAA5C,iBAA4CA,QAA5C;MAAA,IAAsDC,eAAtD,iBAAsDA,eAAtD;MAAA,IAA0EC,KAA1E;MAEA,kBAAgC,KAAKX,KAArC;MAAA,IAAQrB,UAAR,eAAQA,UAAR;MAAA,IAAoBE,OAApB,eAAoBA,OAApB;MACA,IAAM+B,SAAS,GAAGL,IAAI,CAACtD,iBAAiB,CAAC,KAAK4C,KAAN,CAAlB,CAAtB;MACA,IAAMxB,KAAK,GAAGM,UAAU,KAAKC,SAAf,GAA2BgC,SAA3B,GAAuCjC,UAArD;;MACA,oBAAmB,KAAKG,MAAL,EAAnB;MAAA;MAAA,IAAOtB,GAAP;MAAA,IAAYC,GAAZ;;MAEA,eAAO,IAAAoD,aAAA,EAAQR,MAAR,CAAP,eACE,gCAAC,kBAAD,qDACMM,KADN;QAAA,eAEc,OAFd;QAAA,QAGQH,IAAI,GAAGpD,eAAe,CAACoD,IAAD,CAAlB,GAA2B,KAHvC;QAAA,YAIY,IAAAM,kCAAA,EAAqBR,QAArB,EAA+B,KAAKS,YAApC,CAJZ;QAAA,mBAKmB,IAAAD,kCAAA,EAAqBJ,eAArB,EAAsC,KAAKM,mBAA3C,CALnB;QAAA,WAMWnC,OANX;QAAA,SAOS+B;MAPT,kBASE,gCAAC,YAAD;QAAA,OAEOK,iBAAA,CAAMC,KAFb;QAAA,OAGO,KAAKC,QAHZ;QAAA,QAIQX,IAJR;QAAA,YAKYC,QALZ;QAAA,oBAMoB,KANpB;QAAA,SAOSpC,KAPT;QAAA,cAQc,KAAK+C,YAAL,EARd;QAAA,kBASkB,CACd,eADc,EAEd,eAFc,EAGd,aAHc,EAId,eAJc,EAKd,mBALc,EAMd,MANc,CATlB;QAAA,YAiBY,KAAKC,YAjBjB;QAAA,UAkBU,KAAKC,UAlBf;QAAA,aAmBa,KAAKC;MAnBlB,WATF,eA8BE,gCAAC,kBAAD,CAAQ,IAAR;QAAa,eAAY,MAAzB;QAAgC,IAAI,EAAE;MAAtC,GACGhE,UAAU,CAACC,GAAD,EAAMC,GAAN,EAAWC,IAAX,CADb,CA9BF,CADF;IAoCD;;;EA5GsB8D,e;;iCAAnBhD,U,kBACkB;EACpBiD,WAAW,EAAE;AADO,C;;IA8GlBC,K;;;;;;;;;;;;;;;+FACI,O;uGAkBQ,UAAC1C,CAAD,EAAO;MACrB,IAAQ2C,aAAR,GAA0B3C,CAA1B,CAAQ2C,aAAR;MACA,IAAI3C,CAAC,CAAC4C,OAAF,KAAc,EAAlB,EAAsB,OAAKpC,aAAL,CAAmBR,CAAnB;;MACtB,IAAIA,CAAC,CAAC4C,OAAF,KAAc,EAAlB,EAAsB;QACpB,IACED,aAAa,CAACE,cAAd,IAAgCF,aAAa,CAACtD,KAAd,CAAoBV,MAApD,IACAgE,aAAa,CAACE,cAAd,KAAiCF,aAAa,CAACG,YAFjD,EAGE;UACA9C,CAAC,CAAC+C,cAAF;;UACA,OAAKC,SAAL;QACD;MACF;IACF,C;;;;;;WA5BD,kBAAS;MACP,IAAQC,QAAR,GAAqB,KAAKtC,OAA1B,CAAQsC,QAAR;;MACA,IAAIA,QAAJ,EAAc;QACZ,OAAO,CAAC,CAAD,EAAI,EAAJ,CAAP;MACD,CAFD,MAEO;QACL,OAAO,CAAC,CAAD,EAAI,EAAJ,CAAP;MACD;IACF;;;WAED,qBAAY;MACV,IAAI,KAAKtC,OAAL,CAAauC,eAAb,CAA6BC,OAAjC,EAA0C;QACxC,KAAK7C,QAAL,CAAc;UAAET,OAAO,EAAE;QAAX,CAAd;QACA,KAAKc,OAAL,CAAauC,eAAb,CAA6BC,OAA7B,CAAqCC,KAArC;MACD;IACF;;;WAgBD,4BAAmBC,SAAnB,EAA8BC,SAA9B,EAAyC;MACvC,IAAQ3D,UAAR,GAAuB,KAAKqB,KAA5B,CAAQrB,UAAR;MACA,IAAI2D,SAAS,CAAC3D,UAAV,KAAyBC,SAAzB,IAAsCD,UAAU,KAAKC,SAAzD,EAAoE;;MAEpE,IAAI0D,SAAS,CAAC3D,UAAV,CAAqBhB,MAArB,KAAgC,CAAhC,IAAqCgB,UAAU,CAAChB,MAAX,KAAsB,CAA/D,EAAkE;QAChE,KAAKqE,SAAL;MACD;IACF;;;EAxCiBxD,U;;;;IA2Cd+D,O;;;;;;;;;;;;;;;+FACI,S;uGAaQ,UAACvD,CAAD,EAAO;MACrB,IAAQ2C,aAAR,GAA0B3C,CAA1B,CAAQ2C,aAAR;MACA,IAAI3C,CAAC,CAAC4C,OAAF,KAAc,EAAlB,EAAsB,OAAKpC,aAAL,CAAmBR,CAAnB;;MACtB,IAAIA,CAAC,CAAC4C,OAAF,KAAc,EAAlB,EAAsB;QACpB,IACED,aAAa,CAACE,cAAd,IAAgC,CAAhC,IACAF,aAAa,CAACE,cAAd,KAAiCF,aAAa,CAACG,YAFjD,EAGE;UACA9C,CAAC,CAAC+C,cAAF;;UACA,OAAKS,SAAL;QACD;MACF;;MACD,IAAIxD,CAAC,CAAC4C,OAAF,KAAc,CAAlB,EAAqB;QACnB,IAAID,aAAa,CAACtD,KAAd,CAAoBV,MAApB,KAA+B,CAAnC,EAAsC;UACpCqB,CAAC,CAAC+C,cAAF;;UACA,OAAKS,SAAL;QACD;MACF;IACF,C;;;;;;WA7BD,kBAAS;MACP,OAAO,CAAC,CAAD,EAAI,EAAJ,CAAP;IACD;;;WAED,qBAAY;MACV,IAAI,KAAK7C,OAAL,CAAa8C,aAAb,CAA2BN,OAA/B,EAAwC;QACtC,KAAK7C,QAAL,CAAc;UAAET,OAAO,EAAE;QAAX,CAAd;QACA,KAAKc,OAAL,CAAa8C,aAAb,CAA2BN,OAA3B,CAAmCC,KAAnC;MACD;IACF;;;EAZmB5D,U"}
|
package/lib/cjs/TimePicker.js
CHANGED
|
@@ -42,6 +42,10 @@ var _PickerInput = require("./PickerInput");
|
|
|
42
42
|
|
|
43
43
|
var _PickerFormat = _interopRequireDefault(require("./PickerFormat"));
|
|
44
44
|
|
|
45
|
+
var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynamic-locales");
|
|
46
|
+
|
|
47
|
+
var _i18nEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/i18nEnhance"));
|
|
48
|
+
|
|
45
49
|
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); }
|
|
46
50
|
|
|
47
51
|
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; }
|
|
@@ -59,22 +63,22 @@ var style = (
|
|
|
59
63
|
/*__reshadow_css_start__*/
|
|
60
64
|
_core.sstyled.insert(
|
|
61
65
|
/*__inner_css_start__*/
|
|
62
|
-
".
|
|
66
|
+
".___STimePicker_1h8bl_gg_{position:relative;width:auto}.___STimePicker_1h8bl_gg_.__disabled_1h8bl_gg_{color:var(--intergalactic-text-secondary,#6c6e79);cursor:default}.___SPickerInput_1h8bl_gg_{box-sizing:content-box;text-align:center;z-index:1}.___SPickerInput_1h8bl_gg_.__placeholder_1h8bl_gg_{text-overflow:clip}.___SPickerInput_1h8bl_gg_._size_m_1h8bl_gg_{width:19px}.___SPickerInput_1h8bl_gg_._size_l_1h8bl_gg_{width:21px}.___SPickerFormat_1h8bl_gg_{flex-shrink:0;position:relative;display:inline-flex;padding:0;white-space:nowrap;font-family:inherit;font-weight:var(--intergalactic-medium,500);line-height:normal;text-decoration:none;align-items:center;border:1px solid var(--intergalactic-border-primary,#c4c7cf);border-radius:0 var(--intergalactic-rounded-medium,6px) var(--intergalactic-rounded-medium,6px) 0;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:var(--intergalactic-text-secondary,#6c6e79);background-color:var(--intergalactic-bg-secondary-neutral,#f4f5f9)}.___SPickerFormat_1h8bl_gg_:hover{color:var(--intergalactic-text-secondary,#6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-hover,#e0e1e9)}.___SPickerFormat_1h8bl_gg_:active,.___SPickerFormat_1h8bl_gg_.__active_1h8bl_gg_{color:var(--intergalactic-text-secondary,#6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-active,#c4c7cf)}.___SPickerFormat_1h8bl_gg_._size_m_1h8bl_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_1h8bl_gg_._size_m_1h8bl_gg_ .___SPickerFormatText_1h8bl_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_1h8bl_gg_._size_l_1h8bl_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 calc(var(--intergalactic-spacing-1x, 4px)*-1) 0 0}.___SPickerFormat_1h8bl_gg_._size_l_1h8bl_gg_ .___SPickerFormatText_1h8bl_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_1h8bl_gg_.__disabled_1h8bl_gg_{opacity:var(--intergalactic-disabled-opacity,.3);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary,#c4c7cf)}.___SPickerFormat_1h8bl_gg_.__keyboardFocused_1h8bl_gg_{box-shadow:var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___STimePickerSeparator_1h8bl_gg_.__disabled_1h8bl_gg_{opacity:var(--intergalactic-disabled-opacity,.3);pointer-events:none}"
|
|
63
67
|
/*__inner_css_end__*/
|
|
64
|
-
, "
|
|
68
|
+
, "1h8bl_gg_")
|
|
65
69
|
/*__reshadow_css_end__*/
|
|
66
70
|
, {
|
|
67
|
-
"__STimePicker": "
|
|
68
|
-
"_disabled": "
|
|
69
|
-
"__SPickerInput": "
|
|
70
|
-
"_placeholder": "
|
|
71
|
-
"_size_m": "
|
|
72
|
-
"_size_l": "
|
|
73
|
-
"__SPickerFormat": "
|
|
74
|
-
"_active": "
|
|
75
|
-
"__SPickerFormatText": "
|
|
76
|
-
"_keyboardFocused": "
|
|
77
|
-
"__STimePickerSeparator": "
|
|
71
|
+
"__STimePicker": "___STimePicker_1h8bl_gg_",
|
|
72
|
+
"_disabled": "__disabled_1h8bl_gg_",
|
|
73
|
+
"__SPickerInput": "___SPickerInput_1h8bl_gg_",
|
|
74
|
+
"_placeholder": "__placeholder_1h8bl_gg_",
|
|
75
|
+
"_size_m": "_size_m_1h8bl_gg_",
|
|
76
|
+
"_size_l": "_size_l_1h8bl_gg_",
|
|
77
|
+
"__SPickerFormat": "___SPickerFormat_1h8bl_gg_",
|
|
78
|
+
"_active": "__active_1h8bl_gg_",
|
|
79
|
+
"__SPickerFormatText": "___SPickerFormatText_1h8bl_gg_",
|
|
80
|
+
"_keyboardFocused": "__keyboardFocused_1h8bl_gg_",
|
|
81
|
+
"__STimePickerSeparator": "___STimePickerSeparator_1h8bl_gg_"
|
|
78
82
|
});
|
|
79
83
|
var MAP_MERIDIEM = {
|
|
80
84
|
AM: 'PM',
|
|
@@ -201,7 +205,8 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
201
205
|
var _this$asProps = _this.asProps,
|
|
202
206
|
is12Hour = _this$asProps.is12Hour,
|
|
203
207
|
size = _this$asProps.size,
|
|
204
|
-
disabled = _this$asProps.disabled
|
|
208
|
+
disabled = _this$asProps.disabled,
|
|
209
|
+
getI18nText = _this$asProps.getI18nText;
|
|
205
210
|
|
|
206
211
|
var time = _this.valueToTime(_this.value);
|
|
207
212
|
|
|
@@ -212,7 +217,8 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
212
217
|
disabled: disabled,
|
|
213
218
|
$onValueChange: _this.handleValueChange,
|
|
214
219
|
minutesInputRef: _this.minutesInputRef,
|
|
215
|
-
hoursInputRef: _this.hoursInputRef
|
|
220
|
+
hoursInputRef: _this.hoursInputRef,
|
|
221
|
+
_getI18nText: getI18nText
|
|
216
222
|
};
|
|
217
223
|
});
|
|
218
224
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getHoursProps", _this._getHoursAndMinutesProps);
|
|
@@ -305,7 +311,8 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
305
311
|
size = _this$asProps2.size,
|
|
306
312
|
disabled = _this$asProps2.disabled,
|
|
307
313
|
disablePortal = _this$asProps2.disablePortal,
|
|
308
|
-
value = _this$asProps2.value
|
|
314
|
+
value = _this$asProps2.value,
|
|
315
|
+
getI18nText = _this$asProps2.getI18nText;
|
|
309
316
|
var valueFulfilled = value === null || value === void 0 ? void 0 : value.split(':').every(function (chunk) {
|
|
310
317
|
return chunk.length > 0;
|
|
311
318
|
});
|
|
@@ -313,7 +320,7 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
313
320
|
size: size,
|
|
314
321
|
disabled: disabled,
|
|
315
322
|
disablePortal: disablePortal
|
|
316
|
-
}, (0, _defineProperty2["default"])(_ref4, 'aria-hidden', !valueFulfilled), (0, _defineProperty2["default"])(_ref4, "meridiem", this.meridiem), (0, _defineProperty2["default"])(_ref4, "onClick", this.handleMeridiemClick), _ref4;
|
|
323
|
+
}, (0, _defineProperty2["default"])(_ref4, 'aria-hidden', !valueFulfilled), (0, _defineProperty2["default"])(_ref4, "meridiem", this.meridiem), (0, _defineProperty2["default"])(_ref4, "onClick", this.handleMeridiemClick), (0, _defineProperty2["default"])(_ref4, "getI18nText", getI18nText), _ref4;
|
|
317
324
|
}
|
|
318
325
|
}, {
|
|
319
326
|
key: "render",
|
|
@@ -326,8 +333,12 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
326
333
|
styles = _this$asProps3.styles,
|
|
327
334
|
Children = _this$asProps3.Children,
|
|
328
335
|
value = _this$asProps3.value,
|
|
329
|
-
is12Hour = _this$asProps3.is12Hour
|
|
330
|
-
|
|
336
|
+
is12Hour = _this$asProps3.is12Hour,
|
|
337
|
+
getI18nText = _this$asProps3.getI18nText;
|
|
338
|
+
var label = value ? getI18nText('title', {
|
|
339
|
+
time: value,
|
|
340
|
+
meridiem: is12Hour ? this.meridiem : ''
|
|
341
|
+
}) : getI18nText('titleEmpty');
|
|
331
342
|
return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(STimePicker, _ref3.cn("STimePicker", _objectSpread({}, (0, _core.assignProps)({
|
|
332
343
|
"aria-label": label,
|
|
333
344
|
"aria-valuenow": value || undefined,
|
|
@@ -340,12 +351,15 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
340
351
|
|
|
341
352
|
(0, _defineProperty2["default"])(TimePickerRoot, "displayName", 'TimePicker');
|
|
342
353
|
(0, _defineProperty2["default"])(TimePickerRoot, "style", style);
|
|
354
|
+
(0, _defineProperty2["default"])(TimePickerRoot, "enhance", [(0, _i18nEnhance["default"])(_intergalacticDynamicLocales.localizedMessages)]);
|
|
343
355
|
(0, _defineProperty2["default"])(TimePickerRoot, "defaultProps", function (_ref5) {
|
|
344
356
|
var is12Hour = _ref5.is12Hour;
|
|
345
357
|
return {
|
|
346
358
|
defaultValue: '',
|
|
347
359
|
size: 'm',
|
|
348
|
-
children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(TimePicker.Hours, null), /*#__PURE__*/_react["default"].createElement(TimePicker.Separator, null), /*#__PURE__*/_react["default"].createElement(TimePicker.Minutes, null), is12Hour && /*#__PURE__*/_react["default"].createElement(TimePicker.Format, null))
|
|
360
|
+
children: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(TimePicker.Hours, null), /*#__PURE__*/_react["default"].createElement(TimePicker.Separator, null), /*#__PURE__*/_react["default"].createElement(TimePicker.Minutes, null), is12Hour && /*#__PURE__*/_react["default"].createElement(TimePicker.Format, null)),
|
|
361
|
+
i18n: _intergalacticDynamicLocales.localizedMessages,
|
|
362
|
+
locale: 'en'
|
|
349
363
|
};
|
|
350
364
|
});
|
|
351
365
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","names":["MAP_MERIDIEM","AM","PM","MAP_FIELD_TO_TIME","hours","minutes","intOrDefault","value","def","number","Number","parseInt","isNaN","withLeadingZero","String","length","meridiemByHours","formatHoursTo12","nHours","NaN","formatHoursTo24","meridiem","TimePickerRoot","React","createRef","field","event","is12Hour","asProps","time","split","timeToValue","handlers","size","disabled","valueToTime","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","_getHoursAndMinutesProps","undefined","_lastMeridiem","disablePortal","valueFulfilled","every","chunk","handleMeridiemClick","STimePicker","Input","styles","Children","label","sstyled","Component","style","defaultValue","children","Separator","current","focus","STimePickerSeparator","Box","handlerClick","TimePicker","createComponent","Hours","Minutes","Format"],"sources":["../../src/TimePicker.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport { Box } from '@semcore/flex-box';\nimport { Hours, Minutes } from './PickerInput';\nimport Format from './PickerFormat';\n\nimport style from './style/time-picker.shadow.css';\n\nconst MAP_MERIDIEM = {\n AM: 'PM',\n PM: 'AM',\n};\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nexport function intOrDefault(value, def = 0) {\n const number = Number.parseInt(value);\n return Number.isNaN(number) ? def : number;\n}\n\nexport function withLeadingZero(value) {\n value = String(value);\n if (value.length === 1) return `0${value}`;\n return String(value);\n}\n\nexport function meridiemByHours(hours) {\n return hours >= 12 ? 'PM' : 'AM';\n}\n\nexport function formatHoursTo12(hours /* hours by 24 */) {\n const nHours = intOrDefault(hours, NaN); // if not (:00)\n if (Number.isNaN(nHours)) return hours;\n\n // if not (HH:00)\n if (nHours === 0) return 12; // 0 => 12 PM\n if (nHours > 12) return nHours - 12; // 22 => 12 PM\n\n return hours;\n}\n\nexport function formatHoursTo24(hours /* hours by 12 */, meridiem) {\n const nHours = intOrDefault(hours, NaN); // if not (:00)\n\n if (Number.isNaN(nHours)) return hours;\n\n if (meridiem === 'AM') {\n if (nHours === 12) return 0; // 12 AM => 0\n }\n\n if (meridiem === 'PM') {\n if (nHours < 12) return nHours + 12; // 10 PM => 22\n }\n\n return hours;\n}\n\nclass TimePickerRoot extends Component {\n static displayName = 'TimePicker';\n static style = style;\n static defaultProps = ({ is12Hour }) => ({\n defaultValue: '',\n size: 'm',\n children: (\n <>\n <TimePicker.Hours />\n <TimePicker.Separator />\n <TimePicker.Minutes />\n {is12Hour && <TimePicker.Format />}\n </>\n ),\n });\n\n hoursInputRef = React.createRef();\n minutesInputRef = React.createRef();\n\n _lastMeridiem = 'AM'; // default AM\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n get value() {\n const { value } = this.asProps;\n return value === null || value === undefined ? ':' : value;\n }\n\n get meridiem() {\n const { value } = this.asProps;\n const [hours = ''] = value.split(':');\n\n const nHours = intOrDefault(hours, NaN);\n\n if (!Number.isNaN(nHours)) {\n this._lastMeridiem = meridiemByHours(nHours);\n }\n\n return this._lastMeridiem;\n }\n\n valueToTime(value) {\n const { is12Hour } = this.asProps;\n let [hours = '', minutes = ''] = value.split(':');\n\n if (is12Hour) hours = formatHoursTo12(hours);\n\n hours = withLeadingZero(hours);\n minutes = withLeadingZero(minutes);\n\n return [hours, minutes];\n }\n\n timeToValue(time, meridiem) {\n const { is12Hour } = this.asProps;\n let [hours = '', minutes = ''] = time;\n\n hours = intOrDefault(hours, hours); // 03 => 3\n minutes = intOrDefault(minutes, minutes); // MM => MM\n\n if (is12Hour) hours = formatHoursTo24(hours, meridiem); // 12 PM -> 0\n\n return `${hours}:${minutes}`;\n }\n\n handleValueChange = (value, field, event) => {\n const { is12Hour } = this.asProps;\n const { meridiem } = this;\n\n let time;\n if (field) {\n time = this.value.split(':');\n time[MAP_FIELD_TO_TIME[field]] = value;\n } else {\n time = value.split(':');\n }\n\n let [hours = '', minutes = ''] = time;\n\n if (is12Hour) hours = String(formatHoursTo12(hours));\n\n value = this.timeToValue([hours, minutes], meridiem);\n this.handlers.value(value, event);\n };\n\n handleMeridiemClick = (event) => {\n const { is12Hour } = this.asProps;\n let { value, meridiem } = this;\n let [hours = '', minutes = ''] = value.split(':');\n\n if (is12Hour) hours = String(formatHoursTo12(hours));\n\n value = this.timeToValue([hours, minutes], MAP_MERIDIEM[meridiem]);\n this.handlers.value(value, event);\n };\n\n _getHoursAndMinutesProps = () => {\n const { is12Hour, size, disabled } = this.asProps;\n const time = this.valueToTime(this.value);\n\n return {\n time,\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n };\n };\n\n getHoursProps = this._getHoursAndMinutesProps;\n getMinutesProps = this._getHoursAndMinutesProps;\n\n getSeparatorProps() {\n return {\n disabled: this.asProps.disabled,\n hoursInputRef: this.hoursInputRef,\n };\n }\n\n getFormatProps() {\n const { size, disabled, disablePortal, value } = this.asProps;\n const valueFulfilled = value?.split(':').every((chunk) => chunk.length > 0);\n\n return {\n size,\n disabled,\n disablePortal,\n ['aria-hidden']: !valueFulfilled,\n meridiem: this.meridiem,\n onClick: this.handleMeridiemClick,\n };\n }\n\n render() {\n const STimePicker = Root;\n const { styles, Children, value, is12Hour } = this.asProps;\n const label = value\n ? `Time input, entered time is ${value} ${is12Hour ? this.meridiem : ''}`\n : `Time input, no time entered`;\n\n return sstyled(styles)(\n <STimePicker\n render={Input}\n aria-label={label}\n aria-valuenow={value || undefined}\n tabIndex={0}\n >\n <Children />\n </STimePicker>,\n );\n }\n}\n\nclass Separator extends Component {\n static defaultProps = {\n children: ':',\n };\n\n handlerClick = () => {\n if (this.asProps.hoursInputRef.current) {\n this.asProps.hoursInputRef.current?.focus();\n }\n };\n\n render() {\n const STimePickerSeparator = Root;\n return <STimePickerSeparator render={Box} onClick={this.handlerClick} aria-hidden=\"true\" />;\n }\n}\n\nconst TimePicker = createComponent(TimePickerRoot, {\n Hours,\n Minutes,\n Separator,\n Format,\n});\n\nexport default TimePicker;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimePicker.js","names":["MAP_MERIDIEM","AM","PM","MAP_FIELD_TO_TIME","hours","minutes","intOrDefault","value","def","number","Number","parseInt","isNaN","withLeadingZero","String","length","meridiemByHours","formatHoursTo12","nHours","NaN","formatHoursTo24","meridiem","TimePickerRoot","React","createRef","field","event","is12Hour","asProps","time","split","timeToValue","handlers","size","disabled","getI18nText","valueToTime","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","_getI18nText","_getHoursAndMinutesProps","undefined","_lastMeridiem","disablePortal","valueFulfilled","every","chunk","handleMeridiemClick","STimePicker","Input","styles","Children","label","sstyled","Component","style","i18nEnhance","localizedMessages","defaultValue","children","i18n","locale","Separator","current","focus","STimePickerSeparator","Box","handlerClick","TimePicker","createComponent","Hours","Minutes","Format"],"sources":["../../src/TimePicker.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport { Box } from '@semcore/flex-box';\nimport { Hours, Minutes } from './PickerInput';\nimport Format from './PickerFormat';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/time-picker.shadow.css';\n\nconst MAP_MERIDIEM = {\n AM: 'PM',\n PM: 'AM',\n};\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nexport function intOrDefault(value, def = 0) {\n const number = Number.parseInt(value);\n return Number.isNaN(number) ? def : number;\n}\n\nexport function withLeadingZero(value) {\n value = String(value);\n if (value.length === 1) return `0${value}`;\n return String(value);\n}\n\nexport function meridiemByHours(hours) {\n return hours >= 12 ? 'PM' : 'AM';\n}\n\nexport function formatHoursTo12(hours /* hours by 24 */) {\n const nHours = intOrDefault(hours, NaN); // if not (:00)\n if (Number.isNaN(nHours)) return hours;\n\n // if not (HH:00)\n if (nHours === 0) return 12; // 0 => 12 PM\n if (nHours > 12) return nHours - 12; // 22 => 12 PM\n\n return hours;\n}\n\nexport function formatHoursTo24(hours /* hours by 12 */, meridiem) {\n const nHours = intOrDefault(hours, NaN); // if not (:00)\n\n if (Number.isNaN(nHours)) return hours;\n\n if (meridiem === 'AM') {\n if (nHours === 12) return 0; // 12 AM => 0\n }\n\n if (meridiem === 'PM') {\n if (nHours < 12) return nHours + 12; // 10 PM => 22\n }\n\n return hours;\n}\n\nclass TimePickerRoot extends Component {\n static displayName = 'TimePicker';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = ({ is12Hour }) => ({\n defaultValue: '',\n size: 'm',\n children: (\n <>\n <TimePicker.Hours />\n <TimePicker.Separator />\n <TimePicker.Minutes />\n {is12Hour && <TimePicker.Format />}\n </>\n ),\n i18n: localizedMessages,\n locale: 'en',\n });\n\n hoursInputRef = React.createRef();\n minutesInputRef = React.createRef();\n\n _lastMeridiem = 'AM'; // default AM\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n get value() {\n const { value } = this.asProps;\n return value === null || value === undefined ? ':' : value;\n }\n\n get meridiem() {\n const { value } = this.asProps;\n const [hours = ''] = value.split(':');\n\n const nHours = intOrDefault(hours, NaN);\n\n if (!Number.isNaN(nHours)) {\n this._lastMeridiem = meridiemByHours(nHours);\n }\n\n return this._lastMeridiem;\n }\n\n valueToTime(value) {\n const { is12Hour } = this.asProps;\n let [hours = '', minutes = ''] = value.split(':');\n\n if (is12Hour) hours = formatHoursTo12(hours);\n\n hours = withLeadingZero(hours);\n minutes = withLeadingZero(minutes);\n\n return [hours, minutes];\n }\n\n timeToValue(time, meridiem) {\n const { is12Hour } = this.asProps;\n let [hours = '', minutes = ''] = time;\n\n hours = intOrDefault(hours, hours); // 03 => 3\n minutes = intOrDefault(minutes, minutes); // MM => MM\n\n if (is12Hour) hours = formatHoursTo24(hours, meridiem); // 12 PM -> 0\n\n return `${hours}:${minutes}`;\n }\n\n handleValueChange = (value, field, event) => {\n const { is12Hour } = this.asProps;\n const { meridiem } = this;\n\n let time;\n if (field) {\n time = this.value.split(':');\n time[MAP_FIELD_TO_TIME[field]] = value;\n } else {\n time = value.split(':');\n }\n\n let [hours = '', minutes = ''] = time;\n\n if (is12Hour) hours = String(formatHoursTo12(hours));\n\n value = this.timeToValue([hours, minutes], meridiem);\n this.handlers.value(value, event);\n };\n\n handleMeridiemClick = (event) => {\n const { is12Hour } = this.asProps;\n let { value, meridiem } = this;\n let [hours = '', minutes = ''] = value.split(':');\n\n if (is12Hour) hours = String(formatHoursTo12(hours));\n\n value = this.timeToValue([hours, minutes], MAP_MERIDIEM[meridiem]);\n this.handlers.value(value, event);\n };\n\n _getHoursAndMinutesProps = () => {\n const { is12Hour, size, disabled, getI18nText } = this.asProps;\n const time = this.valueToTime(this.value);\n\n return {\n time,\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n _getI18nText: getI18nText,\n };\n };\n\n getHoursProps = this._getHoursAndMinutesProps;\n getMinutesProps = this._getHoursAndMinutesProps;\n\n getSeparatorProps() {\n return {\n disabled: this.asProps.disabled,\n hoursInputRef: this.hoursInputRef,\n };\n }\n\n getFormatProps() {\n const { size, disabled, disablePortal, value, getI18nText } = this.asProps;\n const valueFulfilled = value?.split(':').every((chunk) => chunk.length > 0);\n\n return {\n size,\n disabled,\n disablePortal,\n ['aria-hidden']: !valueFulfilled,\n meridiem: this.meridiem,\n onClick: this.handleMeridiemClick,\n getI18nText,\n };\n }\n\n render() {\n const STimePicker = Root;\n const { styles, Children, value, is12Hour, getI18nText } = this.asProps;\n const label = value\n ? getI18nText('title', { time: value, meridiem: is12Hour ? this.meridiem : '' })\n : getI18nText('titleEmpty');\n\n return sstyled(styles)(\n <STimePicker\n render={Input}\n aria-label={label}\n aria-valuenow={value || undefined}\n tabIndex={0}\n >\n <Children />\n </STimePicker>,\n );\n }\n}\n\nclass Separator extends Component {\n static defaultProps = {\n children: ':',\n };\n\n handlerClick = () => {\n if (this.asProps.hoursInputRef.current) {\n this.asProps.hoursInputRef.current?.focus();\n }\n };\n\n render() {\n const STimePickerSeparator = Root;\n return <STimePickerSeparator render={Box} onClick={this.handlerClick} aria-hidden=\"true\" />;\n }\n}\n\nconst TimePicker = createComponent(TimePickerRoot, {\n Hours,\n Minutes,\n Separator,\n Format,\n});\n\nexport default TimePicker;\n"],"mappings":"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"}
|
package/lib/cjs/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport { IInputProps, IInputValueProps } from '@semcore/input';\nimport { Box, IBoxProps } from '@semcore/flex-box';\nimport { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport interface ITimePickerProps extends Omit<IInputProps, 'size'> {\n /** Time in the hh:mm format */\n value?: string;\n /** Default value if `value` property is not provided */\n defaultValue?: string;\n /** The event responses upon time changing */\n onChange?: (time: string, event?: React.SyntheticEvent) => void;\n /** In charge of the component blocking */\n disabled?: boolean;\n /** Control size\n * @default m */\n size?: 'm' | 'l';\n /** 12-hour time format */\n is12Hour?: boolean;\n}\n\nexport interface ITimePickerItemProps extends IInputValueProps {\n /** Step for changing of the values in the dropdown list */\n step?: number;\n}\n\nexport interface ITimePickerFormatProps extends IBoxProps, IKeyboardFocusProps {}\n\nexport interface ITimePickerContext {\n getHoursProps: PropGetterFn;\n getFormatProps: PropGetterFn;\n getMinutesProps: PropGetterFn;\n}\n\nexport interface ITimePickerHandlers {\n value: (value: string) => void;\n}\n\ndeclare const TimePicker: (<T>(\n props: CProps<ITimePickerProps & T, ITimePickerContext, ITimePickerHandlers>,\n) => ReturnEl) & {\n Hours: <T>(props: ITimePickerItemProps & T) => ReturnEl;\n Minutes: <T>(props: ITimePickerItemProps & T) => ReturnEl;\n Separator: typeof Box;\n Format: <T>(props: ITimePickerFormatProps & T) => ReturnEl;\n};\n\nexport default TimePicker;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport { IInputProps, IInputValueProps } from '@semcore/input';\nimport { Box, IBoxProps } from '@semcore/flex-box';\nimport { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport interface ITimePickerProps extends Omit<IInputProps, 'size'> {\n /** Time in the hh:mm format */\n value?: string;\n /** Default value if `value` property is not provided */\n defaultValue?: string;\n /** The event responses upon time changing */\n onChange?: (time: string, event?: React.SyntheticEvent) => void;\n /** In charge of the component blocking */\n disabled?: boolean;\n /** Control size\n * @default m */\n size?: 'm' | 'l';\n /** 12-hour time format */\n is12Hour?: boolean;\n locale?: string;\n}\n\nexport interface ITimePickerItemProps extends IInputValueProps {\n /** Step for changing of the values in the dropdown list */\n step?: number;\n}\n\nexport interface ITimePickerFormatProps extends IBoxProps, IKeyboardFocusProps {}\n\nexport interface ITimePickerContext {\n getHoursProps: PropGetterFn;\n getFormatProps: PropGetterFn;\n getMinutesProps: PropGetterFn;\n}\n\nexport interface ITimePickerHandlers {\n value: (value: string) => void;\n}\n\ndeclare const TimePicker: (<T>(\n props: CProps<ITimePickerProps & T, ITimePickerContext, ITimePickerHandlers>,\n) => ReturnEl) & {\n Hours: <T>(props: ITimePickerItemProps & T) => ReturnEl;\n Minutes: <T>(props: ITimePickerItemProps & T) => ReturnEl;\n Separator: typeof Box;\n Format: <T>(props: ITimePickerFormatProps & T) => ReturnEl;\n};\n\nexport default TimePicker;\n"],"mappings":""}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.localizedMessages = void 0;
|
|
9
|
+
|
|
10
|
+
var _de = _interopRequireDefault(require("./de.json"));
|
|
11
|
+
|
|
12
|
+
var _en = _interopRequireDefault(require("./en.json"));
|
|
13
|
+
|
|
14
|
+
var _es = _interopRequireDefault(require("./es.json"));
|
|
15
|
+
|
|
16
|
+
var _fr = _interopRequireDefault(require("./fr.json"));
|
|
17
|
+
|
|
18
|
+
var _it = _interopRequireDefault(require("./it.json"));
|
|
19
|
+
|
|
20
|
+
var _ja = _interopRequireDefault(require("./ja.json"));
|
|
21
|
+
|
|
22
|
+
var _ko = _interopRequireDefault(require("./ko.json"));
|
|
23
|
+
|
|
24
|
+
var _pt = _interopRequireDefault(require("./pt.json"));
|
|
25
|
+
|
|
26
|
+
var _tr = _interopRequireDefault(require("./tr.json"));
|
|
27
|
+
|
|
28
|
+
var _vi = _interopRequireDefault(require("./vi.json"));
|
|
29
|
+
|
|
30
|
+
var _zh = _interopRequireDefault(require("./zh.json"));
|
|
31
|
+
|
|
32
|
+
var localizedMessages = {
|
|
33
|
+
de: _de["default"],
|
|
34
|
+
en: _en["default"],
|
|
35
|
+
es: _es["default"],
|
|
36
|
+
fr: _fr["default"],
|
|
37
|
+
it: _it["default"],
|
|
38
|
+
ja: _ja["default"],
|
|
39
|
+
ko: _ko["default"],
|
|
40
|
+
pt: _pt["default"],
|
|
41
|
+
tr: _tr["default"],
|
|
42
|
+
vi: _vi["default"],
|
|
43
|
+
zh: _zh["default"]
|
|
44
|
+
};
|
|
45
|
+
exports.localizedMessages = localizedMessages;
|
|
46
|
+
//# sourceMappingURL=__intergalactic-dynamic-locales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["localizedMessages","de","en","es","fr","it","ja","ko","pt","tr","vi","zh"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG;EAC/BC,EAAE,EAAFA,cAD+B;EAE/BC,EAAE,EAAFA,cAF+B;EAG/BC,EAAE,EAAFA,cAH+B;EAI/BC,EAAE,EAAFA,cAJ+B;EAK/BC,EAAE,EAAFA,cAL+B;EAM/BC,EAAE,EAAFA,cAN+B;EAO/BC,EAAE,EAAFA,cAP+B;EAQ/BC,EAAE,EAAFA,cAR+B;EAS/BC,EAAE,EAAFA,cAT+B;EAU/BC,EAAE,EAAFA,cAV+B;EAW/BC,EAAE,EAAFA;AAX+B,CAA1B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Introducción de la hora, la hora introducida es {time} {meridiem}",
|
|
3
|
+
"titleEmpty": "Introducción de la hora, no se ha introducido la hora",
|
|
4
|
+
"hours": "Campo de entrada de horas",
|
|
5
|
+
"minutes": "Campo de input de minutos",
|
|
6
|
+
"format": "Formato de tiempo {meridiem}"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Saisie de l’heure, l’heure saisie est {time} {meridiem}",
|
|
3
|
+
"titleEmpty": "Saisie de l’heure, aucune heure n’a été saisie",
|
|
4
|
+
"hours": "Champ de saisie des heures",
|
|
5
|
+
"minutes": "Champ de saisie des minutes",
|
|
6
|
+
"format": "Format de l’heure {meridiem}"
|
|
7
|
+
}
|
package/lib/es6/PickerFormat.js
CHANGED
|
@@ -40,9 +40,12 @@ var TimePickerFormat = /*#__PURE__*/function (_Component) {
|
|
|
40
40
|
var _this$asProps = this.asProps,
|
|
41
41
|
Children = _this$asProps.Children,
|
|
42
42
|
meridiem = _this$asProps.meridiem,
|
|
43
|
-
styles = _this$asProps.styles
|
|
43
|
+
styles = _this$asProps.styles,
|
|
44
|
+
getI18nText = _this$asProps.getI18nText;
|
|
44
45
|
var SPickerFormatText = 'span';
|
|
45
|
-
var label =
|
|
46
|
+
var label = getI18nText('format', {
|
|
47
|
+
meridiem: meridiem
|
|
48
|
+
});
|
|
46
49
|
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SPickerFormat, _ref2.cn("SPickerFormat", _objectSpread({}, _assignProps({
|
|
47
50
|
"type": "button",
|
|
48
51
|
"tag": "button",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerFormat.js","names":["React","Component","sstyled","Root","Box","keyboardFocusEnhance","TimePickerFormat","SPickerFormat","asProps","Children","meridiem","styles","SPickerFormatText","label","origin"],"sources":["../../src/PickerFormat.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nclass TimePickerFormat extends Component {\n static enhance = [keyboardFocusEnhance()];\n render() {\n const SPickerFormat = Root;\n const { Children, meridiem, styles } = this.asProps;\n const SPickerFormatText = 'span';\n\n const label =
|
|
1
|
+
{"version":3,"file":"PickerFormat.js","names":["React","Component","sstyled","Root","Box","keyboardFocusEnhance","TimePickerFormat","SPickerFormat","asProps","Children","meridiem","styles","getI18nText","SPickerFormatText","label","origin"],"sources":["../../src/PickerFormat.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nclass TimePickerFormat extends Component {\n static enhance = [keyboardFocusEnhance()];\n render() {\n const SPickerFormat = Root;\n const { Children, meridiem, styles, getI18nText } = this.asProps;\n const SPickerFormatText = 'span';\n\n const label = getI18nText('format', { meridiem });\n\n return sstyled(styles)(\n <SPickerFormat render={Box} type=\"button\" tag=\"button\" role=\"switch\" aria-label={label}>\n {Children.origin ? <Children /> : <SPickerFormatText>{meridiem}</SPickerFormatText>}\n </SPickerFormat>,\n );\n }\n}\n\nexport default TimePickerFormat;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,EAAoBC,OAApB,EAA6BC,IAA7B,QAAyC,eAAzC;AACA,SAASC,GAAT,QAAoB,mBAApB;AACA,OAAOC,oBAAP,MAAiC,kDAAjC;;IAEMC,gB;;;;;;;;;;;;;WAEJ,kBAAS;MAAA;MAAA;;MACP,IAAMC,aAAa,GAOMH,GAPzB;MACA,oBAAoD,KAAKI,OAAzD;MAAA,IAAQC,QAAR,iBAAQA,QAAR;MAAA,IAAkBC,QAAlB,iBAAkBA,QAAlB;MAAA,IAA4BC,MAA5B,iBAA4BA,MAA5B;MAAA,IAAoCC,WAApC,iBAAoCA,WAApC;MACA,IAAMC,iBAAiB,GAAG,MAA1B;MAEA,IAAMC,KAAK,GAAGF,WAAW,CAAC,QAAD,EAAW;QAAEF,QAAQ,EAARA;MAAF,CAAX,CAAzB;MAEA,eAAOR,OAAO,CAACS,MAAD,CAAd,eACE,oBAAC,aAAD;QAAA,QAAiC,QAAjC;QAAA,OAA8C,QAA9C;QAAA,QAA4D,QAA5D;QAAA,cAAiFG;MAAjF,YACGL,QAAQ,CAACM,MAAT,gBAAkB,oBAAC,QAAD,2BAAlB,gBAAiC,oBAAC,iBAAD,qCAAoBL,QAApB,CADpC,CADF;IAKD;;;;EAd4BT,S;;gBAAzBK,gB,aACa,CAACD,oBAAoB,EAArB,C;;AAgBnB,eAAeC,gBAAf"}
|
package/lib/es6/PickerInput.js
CHANGED
|
@@ -108,6 +108,13 @@ var ItemPicker = /*#__PURE__*/function (_Component) {
|
|
|
108
108
|
});
|
|
109
109
|
});
|
|
110
110
|
|
|
111
|
+
_defineProperty(_assertThisInitialized(_this), "getAriaLabel", function () {
|
|
112
|
+
var getI18nText = _this.asProps._getI18nText;
|
|
113
|
+
if (_this.field === 'hours') return getI18nText('hours');
|
|
114
|
+
if (_this.field === 'minutes') return getI18nText('minutes');
|
|
115
|
+
return undefined;
|
|
116
|
+
});
|
|
117
|
+
|
|
111
118
|
return _this;
|
|
112
119
|
}
|
|
113
120
|
|
|
@@ -179,7 +186,7 @@ var ItemPicker = /*#__PURE__*/function (_Component) {
|
|
|
179
186
|
"disabled": disabled,
|
|
180
187
|
"neighborLocation": false,
|
|
181
188
|
"value": value,
|
|
182
|
-
"aria-label":
|
|
189
|
+
"aria-label": this.getAriaLabel(),
|
|
183
190
|
"__excludeProps": ['aria-haspopup', 'aria-controls', 'aria-flowto', 'aria-expanded', 'aria-autocomplete', 'role'],
|
|
184
191
|
"onChange": this.handleChange,
|
|
185
192
|
"onBlur": this.handleBlur,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PickerInput.js","names":["React","Input","Select","intOrDefault","withLeadingZero","Component","sstyled","Root","callAllEventHandlers","MAP_FIELD_TO_TIME","hours","minutes","MAP_SIZE_SELECT","m","l","getOptions","min","max","step","length","Number","toFixed","options","Array","fill","numValue","map","i","index","value","String","ItemPicker","createRef","dirtyValue","undefined","visible","minMax","Math","e","stopPropagation","numberValue","NaN","isNaN","setState","slice","submitChanges","dispatchOnChange","event","asProps","$onValueChange","field","state","parseValueWithMinMax","SPickerInput","Trigger","styles","onSelect","time","size","disabled","onVisibleChange","other","timeValue","handleSelect","handleVisibleChange","Value","inputRef","handleChange","handleBlur","handleKeyDown","placeholder","Hours","currentTarget","keyCode","selectionStart","selectionEnd","preventDefault","nextInput","is12Hour","minutesInputRef","current","focus","prevProps","prevState","Minutes","prevFocus","hoursInputRef"],"sources":["../../src/PickerInput.jsx"],"sourcesContent":["import React from 'react';\nimport Input from '@semcore/input';\nimport Select from '@semcore/select';\nimport { intOrDefault, withLeadingZero } from './TimePicker';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\n\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nconst MAP_SIZE_SELECT = {\n m: 'm',\n l: 'l',\n};\n\nfunction getOptions(min, max, step = 1) {\n const length = Number(((max + 1 - min) / step).toFixed(0));\n const options = Array(length).fill('');\n let numValue = min;\n return options.map((i, index) => {\n numValue = index === 0 ? numValue : numValue + step;\n const value = withLeadingZero(String(numValue));\n return (\n <Select.Option value={value} key={value}>\n {value}\n </Select.Option>\n );\n });\n}\n\nclass ItemPicker extends Component {\n static defaultProps = {\n placeholder: '00',\n };\n\n inputRef = React.createRef();\n\n minMax() {\n return [];\n }\n\n state = {\n dirtyValue: undefined,\n visible: false,\n };\n\n parseValueWithMinMax = (value) => {\n const [min, max] = this.minMax();\n return String(Math.max(min, Math.min(max, value)));\n };\n\n dispatchOnChange(value, event) {\n this.setState({ dirtyValue: undefined });\n this.asProps.$onValueChange(value, this.field, event);\n }\n\n submitChanges(event) {\n let { dirtyValue } = this.state;\n if (dirtyValue !== undefined) {\n // if changes value\n if (dirtyValue) dirtyValue = this.parseValueWithMinMax(dirtyValue); // if not \"\"\n this.dispatchOnChange(dirtyValue, event);\n }\n }\n\n handleChange = (value, e) => {\n /* hide props for bubbling events */\n e.stopPropagation();\n const numberValue = intOrDefault(Number(value), NaN);\n\n if (!Number.isNaN(numberValue)) {\n this.setState({ dirtyValue: value.slice(-2) });\n }\n };\n\n handleBlur = (e) => this.submitChanges(e);\n\n /* rewrite method */\n handleKeyDown = () => {};\n\n handleSelect = (value, e) => {\n this.dispatchOnChange(value, e);\n };\n\n handleVisibleChange = (visible) => this.setState({ visible });\n\n render() {\n const SPickerInput = Root;\n const { styles, step, onSelect, time, size, disabled, onVisibleChange, ...other } =\n this.asProps;\n const { dirtyValue, visible } = this.state;\n const timeValue = time[MAP_FIELD_TO_TIME[this.field]];\n const value = dirtyValue === undefined ? timeValue : dirtyValue;\n const [min, max] = this.minMax();\n\n return sstyled(styles)(\n <Select\n {...other}\n interaction=\"focus\"\n size={size ? MAP_SIZE_SELECT[size] : false}\n onChange={callAllEventHandlers(onSelect, this.handleSelect)}\n onVisibleChange={callAllEventHandlers(onVisibleChange, this.handleVisibleChange)}\n visible={visible}\n value={timeValue}\n >\n <SPickerInput\n render={Select.Trigger}\n tag={Input.Value}\n ref={this.inputRef}\n size={size}\n disabled={disabled}\n neighborLocation={false}\n value={value}\n aria-label={`${this.field} field`}\n __excludeProps={[\n 'aria-haspopup',\n 'aria-controls',\n 'aria-flowto',\n 'aria-expanded',\n 'aria-autocomplete',\n 'role',\n ]}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n />\n <Select.Menu aria-hidden=\"true\" hMax={180}>\n {getOptions(min, max, step)}\n </Select.Menu>\n </Select>,\n );\n }\n}\n\nclass Hours extends ItemPicker {\n field = 'hours';\n\n minMax() {\n const { is12Hour } = this.asProps;\n if (is12Hour) {\n return [1, 12];\n } else {\n return [0, 23];\n }\n }\n\n nextInput() {\n if (this.asProps.minutesInputRef.current) {\n this.setState({ visible: false });\n this.asProps.minutesInputRef.current.focus();\n }\n }\n\n handleKeyDown = (e) => {\n const { currentTarget } = e;\n if (e.keyCode === 13) this.submitChanges(e);\n if (e.keyCode === 39) {\n if (\n currentTarget.selectionStart >= currentTarget.value.length &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n e.preventDefault();\n this.nextInput();\n }\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n const { dirtyValue } = this.state;\n if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;\n\n if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {\n this.nextInput();\n }\n }\n}\n\nclass Minutes extends ItemPicker {\n field = 'minutes';\n\n minMax() {\n return [0, 59];\n }\n\n prevFocus() {\n if (this.asProps.hoursInputRef.current) {\n this.setState({ visible: false });\n this.asProps.hoursInputRef.current.focus();\n }\n }\n\n handleKeyDown = (e) => {\n const { currentTarget } = e;\n if (e.keyCode === 13) this.submitChanges(e);\n if (e.keyCode === 37) {\n if (\n currentTarget.selectionStart <= 0 &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n e.preventDefault();\n this.prevFocus();\n }\n }\n if (e.keyCode === 8) {\n if (currentTarget.value.length === 0) {\n e.preventDefault();\n this.prevFocus();\n }\n }\n };\n}\n\nexport { Hours, Minutes };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PickerInput.js","names":["React","Input","Select","intOrDefault","withLeadingZero","Component","sstyled","Root","callAllEventHandlers","MAP_FIELD_TO_TIME","hours","minutes","MAP_SIZE_SELECT","m","l","getOptions","min","max","step","length","Number","toFixed","options","Array","fill","numValue","map","i","index","value","String","ItemPicker","createRef","dirtyValue","undefined","visible","minMax","Math","e","stopPropagation","numberValue","NaN","isNaN","setState","slice","submitChanges","dispatchOnChange","getI18nText","asProps","_getI18nText","field","event","$onValueChange","state","parseValueWithMinMax","SPickerInput","Trigger","styles","onSelect","time","size","disabled","onVisibleChange","other","timeValue","handleSelect","handleVisibleChange","Value","inputRef","getAriaLabel","handleChange","handleBlur","handleKeyDown","placeholder","Hours","currentTarget","keyCode","selectionStart","selectionEnd","preventDefault","nextInput","is12Hour","minutesInputRef","current","focus","prevProps","prevState","Minutes","prevFocus","hoursInputRef"],"sources":["../../src/PickerInput.jsx"],"sourcesContent":["import React from 'react';\nimport Input from '@semcore/input';\nimport Select from '@semcore/select';\nimport { intOrDefault, withLeadingZero } from './TimePicker';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\n\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nconst MAP_SIZE_SELECT = {\n m: 'm',\n l: 'l',\n};\n\nfunction getOptions(min, max, step = 1) {\n const length = Number(((max + 1 - min) / step).toFixed(0));\n const options = Array(length).fill('');\n let numValue = min;\n return options.map((i, index) => {\n numValue = index === 0 ? numValue : numValue + step;\n const value = withLeadingZero(String(numValue));\n return (\n <Select.Option value={value} key={value}>\n {value}\n </Select.Option>\n );\n });\n}\n\nclass ItemPicker extends Component {\n static defaultProps = {\n placeholder: '00',\n };\n\n inputRef = React.createRef();\n\n minMax() {\n return [];\n }\n\n state = {\n dirtyValue: undefined,\n visible: false,\n };\n\n parseValueWithMinMax = (value) => {\n const [min, max] = this.minMax();\n return String(Math.max(min, Math.min(max, value)));\n };\n\n dispatchOnChange(value, event) {\n this.setState({ dirtyValue: undefined });\n this.asProps.$onValueChange(value, this.field, event);\n }\n\n submitChanges(event) {\n let { dirtyValue } = this.state;\n if (dirtyValue !== undefined) {\n // if changes value\n if (dirtyValue) dirtyValue = this.parseValueWithMinMax(dirtyValue); // if not \"\"\n this.dispatchOnChange(dirtyValue, event);\n }\n }\n\n handleChange = (value, e) => {\n /* hide props for bubbling events */\n e.stopPropagation();\n const numberValue = intOrDefault(Number(value), NaN);\n\n if (!Number.isNaN(numberValue)) {\n this.setState({ dirtyValue: value.slice(-2) });\n }\n };\n\n handleBlur = (e) => this.submitChanges(e);\n\n /* rewrite method */\n handleKeyDown = () => {};\n\n handleSelect = (value, e) => {\n this.dispatchOnChange(value, e);\n };\n\n handleVisibleChange = (visible) => this.setState({ visible });\n\n getAriaLabel = () => {\n const { _getI18nText: getI18nText } = this.asProps;\n if (this.field === 'hours') return getI18nText('hours');\n if (this.field === 'minutes') return getI18nText('minutes');\n return undefined;\n };\n\n render() {\n const SPickerInput = Root;\n const { styles, step, onSelect, time, size, disabled, onVisibleChange, ...other } =\n this.asProps;\n const { dirtyValue, visible } = this.state;\n const timeValue = time[MAP_FIELD_TO_TIME[this.field]];\n const value = dirtyValue === undefined ? timeValue : dirtyValue;\n const [min, max] = this.minMax();\n\n return sstyled(styles)(\n <Select\n {...other}\n interaction=\"focus\"\n size={size ? MAP_SIZE_SELECT[size] : false}\n onChange={callAllEventHandlers(onSelect, this.handleSelect)}\n onVisibleChange={callAllEventHandlers(onVisibleChange, this.handleVisibleChange)}\n visible={visible}\n value={timeValue}\n >\n <SPickerInput\n render={Select.Trigger}\n tag={Input.Value}\n ref={this.inputRef}\n size={size}\n disabled={disabled}\n neighborLocation={false}\n value={value}\n aria-label={this.getAriaLabel()}\n __excludeProps={[\n 'aria-haspopup',\n 'aria-controls',\n 'aria-flowto',\n 'aria-expanded',\n 'aria-autocomplete',\n 'role',\n ]}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n />\n <Select.Menu aria-hidden=\"true\" hMax={180}>\n {getOptions(min, max, step)}\n </Select.Menu>\n </Select>,\n );\n }\n}\n\nclass Hours extends ItemPicker {\n field = 'hours';\n\n minMax() {\n const { is12Hour } = this.asProps;\n if (is12Hour) {\n return [1, 12];\n } else {\n return [0, 23];\n }\n }\n\n nextInput() {\n if (this.asProps.minutesInputRef.current) {\n this.setState({ visible: false });\n this.asProps.minutesInputRef.current.focus();\n }\n }\n\n handleKeyDown = (e) => {\n const { currentTarget } = e;\n if (e.keyCode === 13) this.submitChanges(e);\n if (e.keyCode === 39) {\n if (\n currentTarget.selectionStart >= currentTarget.value.length &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n e.preventDefault();\n this.nextInput();\n }\n }\n };\n\n componentDidUpdate(prevProps, prevState) {\n const { dirtyValue } = this.state;\n if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;\n\n if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {\n this.nextInput();\n }\n }\n}\n\nclass Minutes extends ItemPicker {\n field = 'minutes';\n\n minMax() {\n return [0, 59];\n }\n\n prevFocus() {\n if (this.asProps.hoursInputRef.current) {\n this.setState({ visible: false });\n this.asProps.hoursInputRef.current.focus();\n }\n }\n\n handleKeyDown = (e) => {\n const { currentTarget } = e;\n if (e.keyCode === 13) this.submitChanges(e);\n if (e.keyCode === 37) {\n if (\n currentTarget.selectionStart <= 0 &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n e.preventDefault();\n this.prevFocus();\n }\n }\n if (e.keyCode === 8) {\n if (currentTarget.value.length === 0) {\n e.preventDefault();\n this.prevFocus();\n }\n }\n };\n}\n\nexport { Hours, Minutes };\n"],"mappings":"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"}
|
package/lib/es6/TimePicker.js
CHANGED
|
@@ -24,28 +24,30 @@ import Input from '@semcore/input';
|
|
|
24
24
|
import { Box } from '@semcore/flex-box';
|
|
25
25
|
import { Hours, Minutes } from './PickerInput';
|
|
26
26
|
import Format from './PickerFormat';
|
|
27
|
+
import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
|
|
28
|
+
import i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';
|
|
27
29
|
|
|
28
30
|
/*__reshadow-styles__:"./style/time-picker.shadow.css"*/
|
|
29
31
|
var style = (
|
|
30
32
|
/*__reshadow_css_start__*/
|
|
31
33
|
_sstyled.insert(
|
|
32
34
|
/*__inner_css_start__*/
|
|
33
|
-
".
|
|
35
|
+
".___STimePicker_1h8bl_gg_{position:relative;width:auto}.___STimePicker_1h8bl_gg_.__disabled_1h8bl_gg_{color:var(--intergalactic-text-secondary,#6c6e79);cursor:default}.___SPickerInput_1h8bl_gg_{box-sizing:content-box;text-align:center;z-index:1}.___SPickerInput_1h8bl_gg_.__placeholder_1h8bl_gg_{text-overflow:clip}.___SPickerInput_1h8bl_gg_._size_m_1h8bl_gg_{width:19px}.___SPickerInput_1h8bl_gg_._size_l_1h8bl_gg_{width:21px}.___SPickerFormat_1h8bl_gg_{flex-shrink:0;position:relative;display:inline-flex;padding:0;white-space:nowrap;font-family:inherit;font-weight:var(--intergalactic-medium,500);line-height:normal;text-decoration:none;align-items:center;border:1px solid var(--intergalactic-border-primary,#c4c7cf);border-radius:0 var(--intergalactic-rounded-medium,6px) var(--intergalactic-rounded-medium,6px) 0;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:var(--intergalactic-text-secondary,#6c6e79);background-color:var(--intergalactic-bg-secondary-neutral,#f4f5f9)}.___SPickerFormat_1h8bl_gg_:hover{color:var(--intergalactic-text-secondary,#6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-hover,#e0e1e9)}.___SPickerFormat_1h8bl_gg_:active,.___SPickerFormat_1h8bl_gg_.__active_1h8bl_gg_{color:var(--intergalactic-text-secondary,#6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-active,#c4c7cf)}.___SPickerFormat_1h8bl_gg_._size_m_1h8bl_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_1h8bl_gg_._size_m_1h8bl_gg_ .___SPickerFormatText_1h8bl_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_1h8bl_gg_._size_l_1h8bl_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 calc(var(--intergalactic-spacing-1x, 4px)*-1) 0 0}.___SPickerFormat_1h8bl_gg_._size_l_1h8bl_gg_ .___SPickerFormatText_1h8bl_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_1h8bl_gg_.__disabled_1h8bl_gg_{opacity:var(--intergalactic-disabled-opacity,.3);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary,#c4c7cf)}.___SPickerFormat_1h8bl_gg_.__keyboardFocused_1h8bl_gg_{box-shadow:var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___STimePickerSeparator_1h8bl_gg_.__disabled_1h8bl_gg_{opacity:var(--intergalactic-disabled-opacity,.3);pointer-events:none}"
|
|
34
36
|
/*__inner_css_end__*/
|
|
35
|
-
, "
|
|
37
|
+
, "1h8bl_gg_")
|
|
36
38
|
/*__reshadow_css_end__*/
|
|
37
39
|
, {
|
|
38
|
-
"__STimePicker": "
|
|
39
|
-
"_disabled": "
|
|
40
|
-
"__SPickerInput": "
|
|
41
|
-
"_placeholder": "
|
|
42
|
-
"_size_m": "
|
|
43
|
-
"_size_l": "
|
|
44
|
-
"__SPickerFormat": "
|
|
45
|
-
"_active": "
|
|
46
|
-
"__SPickerFormatText": "
|
|
47
|
-
"_keyboardFocused": "
|
|
48
|
-
"__STimePickerSeparator": "
|
|
40
|
+
"__STimePicker": "___STimePicker_1h8bl_gg_",
|
|
41
|
+
"_disabled": "__disabled_1h8bl_gg_",
|
|
42
|
+
"__SPickerInput": "___SPickerInput_1h8bl_gg_",
|
|
43
|
+
"_placeholder": "__placeholder_1h8bl_gg_",
|
|
44
|
+
"_size_m": "_size_m_1h8bl_gg_",
|
|
45
|
+
"_size_l": "_size_l_1h8bl_gg_",
|
|
46
|
+
"__SPickerFormat": "___SPickerFormat_1h8bl_gg_",
|
|
47
|
+
"_active": "__active_1h8bl_gg_",
|
|
48
|
+
"__SPickerFormatText": "___SPickerFormatText_1h8bl_gg_",
|
|
49
|
+
"_keyboardFocused": "__keyboardFocused_1h8bl_gg_",
|
|
50
|
+
"__STimePickerSeparator": "___STimePickerSeparator_1h8bl_gg_"
|
|
49
51
|
});
|
|
50
52
|
var MAP_MERIDIEM = {
|
|
51
53
|
AM: 'PM',
|
|
@@ -173,7 +175,8 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
173
175
|
var _this$asProps = _this.asProps,
|
|
174
176
|
is12Hour = _this$asProps.is12Hour,
|
|
175
177
|
size = _this$asProps.size,
|
|
176
|
-
disabled = _this$asProps.disabled
|
|
178
|
+
disabled = _this$asProps.disabled,
|
|
179
|
+
getI18nText = _this$asProps.getI18nText;
|
|
177
180
|
|
|
178
181
|
var time = _this.valueToTime(_this.value);
|
|
179
182
|
|
|
@@ -184,7 +187,8 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
184
187
|
disabled: disabled,
|
|
185
188
|
$onValueChange: _this.handleValueChange,
|
|
186
189
|
minutesInputRef: _this.minutesInputRef,
|
|
187
|
-
hoursInputRef: _this.hoursInputRef
|
|
190
|
+
hoursInputRef: _this.hoursInputRef,
|
|
191
|
+
_getI18nText: getI18nText
|
|
188
192
|
};
|
|
189
193
|
});
|
|
190
194
|
|
|
@@ -280,7 +284,8 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
280
284
|
size = _this$asProps2.size,
|
|
281
285
|
disabled = _this$asProps2.disabled,
|
|
282
286
|
disablePortal = _this$asProps2.disablePortal,
|
|
283
|
-
value = _this$asProps2.value
|
|
287
|
+
value = _this$asProps2.value,
|
|
288
|
+
getI18nText = _this$asProps2.getI18nText;
|
|
284
289
|
var valueFulfilled = value === null || value === void 0 ? void 0 : value.split(':').every(function (chunk) {
|
|
285
290
|
return chunk.length > 0;
|
|
286
291
|
});
|
|
@@ -288,7 +293,7 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
288
293
|
size: size,
|
|
289
294
|
disabled: disabled,
|
|
290
295
|
disablePortal: disablePortal
|
|
291
|
-
}, _defineProperty(_ref4, 'aria-hidden', !valueFulfilled), _defineProperty(_ref4, "meridiem", this.meridiem), _defineProperty(_ref4, "onClick", this.handleMeridiemClick), _ref4;
|
|
296
|
+
}, _defineProperty(_ref4, 'aria-hidden', !valueFulfilled), _defineProperty(_ref4, "meridiem", this.meridiem), _defineProperty(_ref4, "onClick", this.handleMeridiemClick), _defineProperty(_ref4, "getI18nText", getI18nText), _ref4;
|
|
292
297
|
}
|
|
293
298
|
}, {
|
|
294
299
|
key: "render",
|
|
@@ -301,8 +306,12 @@ var TimePickerRoot = /*#__PURE__*/function (_Component) {
|
|
|
301
306
|
styles = _this$asProps3.styles,
|
|
302
307
|
Children = _this$asProps3.Children,
|
|
303
308
|
value = _this$asProps3.value,
|
|
304
|
-
is12Hour = _this$asProps3.is12Hour
|
|
305
|
-
|
|
309
|
+
is12Hour = _this$asProps3.is12Hour,
|
|
310
|
+
getI18nText = _this$asProps3.getI18nText;
|
|
311
|
+
var label = value ? getI18nText('title', {
|
|
312
|
+
time: value,
|
|
313
|
+
meridiem: is12Hour ? this.meridiem : ''
|
|
314
|
+
}) : getI18nText('titleEmpty');
|
|
306
315
|
return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(STimePicker, _ref3.cn("STimePicker", _objectSpread({}, _assignProps({
|
|
307
316
|
"aria-label": label,
|
|
308
317
|
"aria-valuenow": value || undefined,
|
|
@@ -318,12 +327,16 @@ _defineProperty(TimePickerRoot, "displayName", 'TimePicker');
|
|
|
318
327
|
|
|
319
328
|
_defineProperty(TimePickerRoot, "style", style);
|
|
320
329
|
|
|
330
|
+
_defineProperty(TimePickerRoot, "enhance", [i18nEnhance(localizedMessages)]);
|
|
331
|
+
|
|
321
332
|
_defineProperty(TimePickerRoot, "defaultProps", function (_ref5) {
|
|
322
333
|
var is12Hour = _ref5.is12Hour;
|
|
323
334
|
return {
|
|
324
335
|
defaultValue: '',
|
|
325
336
|
size: 'm',
|
|
326
|
-
children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TimePicker.Hours, null), /*#__PURE__*/React.createElement(TimePicker.Separator, null), /*#__PURE__*/React.createElement(TimePicker.Minutes, null), is12Hour && /*#__PURE__*/React.createElement(TimePicker.Format, null))
|
|
337
|
+
children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(TimePicker.Hours, null), /*#__PURE__*/React.createElement(TimePicker.Separator, null), /*#__PURE__*/React.createElement(TimePicker.Minutes, null), is12Hour && /*#__PURE__*/React.createElement(TimePicker.Format, null)),
|
|
338
|
+
i18n: localizedMessages,
|
|
339
|
+
locale: 'en'
|
|
327
340
|
};
|
|
328
341
|
});
|
|
329
342
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","names":["React","createComponent","Component","sstyled","Root","Input","Box","Hours","Minutes","Format","MAP_MERIDIEM","AM","PM","MAP_FIELD_TO_TIME","hours","minutes","intOrDefault","value","def","number","Number","parseInt","isNaN","withLeadingZero","String","length","meridiemByHours","formatHoursTo12","nHours","NaN","formatHoursTo24","meridiem","TimePickerRoot","createRef","field","event","is12Hour","asProps","time","split","timeToValue","handlers","size","disabled","valueToTime","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","_getHoursAndMinutesProps","undefined","_lastMeridiem","disablePortal","valueFulfilled","every","chunk","handleMeridiemClick","STimePicker","styles","Children","label","style","defaultValue","children","Separator","current","focus","STimePickerSeparator","handlerClick","TimePicker"],"sources":["../../src/TimePicker.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport { Box } from '@semcore/flex-box';\nimport { Hours, Minutes } from './PickerInput';\nimport Format from './PickerFormat';\n\nimport style from './style/time-picker.shadow.css';\n\nconst MAP_MERIDIEM = {\n AM: 'PM',\n PM: 'AM',\n};\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nexport function intOrDefault(value, def = 0) {\n const number = Number.parseInt(value);\n return Number.isNaN(number) ? def : number;\n}\n\nexport function withLeadingZero(value) {\n value = String(value);\n if (value.length === 1) return `0${value}`;\n return String(value);\n}\n\nexport function meridiemByHours(hours) {\n return hours >= 12 ? 'PM' : 'AM';\n}\n\nexport function formatHoursTo12(hours /* hours by 24 */) {\n const nHours = intOrDefault(hours, NaN); // if not (:00)\n if (Number.isNaN(nHours)) return hours;\n\n // if not (HH:00)\n if (nHours === 0) return 12; // 0 => 12 PM\n if (nHours > 12) return nHours - 12; // 22 => 12 PM\n\n return hours;\n}\n\nexport function formatHoursTo24(hours /* hours by 12 */, meridiem) {\n const nHours = intOrDefault(hours, NaN); // if not (:00)\n\n if (Number.isNaN(nHours)) return hours;\n\n if (meridiem === 'AM') {\n if (nHours === 12) return 0; // 12 AM => 0\n }\n\n if (meridiem === 'PM') {\n if (nHours < 12) return nHours + 12; // 10 PM => 22\n }\n\n return hours;\n}\n\nclass TimePickerRoot extends Component {\n static displayName = 'TimePicker';\n static style = style;\n static defaultProps = ({ is12Hour }) => ({\n defaultValue: '',\n size: 'm',\n children: (\n <>\n <TimePicker.Hours />\n <TimePicker.Separator />\n <TimePicker.Minutes />\n {is12Hour && <TimePicker.Format />}\n </>\n ),\n });\n\n hoursInputRef = React.createRef();\n minutesInputRef = React.createRef();\n\n _lastMeridiem = 'AM'; // default AM\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n get value() {\n const { value } = this.asProps;\n return value === null || value === undefined ? ':' : value;\n }\n\n get meridiem() {\n const { value } = this.asProps;\n const [hours = ''] = value.split(':');\n\n const nHours = intOrDefault(hours, NaN);\n\n if (!Number.isNaN(nHours)) {\n this._lastMeridiem = meridiemByHours(nHours);\n }\n\n return this._lastMeridiem;\n }\n\n valueToTime(value) {\n const { is12Hour } = this.asProps;\n let [hours = '', minutes = ''] = value.split(':');\n\n if (is12Hour) hours = formatHoursTo12(hours);\n\n hours = withLeadingZero(hours);\n minutes = withLeadingZero(minutes);\n\n return [hours, minutes];\n }\n\n timeToValue(time, meridiem) {\n const { is12Hour } = this.asProps;\n let [hours = '', minutes = ''] = time;\n\n hours = intOrDefault(hours, hours); // 03 => 3\n minutes = intOrDefault(minutes, minutes); // MM => MM\n\n if (is12Hour) hours = formatHoursTo24(hours, meridiem); // 12 PM -> 0\n\n return `${hours}:${minutes}`;\n }\n\n handleValueChange = (value, field, event) => {\n const { is12Hour } = this.asProps;\n const { meridiem } = this;\n\n let time;\n if (field) {\n time = this.value.split(':');\n time[MAP_FIELD_TO_TIME[field]] = value;\n } else {\n time = value.split(':');\n }\n\n let [hours = '', minutes = ''] = time;\n\n if (is12Hour) hours = String(formatHoursTo12(hours));\n\n value = this.timeToValue([hours, minutes], meridiem);\n this.handlers.value(value, event);\n };\n\n handleMeridiemClick = (event) => {\n const { is12Hour } = this.asProps;\n let { value, meridiem } = this;\n let [hours = '', minutes = ''] = value.split(':');\n\n if (is12Hour) hours = String(formatHoursTo12(hours));\n\n value = this.timeToValue([hours, minutes], MAP_MERIDIEM[meridiem]);\n this.handlers.value(value, event);\n };\n\n _getHoursAndMinutesProps = () => {\n const { is12Hour, size, disabled } = this.asProps;\n const time = this.valueToTime(this.value);\n\n return {\n time,\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n };\n };\n\n getHoursProps = this._getHoursAndMinutesProps;\n getMinutesProps = this._getHoursAndMinutesProps;\n\n getSeparatorProps() {\n return {\n disabled: this.asProps.disabled,\n hoursInputRef: this.hoursInputRef,\n };\n }\n\n getFormatProps() {\n const { size, disabled, disablePortal, value } = this.asProps;\n const valueFulfilled = value?.split(':').every((chunk) => chunk.length > 0);\n\n return {\n size,\n disabled,\n disablePortal,\n ['aria-hidden']: !valueFulfilled,\n meridiem: this.meridiem,\n onClick: this.handleMeridiemClick,\n };\n }\n\n render() {\n const STimePicker = Root;\n const { styles, Children, value, is12Hour } = this.asProps;\n const label = value\n ? `Time input, entered time is ${value} ${is12Hour ? this.meridiem : ''}`\n : `Time input, no time entered`;\n\n return sstyled(styles)(\n <STimePicker\n render={Input}\n aria-label={label}\n aria-valuenow={value || undefined}\n tabIndex={0}\n >\n <Children />\n </STimePicker>,\n );\n }\n}\n\nclass Separator extends Component {\n static defaultProps = {\n children: ':',\n };\n\n handlerClick = () => {\n if (this.asProps.hoursInputRef.current) {\n this.asProps.hoursInputRef.current?.focus();\n }\n };\n\n render() {\n const STimePickerSeparator = Root;\n return <STimePickerSeparator render={Box} onClick={this.handlerClick} aria-hidden=\"true\" />;\n }\n}\n\nconst TimePicker = createComponent(TimePickerRoot, {\n Hours,\n Minutes,\n Separator,\n Format,\n});\n\nexport default TimePicker;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimePicker.js","names":["React","createComponent","Component","sstyled","Root","Input","Box","Hours","Minutes","Format","localizedMessages","i18nEnhance","MAP_MERIDIEM","AM","PM","MAP_FIELD_TO_TIME","hours","minutes","intOrDefault","value","def","number","Number","parseInt","isNaN","withLeadingZero","String","length","meridiemByHours","formatHoursTo12","nHours","NaN","formatHoursTo24","meridiem","TimePickerRoot","createRef","field","event","is12Hour","asProps","time","split","timeToValue","handlers","size","disabled","getI18nText","valueToTime","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","_getI18nText","_getHoursAndMinutesProps","undefined","_lastMeridiem","disablePortal","valueFulfilled","every","chunk","handleMeridiemClick","STimePicker","styles","Children","label","style","defaultValue","children","i18n","locale","Separator","current","focus","STimePickerSeparator","handlerClick","TimePicker"],"sources":["../../src/TimePicker.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport Input from '@semcore/input';\nimport { Box } from '@semcore/flex-box';\nimport { Hours, Minutes } from './PickerInput';\nimport Format from './PickerFormat';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\n\nimport style from './style/time-picker.shadow.css';\n\nconst MAP_MERIDIEM = {\n AM: 'PM',\n PM: 'AM',\n};\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nexport function intOrDefault(value, def = 0) {\n const number = Number.parseInt(value);\n return Number.isNaN(number) ? def : number;\n}\n\nexport function withLeadingZero(value) {\n value = String(value);\n if (value.length === 1) return `0${value}`;\n return String(value);\n}\n\nexport function meridiemByHours(hours) {\n return hours >= 12 ? 'PM' : 'AM';\n}\n\nexport function formatHoursTo12(hours /* hours by 24 */) {\n const nHours = intOrDefault(hours, NaN); // if not (:00)\n if (Number.isNaN(nHours)) return hours;\n\n // if not (HH:00)\n if (nHours === 0) return 12; // 0 => 12 PM\n if (nHours > 12) return nHours - 12; // 22 => 12 PM\n\n return hours;\n}\n\nexport function formatHoursTo24(hours /* hours by 12 */, meridiem) {\n const nHours = intOrDefault(hours, NaN); // if not (:00)\n\n if (Number.isNaN(nHours)) return hours;\n\n if (meridiem === 'AM') {\n if (nHours === 12) return 0; // 12 AM => 0\n }\n\n if (meridiem === 'PM') {\n if (nHours < 12) return nHours + 12; // 10 PM => 22\n }\n\n return hours;\n}\n\nclass TimePickerRoot extends Component {\n static displayName = 'TimePicker';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)];\n static defaultProps = ({ is12Hour }) => ({\n defaultValue: '',\n size: 'm',\n children: (\n <>\n <TimePicker.Hours />\n <TimePicker.Separator />\n <TimePicker.Minutes />\n {is12Hour && <TimePicker.Format />}\n </>\n ),\n i18n: localizedMessages,\n locale: 'en',\n });\n\n hoursInputRef = React.createRef();\n minutesInputRef = React.createRef();\n\n _lastMeridiem = 'AM'; // default AM\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n get value() {\n const { value } = this.asProps;\n return value === null || value === undefined ? ':' : value;\n }\n\n get meridiem() {\n const { value } = this.asProps;\n const [hours = ''] = value.split(':');\n\n const nHours = intOrDefault(hours, NaN);\n\n if (!Number.isNaN(nHours)) {\n this._lastMeridiem = meridiemByHours(nHours);\n }\n\n return this._lastMeridiem;\n }\n\n valueToTime(value) {\n const { is12Hour } = this.asProps;\n let [hours = '', minutes = ''] = value.split(':');\n\n if (is12Hour) hours = formatHoursTo12(hours);\n\n hours = withLeadingZero(hours);\n minutes = withLeadingZero(minutes);\n\n return [hours, minutes];\n }\n\n timeToValue(time, meridiem) {\n const { is12Hour } = this.asProps;\n let [hours = '', minutes = ''] = time;\n\n hours = intOrDefault(hours, hours); // 03 => 3\n minutes = intOrDefault(minutes, minutes); // MM => MM\n\n if (is12Hour) hours = formatHoursTo24(hours, meridiem); // 12 PM -> 0\n\n return `${hours}:${minutes}`;\n }\n\n handleValueChange = (value, field, event) => {\n const { is12Hour } = this.asProps;\n const { meridiem } = this;\n\n let time;\n if (field) {\n time = this.value.split(':');\n time[MAP_FIELD_TO_TIME[field]] = value;\n } else {\n time = value.split(':');\n }\n\n let [hours = '', minutes = ''] = time;\n\n if (is12Hour) hours = String(formatHoursTo12(hours));\n\n value = this.timeToValue([hours, minutes], meridiem);\n this.handlers.value(value, event);\n };\n\n handleMeridiemClick = (event) => {\n const { is12Hour } = this.asProps;\n let { value, meridiem } = this;\n let [hours = '', minutes = ''] = value.split(':');\n\n if (is12Hour) hours = String(formatHoursTo12(hours));\n\n value = this.timeToValue([hours, minutes], MAP_MERIDIEM[meridiem]);\n this.handlers.value(value, event);\n };\n\n _getHoursAndMinutesProps = () => {\n const { is12Hour, size, disabled, getI18nText } = this.asProps;\n const time = this.valueToTime(this.value);\n\n return {\n time,\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n _getI18nText: getI18nText,\n };\n };\n\n getHoursProps = this._getHoursAndMinutesProps;\n getMinutesProps = this._getHoursAndMinutesProps;\n\n getSeparatorProps() {\n return {\n disabled: this.asProps.disabled,\n hoursInputRef: this.hoursInputRef,\n };\n }\n\n getFormatProps() {\n const { size, disabled, disablePortal, value, getI18nText } = this.asProps;\n const valueFulfilled = value?.split(':').every((chunk) => chunk.length > 0);\n\n return {\n size,\n disabled,\n disablePortal,\n ['aria-hidden']: !valueFulfilled,\n meridiem: this.meridiem,\n onClick: this.handleMeridiemClick,\n getI18nText,\n };\n }\n\n render() {\n const STimePicker = Root;\n const { styles, Children, value, is12Hour, getI18nText } = this.asProps;\n const label = value\n ? getI18nText('title', { time: value, meridiem: is12Hour ? this.meridiem : '' })\n : getI18nText('titleEmpty');\n\n return sstyled(styles)(\n <STimePicker\n render={Input}\n aria-label={label}\n aria-valuenow={value || undefined}\n tabIndex={0}\n >\n <Children />\n </STimePicker>,\n );\n }\n}\n\nclass Separator extends Component {\n static defaultProps = {\n children: ':',\n };\n\n handlerClick = () => {\n if (this.asProps.hoursInputRef.current) {\n this.asProps.hoursInputRef.current?.focus();\n }\n };\n\n render() {\n const STimePickerSeparator = Root;\n return <STimePickerSeparator render={Box} onClick={this.handlerClick} aria-hidden=\"true\" />;\n }\n}\n\nconst TimePicker = createComponent(TimePickerRoot, {\n Hours,\n Minutes,\n Separator,\n Format,\n});\n\nexport default TimePicker;\n"],"mappings":"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"}
|
package/lib/es6/index.d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport { IInputProps, IInputValueProps } from '@semcore/input';\nimport { Box, IBoxProps } from '@semcore/flex-box';\nimport { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport interface ITimePickerProps extends Omit<IInputProps, 'size'> {\n /** Time in the hh:mm format */\n value?: string;\n /** Default value if `value` property is not provided */\n defaultValue?: string;\n /** The event responses upon time changing */\n onChange?: (time: string, event?: React.SyntheticEvent) => void;\n /** In charge of the component blocking */\n disabled?: boolean;\n /** Control size\n * @default m */\n size?: 'm' | 'l';\n /** 12-hour time format */\n is12Hour?: boolean;\n}\n\nexport interface ITimePickerItemProps extends IInputValueProps {\n /** Step for changing of the values in the dropdown list */\n step?: number;\n}\n\nexport interface ITimePickerFormatProps extends IBoxProps, IKeyboardFocusProps {}\n\nexport interface ITimePickerContext {\n getHoursProps: PropGetterFn;\n getFormatProps: PropGetterFn;\n getMinutesProps: PropGetterFn;\n}\n\nexport interface ITimePickerHandlers {\n value: (value: string) => void;\n}\n\ndeclare const TimePicker: (<T>(\n props: CProps<ITimePickerProps & T, ITimePickerContext, ITimePickerHandlers>,\n) => ReturnEl) & {\n Hours: <T>(props: ITimePickerItemProps & T) => ReturnEl;\n Minutes: <T>(props: ITimePickerItemProps & T) => ReturnEl;\n Separator: typeof Box;\n Format: <T>(props: ITimePickerFormatProps & T) => ReturnEl;\n};\n\nexport default TimePicker;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport { IInputProps, IInputValueProps } from '@semcore/input';\nimport { Box, IBoxProps } from '@semcore/flex-box';\nimport { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport interface ITimePickerProps extends Omit<IInputProps, 'size'> {\n /** Time in the hh:mm format */\n value?: string;\n /** Default value if `value` property is not provided */\n defaultValue?: string;\n /** The event responses upon time changing */\n onChange?: (time: string, event?: React.SyntheticEvent) => void;\n /** In charge of the component blocking */\n disabled?: boolean;\n /** Control size\n * @default m */\n size?: 'm' | 'l';\n /** 12-hour time format */\n is12Hour?: boolean;\n locale?: string;\n}\n\nexport interface ITimePickerItemProps extends IInputValueProps {\n /** Step for changing of the values in the dropdown list */\n step?: number;\n}\n\nexport interface ITimePickerFormatProps extends IBoxProps, IKeyboardFocusProps {}\n\nexport interface ITimePickerContext {\n getHoursProps: PropGetterFn;\n getFormatProps: PropGetterFn;\n getMinutesProps: PropGetterFn;\n}\n\nexport interface ITimePickerHandlers {\n value: (value: string) => void;\n}\n\ndeclare const TimePicker: (<T>(\n props: CProps<ITimePickerProps & T, ITimePickerContext, ITimePickerHandlers>,\n) => ReturnEl) & {\n Hours: <T>(props: ITimePickerItemProps & T) => ReturnEl;\n Minutes: <T>(props: ITimePickerItemProps & T) => ReturnEl;\n Separator: typeof Box;\n Format: <T>(props: ITimePickerFormatProps & T) => ReturnEl;\n};\n\nexport default TimePicker;\n"],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import de from './de.json';
|
|
2
|
+
import en from './en.json';
|
|
3
|
+
import es from './es.json';
|
|
4
|
+
import fr from './fr.json';
|
|
5
|
+
import it from './it.json';
|
|
6
|
+
import ja from './ja.json';
|
|
7
|
+
import ko from './ko.json';
|
|
8
|
+
import pt from './pt.json';
|
|
9
|
+
import tr from './tr.json';
|
|
10
|
+
import vi from './vi.json';
|
|
11
|
+
import zh from './zh.json';
|
|
12
|
+
export var localizedMessages = {
|
|
13
|
+
de: de,
|
|
14
|
+
en: en,
|
|
15
|
+
es: es,
|
|
16
|
+
fr: fr,
|
|
17
|
+
it: it,
|
|
18
|
+
ja: ja,
|
|
19
|
+
ko: ko,
|
|
20
|
+
pt: pt,
|
|
21
|
+
tr: tr,
|
|
22
|
+
vi: vi,
|
|
23
|
+
zh: zh
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=__intergalactic-dynamic-locales.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"__intergalactic-dynamic-locales.js","names":["de","en","es","fr","it","ja","ko","pt","tr","vi","zh","localizedMessages"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport pt from './pt.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n pt,\n tr,\n vi,\n zh,\n};\n"],"mappings":"AAAA,OAAOA,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AACA,OAAOC,EAAP,MAAe,WAAf;AAEA,OAAO,IAAMC,iBAAiB,GAAG;EAC/BX,EAAE,EAAFA,EAD+B;EAE/BC,EAAE,EAAFA,EAF+B;EAG/BC,EAAE,EAAFA,EAH+B;EAI/BC,EAAE,EAAFA,EAJ+B;EAK/BC,EAAE,EAAFA,EAL+B;EAM/BC,EAAE,EAAFA,EAN+B;EAO/BC,EAAE,EAAFA,EAP+B;EAQ/BC,EAAE,EAAFA,EAR+B;EAS/BC,EAAE,EAAFA,EAT+B;EAU/BC,EAAE,EAAFA,EAV+B;EAW/BC,EAAE,EAAFA;AAX+B,CAA1B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Introducción de la hora, la hora introducida es {time} {meridiem}",
|
|
3
|
+
"titleEmpty": "Introducción de la hora, no se ha introducido la hora",
|
|
4
|
+
"hours": "Campo de entrada de horas",
|
|
5
|
+
"minutes": "Campo de input de minutos",
|
|
6
|
+
"format": "Formato de tiempo {meridiem}"
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Saisie de l’heure, l’heure saisie est {time} {meridiem}",
|
|
3
|
+
"titleEmpty": "Saisie de l’heure, aucune heure n’a été saisie",
|
|
4
|
+
"hours": "Champ de saisie des heures",
|
|
5
|
+
"minutes": "Champ de saisie des minutes",
|
|
6
|
+
"format": "Format de l’heure {meridiem}"
|
|
7
|
+
}
|
package/lib/types/index.d.ts
CHANGED