@semcore/time-picker 17.1.0 → 17.2.0-prerelease.5

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,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__*/".___SPickerFormat_1r1ab_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, rgba(0, 12, 8, 0.161));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, rgba(0, 3, 0, 0.583));background-color:var(--intergalactic-bg-secondary-neutral, rgb(248, 249, 248))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_{border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161));color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_{border:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161));color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}@media (hover:hover){.___SPickerFormat_1r1ab_gg_:hover{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));background-color:var(--intergalactic-bg-secondary-neutral-hover, rgb(241, 242, 242))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_:hover{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_:hover{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}}.___SPickerFormat_1r1ab_gg_.__active_1r1ab_gg_,.___SPickerFormat_1r1ab_gg_:active{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));background-color:var(--intergalactic-bg-secondary-neutral-active, rgb(234, 235, 235))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_.__active_1r1ab_gg_,.___SPickerFormat_1r1ab_gg_:active{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_.__active_1r1ab_gg_,.___SPickerFormat_1r1ab_gg_:active{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___SPickerFormat_1r1ab_gg_._size_m_1r1ab_gg_{height:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px);margin:0-1px 0 0}.___SPickerFormat_1r1ab_gg_._size_m_1r1ab_gg_ .___SPickerFormatText_1r1ab_gg_{margin:0 var(--intergalactic-spacing-2x, 8px)}.___SPickerFormat_1r1ab_gg_._size_l_1r1ab_gg_{height:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px);margin:0-1px 0 0}.___SPickerFormat_1r1ab_gg_._size_l_1r1ab_gg_ .___SPickerFormatText_1r1ab_gg_{margin:0 var(--intergalactic-spacing-3x, 12px)}.___SPickerFormat_1r1ab_gg_.__disabled_1r1ab_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_.__disabled_1r1ab_gg_{border-color:transparent transparent transparent var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_.__disabled_1r1ab_gg_{border-color:transparent transparent transparent var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}", /*__inner_css_end__*/"1r1ab_gg_"),
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": "___SPickerFormat_1r1ab_gg_",
18
- "_disabled": "__disabled_1r1ab_gg_",
19
- "_active": "__active_1r1ab_gg_",
20
- "_size_m": "_size_m_1r1ab_gg_",
21
- "__SPickerFormatText": "___SPickerFormatText_1r1ab_gg_",
22
- "_size_l": "_size_l_1r1ab_gg_"
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__*/".___SPickerInput_1rcax_gg_._size_l_1rcax_gg_,.___SPickerInput_1rcax_gg_._size_m_1rcax_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x, 8px);padding:0}.___SPickerInput_1rcax_gg_._size_l_1rcax_gg_{width:21px}", /*__inner_css_end__*/"1rcax_gg_"),
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": "___SPickerInput_1rcax_gg_",
19
- "_size_m": "_size_m_1rcax_gg_",
20
- "_size_l": "_size_l_1rcax_gg_"
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__*/".___STimePicker_14mny_gg_{position:relative;width:auto;outline:0}.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_{box-sizing:content-box;text-align:center;z-index:1;height:1.5em}.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_.__placeholder_14mny_gg_{text-overflow:initial}.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_:focus{outline:0;background-color:var(--intergalactic-bg-highlight-focus, rgba(1, 79, 255, 0.116))}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, rgba(1, 79, 255, 0.116))}@media (color-gamut:p3){.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, color(display-p3 0.12361 0.30547 0.96332 / 0.116))}}}.___STimePicker_14mny_gg_.__disabled_14mny_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));cursor:default}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_14mny_gg_.__disabled_14mny_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___STimePicker_14mny_gg_.__disabled_14mny_gg_{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___STimePickerSeparator_14mny_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899))}.___STimePickerSeparator_14mny_gg_.__disabled_14mny_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);pointer-events:none}", /*__inner_css_end__*/"14mny_gg_"),
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": "___STimePicker_14mny_gg_",
29
- "_disabled": "__disabled_14mny_gg_",
30
- "__STimePickerSeparator": "___STimePickerSeparator_14mny_gg_",
31
- "__SPickerInput": "___SPickerInput_14mny_gg_",
32
- "_placeholder": "__placeholder_14mny_gg_"
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.meridiem === 'AM') {
60
- return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);
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 < 12 ? numberHours + 12 : 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 return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);\n }\n\n return this.withLeadingZero(numberHours < 12 ? numberHours + 12 : 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","_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":[]}
@@ -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_1r1ab_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, rgba(0, 12, 8, 0.161));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, rgba(0, 3, 0, 0.583));background-color:var(--intergalactic-bg-secondary-neutral, rgb(248, 249, 248))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_{border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161));color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_{border:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161));color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}@media (hover:hover){.___SPickerFormat_1r1ab_gg_:hover{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));background-color:var(--intergalactic-bg-secondary-neutral-hover, rgb(241, 242, 242))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_:hover{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_:hover{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}}.___SPickerFormat_1r1ab_gg_.__active_1r1ab_gg_,.___SPickerFormat_1r1ab_gg_:active{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));background-color:var(--intergalactic-bg-secondary-neutral-active, rgb(234, 235, 235))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_.__active_1r1ab_gg_,.___SPickerFormat_1r1ab_gg_:active{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_.__active_1r1ab_gg_,.___SPickerFormat_1r1ab_gg_:active{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___SPickerFormat_1r1ab_gg_._size_m_1r1ab_gg_{height:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px);margin:0-1px 0 0}.___SPickerFormat_1r1ab_gg_._size_m_1r1ab_gg_ .___SPickerFormatText_1r1ab_gg_{margin:0 var(--intergalactic-spacing-2x, 8px)}.___SPickerFormat_1r1ab_gg_._size_l_1r1ab_gg_{height:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px);margin:0-1px 0 0}.___SPickerFormat_1r1ab_gg_._size_l_1r1ab_gg_ .___SPickerFormatText_1r1ab_gg_{margin:0 var(--intergalactic-spacing-3x, 12px)}.___SPickerFormat_1r1ab_gg_.__disabled_1r1ab_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_.__disabled_1r1ab_gg_{border-color:transparent transparent transparent var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_.__disabled_1r1ab_gg_{border-color:transparent transparent transparent var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}", /*__inner_css_end__*/"1r1ab_gg_"),
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": "___SPickerFormat_1r1ab_gg_",
13
- "_disabled": "__disabled_1r1ab_gg_",
14
- "_active": "__active_1r1ab_gg_",
15
- "_size_m": "_size_m_1r1ab_gg_",
16
- "__SPickerFormatText": "___SPickerFormatText_1r1ab_gg_",
17
- "_size_l": "_size_l_1r1ab_gg_"
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__*/".___SPickerInput_1rcax_gg_._size_l_1rcax_gg_,.___SPickerInput_1rcax_gg_._size_m_1rcax_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x, 8px);padding:0}.___SPickerInput_1rcax_gg_._size_l_1rcax_gg_{width:21px}", /*__inner_css_end__*/"1rcax_gg_"),
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": "___SPickerInput_1rcax_gg_",
14
- "_size_m": "_size_m_1rcax_gg_",
15
- "_size_l": "_size_l_1rcax_gg_"
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__*/".___STimePicker_14mny_gg_{position:relative;width:auto;outline:0}.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_{box-sizing:content-box;text-align:center;z-index:1;height:1.5em}.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_.__placeholder_14mny_gg_{text-overflow:initial}.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_:focus{outline:0;background-color:var(--intergalactic-bg-highlight-focus, rgba(1, 79, 255, 0.116))}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, rgba(1, 79, 255, 0.116))}@media (color-gamut:p3){.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, color(display-p3 0.12361 0.30547 0.96332 / 0.116))}}}.___STimePicker_14mny_gg_.__disabled_14mny_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));cursor:default}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_14mny_gg_.__disabled_14mny_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___STimePicker_14mny_gg_.__disabled_14mny_gg_{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___STimePickerSeparator_14mny_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899))}.___STimePickerSeparator_14mny_gg_.__disabled_14mny_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);pointer-events:none}", /*__inner_css_end__*/"14mny_gg_"),
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": "___STimePicker_14mny_gg_",
21
- "_disabled": "__disabled_14mny_gg_",
22
- "__STimePickerSeparator": "___STimePickerSeparator_14mny_gg_",
23
- "__SPickerInput": "___SPickerInput_14mny_gg_",
24
- "_placeholder": "__placeholder_14mny_gg_"
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":";;;;;;;;AAAA,SAASA,GAAG,EAAEC,gBAAgB,QAAQ,0BAA0B;AAChE,SAASC,eAAe,EAAEC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,eAAe;AACzE,OAAOC,aAAa,MAAM,4CAA4C;AACtE,OAAOC,QAAQ,MAAM,uCAAuC;AAC5D,OAAOC,WAAW,MAAM,8CAA8C;AACtE,OAAOC,KAAK,MAAM,gBAAgB;AAClC,OAAOC,KAAK,MAAM,OAAO;AAAC;AAAA,MAAAC,KAAA,8BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAU1B,OAAOC,gBAAgB,MAAM,+BAA+B;AAC5D,SAASC,iBAAiB,QAAQ,oDAAoD;AACtF,OAAOC,MAAM,MAAM,8BAA8B;AACjD,SAASC,KAAK,EAAEC,OAAO,QAAQ,4BAA4B;AAACC,UAAA,IAE3Db,aAAa,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAAA,IAAAc,eAAA;AAAA,KAAAC,gBAAA,IAAAC,KAAA,IAAAC,WAAA,GA6ClChB,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,YAAY;EAClC,IAAI,CAACiB,WAAW,CAAC,CAAC;AACpB,CAAC,CAAC,oBAAAC,gBAAA,GA/CJ,MAAAC,cAAA,SAC6BvB,SAAS,CAOlC;EAAAwB,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,OAAAP,KAAA,eAmBcZ,KAAK,CAACoB,SAAS,CAAc,CAAC;IAAAD,eAAA,uCAC5BnB,KAAK,CAACoB,SAAS,CAAc,CAAC;IAAAD,eAAA,gBAExC;MACNE,SAAS,EAAE;IACb,CAAC;IAAAF,eAAA,iBAAAG,YAAA,OAgBiB,IAAIlB,gBAAgB,CAAC,IAAI,CAACmB,KAAK,CAACC,KAAK,IAAI,IAAI,CAACD,KAAK,CAACE,YAAY,EAAE,IAAI,CAACF,KAAK,CAACG,QAAQ,CAAC;IAAAP,eAAA,6BAAAQ,kBAAA,QAuBpF,CAACH,KAAa,EAAEI,KAAsB,EAAEC,KAA2B,KAAK;MAC1F,IAAI,CAACC,MAAM,CAACF,KAAK,CAAC,GAAGJ,KAAK;MAE1B,IAAI,CAACO,QAAQ,CAACP,KAAK,CAAC,IAAI,CAACM,MAAM,CAACE,QAAQ,CAAC,CAAC,EAAEH,KAAK,CAAC;IACpD,CAAC;IAAAV,eAAA,8BAEsBU,KAA2B,IAAK;MACrD,IAAI,CAACC,MAAM,CAACG,cAAc,CAAC,CAAC;MAE5B,IAAI,CAACF,QAAQ,CAACP,KAAK,CAAC,IAAI,CAACM,MAAM,CAACE,QAAQ,CAAC,CAAC,EAAEH,KAAK,CAAC;IACpD,CAAC;IAAAV,eAAA,oCAEmC,MAAM;MACxC,MAAM;QAAEO,QAAQ;QAAEQ,IAAI;QAAEC;MAAS,CAAC,GAAG,IAAI,CAACC,OAAO;MAEjD,OAAO;QACLF,IAAI;QACJR,QAAQ;QACRS,QAAQ;QACRE,cAAc,EAAE,IAAI,CAACC,iBAAiB;QACtCC,eAAe,EAAE,IAAI,CAACA,eAAe;QACrCC,aAAa,EAAE,IAAI,CAACA;MACtB,CAAC;IACH,CAAC;IAAArB,eAAA,wBAEe,MAAM;MACpB,OAAO;QACL,GAAG,IAAI,CAACsB,yBAAyB,CAAC,CAAC;QACnCC,IAAI,EAAE,IAAI,CAACZ,MAAM,CAACa,KAAK;QACvBtB,SAAS,EAAE,IAAI,CAACe,OAAO,CAACQ,WAAW,CAAC,OAAO,CAAC;QAC5CC,GAAG,EAAE,IAAI,CAACL;MACZ,CAAC;IACH,CAAC;IAAArB,eAAA,0BAEiB,MAAM;MACtB,OAAO;QACL,GAAG,IAAI,CAACsB,yBAAyB,CAAC,CAAC;QACnCC,IAAI,EAAE,IAAI,CAACZ,MAAM,CAACgB,OAAO;QACzBzB,SAAS,EAAE,IAAI,CAACe,OAAO,CAACQ,WAAW,CAAC,SAAS,CAAC;QAC9CC,GAAG,EAAE,IAAI,CAACN;MACZ,CAAC;IACH,CAAC;EAAA;EA9EDQ,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MAAEC,EAAE;MAAE,kBAAkB,EAAEC;IAAgB,CAAC,GAAG,IAAI,CAACb,OAAO;IAChE,MAAMc,QAAQ,GAAG,QAAQF,EAAE,GAAG;IAE9B,MAAMG,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAACH,QAAQ,CAAC,IAAIE,QAAQ,CAACC,aAAa,CAAC,IAAIJ,eAAe,EAAE,CAAC;IAEjG,IAAIE,OAAO,EAAE;MACX,IAAI,CAACG,QAAQ,CAAC;QAAEjC,SAAS,EAAE8B,OAAO,CAACI;MAAY,CAAC,CAAC;IACnD;EACF;EAOAC,aAAaA,CAACC,YAA6B,EAAE;IAC3C,MAAM;MAAEjC,KAAK;MAAEE;IAAS,CAAC,GAAG+B,YAAY;IAExC,IAAIjC,KAAK,KAAKkC,SAAS,EAAE;MACvB,MAAM,CAACf,KAAK,GAAG,EAAE,EAAEG,OAAO,GAAG,EAAE,CAAC,GAAGtB,KAAK,CAACmC,KAAK,CAAC,GAAG,CAAC;MAEnD,IAAI,CAAC7B,MAAM,CAACa,KAAK,GAAGA,KAAK;MACzB,IAAI,CAACb,MAAM,CAACgB,OAAO,GAAGA,OAAO;IAC/B;IAEA,IAAIpB,QAAQ,KAAKgC,SAAS,EAAE;MAC1B,IAAI,CAAC5B,MAAM,CAACJ,QAAQ,GAAGA,QAAQ;IACjC;EACF;EAEAkC,iBAAiBA,CAAA,EAAG;IAClB,OAAO;MACLpC,KAAK,EAAE;IACT,CAAC;EACH;EA6CAqC,iBAAiBA,CAAA,EAAG;IAClB,OAAO;MACL1B,QAAQ,EAAE,IAAI,CAACC,OAAO,CAACD,QAAQ;MAC/BK,aAAa,EAAE,IAAI,CAACA;IACtB,CAAC;EACH;EAEAsB,cAAcA,CAAA,EAAG;IACf,MAAM;MAAE5B,IAAI;MAAEC,QAAQ;MAAES;IAAY,CAAC,GAAG,IAAI,CAACR,OAAO;IACpD,OAAO;MACLF,IAAI;MACJC,QAAQ;MACR4B,QAAQ,EAAE,IAAI,CAACjC,MAAM,CAACiC,QAAQ;MAC9BC,OAAO,EAAE,IAAI,CAACC,mBAAmB;MACjCrB;IACF,CAAC;EACH;EAEAsB,MAAMA,CAAA,EAAG;IAAA,IAAAC,IAAA,QAAA/B,OAAA;MAAAgC,KAAA;IACP,MAAMC,WAAW,GAeQtE,KAAK;IAd9B,MAAM;MAAEuE,MAAM;MAAEC,QAAQ;MAAE/C,KAAK;MAAEE,QAAQ;MAAEkB,WAAW;MAAEI;IAAG,CAAC,GAAG,IAAI,CAACZ,OAAO;IAE3E,MAAMM,IAAI,GAAG,GAAG,IAAI,CAACZ,MAAM,CAACa,KAAK,IAAI,IAAI,CAACb,MAAM,CAACgB,OAAO,EAAE;IAC1D,MAAMiB,QAAQ,GAAGrC,QAAQ,GAAG,IAAI,CAACI,MAAM,CAACiC,QAAQ,GAAG,EAAE;IAErD,MAAMS,KAAK,GAAGhD,KAAK,GACf,GAAG,IAAI,CAACiD,KAAK,CAACpD,SAAS,IAAIuB,WAAW,CAAC,OAAO,EAAE;MAChDF,IAAI;MACJqB;IACF,CAAC,CAAC,EAAE,GACF,GAAG,IAAI,CAACU,KAAK,CAACpD,SAAS,IAAIuB,WAAW,CAAC,YAAY,CAAC,EAAE;IAE1D,OAAAwB,KAAA,GAAO1E,OAAO,CAAC4E,MAAM,CAAC,eACpBtE,KAAA,CAAA0E,aAAA,CAAA1E,KAAA,CAAA2E,QAAA,qBACE3E,KAAA,CAAA0E,aAAA,CAACL,WAAW,EAAAD,KAAA,CAAAQ,EAAA;MAAA,GAAAC,YAAA;QAAA,QAAqB,OAAO;QAAA,cAAaL,KAAK;QAAA,kBAAkB,CAAC,OAAO,EAAE,IAAI;MAAC,GAAAL,IAAA;IAAA,iBACzFnE,KAAA,CAAA0E,aAAA,CAACH,QAAQ,EAAAH,KAAA,CAAAQ,EAAA,gBAAE,CACA,CAAC,eACd5E,KAAA,CAAA0E,aAAA,CAACnF,gBAAgB,EAAA6E,KAAA,CAAAQ,EAAA;MAAA,OAAK,OAAO;MAAA,YAAW,CAAC,CAAC;MAAA,MAAM5B,EAAE;MAAA,eAAe,IAAI;MAAA,SAAS,GAAGN,IAAI,IAAIqB,QAAQ;IAAE,EAAG,CACtG,CAAC;EAEP;AACF,CAAC;EAAAe,CAAA,GAAAxD,YAAA,EAAAK,kBAAA;EAAAoD,CAAA,GAAArE,eAAA,EAAAsE,UAAA;AAAA,IAAAC,UAAA,CAAAlE,gBAAA,EAAAN,UAAA,IAAAI,WAAA,4BA1J4BpB,SAAS,GAAAsB,gBAAA,GAAAmE,MAAA,iBAAAC,SAAA;EAAAlE,YAAA;IAAA,MAAAP,eAAA,GAAAS,eAAA,sBAQf,YAAY,GAAAA,eAAA,gBAClBlB,KAAK,GAAAkB,eAAA,kBACH,CAACrB,WAAW,CAACO,iBAAiB,CAAC,CAAC,GAAAc,eAAA,uBAE3B,CAAC;MAAEO;IAA0B,CAAC,MAAM;MACxDD,YAAY,EAAE,EAAE;MAChBS,IAAI,EAAE,GAAG;MACTkD,QAAQ,eACNpF,KAAA,CAAA0E,aAAA,CAAA1E,KAAA,CAAA2E,QAAA,qBACE3E,KAAA,CAAA0E,aAAA,CAACW,UAAU,CAAC9E,KAAK,MAAE,CAAC,eACpBP,KAAA,CAAA0E,aAAA,CAACW,UAAU,CAACC,SAAS,MAAE,CAAC,eACxBtF,KAAA,CAAA0E,aAAA,CAACW,UAAU,CAAC7E,OAAO,MAAE,CAAC,EACrBkB,QAAQ,iBAAI1B,KAAA,CAAA0E,aAAA,CAACW,UAAU,CAAC/E,MAAM,MAAE,CACjC,CACH;MACDiF,MAAM,EAAE;IACV,CAAC,CAAU,GAAAP,UAAA;EAAA;AAAA,GAAA7D,eAAA,CAAA+D,MAAA,EAAAvE,gBAAA,WAAAuE,MAAA;AAmIb,MAAMI,SAAS,SAAS7F,SAAS,CAA2B;EAAAwB,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAK3C,MAAM;MACnB,IAAI,IAAI,CAACiB,OAAO,CAACI,aAAa,CAACgD,OAAO,EAAE;QACtC,IAAI,CAACpD,OAAO,CAACI,aAAa,CAACgD,OAAO,EAAEC,KAAK,CAAC,CAAC;MAC7C;IACF,CAAC;EAAA;EAEDvB,MAAMA,CAAA,EAAG;IAAA,IAAAwB,KAAA,QAAAtD,OAAA;MAAAuD,KAAA;IACP,MAAMC,oBAAoB,GAE2BtG,GAAG;IADxD,MAAM;MAAEgF;IAAO,CAAC,GAAG,IAAI,CAAClC,OAAO;IAC/B,OAAAuD,KAAA,GAAOjG,OAAO,CAAC4E,MAAM,CAAC,eAACtE,KAAA,CAAA0E,aAAA,CAACkB,oBAAoB,EAAAD,KAAA,CAAAf,EAAA;MAAA,GAAAiB,aAAA;QAAA,WAAuB,IAAI,CAACC,YAAY;QAAA,eAAc;MAAM,GAAAJ,KAAA;IAAA,EAAE,CAAC;EAC7G;AACF;;AAEA;AACA;AACA;AACA;AACA;AAJAvE,eAAA,CAlBMmE,SAAS,kBACS;EACpBF,QAAQ,EAAE;AACZ,CAAC;AAoBH,MAAMC,UAAU,GAAG7F,eAAe,CAGhCwB,eAAc,EAAE;EAChBT,KAAK;EACLC,OAAO;EACP8E,SAAS;EACThF;AACF,CAAC,CAAC;AAEF,eAAe+E,UAAU","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.meridiem === 'AM') {
53
- return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);
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 < 12 ? numberHours + 12 : 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 return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);\n }\n\n return this.withLeadingZero(numberHours < 12 ? numberHours + 12 : 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","_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/esm/defineProperty";
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
- ".___SPickerFormat_1r1ab_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, rgba(0, 12, 8, 0.161));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, rgba(0, 3, 0, 0.583));background-color:var(--intergalactic-bg-secondary-neutral, rgb(248, 249, 248))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_{border:1px solid var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161));color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_{border:1px solid var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161));color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}@media (hover:hover){.___SPickerFormat_1r1ab_gg_:hover{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));background-color:var(--intergalactic-bg-secondary-neutral-hover, rgb(241, 242, 242))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_:hover{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_:hover{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}}.___SPickerFormat_1r1ab_gg_.__active_1r1ab_gg_,.___SPickerFormat_1r1ab_gg_:active{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));background-color:var(--intergalactic-bg-secondary-neutral-active, rgb(234, 235, 235))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_.__active_1r1ab_gg_,.___SPickerFormat_1r1ab_gg_:active{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_.__active_1r1ab_gg_,.___SPickerFormat_1r1ab_gg_:active{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___SPickerFormat_1r1ab_gg_._size_m_1r1ab_gg_{height:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px);margin:0-1px 0 0}.___SPickerFormat_1r1ab_gg_._size_m_1r1ab_gg_ .___SPickerFormatText_1r1ab_gg_{margin:0 var(--intergalactic-spacing-2x, 8px)}.___SPickerFormat_1r1ab_gg_._size_l_1r1ab_gg_{height:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px);margin:0-1px 0 0}.___SPickerFormat_1r1ab_gg_._size_l_1r1ab_gg_ .___SPickerFormatText_1r1ab_gg_{margin:0 var(--intergalactic-spacing-3x, 12px)}.___SPickerFormat_1r1ab_gg_.__disabled_1r1ab_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0%)){.___SPickerFormat_1r1ab_gg_.__disabled_1r1ab_gg_{border-color:transparent transparent transparent var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SPickerFormat_1r1ab_gg_.__disabled_1r1ab_gg_{border-color:transparent transparent transparent var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}",
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
- "1r1ab_gg_"
13
+ "jxl3i_gg_"
14
14
  ), /*__reshadow_css_end__*/
