@semcore/time-picker 17.2.2-prerelease.1 → 17.2.3-prerelease.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 CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [17.2.3] - 2026-07-23
6
+
7
+ ### Fixed
8
+
9
+ - Incorrect initialization of the meridian.
10
+
5
11
  ## [17.2.2] - 2026-07-10
6
12
 
7
13
  ### Fixed
@@ -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__*/".___SPickerFormat_1heum_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,oklch(.98 .001 180))}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_{border:1px solid var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161));color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}@media (hover:hover){.___SPickerFormat_1heum_gg_:hover{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-hover,oklch(.96 .001 180))}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_:hover{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}}.___SPickerFormat_1heum_gg_.__active_1heum_gg_,.___SPickerFormat_1heum_gg_:active{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-active,oklch(.94 .002 180))}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_.__active_1heum_gg_,.___SPickerFormat_1heum_gg_:active{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SPickerFormat_1heum_gg_._size_m_1heum_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_1heum_gg_._size_m_1heum_gg_ .___SPickerFormatText_1heum_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_1heum_gg_._size_l_1heum_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 -1px 0 0}.___SPickerFormat_1heum_gg_._size_l_1heum_gg_ .___SPickerFormatText_1heum_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_1heum_gg_.__disabled_1heum_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_.__disabled_1heum_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161))}}", /*__inner_css_end__*/"1heum_gg_"),
14
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPickerFormat_mr1ud_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,oklch(.98 .001 180))}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_{border:1px solid var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161));color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}@media (hover:hover){.___SPickerFormat_mr1ud_gg_:hover{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-hover,oklch(.96 .001 180))}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_:hover{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}}.___SPickerFormat_mr1ud_gg_.__active_mr1ud_gg_,.___SPickerFormat_mr1ud_gg_:active{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-active,oklch(.94 .002 180))}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_.__active_mr1ud_gg_,.___SPickerFormat_mr1ud_gg_:active{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SPickerFormat_mr1ud_gg_._size_m_mr1ud_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_mr1ud_gg_._size_m_mr1ud_gg_ .___SPickerFormatText_mr1ud_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_mr1ud_gg_._size_l_mr1ud_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 -1px 0 0}.___SPickerFormat_mr1ud_gg_._size_l_mr1ud_gg_ .___SPickerFormatText_mr1ud_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_mr1ud_gg_.__disabled_mr1ud_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_.__disabled_mr1ud_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161))}}", /*__inner_css_end__*/"mr1ud_gg_"),
15
15
  /*__reshadow_css_end__*/
16
16
  {
17
- "__SPickerFormat": "___SPickerFormat_1heum_gg_",
18
- "_disabled": "__disabled_1heum_gg_",
19
- "_active": "__active_1heum_gg_",
20
- "_size_m": "_size_m_1heum_gg_",
21
- "__SPickerFormatText": "___SPickerFormatText_1heum_gg_",
22
- "_size_l": "_size_l_1heum_gg_"
17
+ "__SPickerFormat": "___SPickerFormat_mr1ud_gg_",
18
+ "_disabled": "__disabled_mr1ud_gg_",
19
+ "_active": "__active_mr1ud_gg_",
20
+ "_size_m": "_size_m_mr1ud_gg_",
21
+ "__SPickerFormatText": "___SPickerFormatText_mr1ud_gg_",
22
+ "_size_l": "_size_l_mr1ud_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__*/".___SPickerInput_15q7r_gg_._size_m_15q7r_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}.___SPickerInput_15q7r_gg_._size_l_15q7r_gg_{width:21px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}", /*__inner_css_end__*/"15q7r_gg_"),
15
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SPickerInput_jguwc_gg_._size_m_jguwc_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}.___SPickerInput_jguwc_gg_._size_l_jguwc_gg_{width:21px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}", /*__inner_css_end__*/"jguwc_gg_"),
16
16
  /*__reshadow_css_end__*/
