@semcore/time-picker 17.1.0-prerelease.3 → 17.2.0-prerelease.3
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 +10 -0
- package/lib/cjs/component/PickerFormat/PickerFormat.js +7 -7
- package/lib/cjs/component/PickerInput/PickerInput.js +4 -4
- package/lib/cjs/component/TimePicker/TimePicker.js +12 -6
- package/lib/cjs/component/TimePicker/TimePicker.js.map +1 -1
- package/lib/cjs/component/TimePicker/TimePicker.type.js.map +1 -1
- package/lib/cjs/entity/TimePickerEntity.js +6 -3
- package/lib/cjs/entity/TimePickerEntity.js.map +1 -1
- package/lib/es6/component/PickerFormat/PickerFormat.js +7 -7
- package/lib/es6/component/PickerInput/PickerInput.js +4 -4
- package/lib/es6/component/TimePicker/TimePicker.js +12 -6
- package/lib/es6/component/TimePicker/TimePicker.js.map +1 -1
- package/lib/es6/component/TimePicker/TimePicker.type.js.map +1 -1
- package/lib/es6/entity/TimePickerEntity.js +6 -3
- package/lib/es6/entity/TimePickerEntity.js.map +1 -1
- package/lib/esm/component/PickerFormat/PickerFormat.mjs +9 -9
- package/lib/esm/component/PickerInput/PickerInput.mjs +6 -6
- package/lib/esm/component/TimePicker/TimePicker.mjs +10 -10
- package/lib/esm/entity/TimePickerEntity.mjs +7 -4
- package/lib/types/component/TimePicker/TimePicker.d.ts +5 -0
- package/lib/types/component/TimePicker/TimePicker.type.d.ts +6 -0
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [17.2.0] - 2026-06-05
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- Converting issues in 24-hours format
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- Links to the API and examples in the docs.
|
|
14
|
+
|
|
5
15
|
## [17.1.0] - 2026-05-13
|
|
6
16
|
|
|
7
17
|
### Added
|
|
@@ -11,15 +11,15 @@ var _baseComponents = require("@semcore/base-components");
|
|
|
11
11
|
var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
|
|
12
12
|
var _react = _interopRequireDefault(require("react"));
|
|
13
13
|
/*!__reshadow-styles__:"./picker-format.shadow.css"*/
|
|
14
|
-
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
14
|
+
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPickerFormat_jxl3i_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;-webkit-text-decoration:none;text-decoration:none;align-items:center;border:1px solid var(--intergalactic-border-primary,#000c0829);border-radius:0 var(--intergalactic-control-rounded,6px) var(--intergalactic-control-rounded,6px) 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,#00030095);background-color:var(--intergalactic-bg-secondary-neutral,#f8f9f8)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_{border:1px solid var(--intergalactic-border-primary,#000c0829);color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_{border:1px solid var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161));color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}@media (hover:hover){.___SPickerFormat_jxl3i_gg_:hover{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-hover,#f1f2f2)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_:hover{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_:hover{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}}.___SPickerFormat_jxl3i_gg_.__active_jxl3i_gg_,.___SPickerFormat_jxl3i_gg_:active{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-active,#eaebeb)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_.__active_jxl3i_gg_,.___SPickerFormat_jxl3i_gg_:active{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_.__active_jxl3i_gg_,.___SPickerFormat_jxl3i_gg_:active{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}.___SPickerFormat_jxl3i_gg_._size_m_jxl3i_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_jxl3i_gg_._size_m_jxl3i_gg_ .___SPickerFormatText_jxl3i_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_jxl3i_gg_._size_l_jxl3i_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 -1px 0 0}.___SPickerFormat_jxl3i_gg_._size_l_jxl3i_gg_ .___SPickerFormatText_jxl3i_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_jxl3i_gg_.__disabled_jxl3i_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_.__disabled_jxl3i_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_.__disabled_jxl3i_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}", /*__inner_css_end__*/"jxl3i_gg_"),
|
|
15
15
|
/*__reshadow_css_end__*/
|
|
16
16
|
{
|
|
17
|
-
"__SPickerFormat": "
|
|
18
|
-
"_disabled": "
|
|
19
|
-
"_active": "
|
|
20
|
-
"_size_m": "
|
|
21
|
-
"__SPickerFormatText": "
|
|
22
|
-
"_size_l": "
|
|
17
|
+
"__SPickerFormat": "___SPickerFormat_jxl3i_gg_",
|
|
18
|
+
"_disabled": "__disabled_jxl3i_gg_",
|
|
19
|
+
"_active": "__active_jxl3i_gg_",
|
|
20
|
+
"_size_m": "_size_m_jxl3i_gg_",
|
|
21
|
+
"__SPickerFormatText": "___SPickerFormatText_jxl3i_gg_",
|
|
22
|
+
"_size_l": "_size_l_jxl3i_gg_"
|
|
23
23
|
});
|
|
24
24
|
class TimePickerFormat extends _core.Component {
|
|
25
25
|
constructor(...args) {
|
|
@@ -12,12 +12,12 @@ var _input = _interopRequireDefault(require("@semcore/input"));
|
|
|
12
12
|
var _select = _interopRequireDefault(require("@semcore/select"));
|
|
13
13
|
var _react = _interopRequireDefault(require("react"));
|
|
14
14
|
/*!__reshadow-styles__:"./picker-input.shadow.css"*/
|
|
15
|
-
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
15
|
+
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPickerInput_1weh7_gg_._size_m_1weh7_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}.___SPickerInput_1weh7_gg_._size_l_1weh7_gg_{width:21px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}", /*__inner_css_end__*/"1weh7_gg_"),
|
|
16
16
|
/*__reshadow_css_end__*/
|
|
17
17
|
{
|
|
18
|
-
"__SPickerInput": "
|
|
19
|
-
"_size_m": "
|
|
20
|
-
"_size_l": "
|
|
18
|
+
"__SPickerInput": "___SPickerInput_1weh7_gg_",
|
|
19
|
+
"_size_m": "_size_m_1weh7_gg_",
|
|
20
|
+
"_size_l": "_size_l_1weh7_gg_"
|
|
21
21
|
});
|
|
22
22
|
function getOptions(minMax, step = 1) {
|
|
23
23
|
const [min, max] = minMax;
|
|
@@ -22,14 +22,14 @@ var _PickerInput = require("../PickerInput/PickerInput");
|
|
|
22
22
|
var _Class, _TimePickerRoot3;
|
|
23
23
|
let _initClass, _classDecs, _entityDecs, _init_entity, _init_extra_entity, _TimePickerRoot2, _ref5;
|
|
24
24
|
/*!__reshadow-styles__:"./time-picker.shadow.css"*/
|
|
25
|
-
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".
|
|
25
|
+
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___STimePicker_brn6k_gg_{position:relative;width:auto;outline:none}.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_{box-sizing:initial;text-align:center;z-index:1;height:1.5em}.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_.__placeholder_brn6k_gg_{text-overflow:clip}.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_:focus{outline:none;background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@media (color-gamut:p3){.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,color(display-p3 .12361 .30547 .96332/.116))}}}.___STimePicker_brn6k_gg_.__disabled_brn6k_gg_{color:var(--intergalactic-text-secondary,#00030095);cursor:default}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_brn6k_gg_.__disabled_brn6k_gg_{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___STimePicker_brn6k_gg_.__disabled_brn6k_gg_{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}.___STimePickerSeparator_brn6k_gg_{color:var(--intergalactic-text-primary,#010500e5)}.___STimePickerSeparator_brn6k_gg_.__disabled_brn6k_gg_{opacity:var(--intergalactic-disabled-opacity,.4);pointer-events:none}", /*__inner_css_end__*/"brn6k_gg_"),
|
|
26
26
|
/*__reshadow_css_end__*/
|
|
27
27
|
{
|
|
28
|
-
"__STimePicker": "
|
|
29
|
-
"_disabled": "
|
|
30
|
-
"__STimePickerSeparator": "
|
|
31
|
-
"__SPickerInput": "
|
|
32
|
-
"_placeholder": "
|
|
28
|
+
"__STimePicker": "___STimePicker_brn6k_gg_",
|
|
29
|
+
"_disabled": "__disabled_brn6k_gg_",
|
|
30
|
+
"__STimePickerSeparator": "___STimePickerSeparator_brn6k_gg_",
|
|
31
|
+
"__SPickerInput": "___SPickerInput_brn6k_gg_",
|
|
32
|
+
"_placeholder": "__placeholder_brn6k_gg_"
|
|
33
33
|
});
|
|
34
34
|
_classDecs = [(0, _propsObserver.default)(['value', 'is12Hour'])];
|
|
35
35
|
let _TimePickerRoot;
|
|
@@ -207,6 +207,12 @@ class Separator extends _core.Component {
|
|
|
207
207
|
}));
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* TimePicker
|
|
213
|
+
*
|
|
214
|
+
* {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-api/|API} | {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-code/|Examples}
|
|
215
|
+
*/
|
|
210
216
|
(0, _defineProperty2.default)(Separator, "defaultProps", {
|
|
211
217
|
children: ':'
|
|
212
218
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","names":["_core","require","_baseComponents","_propsObserver","_interopRequireDefault","_reactive","_i18nEnhance","_input","_react","_TimePickerEntity","_intergalacticDynamicLocales","_PickerFormat","_PickerInput","_Class","_TimePickerRoot3","_initClass","_classDecs","_entityDecs","_init_entity","_init_extra_entity","_TimePickerRoot2","_ref5","style","sstyled","insert","propsObserver","_TimePickerRoot","reactive","forceUpdate","TimePickerRoot","Component","constructor","args","_defineProperty2","default","React","createRef","ariaLabel","TimePickerEntity","props","value","defaultValue","is12Hour","field","event","entity","handlers","toString","toggleMeridiem","size","disabled","asProps","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","getCommonPickerInputProps","time","hours","getI18nText","ref","minutes","componentDidMount","id","ariaDescribedBy","selector","element","document","querySelector","setState","textContent","onPropsChange","changedProps","undefined","split","uncontrolledProps","getSeparatorProps","getFormatProps","meridiem","onClick","handleMeridiemClick","render","_ref","_ref3","STimePicker","Input","styles","Children","label","state","createElement","Fragment","cn","assignProps","ScreenReaderOnly","e","c","_applyDecs2","_identity2","i18nEnhance","localizedMessages","children","TimePicker","Hours","Separator","Minutes","Format","locale","current","focus","_ref2","_ref4","STimePickerSeparator","Box","handlerClick","createComponent","_default","exports"],"sources":["../../../../src/component/TimePicker/TimePicker.tsx"],"sourcesContent":["import { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport propsObserver from '@semcore/core/lib/decorators/propsObserver';\nimport reactive from '@semcore/core/lib/decorators/reactive';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport Input from '@semcore/input';\nimport React from 'react';\n\nimport style from './time-picker.shadow.css';\nimport type {\n TimePickerComponent,\n TimePickerProps,\n TimePickerField,\n TimePickerSeparatorProps,\n} from './TimePicker.type';\nimport TimePickerEntity from '../../entity/TimePickerEntity';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport Format from '../PickerFormat/PickerFormat';\nimport { Hours, Minutes } from '../PickerInput/PickerInput';\n\n@propsObserver(['value', 'is12Hour'])\nclass TimePickerRoot extends Component<TimePickerProps, typeof TimePickerRoot.enhance, { value: null }> {\n static displayName = 'TimePicker';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)] as const;\n static defaultProps = ({ is12Hour }: TimePickerProps) => ({\n defaultValue: '',\n size: 'm',\n children: (\n <>\n <TimePicker.Hours />\n <TimePicker.Separator />\n <TimePicker.Minutes />\n {is12Hour && <TimePicker.Format />}\n </>\n ),\n locale: 'en',\n });\n\n hoursInputRef = React.createRef<HTMLElement>();\n minutesInputRef = React.createRef<HTMLElement>();\n\n state = {\n ariaLabel: '',\n };\n\n componentDidMount() {\n const { id, 'aria-describedby': ariaDescribedBy } = this.asProps;\n const selector = `[for=${id}]`;\n\n const element = document.querySelector(selector) ?? document.querySelector(`#${ariaDescribedBy}`);\n\n if (element) {\n this.setState({ ariaLabel: element.textContent });\n }\n }\n\n @reactive(['meridiem'], function () {\n this.forceUpdate();\n })\n readonly entity = new TimePickerEntity(this.props.value ?? this.props.defaultValue, this.props.is12Hour);\n\n onPropsChange(changedProps: TimePickerProps) {\n const { value, is12Hour } = changedProps;\n\n if (value !== undefined) {\n const [hours = '', minutes = ''] = value.split(':');\n\n this.entity.hours = hours;\n this.entity.minutes = minutes;\n }\n\n if (is12Hour !== undefined) {\n this.entity.is12Hour = is12Hour;\n }\n }\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleValueChange = (value: string, field: TimePickerField, event: React.SyntheticEvent) => {\n this.entity[field] = value;\n\n this.handlers.value(this.entity.toString(), event);\n };\n\n handleMeridiemClick = (event: React.SyntheticEvent) => {\n this.entity.toggleMeridiem();\n\n this.handlers.value(this.entity.toString(), event);\n };\n\n private getCommonPickerInputProps = () => {\n const { is12Hour, size, disabled } = this.asProps;\n\n return {\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n };\n };\n\n getHoursProps = () => {\n return {\n ...this.getCommonPickerInputProps(),\n time: this.entity.hours,\n ariaLabel: this.asProps.getI18nText('hours'),\n ref: this.hoursInputRef,\n };\n };\n\n getMinutesProps = () => {\n return {\n ...this.getCommonPickerInputProps(),\n time: this.entity.minutes,\n ariaLabel: this.asProps.getI18nText('minutes'),\n ref: this.minutesInputRef,\n };\n };\n\n getSeparatorProps() {\n return {\n disabled: this.asProps.disabled,\n hoursInputRef: this.hoursInputRef,\n };\n }\n\n getFormatProps() {\n const { size, disabled, getI18nText } = this.asProps;\n return {\n size,\n disabled,\n meridiem: this.entity.meridiem,\n onClick: this.handleMeridiemClick,\n getI18nText,\n };\n }\n\n render() {\n const STimePicker = Root;\n const { styles, Children, value, is12Hour, getI18nText, id } = this.asProps;\n\n const time = `${this.entity.hours}:${this.entity.minutes}`;\n const meridiem = is12Hour ? this.entity.meridiem : '';\n\n const label = value\n ? `${this.state.ariaLabel} ${getI18nText('title', {\n time,\n meridiem,\n })}`\n : `${this.state.ariaLabel} ${getI18nText('titleEmpty')}`;\n\n return sstyled(styles)(\n <>\n <STimePicker render={Input} role='group' aria-label={label} __excludeProps={['value', 'id']}>\n <Children />\n </STimePicker>\n <ScreenReaderOnly tag='input' tabIndex={-1} id={id} aria-hidden={true} value={`${time} ${meridiem}`} />\n </>,\n );\n }\n}\nclass Separator extends Component<TimePickerSeparatorProps> {\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 const { styles } = this.asProps;\n return sstyled(styles)(<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}) as TimePickerComponent;\n\nexport default TimePicker;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TimePicker.js","names":["_core","require","_baseComponents","_propsObserver","_interopRequireDefault","_reactive","_i18nEnhance","_input","_react","_TimePickerEntity","_intergalacticDynamicLocales","_PickerFormat","_PickerInput","_Class","_TimePickerRoot3","_initClass","_classDecs","_entityDecs","_init_entity","_init_extra_entity","_TimePickerRoot2","_ref5","style","sstyled","insert","propsObserver","_TimePickerRoot","reactive","forceUpdate","TimePickerRoot","Component","constructor","args","_defineProperty2","default","React","createRef","ariaLabel","TimePickerEntity","props","value","defaultValue","is12Hour","field","event","entity","handlers","toString","toggleMeridiem","size","disabled","asProps","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","getCommonPickerInputProps","time","hours","getI18nText","ref","minutes","componentDidMount","id","ariaDescribedBy","selector","element","document","querySelector","setState","textContent","onPropsChange","changedProps","undefined","split","uncontrolledProps","getSeparatorProps","getFormatProps","meridiem","onClick","handleMeridiemClick","render","_ref","_ref3","STimePicker","Input","styles","Children","label","state","createElement","Fragment","cn","assignProps","ScreenReaderOnly","e","c","_applyDecs2","_identity2","i18nEnhance","localizedMessages","children","TimePicker","Hours","Separator","Minutes","Format","locale","current","focus","_ref2","_ref4","STimePickerSeparator","Box","handlerClick","createComponent","_default","exports"],"sources":["../../../../src/component/TimePicker/TimePicker.tsx"],"sourcesContent":["import { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport propsObserver from '@semcore/core/lib/decorators/propsObserver';\nimport reactive from '@semcore/core/lib/decorators/reactive';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport Input from '@semcore/input';\nimport React from 'react';\n\nimport style from './time-picker.shadow.css';\nimport type {\n TimePickerComponent,\n TimePickerProps,\n TimePickerField,\n TimePickerSeparatorProps,\n TimePickerDefaultProps,\n} from './TimePicker.type';\nimport TimePickerEntity from '../../entity/TimePickerEntity';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport Format from '../PickerFormat/PickerFormat';\nimport { Hours, Minutes } from '../PickerInput/PickerInput';\n\n@propsObserver(['value', 'is12Hour'])\nclass TimePickerRoot extends Component<\n TimePickerProps,\n typeof TimePickerRoot.enhance,\n { value: null },\n {},\n {},\n TimePickerDefaultProps\n > {\n static displayName = 'TimePicker';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = ({ is12Hour }: TimePickerProps) => ({\n defaultValue: '',\n size: 'm',\n children: (\n <>\n <TimePicker.Hours />\n <TimePicker.Separator />\n <TimePicker.Minutes />\n {is12Hour && <TimePicker.Format />}\n </>\n ),\n locale: 'en',\n } as const);\n\n hoursInputRef = React.createRef<HTMLElement>();\n minutesInputRef = React.createRef<HTMLElement>();\n\n state = {\n ariaLabel: '',\n };\n\n componentDidMount() {\n const { id, 'aria-describedby': ariaDescribedBy } = this.asProps;\n const selector = `[for=${id}]`;\n\n const element = document.querySelector(selector) ?? document.querySelector(`#${ariaDescribedBy}`);\n\n if (element) {\n this.setState({ ariaLabel: element.textContent });\n }\n }\n\n @reactive(['meridiem'], function () {\n this.forceUpdate();\n })\n readonly entity = new TimePickerEntity(this.props.value ?? this.props.defaultValue, this.props.is12Hour);\n\n onPropsChange(changedProps: TimePickerProps) {\n const { value, is12Hour } = changedProps;\n\n if (value !== undefined) {\n const [hours = '', minutes = ''] = value.split(':');\n\n this.entity.hours = hours;\n this.entity.minutes = minutes;\n }\n\n if (is12Hour !== undefined) {\n this.entity.is12Hour = is12Hour;\n }\n }\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleValueChange = (value: string, field: TimePickerField, event: React.SyntheticEvent) => {\n this.entity[field] = value;\n\n this.handlers.value(this.entity.toString(), event);\n };\n\n handleMeridiemClick = (event: React.SyntheticEvent) => {\n this.entity.toggleMeridiem();\n\n this.handlers.value(this.entity.toString(), event);\n };\n\n private getCommonPickerInputProps = () => {\n const { is12Hour, size, disabled } = this.asProps;\n\n return {\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n };\n };\n\n getHoursProps = () => {\n return {\n ...this.getCommonPickerInputProps(),\n time: this.entity.hours,\n ariaLabel: this.asProps.getI18nText('hours'),\n ref: this.hoursInputRef,\n };\n };\n\n getMinutesProps = () => {\n return {\n ...this.getCommonPickerInputProps(),\n time: this.entity.minutes,\n ariaLabel: this.asProps.getI18nText('minutes'),\n ref: this.minutesInputRef,\n };\n };\n\n getSeparatorProps() {\n return {\n disabled: this.asProps.disabled,\n hoursInputRef: this.hoursInputRef,\n };\n }\n\n getFormatProps() {\n const { size, disabled, getI18nText } = this.asProps;\n return {\n size,\n disabled,\n meridiem: this.entity.meridiem,\n onClick: this.handleMeridiemClick,\n getI18nText,\n };\n }\n\n render() {\n const STimePicker = Root;\n const { styles, Children, value, is12Hour, getI18nText, id } = this.asProps;\n\n const time = `${this.entity.hours}:${this.entity.minutes}`;\n const meridiem = is12Hour ? this.entity.meridiem : '';\n\n const label = value\n ? `${this.state.ariaLabel} ${getI18nText('title', {\n time,\n meridiem,\n })}`\n : `${this.state.ariaLabel} ${getI18nText('titleEmpty')}`;\n\n return sstyled(styles)(\n <>\n <STimePicker render={Input} role='group' aria-label={label} __excludeProps={['value', 'id']}>\n <Children />\n </STimePicker>\n <ScreenReaderOnly tag='input' tabIndex={-1} id={id} aria-hidden={true} value={`${time} ${meridiem}`} />\n </>,\n );\n }\n}\nclass Separator extends Component<TimePickerSeparatorProps> {\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 const { styles } = this.asProps;\n return sstyled(styles)(<STimePickerSeparator render={Box} onClick={this.handlerClick} aria-hidden='true' />);\n }\n}\n\n/**\n * TimePicker\n *\n * {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-api/|API} | {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-code/|Examples}\n */\nconst TimePicker = createComponent<\n TimePickerComponent,\n typeof TimePickerRoot\n>(TimePickerRoot, {\n Hours,\n Minutes,\n Separator,\n Format,\n});\n\nexport default TimePicker;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.type.js","names":[],"sources":["../../../../src/component/TimePicker/TimePicker.type.ts"],"sourcesContent":["import type { Box } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { InputProps, InputValueProps } from '@semcore/input';\n\nimport type { TimePickerFormatProps } from '../PickerFormat/PickerFormat.type';\n\nexport type TimePickerProps = Omit<InputProps, '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 /** Specifies the locale for i18n support */\n locale?: string;\n};\n\nexport type TimePickerSeparatorProps = {\n /** @Internal */\n hoursInputRef: React.RefObject<HTMLElement>;\n /** @Internal */\n disabled?: boolean;\n};\n\nexport type TimePickerItemProps = InputValueProps & {\n /** Step for changing of the values in the dropdown list */\n step?: number;\n};\n\nexport type TimePickerContext = {\n getHoursProps: PropGetterFn;\n getFormatProps: PropGetterFn;\n getMinutesProps: PropGetterFn;\n getSeparatorProps: PropGetterFn;\n};\n\nexport type TimePickerHandlers = {\n value: (value: string) => void;\n};\n\nexport type TimePickerMeridiem = 'AM' | 'PM';\n\nexport type TimePickerField = 'hours' | 'minutes';\n\nexport type TimePickerComponent = Intergalactic.Component<\n 'div',\n TimePickerProps,\n TimePickerContext,\n [handlers: TimePickerHandlers]\n> & {\n Hours: Intergalactic.Component<'div', TimePickerItemProps>;\n Minutes: Intergalactic.Component<'div', TimePickerItemProps>;\n Separator: typeof Box;\n Format: Intergalactic.Component<'div', TimePickerFormatProps>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TimePicker.type.js","names":[],"sources":["../../../../src/component/TimePicker/TimePicker.type.ts"],"sourcesContent":["import type { Box } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { InputProps, InputValueProps } from '@semcore/input';\n\nimport type { TimePickerFormatProps } from '../PickerFormat/PickerFormat.type';\n\nexport type TimePickerProps = Omit<InputProps, '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 /** Specifies the locale for i18n support */\n locale?: string;\n};\n\nexport type TimePickerDefaultProps = {\n defaultValue: '';\n size: 'm';\n children: React.ReactNode;\n locale: 'en';\n};\n\nexport type TimePickerSeparatorProps = {\n /** @Internal */\n hoursInputRef: React.RefObject<HTMLElement>;\n /** @Internal */\n disabled?: boolean;\n};\n\nexport type TimePickerItemProps = InputValueProps & {\n /** Step for changing of the values in the dropdown list */\n step?: number;\n};\n\nexport type TimePickerContext = {\n getHoursProps: PropGetterFn;\n getFormatProps: PropGetterFn;\n getMinutesProps: PropGetterFn;\n getSeparatorProps: PropGetterFn;\n};\n\nexport type TimePickerHandlers = {\n value: (value: string) => void;\n};\n\nexport type TimePickerMeridiem = 'AM' | 'PM';\n\nexport type TimePickerField = 'hours' | 'minutes';\n\nexport type TimePickerComponent = Intergalactic.Component<\n 'div',\n TimePickerProps,\n TimePickerContext,\n [handlers: TimePickerHandlers]\n> & {\n Hours: Intergalactic.Component<'div', TimePickerItemProps>;\n Minutes: Intergalactic.Component<'div', TimePickerItemProps>;\n Separator: typeof Box;\n Format: Intergalactic.Component<'div', TimePickerFormatProps>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -56,10 +56,13 @@ class TimePickerEntity {
|
|
|
56
56
|
formatHoursTo24(hours) {
|
|
57
57
|
const numberHours = Number.parseInt(hours, 10);
|
|
58
58
|
if (Number.isNaN(numberHours)) return hours;
|
|
59
|
-
if (this.
|
|
60
|
-
|
|
59
|
+
if (this._is12Hour) {
|
|
60
|
+
if (this.meridiem === 'AM') {
|
|
61
|
+
return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);
|
|
62
|
+
}
|
|
63
|
+
return this.withLeadingZero(numberHours < 12 ? numberHours + 12 : numberHours);
|
|
61
64
|
}
|
|
62
|
-
return this.withLeadingZero(numberHours
|
|
65
|
+
return this.withLeadingZero(numberHours);
|
|
63
66
|
}
|
|
64
67
|
toggleMeridiem() {
|
|
65
68
|
this.meridiem = this._meridiem === 'AM' ? 'PM' : 'AM';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePickerEntity.js","names":["TimePickerEntity","constructor","value","is12Hour","_defineProperty2","default","hours","minutes","split","_is12Hour","_hours","_minutes","meridiem","_meridiem","formatHoursTo12","formatHoursTo24","withLeadingZero","newIs12Hour","newHours","newMinutes","newMeridiem","String","padStart","numberHours","Number","parseInt","isNaN","toggleMeridiem","toString","_default","exports"],"sources":["../../../src/entity/TimePickerEntity.ts"],"sourcesContent":["import type { TimePickerMeridiem } from '../component/TimePicker/TimePicker.type';\n\nclass TimePickerEntity {\n private _hours: string = '';\n private _minutes: string = '';\n private _is12Hour: boolean;\n private _meridiem: TimePickerMeridiem = 'AM';\n\n constructor(\n value: string = ':', // should be in the format 'HH:mm'\n is12Hour: boolean = false,\n ) {\n const [hours = '', minutes = ''] = value.split(':');\n\n this._is12Hour = is12Hour;\n this._hours = hours;\n this._minutes = minutes;\n }\n\n get meridiem() {\n return this._meridiem;\n }\n\n get hours() {\n return this._is12Hour ? this.formatHoursTo12(this._hours) : this.formatHoursTo24(this._hours);\n }\n\n get minutes() {\n return this._minutes && this.withLeadingZero(this._minutes);\n }\n\n set is12Hour(newIs12Hour: boolean) {\n this._is12Hour = newIs12Hour;\n }\n\n set hours(newHours) {\n this._hours = newHours;\n }\n\n set minutes(newMinutes) {\n this._minutes = newMinutes;\n }\n\n private set meridiem(newMeridiem) {\n this._meridiem = newMeridiem;\n }\n\n private withLeadingZero(value: string | number) {\n return String(value).padStart(2, '0');\n }\n\n private formatHoursTo12(hours: string) {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return hours;\n\n if (numberHours === 0) {\n return '12';\n } else if (numberHours > 12) {\n return this.withLeadingZero(numberHours - 12);\n }\n\n return this.withLeadingZero(numberHours);\n }\n\n private formatHoursTo24(hours: string) {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return hours;\n\n if (this.meridiem === 'AM') {\n
|
|
1
|
+
{"version":3,"file":"TimePickerEntity.js","names":["TimePickerEntity","constructor","value","is12Hour","_defineProperty2","default","hours","minutes","split","_is12Hour","_hours","_minutes","meridiem","_meridiem","formatHoursTo12","formatHoursTo24","withLeadingZero","newIs12Hour","newHours","newMinutes","newMeridiem","String","padStart","numberHours","Number","parseInt","isNaN","toggleMeridiem","toString","_default","exports"],"sources":["../../../src/entity/TimePickerEntity.ts"],"sourcesContent":["import type { TimePickerMeridiem } from '../component/TimePicker/TimePicker.type';\n\nclass TimePickerEntity {\n private _hours: string = '';\n private _minutes: string = '';\n private _is12Hour: boolean;\n private _meridiem: TimePickerMeridiem = 'AM';\n\n constructor(\n value: string = ':', // should be in the format 'HH:mm'\n is12Hour: boolean = false,\n ) {\n const [hours = '', minutes = ''] = value.split(':');\n\n this._is12Hour = is12Hour;\n this._hours = hours;\n this._minutes = minutes;\n }\n\n get meridiem() {\n return this._meridiem;\n }\n\n get hours() {\n return this._is12Hour ? this.formatHoursTo12(this._hours) : this.formatHoursTo24(this._hours);\n }\n\n get minutes() {\n return this._minutes && this.withLeadingZero(this._minutes);\n }\n\n set is12Hour(newIs12Hour: boolean) {\n this._is12Hour = newIs12Hour;\n }\n\n set hours(newHours) {\n this._hours = newHours;\n }\n\n set minutes(newMinutes) {\n this._minutes = newMinutes;\n }\n\n private set meridiem(newMeridiem) {\n this._meridiem = newMeridiem;\n }\n\n private withLeadingZero(value: string | number) {\n return String(value).padStart(2, '0');\n }\n\n private formatHoursTo12(hours: string) {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return hours;\n\n if (numberHours === 0) {\n return '12';\n } else if (numberHours > 12) {\n return this.withLeadingZero(numberHours - 12);\n }\n\n return this.withLeadingZero(numberHours);\n }\n\n private formatHoursTo24(hours: string) {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return hours;\n\n if (this._is12Hour) {\n if (this.meridiem === 'AM') {\n return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);\n }\n\n return this.withLeadingZero(numberHours < 12 ? numberHours + 12 : numberHours);\n }\n\n return this.withLeadingZero(numberHours);\n }\n\n toggleMeridiem() {\n this.meridiem = this._meridiem === 'AM' ? 'PM' : 'AM';\n }\n\n toString() {\n const hours = this._is12Hour ? this.formatHoursTo24(this.hours) : this.hours;\n\n return `${hours}:${this.minutes}`;\n }\n}\n\nexport default TimePickerEntity;\n"],"mappings":";;;;;;;;AAEA,MAAMA,gBAAgB,CAAC;EAMrBC,WAAWA,CACTC,KAAa,GAAG,GAAG;EAAE;EACrBC,QAAiB,GAAG,KAAK,EACzB;IAAA,IAAAC,gBAAA,CAAAC,OAAA,kBARuB,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBACA,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAEW,IAAI;IAM1C,MAAM,CAACC,KAAK,GAAG,EAAE,EAAEC,OAAO,GAAG,EAAE,CAAC,GAAGL,KAAK,CAACM,KAAK,CAAC,GAAG,CAAC;IAEnD,IAAI,CAACC,SAAS,GAAGN,QAAQ;IACzB,IAAI,CAACO,MAAM,GAAGJ,KAAK;IACnB,IAAI,CAACK,QAAQ,GAAGJ,OAAO;EACzB;EAEA,IAAIK,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACC,SAAS;EACvB;EAEA,IAAIP,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACG,SAAS,GAAG,IAAI,CAACK,eAAe,CAAC,IAAI,CAACJ,MAAM,CAAC,GAAG,IAAI,CAACK,eAAe,CAAC,IAAI,CAACL,MAAM,CAAC;EAC/F;EAEA,IAAIH,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACI,QAAQ,IAAI,IAAI,CAACK,eAAe,CAAC,IAAI,CAACL,QAAQ,CAAC;EAC7D;EAEA,IAAIR,QAAQA,CAACc,WAAoB,EAAE;IACjC,IAAI,CAACR,SAAS,GAAGQ,WAAW;EAC9B;EAEA,IAAIX,KAAKA,CAACY,QAAQ,EAAE;IAClB,IAAI,CAACR,MAAM,GAAGQ,QAAQ;EACxB;EAEA,IAAIX,OAAOA,CAACY,UAAU,EAAE;IACtB,IAAI,CAACR,QAAQ,GAAGQ,UAAU;EAC5B;EAEA,IAAYP,QAAQA,CAACQ,WAAW,EAAE;IAChC,IAAI,CAACP,SAAS,GAAGO,WAAW;EAC9B;EAEQJ,eAAeA,CAACd,KAAsB,EAAE;IAC9C,OAAOmB,MAAM,CAACnB,KAAK,CAAC,CAACoB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACvC;EAEQR,eAAeA,CAACR,KAAa,EAAE;IACrC,MAAMiB,WAAW,GAAGC,MAAM,CAACC,QAAQ,CAACnB,KAAK,EAAE,EAAE,CAAC;IAE9C,IAAIkB,MAAM,CAACE,KAAK,CAACH,WAAW,CAAC,EAAE,OAAOjB,KAAK;IAE3C,IAAIiB,WAAW,KAAK,CAAC,EAAE;MACrB,OAAO,IAAI;IACb,CAAC,MAAM,IAAIA,WAAW,GAAG,EAAE,EAAE;MAC3B,OAAO,IAAI,CAACP,eAAe,CAACO,WAAW,GAAG,EAAE,CAAC;IAC/C;IAEA,OAAO,IAAI,CAACP,eAAe,CAACO,WAAW,CAAC;EAC1C;EAEQR,eAAeA,CAACT,KAAa,EAAE;IACrC,MAAMiB,WAAW,GAAGC,MAAM,CAACC,QAAQ,CAACnB,KAAK,EAAE,EAAE,CAAC;IAE9C,IAAIkB,MAAM,CAACE,KAAK,CAACH,WAAW,CAAC,EAAE,OAAOjB,KAAK;IAE3C,IAAI,IAAI,CAACG,SAAS,EAAE;MAClB,IAAI,IAAI,CAACG,QAAQ,KAAK,IAAI,EAAE;QAC1B,OAAO,IAAI,CAACI,eAAe,CAACO,WAAW,KAAK,EAAE,GAAG,CAAC,GAAGA,WAAW,CAAC;MACnE;MAEA,OAAO,IAAI,CAACP,eAAe,CAACO,WAAW,GAAG,EAAE,GAAGA,WAAW,GAAG,EAAE,GAAGA,WAAW,CAAC;IAChF;IAEA,OAAO,IAAI,CAACP,eAAe,CAACO,WAAW,CAAC;EAC1C;EAEAI,cAAcA,CAAA,EAAG;IACf,IAAI,CAACf,QAAQ,GAAG,IAAI,CAACC,SAAS,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI;EACvD;EAEAe,QAAQA,CAAA,EAAG;IACT,MAAMtB,KAAK,GAAG,IAAI,CAACG,SAAS,GAAG,IAAI,CAACM,eAAe,CAAC,IAAI,CAACT,KAAK,CAAC,GAAG,IAAI,CAACA,KAAK;IAE5E,OAAO,GAAGA,KAAK,IAAI,IAAI,CAACC,OAAO,EAAE;EACnC;AACF;AAAC,IAAAsB,QAAA,GAAAC,OAAA,CAAAzB,OAAA,GAEcL,gBAAgB","ignoreList":[]}
|
|
@@ -6,15 +6,15 @@ import { Component, sstyled, Root } from '@semcore/core';
|
|
|
6
6
|
import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
|
|
7
7
|
import React from 'react';
|
|
8
8
|
/*!__reshadow-styles__:"./picker-format.shadow.css"*/
|
|
9
|
-
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
9
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPickerFormat_jxl3i_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;-webkit-text-decoration:none;text-decoration:none;align-items:center;border:1px solid var(--intergalactic-border-primary,#000c0829);border-radius:0 var(--intergalactic-control-rounded,6px) var(--intergalactic-control-rounded,6px) 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,#00030095);background-color:var(--intergalactic-bg-secondary-neutral,#f8f9f8)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_{border:1px solid var(--intergalactic-border-primary,#000c0829);color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_{border:1px solid var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161));color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}@media (hover:hover){.___SPickerFormat_jxl3i_gg_:hover{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-hover,#f1f2f2)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_:hover{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_:hover{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}}.___SPickerFormat_jxl3i_gg_.__active_jxl3i_gg_,.___SPickerFormat_jxl3i_gg_:active{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-active,#eaebeb)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_.__active_jxl3i_gg_,.___SPickerFormat_jxl3i_gg_:active{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_.__active_jxl3i_gg_,.___SPickerFormat_jxl3i_gg_:active{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}.___SPickerFormat_jxl3i_gg_._size_m_jxl3i_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_jxl3i_gg_._size_m_jxl3i_gg_ .___SPickerFormatText_jxl3i_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_jxl3i_gg_._size_l_jxl3i_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 -1px 0 0}.___SPickerFormat_jxl3i_gg_._size_l_jxl3i_gg_ .___SPickerFormatText_jxl3i_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_jxl3i_gg_.__disabled_jxl3i_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_.__disabled_jxl3i_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_.__disabled_jxl3i_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}", /*__inner_css_end__*/"jxl3i_gg_"),
|
|
10
10
|
/*__reshadow_css_end__*/
|
|
11
11
|
{
|
|
12
|
-
"__SPickerFormat": "
|
|
13
|
-
"_disabled": "
|
|
14
|
-
"_active": "
|
|
15
|
-
"_size_m": "
|
|
16
|
-
"__SPickerFormatText": "
|
|
17
|
-
"_size_l": "
|
|
12
|
+
"__SPickerFormat": "___SPickerFormat_jxl3i_gg_",
|
|
13
|
+
"_disabled": "__disabled_jxl3i_gg_",
|
|
14
|
+
"_active": "__active_jxl3i_gg_",
|
|
15
|
+
"_size_m": "_size_m_jxl3i_gg_",
|
|
16
|
+
"__SPickerFormatText": "___SPickerFormatText_jxl3i_gg_",
|
|
17
|
+
"_size_l": "_size_l_jxl3i_gg_"
|
|
18
18
|
});
|
|
19
19
|
class TimePickerFormat extends Component {
|
|
20
20
|
constructor(...args) {
|
|
@@ -7,12 +7,12 @@ import Input from '@semcore/input';
|
|
|
7
7
|
import Select from '@semcore/select';
|
|
8
8
|
import React from 'react';
|
|
9
9
|
/*!__reshadow-styles__:"./picker-input.shadow.css"*/
|
|
10
|
-
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
10
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPickerInput_1weh7_gg_._size_m_1weh7_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}.___SPickerInput_1weh7_gg_._size_l_1weh7_gg_{width:21px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}", /*__inner_css_end__*/"1weh7_gg_"),
|
|
11
11
|
/*__reshadow_css_end__*/
|
|
12
12
|
{
|
|
13
|
-
"__SPickerInput": "
|
|
14
|
-
"_size_m": "
|
|
15
|
-
"_size_l": "
|
|
13
|
+
"__SPickerInput": "___SPickerInput_1weh7_gg_",
|
|
14
|
+
"_size_m": "_size_m_1weh7_gg_",
|
|
15
|
+
"_size_l": "_size_l_1weh7_gg_"
|
|
16
16
|
});
|
|
17
17
|
function getOptions(minMax, step = 1) {
|
|
18
18
|
const [min, max] = minMax;
|
|
@@ -14,14 +14,14 @@ import i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';
|
|
|
14
14
|
import Input from '@semcore/input';
|
|
15
15
|
import React from 'react';
|
|
16
16
|
/*!__reshadow-styles__:"./time-picker.shadow.css"*/
|
|
17
|
-
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".
|
|
17
|
+
const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___STimePicker_brn6k_gg_{position:relative;width:auto;outline:none}.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_{box-sizing:initial;text-align:center;z-index:1;height:1.5em}.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_.__placeholder_brn6k_gg_{text-overflow:clip}.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_:focus{outline:none;background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@media (color-gamut:p3){.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,color(display-p3 .12361 .30547 .96332/.116))}}}.___STimePicker_brn6k_gg_.__disabled_brn6k_gg_{color:var(--intergalactic-text-secondary,#00030095);cursor:default}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_brn6k_gg_.__disabled_brn6k_gg_{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___STimePicker_brn6k_gg_.__disabled_brn6k_gg_{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}.___STimePickerSeparator_brn6k_gg_{color:var(--intergalactic-text-primary,#010500e5)}.___STimePickerSeparator_brn6k_gg_.__disabled_brn6k_gg_{opacity:var(--intergalactic-disabled-opacity,.4);pointer-events:none}", /*__inner_css_end__*/"brn6k_gg_"),
|
|
18
18
|
/*__reshadow_css_end__*/
|
|
19
19
|
{
|
|
20
|
-
"__STimePicker": "
|
|
21
|
-
"_disabled": "
|
|
22
|
-
"__STimePickerSeparator": "
|
|
23
|
-
"__SPickerInput": "
|
|
24
|
-
"_placeholder": "
|
|
20
|
+
"__STimePicker": "___STimePicker_brn6k_gg_",
|
|
21
|
+
"_disabled": "__disabled_brn6k_gg_",
|
|
22
|
+
"__STimePickerSeparator": "___STimePickerSeparator_brn6k_gg_",
|
|
23
|
+
"__SPickerInput": "___SPickerInput_brn6k_gg_",
|
|
24
|
+
"_placeholder": "__placeholder_brn6k_gg_"
|
|
25
25
|
});
|
|
26
26
|
import TimePickerEntity from '../../entity/TimePickerEntity';
|
|
27
27
|
import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
|
|
@@ -203,6 +203,12 @@ class Separator extends Component {
|
|
|
203
203
|
}));
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* TimePicker
|
|
209
|
+
*
|
|
210
|
+
* {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-api/|API} | {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-code/|Examples}
|
|
211
|
+
*/
|
|
206
212
|
_defineProperty(Separator, "defaultProps", {
|
|
207
213
|
children: ':'
|
|
208
214
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","names":["Box","ScreenReaderOnly","createComponent","Component","sstyled","Root","propsObserver","reactive","i18nEnhance","Input","React","style","_sstyled","insert","TimePickerEntity","localizedMessages","Format","Hours","Minutes","_classDecs","_TimePickerRoot","_TimePickerRoot2","_ref5","_entityDecs","forceUpdate","_TimePickerRoot3","TimePickerRoot","constructor","args","_defineProperty","createRef","ariaLabel","_init_entity","props","value","defaultValue","is12Hour","_init_extra_entity","field","event","entity","handlers","toString","toggleMeridiem","size","disabled","asProps","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","getCommonPickerInputProps","time","hours","getI18nText","ref","minutes","componentDidMount","id","ariaDescribedBy","selector","element","document","querySelector","setState","textContent","onPropsChange","changedProps","undefined","split","uncontrolledProps","getSeparatorProps","getFormatProps","meridiem","onClick","handleMeridiemClick","render","_ref","_ref3","STimePicker","styles","Children","label","state","createElement","Fragment","cn","_assignProps","e","c","_initClass","_applyDecs","_Class","_identity","children","TimePicker","Separator","locale","current","focus","_ref2","_ref4","STimePickerSeparator","_assignProps2","handlerClick"],"sources":["../../../../src/component/TimePicker/TimePicker.tsx"],"sourcesContent":["import { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport propsObserver from '@semcore/core/lib/decorators/propsObserver';\nimport reactive from '@semcore/core/lib/decorators/reactive';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport Input from '@semcore/input';\nimport React from 'react';\n\nimport style from './time-picker.shadow.css';\nimport type {\n TimePickerComponent,\n TimePickerProps,\n TimePickerField,\n TimePickerSeparatorProps,\n} from './TimePicker.type';\nimport TimePickerEntity from '../../entity/TimePickerEntity';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport Format from '../PickerFormat/PickerFormat';\nimport { Hours, Minutes } from '../PickerInput/PickerInput';\n\n@propsObserver(['value', 'is12Hour'])\nclass TimePickerRoot extends Component<TimePickerProps, typeof TimePickerRoot.enhance, { value: null }> {\n static displayName = 'TimePicker';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)] as const;\n static defaultProps = ({ is12Hour }: TimePickerProps) => ({\n defaultValue: '',\n size: 'm',\n children: (\n <>\n <TimePicker.Hours />\n <TimePicker.Separator />\n <TimePicker.Minutes />\n {is12Hour && <TimePicker.Format />}\n </>\n ),\n locale: 'en',\n });\n\n hoursInputRef = React.createRef<HTMLElement>();\n minutesInputRef = React.createRef<HTMLElement>();\n\n state = {\n ariaLabel: '',\n };\n\n componentDidMount() {\n const { id, 'aria-describedby': ariaDescribedBy } = this.asProps;\n const selector = `[for=${id}]`;\n\n const element = document.querySelector(selector) ?? document.querySelector(`#${ariaDescribedBy}`);\n\n if (element) {\n this.setState({ ariaLabel: element.textContent });\n }\n }\n\n @reactive(['meridiem'], function () {\n this.forceUpdate();\n })\n readonly entity = new TimePickerEntity(this.props.value ?? this.props.defaultValue, this.props.is12Hour);\n\n onPropsChange(changedProps: TimePickerProps) {\n const { value, is12Hour } = changedProps;\n\n if (value !== undefined) {\n const [hours = '', minutes = ''] = value.split(':');\n\n this.entity.hours = hours;\n this.entity.minutes = minutes;\n }\n\n if (is12Hour !== undefined) {\n this.entity.is12Hour = is12Hour;\n }\n }\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleValueChange = (value: string, field: TimePickerField, event: React.SyntheticEvent) => {\n this.entity[field] = value;\n\n this.handlers.value(this.entity.toString(), event);\n };\n\n handleMeridiemClick = (event: React.SyntheticEvent) => {\n this.entity.toggleMeridiem();\n\n this.handlers.value(this.entity.toString(), event);\n };\n\n private getCommonPickerInputProps = () => {\n const { is12Hour, size, disabled } = this.asProps;\n\n return {\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n };\n };\n\n getHoursProps = () => {\n return {\n ...this.getCommonPickerInputProps(),\n time: this.entity.hours,\n ariaLabel: this.asProps.getI18nText('hours'),\n ref: this.hoursInputRef,\n };\n };\n\n getMinutesProps = () => {\n return {\n ...this.getCommonPickerInputProps(),\n time: this.entity.minutes,\n ariaLabel: this.asProps.getI18nText('minutes'),\n ref: this.minutesInputRef,\n };\n };\n\n getSeparatorProps() {\n return {\n disabled: this.asProps.disabled,\n hoursInputRef: this.hoursInputRef,\n };\n }\n\n getFormatProps() {\n const { size, disabled, getI18nText } = this.asProps;\n return {\n size,\n disabled,\n meridiem: this.entity.meridiem,\n onClick: this.handleMeridiemClick,\n getI18nText,\n };\n }\n\n render() {\n const STimePicker = Root;\n const { styles, Children, value, is12Hour, getI18nText, id } = this.asProps;\n\n const time = `${this.entity.hours}:${this.entity.minutes}`;\n const meridiem = is12Hour ? this.entity.meridiem : '';\n\n const label = value\n ? `${this.state.ariaLabel} ${getI18nText('title', {\n time,\n meridiem,\n })}`\n : `${this.state.ariaLabel} ${getI18nText('titleEmpty')}`;\n\n return sstyled(styles)(\n <>\n <STimePicker render={Input} role='group' aria-label={label} __excludeProps={['value', 'id']}>\n <Children />\n </STimePicker>\n <ScreenReaderOnly tag='input' tabIndex={-1} id={id} aria-hidden={true} value={`${time} ${meridiem}`} />\n </>,\n );\n }\n}\nclass Separator extends Component<TimePickerSeparatorProps> {\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 const { styles } = this.asProps;\n return sstyled(styles)(<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}) as TimePickerComponent;\n\nexport default TimePicker;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TimePicker.js","names":["Box","ScreenReaderOnly","createComponent","Component","sstyled","Root","propsObserver","reactive","i18nEnhance","Input","React","style","_sstyled","insert","TimePickerEntity","localizedMessages","Format","Hours","Minutes","_classDecs","_TimePickerRoot","_TimePickerRoot2","_ref5","_entityDecs","forceUpdate","_TimePickerRoot3","TimePickerRoot","constructor","args","_defineProperty","createRef","ariaLabel","_init_entity","props","value","defaultValue","is12Hour","_init_extra_entity","field","event","entity","handlers","toString","toggleMeridiem","size","disabled","asProps","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","getCommonPickerInputProps","time","hours","getI18nText","ref","minutes","componentDidMount","id","ariaDescribedBy","selector","element","document","querySelector","setState","textContent","onPropsChange","changedProps","undefined","split","uncontrolledProps","getSeparatorProps","getFormatProps","meridiem","onClick","handleMeridiemClick","render","_ref","_ref3","STimePicker","styles","Children","label","state","createElement","Fragment","cn","_assignProps","e","c","_initClass","_applyDecs","_Class","_identity","children","TimePicker","Separator","locale","current","focus","_ref2","_ref4","STimePickerSeparator","_assignProps2","handlerClick"],"sources":["../../../../src/component/TimePicker/TimePicker.tsx"],"sourcesContent":["import { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport propsObserver from '@semcore/core/lib/decorators/propsObserver';\nimport reactive from '@semcore/core/lib/decorators/reactive';\nimport i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';\nimport Input from '@semcore/input';\nimport React from 'react';\n\nimport style from './time-picker.shadow.css';\nimport type {\n TimePickerComponent,\n TimePickerProps,\n TimePickerField,\n TimePickerSeparatorProps,\n TimePickerDefaultProps,\n} from './TimePicker.type';\nimport TimePickerEntity from '../../entity/TimePickerEntity';\nimport { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';\nimport Format from '../PickerFormat/PickerFormat';\nimport { Hours, Minutes } from '../PickerInput/PickerInput';\n\n@propsObserver(['value', 'is12Hour'])\nclass TimePickerRoot extends Component<\n TimePickerProps,\n typeof TimePickerRoot.enhance,\n { value: null },\n {},\n {},\n TimePickerDefaultProps\n > {\n static displayName = 'TimePicker';\n static style = style;\n static enhance = [i18nEnhance(localizedMessages)] as const;\n\n static defaultProps = ({ is12Hour }: TimePickerProps) => ({\n defaultValue: '',\n size: 'm',\n children: (\n <>\n <TimePicker.Hours />\n <TimePicker.Separator />\n <TimePicker.Minutes />\n {is12Hour && <TimePicker.Format />}\n </>\n ),\n locale: 'en',\n } as const);\n\n hoursInputRef = React.createRef<HTMLElement>();\n minutesInputRef = React.createRef<HTMLElement>();\n\n state = {\n ariaLabel: '',\n };\n\n componentDidMount() {\n const { id, 'aria-describedby': ariaDescribedBy } = this.asProps;\n const selector = `[for=${id}]`;\n\n const element = document.querySelector(selector) ?? document.querySelector(`#${ariaDescribedBy}`);\n\n if (element) {\n this.setState({ ariaLabel: element.textContent });\n }\n }\n\n @reactive(['meridiem'], function () {\n this.forceUpdate();\n })\n readonly entity = new TimePickerEntity(this.props.value ?? this.props.defaultValue, this.props.is12Hour);\n\n onPropsChange(changedProps: TimePickerProps) {\n const { value, is12Hour } = changedProps;\n\n if (value !== undefined) {\n const [hours = '', minutes = ''] = value.split(':');\n\n this.entity.hours = hours;\n this.entity.minutes = minutes;\n }\n\n if (is12Hour !== undefined) {\n this.entity.is12Hour = is12Hour;\n }\n }\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleValueChange = (value: string, field: TimePickerField, event: React.SyntheticEvent) => {\n this.entity[field] = value;\n\n this.handlers.value(this.entity.toString(), event);\n };\n\n handleMeridiemClick = (event: React.SyntheticEvent) => {\n this.entity.toggleMeridiem();\n\n this.handlers.value(this.entity.toString(), event);\n };\n\n private getCommonPickerInputProps = () => {\n const { is12Hour, size, disabled } = this.asProps;\n\n return {\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n };\n };\n\n getHoursProps = () => {\n return {\n ...this.getCommonPickerInputProps(),\n time: this.entity.hours,\n ariaLabel: this.asProps.getI18nText('hours'),\n ref: this.hoursInputRef,\n };\n };\n\n getMinutesProps = () => {\n return {\n ...this.getCommonPickerInputProps(),\n time: this.entity.minutes,\n ariaLabel: this.asProps.getI18nText('minutes'),\n ref: this.minutesInputRef,\n };\n };\n\n getSeparatorProps() {\n return {\n disabled: this.asProps.disabled,\n hoursInputRef: this.hoursInputRef,\n };\n }\n\n getFormatProps() {\n const { size, disabled, getI18nText } = this.asProps;\n return {\n size,\n disabled,\n meridiem: this.entity.meridiem,\n onClick: this.handleMeridiemClick,\n getI18nText,\n };\n }\n\n render() {\n const STimePicker = Root;\n const { styles, Children, value, is12Hour, getI18nText, id } = this.asProps;\n\n const time = `${this.entity.hours}:${this.entity.minutes}`;\n const meridiem = is12Hour ? this.entity.meridiem : '';\n\n const label = value\n ? `${this.state.ariaLabel} ${getI18nText('title', {\n time,\n meridiem,\n })}`\n : `${this.state.ariaLabel} ${getI18nText('titleEmpty')}`;\n\n return sstyled(styles)(\n <>\n <STimePicker render={Input} role='group' aria-label={label} __excludeProps={['value', 'id']}>\n <Children />\n </STimePicker>\n <ScreenReaderOnly tag='input' tabIndex={-1} id={id} aria-hidden={true} value={`${time} ${meridiem}`} />\n </>,\n );\n }\n}\nclass Separator extends Component<TimePickerSeparatorProps> {\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 const { styles } = this.asProps;\n return sstyled(styles)(<STimePickerSeparator render={Box} onClick={this.handlerClick} aria-hidden='true' />);\n }\n}\n\n/**\n * TimePicker\n *\n * {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-api/|API} | {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-code/|Examples}\n */\nconst TimePicker = createComponent<\n TimePickerComponent,\n typeof TimePickerRoot\n>(TimePickerRoot, {\n Hours,\n Minutes,\n Separator,\n Format,\n});\n\nexport default TimePicker;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.type.js","names":[],"sources":["../../../../src/component/TimePicker/TimePicker.type.ts"],"sourcesContent":["import type { Box } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { InputProps, InputValueProps } from '@semcore/input';\n\nimport type { TimePickerFormatProps } from '../PickerFormat/PickerFormat.type';\n\nexport type TimePickerProps = Omit<InputProps, '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 /** Specifies the locale for i18n support */\n locale?: string;\n};\n\nexport type TimePickerSeparatorProps = {\n /** @Internal */\n hoursInputRef: React.RefObject<HTMLElement>;\n /** @Internal */\n disabled?: boolean;\n};\n\nexport type TimePickerItemProps = InputValueProps & {\n /** Step for changing of the values in the dropdown list */\n step?: number;\n};\n\nexport type TimePickerContext = {\n getHoursProps: PropGetterFn;\n getFormatProps: PropGetterFn;\n getMinutesProps: PropGetterFn;\n getSeparatorProps: PropGetterFn;\n};\n\nexport type TimePickerHandlers = {\n value: (value: string) => void;\n};\n\nexport type TimePickerMeridiem = 'AM' | 'PM';\n\nexport type TimePickerField = 'hours' | 'minutes';\n\nexport type TimePickerComponent = Intergalactic.Component<\n 'div',\n TimePickerProps,\n TimePickerContext,\n [handlers: TimePickerHandlers]\n> & {\n Hours: Intergalactic.Component<'div', TimePickerItemProps>;\n Minutes: Intergalactic.Component<'div', TimePickerItemProps>;\n Separator: typeof Box;\n Format: Intergalactic.Component<'div', TimePickerFormatProps>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TimePicker.type.js","names":[],"sources":["../../../../src/component/TimePicker/TimePicker.type.ts"],"sourcesContent":["import type { Box } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { InputProps, InputValueProps } from '@semcore/input';\n\nimport type { TimePickerFormatProps } from '../PickerFormat/PickerFormat.type';\n\nexport type TimePickerProps = Omit<InputProps, '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 /** Specifies the locale for i18n support */\n locale?: string;\n};\n\nexport type TimePickerDefaultProps = {\n defaultValue: '';\n size: 'm';\n children: React.ReactNode;\n locale: 'en';\n};\n\nexport type TimePickerSeparatorProps = {\n /** @Internal */\n hoursInputRef: React.RefObject<HTMLElement>;\n /** @Internal */\n disabled?: boolean;\n};\n\nexport type TimePickerItemProps = InputValueProps & {\n /** Step for changing of the values in the dropdown list */\n step?: number;\n};\n\nexport type TimePickerContext = {\n getHoursProps: PropGetterFn;\n getFormatProps: PropGetterFn;\n getMinutesProps: PropGetterFn;\n getSeparatorProps: PropGetterFn;\n};\n\nexport type TimePickerHandlers = {\n value: (value: string) => void;\n};\n\nexport type TimePickerMeridiem = 'AM' | 'PM';\n\nexport type TimePickerField = 'hours' | 'minutes';\n\nexport type TimePickerComponent = Intergalactic.Component<\n 'div',\n TimePickerProps,\n TimePickerContext,\n [handlers: TimePickerHandlers]\n> & {\n Hours: Intergalactic.Component<'div', TimePickerItemProps>;\n Minutes: Intergalactic.Component<'div', TimePickerItemProps>;\n Separator: typeof Box;\n Format: Intergalactic.Component<'div', TimePickerFormatProps>;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -49,10 +49,13 @@ class TimePickerEntity {
|
|
|
49
49
|
formatHoursTo24(hours) {
|
|
50
50
|
const numberHours = Number.parseInt(hours, 10);
|
|
51
51
|
if (Number.isNaN(numberHours)) return hours;
|
|
52
|
-
if (this.
|
|
53
|
-
|
|
52
|
+
if (this._is12Hour) {
|
|
53
|
+
if (this.meridiem === 'AM') {
|
|
54
|
+
return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);
|
|
55
|
+
}
|
|
56
|
+
return this.withLeadingZero(numberHours < 12 ? numberHours + 12 : numberHours);
|
|
54
57
|
}
|
|
55
|
-
return this.withLeadingZero(numberHours
|
|
58
|
+
return this.withLeadingZero(numberHours);
|
|
56
59
|
}
|
|
57
60
|
toggleMeridiem() {
|
|
58
61
|
this.meridiem = this._meridiem === 'AM' ? 'PM' : 'AM';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePickerEntity.js","names":["TimePickerEntity","constructor","value","is12Hour","_defineProperty","hours","minutes","split","_is12Hour","_hours","_minutes","meridiem","_meridiem","formatHoursTo12","formatHoursTo24","withLeadingZero","newIs12Hour","newHours","newMinutes","newMeridiem","String","padStart","numberHours","Number","parseInt","isNaN","toggleMeridiem","toString"],"sources":["../../../src/entity/TimePickerEntity.ts"],"sourcesContent":["import type { TimePickerMeridiem } from '../component/TimePicker/TimePicker.type';\n\nclass TimePickerEntity {\n private _hours: string = '';\n private _minutes: string = '';\n private _is12Hour: boolean;\n private _meridiem: TimePickerMeridiem = 'AM';\n\n constructor(\n value: string = ':', // should be in the format 'HH:mm'\n is12Hour: boolean = false,\n ) {\n const [hours = '', minutes = ''] = value.split(':');\n\n this._is12Hour = is12Hour;\n this._hours = hours;\n this._minutes = minutes;\n }\n\n get meridiem() {\n return this._meridiem;\n }\n\n get hours() {\n return this._is12Hour ? this.formatHoursTo12(this._hours) : this.formatHoursTo24(this._hours);\n }\n\n get minutes() {\n return this._minutes && this.withLeadingZero(this._minutes);\n }\n\n set is12Hour(newIs12Hour: boolean) {\n this._is12Hour = newIs12Hour;\n }\n\n set hours(newHours) {\n this._hours = newHours;\n }\n\n set minutes(newMinutes) {\n this._minutes = newMinutes;\n }\n\n private set meridiem(newMeridiem) {\n this._meridiem = newMeridiem;\n }\n\n private withLeadingZero(value: string | number) {\n return String(value).padStart(2, '0');\n }\n\n private formatHoursTo12(hours: string) {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return hours;\n\n if (numberHours === 0) {\n return '12';\n } else if (numberHours > 12) {\n return this.withLeadingZero(numberHours - 12);\n }\n\n return this.withLeadingZero(numberHours);\n }\n\n private formatHoursTo24(hours: string) {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return hours;\n\n if (this.meridiem === 'AM') {\n
|
|
1
|
+
{"version":3,"file":"TimePickerEntity.js","names":["TimePickerEntity","constructor","value","is12Hour","_defineProperty","hours","minutes","split","_is12Hour","_hours","_minutes","meridiem","_meridiem","formatHoursTo12","formatHoursTo24","withLeadingZero","newIs12Hour","newHours","newMinutes","newMeridiem","String","padStart","numberHours","Number","parseInt","isNaN","toggleMeridiem","toString"],"sources":["../../../src/entity/TimePickerEntity.ts"],"sourcesContent":["import type { TimePickerMeridiem } from '../component/TimePicker/TimePicker.type';\n\nclass TimePickerEntity {\n private _hours: string = '';\n private _minutes: string = '';\n private _is12Hour: boolean;\n private _meridiem: TimePickerMeridiem = 'AM';\n\n constructor(\n value: string = ':', // should be in the format 'HH:mm'\n is12Hour: boolean = false,\n ) {\n const [hours = '', minutes = ''] = value.split(':');\n\n this._is12Hour = is12Hour;\n this._hours = hours;\n this._minutes = minutes;\n }\n\n get meridiem() {\n return this._meridiem;\n }\n\n get hours() {\n return this._is12Hour ? this.formatHoursTo12(this._hours) : this.formatHoursTo24(this._hours);\n }\n\n get minutes() {\n return this._minutes && this.withLeadingZero(this._minutes);\n }\n\n set is12Hour(newIs12Hour: boolean) {\n this._is12Hour = newIs12Hour;\n }\n\n set hours(newHours) {\n this._hours = newHours;\n }\n\n set minutes(newMinutes) {\n this._minutes = newMinutes;\n }\n\n private set meridiem(newMeridiem) {\n this._meridiem = newMeridiem;\n }\n\n private withLeadingZero(value: string | number) {\n return String(value).padStart(2, '0');\n }\n\n private formatHoursTo12(hours: string) {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return hours;\n\n if (numberHours === 0) {\n return '12';\n } else if (numberHours > 12) {\n return this.withLeadingZero(numberHours - 12);\n }\n\n return this.withLeadingZero(numberHours);\n }\n\n private formatHoursTo24(hours: string) {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return hours;\n\n if (this._is12Hour) {\n if (this.meridiem === 'AM') {\n return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);\n }\n\n return this.withLeadingZero(numberHours < 12 ? numberHours + 12 : numberHours);\n }\n\n return this.withLeadingZero(numberHours);\n }\n\n toggleMeridiem() {\n this.meridiem = this._meridiem === 'AM' ? 'PM' : 'AM';\n }\n\n toString() {\n const hours = this._is12Hour ? this.formatHoursTo24(this.hours) : this.hours;\n\n return `${hours}:${this.minutes}`;\n }\n}\n\nexport default TimePickerEntity;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import { sstyled, Component, assignProps } from "@semcore/core";
|
|
3
3
|
import { Box, ScreenReaderOnly } from "@semcore/base-components";
|
|
4
4
|
import uniqueIDEnhancement from "@semcore/core/lib/utils/uniqueID";
|
|
@@ -8,17 +8,17 @@ const style = (
|
|
|
8
8
|
/*__reshadow_css_start__*/
|
|
9
9
|
(sstyled.insert(
|
|
10
10
|
/*__inner_css_start__*/
|
|
11
|
-
".
|
|
11
|
+
".___SPickerFormat_jxl3i_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;-webkit-text-decoration:none;text-decoration:none;align-items:center;border:1px solid var(--intergalactic-border-primary,#000c0829);border-radius:0 var(--intergalactic-control-rounded,6px) var(--intergalactic-control-rounded,6px) 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,#00030095);background-color:var(--intergalactic-bg-secondary-neutral,#f8f9f8)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_{border:1px solid var(--intergalactic-border-primary,#000c0829);color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_{border:1px solid var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161));color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}@media (hover:hover){.___SPickerFormat_jxl3i_gg_:hover{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-hover,#f1f2f2)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_:hover{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_:hover{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}}.___SPickerFormat_jxl3i_gg_.__active_jxl3i_gg_,.___SPickerFormat_jxl3i_gg_:active{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-active,#eaebeb)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_.__active_jxl3i_gg_,.___SPickerFormat_jxl3i_gg_:active{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_.__active_jxl3i_gg_,.___SPickerFormat_jxl3i_gg_:active{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}.___SPickerFormat_jxl3i_gg_._size_m_jxl3i_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_jxl3i_gg_._size_m_jxl3i_gg_ .___SPickerFormatText_jxl3i_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_jxl3i_gg_._size_l_jxl3i_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 -1px 0 0}.___SPickerFormat_jxl3i_gg_._size_l_jxl3i_gg_ .___SPickerFormatText_jxl3i_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_jxl3i_gg_.__disabled_jxl3i_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_jxl3i_gg_.__disabled_jxl3i_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPickerFormat_jxl3i_gg_.__disabled_jxl3i_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}",
|
|
12
12
|
/*__inner_css_end__*/
|
|
13
|
-
"
|
|
13
|
+
"jxl3i_gg_"
|
|
14
14
|
), /*__reshadow_css_end__*/
|
|
15
15
|
{
|
|
16
|
-
"__SPickerFormat": "
|
|
17
|
-
"_disabled": "
|
|
18
|
-
"_active": "
|
|
19
|
-
"_size_m": "
|
|
20
|
-
"__SPickerFormatText": "
|
|
21
|
-
"_size_l": "
|
|
16
|
+
"__SPickerFormat": "___SPickerFormat_jxl3i_gg_",
|
|
17
|
+
"_disabled": "__disabled_jxl3i_gg_",
|
|
18
|
+
"_active": "__active_jxl3i_gg_",
|
|
19
|
+
"_size_m": "_size_m_jxl3i_gg_",
|
|
20
|
+
"__SPickerFormatText": "___SPickerFormatText_jxl3i_gg_",
|
|
21
|
+
"_size_l": "_size_l_jxl3i_gg_"
|
|
22
22
|
})
|
|
23
23
|
);
|
|
24
24
|
class TimePickerFormat extends Component {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import { sstyled, Component, assignProps } from "@semcore/core";
|
|
3
3
|
import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
|
|
4
4
|
import Input from "@semcore/input";
|
|
@@ -9,14 +9,14 @@ const style = (
|
|
|
9
9
|
/*__reshadow_css_start__*/
|
|
10
10
|
(sstyled.insert(
|
|
11
11
|
/*__inner_css_start__*/
|
|
12
|
-
".
|
|
12
|
+
".___SPickerInput_1weh7_gg_._size_m_1weh7_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}.___SPickerInput_1weh7_gg_._size_l_1weh7_gg_{width:21px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}",
|
|
13
13
|
/*__inner_css_end__*/
|
|
14
|
-
"
|
|
14
|
+
"1weh7_gg_"
|
|
15
15
|
), /*__reshadow_css_end__*/
|
|
16
16
|
{
|
|
17
|
-
"__SPickerInput": "
|
|
18
|
-
"_size_m": "
|
|
19
|
-
"_size_l": "
|
|
17
|
+
"__SPickerInput": "___SPickerInput_1weh7_gg_",
|
|
18
|
+
"_size_m": "_size_m_1weh7_gg_",
|
|
19
|
+
"_size_l": "_size_l_1weh7_gg_"
|
|
20
20
|
})
|
|
21
21
|
);
|
|
22
22
|
function getOptions(minMax, step = 1) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/
|
|
2
|
-
import _applyDecs from "@babel/runtime/helpers/
|
|
3
|
-
import _identity from "@babel/runtime/helpers/
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _applyDecs from "@babel/runtime/helpers/applyDecs2311";
|
|
3
|
+
import _identity from "@babel/runtime/helpers/identity";
|
|
4
4
|
import { sstyled, Component, assignProps, createComponent } from "@semcore/core";
|
|
5
5
|
import { ScreenReaderOnly, Box } from "@semcore/base-components";
|
|
6
6
|
import propsObserver from "@semcore/core/lib/decorators/propsObserver";
|
|
@@ -19,16 +19,16 @@ const style = (
|
|
|
19
19
|
/*__reshadow_css_start__*/
|
|
20
20
|
(sstyled.insert(
|
|
21
21
|
/*__inner_css_start__*/
|
|
22
|
-
".
|
|
22
|
+
".___STimePicker_brn6k_gg_{position:relative;width:auto;outline:none}.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_{box-sizing:initial;text-align:center;z-index:1;height:1.5em}.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_.__placeholder_brn6k_gg_{text-overflow:clip}.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_:focus{outline:none;background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@media (color-gamut:p3){.___STimePicker_brn6k_gg_ .___SPickerInput_brn6k_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,color(display-p3 .12361 .30547 .96332/.116))}}}.___STimePicker_brn6k_gg_.__disabled_brn6k_gg_{color:var(--intergalactic-text-secondary,#00030095);cursor:default}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_brn6k_gg_.__disabled_brn6k_gg_{color:var(--intergalactic-text-secondary,#00030095)}@media (color-gamut:p3){.___STimePicker_brn6k_gg_.__disabled_brn6k_gg_{color:var(--intergalactic-text-secondary,color(display-p3 .00228 .01289 .00252/.583))}}}.___STimePickerSeparator_brn6k_gg_{color:var(--intergalactic-text-primary,#010500e5)}.___STimePickerSeparator_brn6k_gg_.__disabled_brn6k_gg_{opacity:var(--intergalactic-disabled-opacity,.4);pointer-events:none}",
|
|
23
23
|
/*__inner_css_end__*/
|
|
24
|
-
"
|
|
24
|
+
"brn6k_gg_"
|
|
25
25
|
), /*__reshadow_css_end__*/
|
|
26
26
|
{
|
|
27
|
-
"__STimePicker": "
|
|
28
|
-
"_disabled": "
|
|
29
|
-
"__STimePickerSeparator": "
|
|
30
|
-
"__SPickerInput": "
|
|
31
|
-
"_placeholder": "
|
|
27
|
+
"__STimePicker": "___STimePicker_brn6k_gg_",
|
|
28
|
+
"_disabled": "__disabled_brn6k_gg_",
|
|
29
|
+
"__STimePickerSeparator": "___STimePickerSeparator_brn6k_gg_",
|
|
30
|
+
"__SPickerInput": "___SPickerInput_brn6k_gg_",
|
|
31
|
+
"_placeholder": "__placeholder_brn6k_gg_"
|
|
32
32
|
})
|
|
33
33
|
);
|
|
34
34
|
_classDecs = [propsObserver(["value", "is12Hour"])];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
class TimePickerEntity {
|
|
3
3
|
constructor(value = ":", is12Hour = false) {
|
|
4
4
|
_defineProperty(this, "_hours", "");
|
|
@@ -47,10 +47,13 @@ class TimePickerEntity {
|
|
|
47
47
|
formatHoursTo24(hours) {
|
|
48
48
|
const numberHours = Number.parseInt(hours, 10);
|
|
49
49
|
if (Number.isNaN(numberHours)) return hours;
|
|
50
|
-
if (this.
|
|
51
|
-
|
|
50
|
+
if (this._is12Hour) {
|
|
51
|
+
if (this.meridiem === "AM") {
|
|
52
|
+
return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);
|
|
53
|
+
}
|
|
54
|
+
return this.withLeadingZero(numberHours < 12 ? numberHours + 12 : numberHours);
|
|
52
55
|
}
|
|
53
|
-
return this.withLeadingZero(numberHours
|
|
56
|
+
return this.withLeadingZero(numberHours);
|
|
54
57
|
}
|
|
55
58
|
toggleMeridiem() {
|
|
56
59
|
this.meridiem = this._meridiem === "AM" ? "PM" : "AM";
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import type { TimePickerComponent } from './TimePicker.type';
|
|
2
|
+
/**
|
|
3
|
+
* TimePicker
|
|
4
|
+
*
|
|
5
|
+
* {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-api/|API} | {@link https://developer.semrush.com/intergalactic/components/time-picker/time-picker-code/|Examples}
|
|
6
|
+
*/
|
|
2
7
|
declare const TimePicker: TimePickerComponent;
|
|
3
8
|
export default TimePicker;
|
|
@@ -19,6 +19,12 @@ export type TimePickerProps = Omit<InputProps, 'size'> & {
|
|
|
19
19
|
/** Specifies the locale for i18n support */
|
|
20
20
|
locale?: string;
|
|
21
21
|
};
|
|
22
|
+
export type TimePickerDefaultProps = {
|
|
23
|
+
defaultValue: '';
|
|
24
|
+
size: 'm';
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
locale: 'en';
|
|
27
|
+
};
|
|
22
28
|
export type TimePickerSeparatorProps = {
|
|
23
29
|
/** @Internal */
|
|
24
30
|
hoursInputRef: React.RefObject<HTMLElement>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/time-picker",
|
|
3
3
|
"description": "Semrush TimePicker Component",
|
|
4
|
-
"version": "17.
|
|
4
|
+
"version": "17.2.0-prerelease.3",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
"require": "./lib/cjs/index.js"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@semcore/button": "^17.
|
|
18
|
-
"@semcore/input": "^17.
|
|
19
|
-
"@semcore/select": "^17.
|
|
17
|
+
"@semcore/button": "^17.2.0-prerelease.3",
|
|
18
|
+
"@semcore/input": "^17.2.0-prerelease.3",
|
|
19
|
+
"@semcore/select": "^17.2.0-prerelease.3"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@semcore/base-components": "^17.0
|
|
22
|
+
"@semcore/base-components": "^17.2.0"
|
|
23
23
|
},
|
|
24
24
|
"repository": {
|
|
25
25
|
"type": "git",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"directory": "semcore/time-picker"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@semcore/core": "17.
|
|
31
|
-
"@semcore/
|
|
32
|
-
"@semcore/
|
|
30
|
+
"@semcore/core": "17.2.0-prerelease.3",
|
|
31
|
+
"@semcore/base-components": "17.2.0-prerelease.3",
|
|
32
|
+
"@semcore/testing-utils": "1.0.0"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
35
|
"build": "pnpm semcore-builder && pnpm vite build"
|