15
15
  {
16
- "__SPickerFormat": "___SPickerFormat_1r1ab_gg_",
17
- "_disabled": "__disabled_1r1ab_gg_",
18
- "_active": "__active_1r1ab_gg_",
19
- "_size_m": "_size_m_1r1ab_gg_",
20
- "__SPickerFormatText": "___SPickerFormatText_1r1ab_gg_",
21
- "_size_l": "_size_l_1r1ab_gg_"
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/esm/defineProperty";
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
- ".___SPickerInput_1rcax_gg_._size_l_1rcax_gg_,.___SPickerInput_1rcax_gg_._size_m_1rcax_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x, 8px);padding:0}.___SPickerInput_1rcax_gg_._size_l_1rcax_gg_{width:21px}",
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
- "1rcax_gg_"
14
+ "1weh7_gg_"
15
15
  ), /*__reshadow_css_end__*/
16
16
  {
17
- "__SPickerInput": "___SPickerInput_1rcax_gg_",
18
- "_size_m": "_size_m_1rcax_gg_",
19
- "_size_l": "_size_l_1rcax_gg_"
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/esm/defineProperty";
2
- import _applyDecs from "@babel/runtime/helpers/esm/applyDecs2311";
3
- import _identity from "@babel/runtime/helpers/esm/identity";
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
- ".___STimePicker_14mny_gg_{position:relative;width:auto;outline:0}.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_{box-sizing:content-box;text-align:center;z-index:1;height:1.5em}.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_.__placeholder_14mny_gg_{text-overflow:initial}.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_:focus{outline:0;background-color:var(--intergalactic-bg-highlight-focus, rgba(1, 79, 255, 0.116))}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, rgba(1, 79, 255, 0.116))}@media (color-gamut:p3){.___STimePicker_14mny_gg_ .___SPickerInput_14mny_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, color(display-p3 0.12361 0.30547 0.96332 / 0.116))}}}.___STimePicker_14mny_gg_.__disabled_14mny_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583));cursor:default}@supports (color:color(display-p3 0 0 0%)){.___STimePicker_14mny_gg_.__disabled_14mny_gg_{color:var(--intergalactic-text-secondary, rgba(0, 3, 0, 0.583))}@media (color-gamut:p3){.___STimePicker_14mny_gg_.__disabled_14mny_gg_{color:var(--intergalactic-text-secondary, color(display-p3 0.00228 0.01289 0.00252 / 0.583))}}}.___STimePickerSeparator_14mny_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899))}.___STimePickerSeparator_14mny_gg_.__disabled_14mny_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);pointer-events:none}",
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
- "14mny_gg_"
24
+ "brn6k_gg_"
25
25
  ), /*__reshadow_css_end__*/