17
17
  {
18
- "__SPickerInput": "___SPickerInput_15q7r_gg_",
19
- "_size_m": "_size_m_15q7r_gg_",
20
- "_size_l": "_size_l_15q7r_gg_"
18
+ "__SPickerInput": "___SPickerInput_jguwc_gg_",
19
+ "_size_m": "_size_m_jguwc_gg_",
20
+ "_size_l": "_size_l_jguwc_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__*/".___STimePicker_13rc0_gg_{position:relative;width:auto;outline:none}.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_{box-sizing:initial;text-align:center;z-index:1;height:1.5em}.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_.__placeholder_13rc0_gg_{text-overflow:clip}.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_:focus{outline:none;background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@media (color-gamut:p3){.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,oklch(.524 .266 263.1/.116))}}.___STimePicker_13rc0_gg_.__disabled_13rc0_gg_{color:var(--intergalactic-text-secondary,#00030095);cursor:default}@media (color-gamut:p3){.___STimePicker_13rc0_gg_.__disabled_13rc0_gg_{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___STimePickerSeparator_13rc0_gg_{color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899))}.___STimePickerSeparator_13rc0_gg_.__disabled_13rc0_gg_{opacity:var(--intergalactic-disabled-opacity,.4);pointer-events:none}", /*__inner_css_end__*/"13rc0_gg_"),
25
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___STimePicker_uu22n_gg_{position:relative;width:auto;outline:none}.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_{box-sizing:initial;text-align:center;z-index:1;height:1.5em}.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_.__placeholder_uu22n_gg_{text-overflow:clip}.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_:focus{outline:none;background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@media (color-gamut:p3){.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,oklch(.524 .266 263.1/.116))}}.___STimePicker_uu22n_gg_.__disabled_uu22n_gg_{color:var(--intergalactic-text-secondary,#00030095);cursor:default}@media (color-gamut:p3){.___STimePicker_uu22n_gg_.__disabled_uu22n_gg_{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___STimePickerSeparator_uu22n_gg_{color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899))}.___STimePickerSeparator_uu22n_gg_.__disabled_uu22n_gg_{opacity:var(--intergalactic-disabled-opacity,.4);pointer-events:none}", /*__inner_css_end__*/"uu22n_gg_"),
26
26
  /*__reshadow_css_end__*/
27
27
  {
28
- "__STimePicker": "___STimePicker_13rc0_gg_",
29
- "_disabled": "__disabled_13rc0_gg_",
30
- "__STimePickerSeparator": "___STimePickerSeparator_13rc0_gg_",
31
- "__SPickerInput": "___SPickerInput_13rc0_gg_",
32
- "_placeholder": "__placeholder_13rc0_gg_"
28
+ "__STimePicker": "___STimePicker_uu22n_gg_",
29
+ "_disabled": "__disabled_uu22n_gg_",
30
+ "__STimePickerSeparator": "___STimePickerSeparator_uu22n_gg_",
31
+ "__SPickerInput": "___SPickerInput_uu22n_gg_",
32
+ "_placeholder": "__placeholder_uu22n_gg_"
33
33
  });
34
34
  _classDecs = [(0, _propsObserver.default)(['value', 'is12Hour'])];
35
35
  let _TimePickerRoot;
@@ -106,6 +106,7 @@ new (_TimePickerRoot2 = (_ref5 = (_entityDecs = (0, _reactive.default)(['meridie
106
106
  } = changedProps;
107
107
  if (value !== undefined) {
108
108
  const [hours = '', minutes = ''] = value.split(':');
109
+ this.entity.setMeridiemFromHours(hours);
109
110
  this.entity.hours = hours;
110
111
  this.entity.minutes = minutes;
111
112
  }
@@ -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","state","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","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, state } = this.asProps;\n\n return {\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n state,\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}`} readOnly />\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
+ {"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","state","asProps","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","getCommonPickerInputProps","time","hours","getI18nText","ref","minutes","componentDidMount","id","ariaDescribedBy","selector","element","document","querySelector","setState","textContent","onPropsChange","changedProps","undefined","split","setMeridiemFromHours","uncontrolledProps","getSeparatorProps","getFormatProps","meridiem","onClick","handleMeridiemClick","render","_ref","_ref3","STimePicker","Input","styles","Children","label","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.setMeridiemFromHours(hours);\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, state } = this.asProps;\n\n return {\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n state,\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}`} readOnly />\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":[]}
@@ -12,12 +12,13 @@ class TimePickerEntity {
12
12
  is12Hour = false) {
13
13
  (0, _defineProperty2.default)(this, "_hours", '');
14
14
  (0, _defineProperty2.default)(this, "_minutes", '');
15
- (0, _defineProperty2.default)(this, "_is12Hour", void 0);
15
+ (0, _defineProperty2.default)(this, "_is12Hour", false);
16
16
  (0, _defineProperty2.default)(this, "_meridiem", 'AM');
17
17
  const [hours = '', minutes = ''] = value.split(':');
18
18
  this._is12Hour = is12Hour;
19
19
  this._hours = hours;
20
20
  this._minutes = minutes;
21
+ this._meridiem = this.meridiemFromHours(hours);
21
22
  }
22
23
  get meridiem() {
23
24
  return this._meridiem;
@@ -71,6 +72,14 @@ class TimePickerEntity {
71
72
  const hours = this._is12Hour ? this.formatHoursTo24(this.hours) : this.hours;
72
73
  return `${hours}:${this.minutes}`;
73
74
  }
75
+ setMeridiemFromHours(hours) {
76
+ this._meridiem = this.meridiemFromHours(hours);
77
+ }
78
+ meridiemFromHours(hours) {
79
+ const numberHours = Number.parseInt(hours, 10);
80
+ if (Number.isNaN(numberHours)) return 'AM';
81
+ return numberHours < 12 ? 'AM' : 'PM';
82
+ }
74
83
  }
75
84
  var _default = exports.default = TimePickerEntity;
76
85
  //# sourceMappingURL=TimePickerEntity.js.map
@@ -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._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
+ {"version":3,"file":"TimePickerEntity.js","names":["TimePickerEntity","constructor","value","is12Hour","_defineProperty2","default","hours","minutes","split","_is12Hour","_hours","_minutes","_meridiem","meridiemFromHours","meridiem","formatHoursTo12","formatHoursTo24","withLeadingZero","newIs12Hour","newHours","newMinutes","newMeridiem","String","padStart","numberHours","Number","parseInt","isNaN","toggleMeridiem","toString","setMeridiemFromHours","_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 = false;\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 this._meridiem = this.meridiemFromHours(hours);\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 setMeridiemFromHours(hours: string): void {\n this._meridiem = this.meridiemFromHours(hours);\n }\n\n private meridiemFromHours(hours: string): TimePickerMeridiem {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return 'AM';\n\n return numberHours < 12 ? 'AM' : 'PM';\n }\n}\n\nexport default TimePickerEntity;\n"],"mappings":"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","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__*/".___SPickerFormat_1heum_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,oklch(.98 .001 180))}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_{border:1px solid var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161));color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}@media (hover:hover){.___SPickerFormat_1heum_gg_:hover{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-hover,oklch(.96 .001 180))}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_:hover{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}}.___SPickerFormat_1heum_gg_.__active_1heum_gg_,.___SPickerFormat_1heum_gg_:active{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-active,oklch(.94 .002 180))}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_.__active_1heum_gg_,.___SPickerFormat_1heum_gg_:active{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SPickerFormat_1heum_gg_._size_m_1heum_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_1heum_gg_._size_m_1heum_gg_ .___SPickerFormatText_1heum_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_1heum_gg_._size_l_1heum_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 -1px 0 0}.___SPickerFormat_1heum_gg_._size_l_1heum_gg_ .___SPickerFormatText_1heum_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_1heum_gg_.__disabled_1heum_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_.__disabled_1heum_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161))}}", /*__inner_css_end__*/"1heum_gg_"),
9
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPickerFormat_mr1ud_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,oklch(.98 .001 180))}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_{border:1px solid var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161));color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}@media (hover:hover){.___SPickerFormat_mr1ud_gg_:hover{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-hover,oklch(.96 .001 180))}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_:hover{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}}.___SPickerFormat_mr1ud_gg_.__active_mr1ud_gg_,.___SPickerFormat_mr1ud_gg_:active{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-active,oklch(.94 .002 180))}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_.__active_mr1ud_gg_,.___SPickerFormat_mr1ud_gg_:active{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SPickerFormat_mr1ud_gg_._size_m_mr1ud_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_mr1ud_gg_._size_m_mr1ud_gg_ .___SPickerFormatText_mr1ud_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_mr1ud_gg_._size_l_mr1ud_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 -1px 0 0}.___SPickerFormat_mr1ud_gg_._size_l_mr1ud_gg_ .___SPickerFormatText_mr1ud_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_mr1ud_gg_.__disabled_mr1ud_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_.__disabled_mr1ud_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161))}}", /*__inner_css_end__*/"mr1ud_gg_"),
10
10
  /*__reshadow_css_end__*/