26
26
  {
27
- "__STimePicker": "___STimePicker_14mny_gg_",
28
- "_disabled": "__disabled_14mny_gg_",
29
- "__STimePickerSeparator": "___STimePickerSeparator_14mny_gg_",
30
- "__SPickerInput": "___SPickerInput_14mny_gg_",
31
- "_placeholder": "__placeholder_14mny_gg_"
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/esm/defineProperty";
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.meridiem === "AM") {
51
- return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);
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 < 12 ? numberHours + 12 : 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.1.0",
4
+ "version": "17.2.0-prerelease.5",
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.1.0",
18
- "@semcore/input": "^17.1.0",
19
- "@semcore/select": "^17.1.0"
17
+ "@semcore/button": "^17.2.0-prerelease.5",
18
+ "@semcore/input": "^17.2.0-prerelease.5",
19
+ "@semcore/select": "^17.2.0-prerelease.5"
20
20
  },
21
21
  "peerDependencies": {
22
- "@semcore/base-components": "^17.0.2"
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/testing-utils": "1.0.0",
31
- "@semcore/core": "17.1.0",
32
- "@semcore/base-components": "17.0.2"
30
+ "@semcore/core": "17.2.0-prerelease.5",
31
+ "@semcore/base-components": "17.2.0-prerelease.5",
32
+ "@semcore/testing-utils": "1.0.0"
33
33
  },
34
34
  "scripts": {
35
35
  "build": "pnpm semcore-builder && pnpm vite build"