11
11
  {
12
- "__SPickerFormat": "___SPickerFormat_1heum_gg_",
13
- "_disabled": "__disabled_1heum_gg_",
14
- "_active": "__active_1heum_gg_",
15
- "_size_m": "_size_m_1heum_gg_",
16
- "__SPickerFormatText": "___SPickerFormatText_1heum_gg_",
17
- "_size_l": "_size_l_1heum_gg_"
12
+ "__SPickerFormat": "___SPickerFormat_mr1ud_gg_",
13
+ "_disabled": "__disabled_mr1ud_gg_",
14
+ "_active": "__active_mr1ud_gg_",
15
+ "_size_m": "_size_m_mr1ud_gg_",
16
+ "__SPickerFormatText": "___SPickerFormatText_mr1ud_gg_",
17
+ "_size_l": "_size_l_mr1ud_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__*/".___SPickerInput_15q7r_gg_._size_m_15q7r_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}.___SPickerInput_15q7r_gg_._size_l_15q7r_gg_{width:21px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}", /*__inner_css_end__*/"15q7r_gg_"),
10
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPickerInput_jguwc_gg_._size_m_jguwc_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}.___SPickerInput_jguwc_gg_._size_l_jguwc_gg_{width:21px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}", /*__inner_css_end__*/"jguwc_gg_"),
11
11
  /*__reshadow_css_end__*/
12
12
  {
13
- "__SPickerInput": "___SPickerInput_15q7r_gg_",
14
- "_size_m": "_size_m_15q7r_gg_",
15
- "_size_l": "_size_l_15q7r_gg_"
13
+ "__SPickerInput": "___SPickerInput_jguwc_gg_",
14
+ "_size_m": "_size_m_jguwc_gg_",
15
+ "_size_l": "_size_l_jguwc_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__*/".___STimePicker_13rc0_gg_{position:relative;width:auto;outline:none}.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_{box-sizing:initial;text-align:center;z-index:1;height:1.5em}.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_.__placeholder_13rc0_gg_{text-overflow:clip}.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_:focus{outline:none;background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@media (color-gamut:p3){.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,oklch(.524 .266 263.1/.116))}}.___STimePicker_13rc0_gg_.__disabled_13rc0_gg_{color:var(--intergalactic-text-secondary,#00030095);cursor:default}@media (color-gamut:p3){.___STimePicker_13rc0_gg_.__disabled_13rc0_gg_{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___STimePickerSeparator_13rc0_gg_{color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899))}.___STimePickerSeparator_13rc0_gg_.__disabled_13rc0_gg_{opacity:var(--intergalactic-disabled-opacity,.4);pointer-events:none}", /*__inner_css_end__*/"13rc0_gg_"),
17
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___STimePicker_uu22n_gg_{position:relative;width:auto;outline:none}.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_{box-sizing:initial;text-align:center;z-index:1;height:1.5em}.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_.__placeholder_uu22n_gg_{text-overflow:clip}.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_:focus{outline:none;background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@media (color-gamut:p3){.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,oklch(.524 .266 263.1/.116))}}.___STimePicker_uu22n_gg_.__disabled_uu22n_gg_{color:var(--intergalactic-text-secondary,#00030095);cursor:default}@media (color-gamut:p3){.___STimePicker_uu22n_gg_.__disabled_uu22n_gg_{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___STimePickerSeparator_uu22n_gg_{color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899))}.___STimePickerSeparator_uu22n_gg_.__disabled_uu22n_gg_{opacity:var(--intergalactic-disabled-opacity,.4);pointer-events:none}", /*__inner_css_end__*/"uu22n_gg_"),
18
18
  /*__reshadow_css_end__*/
19
19
  {
20
- "__STimePicker": "___STimePicker_13rc0_gg_",
21
- "_disabled": "__disabled_13rc0_gg_",
22
- "__STimePickerSeparator": "___STimePickerSeparator_13rc0_gg_",
23
- "__SPickerInput": "___SPickerInput_13rc0_gg_",
24
- "_placeholder": "__placeholder_13rc0_gg_"
20
+ "__STimePicker": "___STimePicker_uu22n_gg_",
21
+ "_disabled": "__disabled_uu22n_gg_",
22
+ "__STimePickerSeparator": "___STimePickerSeparator_uu22n_gg_",
23
+ "__SPickerInput": "___SPickerInput_uu22n_gg_",
24
+ "_placeholder": "__placeholder_uu22n_gg_"
25
25
  });
26
26
  import TimePickerEntity from '../../entity/TimePickerEntity';
27
27
  import { localizedMessages } from '../../translations/__intergalactic-dynamic-locales';
@@ -102,6 +102,7 @@ new (_TimePickerRoot2 = (_ref5 = (_entityDecs = reactive(['meridiem'], function
102
102
  } = changedProps;
103
103
  if (value !== undefined) {
104
104
  const [hours = '', minutes = ''] = value.split(':');
105
+ this.entity.setMeridiemFromHours(hours);
105
106
  this.entity.hours = hours;
106
107
  this.entity.minutes = minutes;
107
108
  }
@@ -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","state","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","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, state } = this.asProps;\n\n return {\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n state,\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}`} readOnly />\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
+ {"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","state","asProps","$onValueChange","handleValueChange","minutesInputRef","hoursInputRef","getCommonPickerInputProps","time","hours","getI18nText","ref","minutes","componentDidMount","id","ariaDescribedBy","selector","element","document","querySelector","setState","textContent","onPropsChange","changedProps","undefined","split","setMeridiemFromHours","uncontrolledProps","getSeparatorProps","getFormatProps","meridiem","onClick","handleMeridiemClick","render","_ref","_ref3","STimePicker","styles","Children","label","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.setMeridiemFromHours(hours);\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, state } = this.asProps;\n\n return {\n size,\n is12Hour,\n disabled,\n $onValueChange: this.handleValueChange,\n minutesInputRef: this.minutesInputRef,\n hoursInputRef: this.hoursInputRef,\n state,\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}`} readOnly />\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":[]}
@@ -5,12 +5,13 @@ class TimePickerEntity {
5
5
  is12Hour = false) {
6
6
  _defineProperty(this, "_hours", '');
7
7
  _defineProperty(this, "_minutes", '');
8
- _defineProperty(this, "_is12Hour", void 0);
8
+ _defineProperty(this, "_is12Hour", false);
9
9
  _defineProperty(this, "_meridiem", 'AM');
10
10
  const [hours = '', minutes = ''] = value.split(':');
11
11
  this._is12Hour = is12Hour;
12
12
  this._hours = hours;
13
13
  this._minutes = minutes;
14
+ this._meridiem = this.meridiemFromHours(hours);
14
15
  }
15
16
  get meridiem() {
16
17
  return this._meridiem;
@@ -64,6 +65,14 @@ class TimePickerEntity {
64
65
  const hours = this._is12Hour ? this.formatHoursTo24(this.hours) : this.hours;
65
66
  return `${hours}:${this.minutes}`;
66
67
  }
68
+ setMeridiemFromHours(hours) {
69
+ this._meridiem = this.meridiemFromHours(hours);
70
+ }
71
+ meridiemFromHours(hours) {
72
+ const numberHours = Number.parseInt(hours, 10);
73
+ if (Number.isNaN(numberHours)) return 'AM';
74
+ return numberHours < 12 ? 'AM' : 'PM';
75
+ }
67
76
  }
68
77
  export default TimePickerEntity;
69
78
  //# sourceMappingURL=TimePickerEntity.js.map
@@ -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._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
+ {"version":3,"file":"TimePickerEntity.js","names":["TimePickerEntity","constructor","value","is12Hour","_defineProperty","hours","minutes","split","_is12Hour","_hours","_minutes","_meridiem","meridiemFromHours","meridiem","formatHoursTo12","formatHoursTo24","withLeadingZero","newIs12Hour","newHours","newMinutes","newMeridiem","String","padStart","numberHours","Number","parseInt","isNaN","toggleMeridiem","toString","setMeridiemFromHours"],"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 = false;\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 this._meridiem = this.meridiemFromHours(hours);\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 setMeridiemFromHours(hours: string): void {\n this._meridiem = this.meridiemFromHours(hours);\n }\n\n private meridiemFromHours(hours: string): TimePickerMeridiem {\n const numberHours = Number.parseInt(hours, 10);\n\n if (Number.isNaN(numberHours)) return 'AM';\n\n return numberHours < 12 ? 'AM' : 'PM';\n }\n}\n\nexport default TimePickerEntity;\n"],"mappings":"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","ignoreList":[]}
@@ -8,17 +8,17 @@ const style = (
8
8
  /*__reshadow_css_start__*/
9
9
  (sstyled.insert(
10
10
  /*__inner_css_start__*/
11
- ".___SPickerFormat_1heum_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,oklch(.98 .001 180))}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_{border:1px solid var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161));color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}@media (hover:hover){.___SPickerFormat_1heum_gg_:hover{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-hover,oklch(.96 .001 180))}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_:hover{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}}.___SPickerFormat_1heum_gg_.__active_1heum_gg_,.___SPickerFormat_1heum_gg_:active{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-active,oklch(.94 .002 180))}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_.__active_1heum_gg_,.___SPickerFormat_1heum_gg_:active{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SPickerFormat_1heum_gg_._size_m_1heum_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_1heum_gg_._size_m_1heum_gg_ .___SPickerFormatText_1heum_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_1heum_gg_._size_l_1heum_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 -1px 0 0}.___SPickerFormat_1heum_gg_._size_l_1heum_gg_ .___SPickerFormatText_1heum_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_1heum_gg_.__disabled_1heum_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPickerFormat_1heum_gg_.__disabled_1heum_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161))}}",
11
+ ".___SPickerFormat_mr1ud_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,oklch(.98 .001 180))}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_{border:1px solid var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161));color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}@media (hover:hover){.___SPickerFormat_mr1ud_gg_:hover{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-hover,oklch(.96 .001 180))}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_:hover{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}}.___SPickerFormat_mr1ud_gg_.__active_mr1ud_gg_,.___SPickerFormat_mr1ud_gg_:active{color:var(--intergalactic-text-secondary,#00030095);background-color:var(--intergalactic-bg-secondary-neutral-active,oklch(.94 .002 180))}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_.__active_mr1ud_gg_,.___SPickerFormat_mr1ud_gg_:active{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___SPickerFormat_mr1ud_gg_._size_m_mr1ud_gg_{height:var(--intergalactic-form-control-m,28px);font-size:var(--intergalactic-fs-200,14px);margin:0 -1px 0 0}.___SPickerFormat_mr1ud_gg_._size_m_mr1ud_gg_ .___SPickerFormatText_mr1ud_gg_{margin:0 var(--intergalactic-spacing-2x,8px)}.___SPickerFormat_mr1ud_gg_._size_l_mr1ud_gg_{height:var(--intergalactic-form-control-l,40px);font-size:var(--intergalactic-fs-300,16px);margin:0 -1px 0 0}.___SPickerFormat_mr1ud_gg_._size_l_mr1ud_gg_ .___SPickerFormatText_mr1ud_gg_{margin:0 var(--intergalactic-spacing-3x,12px)}.___SPickerFormat_mr1ud_gg_.__disabled_mr1ud_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SPickerFormat_mr1ud_gg_.__disabled_mr1ud_gg_{border-color:#0000 #0000 #0000 var(--intergalactic-border-primary,oklch(.137 .026 175.7/.161))}}",
12
12
  /*__inner_css_end__*/
13
- "1heum_gg_"
13
+ "mr1ud_gg_"
14
14
  ), /*__reshadow_css_end__*/
15
15
  {
16
- "__SPickerFormat": "___SPickerFormat_1heum_gg_",
17
- "_disabled": "__disabled_1heum_gg_",
18
- "_active": "__active_1heum_gg_",
19
- "_size_m": "_size_m_1heum_gg_",
20
- "__SPickerFormatText": "___SPickerFormatText_1heum_gg_",
21
- "_size_l": "_size_l_1heum_gg_"
16
+ "__SPickerFormat": "___SPickerFormat_mr1ud_gg_",
17
+ "_disabled": "__disabled_mr1ud_gg_",
18
+ "_active": "__active_mr1ud_gg_",
19
+ "_size_m": "_size_m_mr1ud_gg_",
20
+ "__SPickerFormatText": "___SPickerFormatText_mr1ud_gg_",
21
+ "_size_l": "_size_l_mr1ud_gg_"
22
22
  })
23
23
  );
24
24
  class TimePickerFormat extends Component {
@@ -9,14 +9,14 @@ const style = (
9
9
  /*__reshadow_css_start__*/
10
10
  (sstyled.insert(
11
11
  /*__inner_css_start__*/
12
- ".___SPickerInput_15q7r_gg_._size_m_15q7r_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}.___SPickerInput_15q7r_gg_._size_l_15q7r_gg_{width:21px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}",
12
+ ".___SPickerInput_jguwc_gg_._size_m_jguwc_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}.___SPickerInput_jguwc_gg_._size_l_jguwc_gg_{width:21px;margin:0 var(--intergalactic-spacing-2x,8px);padding:0}",
13
13
  /*__inner_css_end__*/
14
- "15q7r_gg_"
14
+ "jguwc_gg_"
15
15
  ), /*__reshadow_css_end__*/
16
16
  {
17
- "__SPickerInput": "___SPickerInput_15q7r_gg_",
18
- "_size_m": "_size_m_15q7r_gg_",
19
- "_size_l": "_size_l_15q7r_gg_"
17
+ "__SPickerInput": "___SPickerInput_jguwc_gg_",
18
+ "_size_m": "_size_m_jguwc_gg_",
19
+ "_size_l": "_size_l_jguwc_gg_"
20
20
  })
21
21
  );
22
22
  function getOptions(minMax, step = 1) {
@@ -19,16 +19,16 @@ const style = (
19
19
  /*__reshadow_css_start__*/
20
20
  (sstyled.insert(
21
21
  /*__inner_css_start__*/
22
- ".___STimePicker_13rc0_gg_{position:relative;width:auto;outline:none}.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_{box-sizing:initial;text-align:center;z-index:1;height:1.5em}.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_.__placeholder_13rc0_gg_{text-overflow:clip}.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_:focus{outline:none;background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@media (color-gamut:p3){.___STimePicker_13rc0_gg_ .___SPickerInput_13rc0_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,oklch(.524 .266 263.1/.116))}}.___STimePicker_13rc0_gg_.__disabled_13rc0_gg_{color:var(--intergalactic-text-secondary,#00030095);cursor:default}@media (color-gamut:p3){.___STimePicker_13rc0_gg_.__disabled_13rc0_gg_{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___STimePickerSeparator_13rc0_gg_{color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899))}.___STimePickerSeparator_13rc0_gg_.__disabled_13rc0_gg_{opacity:var(--intergalactic-disabled-opacity,.4);pointer-events:none}",
22
+ ".___STimePicker_uu22n_gg_{position:relative;width:auto;outline:none}.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_{box-sizing:initial;text-align:center;z-index:1;height:1.5em}.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_.__placeholder_uu22n_gg_{text-overflow:clip}.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_:focus{outline:none;background-color:var(--intergalactic-bg-highlight-focus,#014fff1e)}@media (color-gamut:p3){.___STimePicker_uu22n_gg_ .___SPickerInput_uu22n_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus,oklch(.524 .266 263.1/.116))}}.___STimePicker_uu22n_gg_.__disabled_uu22n_gg_{color:var(--intergalactic-text-secondary,#00030095);cursor:default}@media (color-gamut:p3){.___STimePicker_uu22n_gg_.__disabled_uu22n_gg_{color:var(--intergalactic-text-secondary,oklch(.088 .026 147.7/.583))}}.___STimePickerSeparator_uu22n_gg_{color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899))}.___STimePickerSeparator_uu22n_gg_.__disabled_uu22n_gg_{opacity:var(--intergalactic-disabled-opacity,.4);pointer-events:none}",
23
23
  /*__inner_css_end__*/
24
- "13rc0_gg_"
24
+ "uu22n_gg_"
25
25
  ), /*__reshadow_css_end__*/
26
26
  {
27
- "__STimePicker": "___STimePicker_13rc0_gg_",
28
- "_disabled": "__disabled_13rc0_gg_",
29
- "__STimePickerSeparator": "___STimePickerSeparator_13rc0_gg_",
30
- "__SPickerInput": "___SPickerInput_13rc0_gg_",
31
- "_placeholder": "__placeholder_13rc0_gg_"
27
+ "__STimePicker": "___STimePicker_uu22n_gg_",
28
+ "_disabled": "__disabled_uu22n_gg_",
29
+ "__STimePickerSeparator": "___STimePickerSeparator_uu22n_gg_",
30
+ "__SPickerInput": "___SPickerInput_uu22n_gg_",
31
+ "_placeholder": "__placeholder_uu22n_gg_"
32
32
  })
33
33
  );
34
34
  _classDecs = [propsObserver(["value", "is12Hour"])];
@@ -106,6 +106,7 @@ new (_TimePickerRoot2 = (_ref5 = (_entityDecs = reactive(["meridiem"], function(
106
106
  } = changedProps;
107
107
  if (value !== void 0) {
108
108
  const [hours = "", minutes = ""] = value.split(":");
109
+ this.entity.setMeridiemFromHours(hours);
109
110
  this.entity.hours = hours;
110
111
  this.entity.minutes = minutes;
111
112
  }
@@ -3,12 +3,13 @@ class TimePickerEntity {
3
3
  constructor(value = ":", is12Hour = false) {
4
4
  _defineProperty(this, "_hours", "");
5
5
  _defineProperty(this, "_minutes", "");
6
- _defineProperty(this, "_is12Hour", void 0);
6
+ _defineProperty(this, "_is12Hour", false);
7
7
  _defineProperty(this, "_meridiem", "AM");
8
8
  const [hours = "", minutes = ""] = value.split(":");
9
9
  this._is12Hour = is12Hour;
10
10
  this._hours = hours;
11
11
  this._minutes = minutes;
12
+ this._meridiem = this.meridiemFromHours(hours);
12
13
  }
13
14
  get meridiem() {
14
15
  return this._meridiem;
@@ -62,6 +63,14 @@ class TimePickerEntity {
62
63
  const hours = this._is12Hour ? this.formatHoursTo24(this.hours) : this.hours;
63
64
  return `${hours}:${this.minutes}`;
64
65
  }
66
+ setMeridiemFromHours(hours) {
67
+ this._meridiem = this.meridiemFromHours(hours);
68
+ }
69
+ meridiemFromHours(hours) {
70
+ const numberHours = Number.parseInt(hours, 10);
71
+ if (Number.isNaN(numberHours)) return "AM";
72
+ return numberHours < 12 ? "AM" : "PM";
73
+ }
65
74
  }
66
75
  export {
67
76
  TimePickerEntity as default
@@ -18,5 +18,7 @@ declare class TimePickerEntity {
18
18
  private formatHoursTo24;
19
19
  toggleMeridiem(): void;
20
20
  toString(): string;
21
+ setMeridiemFromHours(hours: string): void;
22
+ private meridiemFromHours;
21
23
  }
22
24
  export default TimePickerEntity;
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.2.2-prerelease.1",
4
+ "version": "17.2.3-prerelease.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -15,8 +15,8 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@semcore/button": "^17.2.1",
18
- "@semcore/input": "^17.2.2-prerelease.1",
19
- "@semcore/select": "^17.4.0-prerelease.1"
18
+ "@semcore/input": "^17.2.2",
19
+ "@semcore/select": "^17.4.1-prerelease.0"
20
20
  },
21
21
  "peerDependencies": {
22
22
  "@semcore/base-components": "^17.2.1"