@semcore/time-picker 16.1.13 → 16.1.14-prerelease.12

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.
Files changed (83) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +4 -4
  3. package/lib/cjs/component/PickerFormat/PickerFormat.js +84 -0
  4. package/lib/cjs/component/PickerFormat/PickerFormat.js.map +1 -0
  5. package/lib/cjs/component/PickerFormat/PickerFormat.type.js +2 -0
  6. package/lib/cjs/component/PickerFormat/PickerFormat.type.js.map +1 -0
  7. package/lib/cjs/{style/time-picker.shadow.css → component/PickerFormat/picker-format.shadow.css} +1 -56
  8. package/lib/cjs/component/PickerInput/PickerInput.js +228 -0
  9. package/lib/cjs/component/PickerInput/PickerInput.js.map +1 -0
  10. package/lib/cjs/component/PickerInput/PickerInput.type.js +2 -0
  11. package/lib/cjs/component/PickerInput/PickerInput.type.js.map +1 -0
  12. package/lib/cjs/component/PickerInput/picker-input.shadow.css +11 -0
  13. package/lib/cjs/component/TimePicker/TimePicker.js +220 -0
  14. package/lib/cjs/component/TimePicker/TimePicker.js.map +1 -0
  15. package/lib/cjs/component/TimePicker/TimePicker.type.js +2 -0
  16. package/lib/cjs/component/TimePicker/TimePicker.type.js.map +1 -0
  17. package/lib/cjs/component/TimePicker/time-picker.shadow.css +34 -0
  18. package/lib/cjs/entity/TimePickerEntity.js +73 -0
  19. package/lib/cjs/entity/TimePickerEntity.js.map +1 -0
  20. package/lib/cjs/index.js +9 -8
  21. package/lib/cjs/index.js.map +1 -1
  22. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +16 -16
  23. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  24. package/lib/es6/component/PickerFormat/PickerFormat.js +79 -0
  25. package/lib/es6/component/PickerFormat/PickerFormat.js.map +1 -0
  26. package/lib/es6/component/PickerFormat/PickerFormat.type.js +2 -0
  27. package/lib/es6/component/PickerFormat/PickerFormat.type.js.map +1 -0
  28. package/lib/{esm/style/time-picker.shadow.css → es6/component/PickerFormat/picker-format.shadow.css} +1 -56
  29. package/lib/es6/component/PickerInput/PickerInput.js +222 -0
  30. package/lib/es6/component/PickerInput/PickerInput.js.map +1 -0
  31. package/lib/es6/component/PickerInput/PickerInput.type.js +2 -0
  32. package/lib/es6/component/PickerInput/PickerInput.type.js.map +1 -0
  33. package/lib/es6/component/PickerInput/picker-input.shadow.css +11 -0
  34. package/lib/es6/component/TimePicker/TimePicker.js +216 -0
  35. package/lib/es6/component/TimePicker/TimePicker.js.map +1 -0
  36. package/lib/es6/component/TimePicker/TimePicker.type.js +2 -0
  37. package/lib/es6/component/TimePicker/TimePicker.type.js.map +1 -0
  38. package/lib/es6/component/TimePicker/time-picker.shadow.css +34 -0
  39. package/lib/es6/entity/TimePickerEntity.js +66 -0
  40. package/lib/es6/entity/TimePickerEntity.js.map +1 -0
  41. package/lib/es6/index.js +2 -2
  42. package/lib/es6/index.js.map +1 -1
  43. package/lib/es6/translations/__intergalactic-dynamic-locales.js +15 -15
  44. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  45. package/lib/esm/component/PickerFormat/PickerFormat.mjs +84 -0
  46. package/lib/{es6/style/time-picker.shadow.css → esm/component/PickerFormat/picker-format.shadow.css} +1 -56
  47. package/lib/esm/component/PickerInput/PickerInput.mjs +227 -0
  48. package/lib/esm/component/PickerInput/picker-input.shadow.css +11 -0
  49. package/lib/esm/component/TimePicker/TimePicker.mjs +220 -0
  50. package/lib/esm/component/TimePicker/time-picker.shadow.css +34 -0
  51. package/lib/esm/entity/TimePickerEntity.mjs +65 -0
  52. package/lib/esm/index.mjs +2 -7
  53. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
  54. package/lib/types/component/PickerFormat/PickerFormat.d.ts +17 -0
  55. package/lib/types/component/PickerFormat/PickerFormat.type.d.ts +16 -0
  56. package/lib/types/component/PickerInput/PickerInput.d.ts +54 -0
  57. package/lib/types/component/PickerInput/PickerInput.type.d.ts +13 -0
  58. package/lib/types/component/TimePicker/TimePicker.d.ts +3 -0
  59. package/lib/types/component/TimePicker/TimePicker.type.d.ts +50 -0
  60. package/lib/types/entity/TimePickerEntity.d.ts +22 -0
  61. package/lib/types/index.d.ts +2 -63
  62. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +114 -0
  63. package/package.json +6 -6
  64. package/vite.config.ts +1 -4
  65. package/lib/cjs/PickerFormat.js +0 -81
  66. package/lib/cjs/PickerFormat.js.map +0 -1
  67. package/lib/cjs/PickerInput.js +0 -286
  68. package/lib/cjs/PickerInput.js.map +0 -1
  69. package/lib/cjs/TimePicker.js +0 -348
  70. package/lib/cjs/TimePicker.js.map +0 -1
  71. package/lib/cjs/index.d.js +0 -2
  72. package/lib/cjs/index.d.js.map +0 -1
  73. package/lib/es6/PickerFormat.js +0 -75
  74. package/lib/es6/PickerFormat.js.map +0 -1
  75. package/lib/es6/PickerInput.js +0 -281
  76. package/lib/es6/PickerInput.js.map +0 -1
  77. package/lib/es6/TimePicker.js +0 -339
  78. package/lib/es6/TimePicker.js.map +0 -1
  79. package/lib/es6/index.d.js +0 -2
  80. package/lib/es6/index.d.js.map +0 -1
  81. package/lib/esm/PickerFormat.mjs +0 -67
  82. package/lib/esm/PickerInput.mjs +0 -263
  83. package/lib/esm/TimePicker.mjs +0 -297
@@ -0,0 +1,66 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ class TimePickerEntity {
3
+ constructor(value = ':',
4
+ // should be in the format 'HH:mm'
5
+ is12Hour = false) {
6
+ _defineProperty(this, "_hours", '');
7
+ _defineProperty(this, "_minutes", '');
8
+ _defineProperty(this, "_is12Hour", void 0);
9
+ _defineProperty(this, "_meridiem", 'AM');
10
+ const [hours = '', minutes = ''] = value.split(':');
11
+ this._is12Hour = is12Hour;
12
+ this._hours = hours;
13
+ this._minutes = minutes;
14
+ }
15
+ get meridiem() {
16
+ return this._meridiem;
17
+ }
18
+ get hours() {
19
+ return this._is12Hour ? this.formatHoursTo12(this._hours) : this.formatHoursTo24(this._hours);
20
+ }
21
+ get minutes() {
22
+ return this._minutes && this.withLeadingZero(this._minutes);
23
+ }
24
+ set is12Hour(newIs12Hour) {
25
+ this._is12Hour = newIs12Hour;
26
+ }
27
+ set hours(newHours) {
28
+ this._hours = newHours;
29
+ }
30
+ set minutes(newMinutes) {
31
+ this._minutes = newMinutes;
32
+ }
33
+ set meridiem(newMeridiem) {
34
+ this._meridiem = newMeridiem;
35
+ }
36
+ withLeadingZero(value) {
37
+ return String(value).padStart(2, '0');
38
+ }
39
+ formatHoursTo12(hours) {
40
+ const numberHours = Number.parseInt(hours, 10);
41
+ if (Number.isNaN(numberHours)) return hours;
42
+ if (numberHours === 0) {
43
+ return '12';
44
+ } else if (numberHours > 12) {
45
+ return this.withLeadingZero(numberHours - 12);
46
+ }
47
+ return this.withLeadingZero(numberHours);
48
+ }
49
+ formatHoursTo24(hours) {
50
+ const numberHours = Number.parseInt(hours, 10);
51
+ if (Number.isNaN(numberHours)) return hours;
52
+ if (this.meridiem === 'AM') {
53
+ return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);
54
+ }
55
+ return this.withLeadingZero(numberHours < 12 ? numberHours + 12 : numberHours);
56
+ }
57
+ toggleMeridiem() {
58
+ this.meridiem = this._meridiem === 'AM' ? 'PM' : 'AM';
59
+ }
60
+ toString() {
61
+ const hours = this._is12Hour ? this.formatHoursTo24(this.hours) : this.hours;
62
+ return `${hours}:${this.minutes}`;
63
+ }
64
+ }
65
+ export default TimePickerEntity;
66
+ //# sourceMappingURL=TimePickerEntity.js.map
@@ -0,0 +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":[]}
package/lib/es6/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { default } from './TimePicker';
2
- export * from './TimePicker';
1
+ export { default } from './component/TimePicker/TimePicker';
2
+ export * from './component/TimePicker/TimePicker.type';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.js"],"sourcesContent":["export { default } from './TimePicker';\nexport * from './TimePicker';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,cAAc;AACtC,cAAc,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.ts"],"sourcesContent":["export { default } from './component/TimePicker/TimePicker';\nexport * from './component/TimePicker/TimePicker.type';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,mCAAmC;AAC3D,cAAc,wCAAwC","ignoreList":[]}
@@ -12,20 +12,20 @@ import sv from './sv.json';
12
12
  import tr from './tr.json';
13
13
  import vi from './vi.json';
14
14
  import zh from './zh.json';
15
- export var localizedMessages = {
16
- de: de,
17
- en: en,
18
- es: es,
19
- fr: fr,
20
- it: it,
21
- ja: ja,
22
- ko: ko,
23
- nl: nl,
24
- pt: pt,
25
- tr: tr,
26
- vi: vi,
27
- zh: zh,
28
- pl: pl,
29
- sv: sv
15
+ export const localizedMessages = {
16
+ de,
17
+ en,
18
+ es,
19
+ fr,
20
+ it,
21
+ ja,
22
+ ko,
23
+ nl,
24
+ pt,
25
+ tr,
26
+ vi,
27
+ zh,
28
+ pl,
29
+ sv
30
30
  };
31
31
  //# sourceMappingURL=__intergalactic-dynamic-locales.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"__intergalactic-dynamic-locales.js","names":["de","en","es","fr","it","ja","ko","nl","pl","pt","sv","tr","vi","zh","localizedMessages"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport nl from './nl.json';\nimport pl from './pl.json';\nimport pt from './pt.json';\nimport sv from './sv.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n nl,\n pt,\n tr,\n vi,\n zh,\n pl,\n sv,\n};\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAE1B,OAAO,IAAMC,iBAAiB,GAAG;EAC/Bd,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFE,EAAE,EAAFA,EAAE;EACFE,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFC,EAAE,EAAFA,EAAE;EACFL,EAAE,EAAFA,EAAE;EACFE,EAAE,EAAFA;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"__intergalactic-dynamic-locales.js","names":["de","en","es","fr","it","ja","ko","nl","pl","pt","sv","tr","vi","zh","localizedMessages"],"sources":["../../../src/translations/__intergalactic-dynamic-locales.ts"],"sourcesContent":["import de from './de.json';\nimport en from './en.json';\nimport es from './es.json';\nimport fr from './fr.json';\nimport it from './it.json';\nimport ja from './ja.json';\nimport ko from './ko.json';\nimport nl from './nl.json';\nimport pl from './pl.json';\nimport pt from './pt.json';\nimport sv from './sv.json';\nimport tr from './tr.json';\nimport vi from './vi.json';\nimport zh from './zh.json';\n\nexport const localizedMessages = {\n de,\n en,\n es,\n fr,\n it,\n ja,\n ko,\n nl,\n pt,\n tr,\n vi,\n zh,\n pl,\n sv,\n};\n"],"mappings":"AAAA,OAAOA,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAC1B,OAAOC,EAAE,MAAM,WAAW;AAE1B,OAAO,MAAMC,iBAAiB,GAAG;EAC/Bd,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFC,EAAE;EACFE,EAAE;EACFE,EAAE;EACFC,EAAE;EACFC,EAAE;EACFL,EAAE;EACFE;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import { Component, sstyled, assignProps } from "@semcore/core";
3
+ import { Box, ScreenReaderOnly } from "@semcore/base-components";
4
+ import uniqueIDEnhancement from "@semcore/core/lib/utils/uniqueID";
5
+ import React from "react";
6
+ /*!__reshadow-styles__:"./picker-format.shadow.css"*/
7
+ const style = (
8
+ /*__reshadow_css_start__*/
9
+ (sstyled.insert(
10
+ /*__inner_css_start__*/
11
+ ".___SPickerFormat_11qxx_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, #c4c7cf);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, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}@media (hover:hover){.___SPickerFormat_11qxx_gg_:hover{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-hover, #e0e1e9)}}.___SPickerFormat_11qxx_gg_.__active_11qxx_gg_,.___SPickerFormat_11qxx_gg_:active{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-active, #c4c7cf)}.___SPickerFormat_11qxx_gg_._size_m_11qxx_gg_{height:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px);margin:0-1px 0 0}.___SPickerFormat_11qxx_gg_._size_m_11qxx_gg_ .___SPickerFormatText_11qxx_gg_{margin:0 var(--intergalactic-spacing-2x, 8px)}.___SPickerFormat_11qxx_gg_._size_l_11qxx_gg_{height:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px);margin:0-1px 0 0}.___SPickerFormat_11qxx_gg_._size_l_11qxx_gg_ .___SPickerFormatText_11qxx_gg_{margin:0 var(--intergalactic-spacing-3x, 12px)}.___SPickerFormat_11qxx_gg_.__disabled_11qxx_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary, #c4c7cf)}",
12
+ /*__inner_css_end__*/
13
+ "11qxx_gg_"
14
+ ), /*__reshadow_css_end__*/
15
+ {
16
+ "__SPickerFormat": "___SPickerFormat_11qxx_gg_",
17
+ "_disabled": "__disabled_11qxx_gg_",
18
+ "_active": "__active_11qxx_gg_",
19
+ "_size_m": "_size_m_11qxx_gg_",
20
+ "__SPickerFormatText": "___SPickerFormatText_11qxx_gg_",
21
+ "_size_l": "_size_l_11qxx_gg_"
22
+ })
23
+ );
24
+ class TimePickerFormat extends Component {
25
+ constructor(...args) {
26
+ super(...args);
27
+ _defineProperty(this, "state", {
28
+ changedFormatNotice: ""
29
+ });
30
+ _defineProperty(this, "handleClick", () => {
31
+ setTimeout(() => {
32
+ const {
33
+ meridiem,
34
+ getI18nText
35
+ } = this.asProps;
36
+ this.setState({
37
+ changedFormatNotice: getI18nText("changedFormatNotice", {
38
+ meridiem
39
+ })
40
+ });
41
+ }, 0);
42
+ setTimeout(() => {
43
+ this.setState({
44
+ changedFormatNotice: ""
45
+ });
46
+ }, 2e3);
47
+ });
48
+ }
49
+ render() {
50
+ var _ref = this.asProps, _ref2;
51
+ const SPickerFormat = Box;
52
+ const {
53
+ Children,
54
+ meridiem,
55
+ styles,
56
+ getI18nText,
57
+ uid
58
+ } = this.asProps;
59
+ const {
60
+ changedFormatNotice
61
+ } = this.state;
62
+ const SPickerFormatText = "span";
63
+ return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(SPickerFormat, _ref2.cn("SPickerFormat", {
64
+ ...assignProps({
65
+ "type": "button",
66
+ "tag": "button",
67
+ "tabIndex": 0,
68
+ "onClick": this.handleClick,
69
+ "aria-describedby": `${uid}_describe`
70
+ }, _ref)
71
+ }), Children.origin ? /* @__PURE__ */ React.createElement(Children, _ref2.cn("Children", {})) : /* @__PURE__ */ React.createElement(SPickerFormatText, _ref2.cn("SPickerFormatText", {}), meridiem)), /* @__PURE__ */ React.createElement(ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
72
+ "role": "status",
73
+ "aria-live": "polite"
74
+ }), changedFormatNotice), /* @__PURE__ */ React.createElement(ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
75
+ "aria-hidden": "true",
76
+ "id": `${uid}_describe`
77
+ }), getI18nText("formatToggler")));
78
+ }
79
+ }
80
+ _defineProperty(TimePickerFormat, "style", style);
81
+ _defineProperty(TimePickerFormat, "enhance", [uniqueIDEnhancement()]);
82
+ export {
83
+ TimePickerFormat as default
84
+ };
@@ -1,45 +1,3 @@
1
- STimePicker {
2
- position: relative;
3
- width: auto;
4
- outline: none;
5
-
6
- SPickerInput {
7
- box-sizing: content-box;
8
- text-align: center;
9
- z-index: 1;
10
- height: 1.5em;
11
-
12
- &[placeholder] {
13
- text-overflow: initial;
14
- }
15
- &:focus {
16
- outline: none;
17
- background-color: var(--intergalactic-bg-highlight-focus, rgba(0, 143, 248, 0.2));
18
- }
19
- }
20
- }
21
-
22
- /*STimePicker[keyboardFocused]:focus {*/
23
- /* box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));*/
24
- /*}*/
25
-
26
- STimePicker[disabled] {
27
- color: var(--intergalactic-text-secondary, #6c6e79);
28
- cursor: default;
29
- }
30
-
31
- SPickerInput[size='m'] {
32
- width: 19px;
33
- margin: 0 var(--intergalactic-spacing-2x, 8px);
34
- padding: 0;
35
- }
36
-
37
- SPickerInput[size='l'] {
38
- width: 21px;
39
- margin: 0 var(--intergalactic-spacing-2x, 8px);
40
- padding: 0;
41
- }
42
-
43
1
  SPickerFormat {
44
2
  flex-shrink: 0;
45
3
  position: relative;
@@ -100,17 +58,4 @@ SPickerFormat[disabled] {
100
58
  cursor: default;
101
59
  pointer-events: none;
102
60
  border-color: transparent transparent transparent var(--intergalactic-border-primary, #c4c7cf);
103
- }
104
-
105
- /*SPickerFormat[keyboardFocused] {*/
106
- /* box-shadow: var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));*/
107
- /*}*/
108
-
109
- STimePickerSeparator {
110
- color: var(--intergalactic-text-primary, #191b23);
111
- }
112
-
113
- STimePickerSeparator[disabled] {
114
- opacity: var(--intergalactic-disabled-opacity, 0.3);
115
- pointer-events: none;
116
- }
61
+ }
@@ -0,0 +1,227 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import { Component, sstyled, assignProps } from "@semcore/core";
3
+ import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
4
+ import Input from "@semcore/input";
5
+ import Select from "@semcore/select";
6
+ import React from "react";
7
+ /*!__reshadow-styles__:"./picker-input.shadow.css"*/
8
+ const style = (
9
+ /*__reshadow_css_start__*/
10
+ (sstyled.insert(
11
+ /*__inner_css_start__*/
12
+ ".___SPickerInput_1bwib_gg_._size_l_1bwib_gg_,.___SPickerInput_1bwib_gg_._size_m_1bwib_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x, 8px);padding:0}.___SPickerInput_1bwib_gg_._size_l_1bwib_gg_{width:21px}",
13
+ /*__inner_css_end__*/
14
+ "1bwib_gg_"
15
+ ), /*__reshadow_css_end__*/
16
+ {
17
+ "__SPickerInput": "___SPickerInput_1bwib_gg_",
18
+ "_size_m": "_size_m_1bwib_gg_",
19
+ "_size_l": "_size_l_1bwib_gg_"
20
+ })
21
+ );
22
+ function getOptions(minMax, step = 1) {
23
+ const [min, max] = minMax;
24
+ const length = Number(((max + 1 - min) / step).toFixed(0));
25
+ const options = Array(length).fill("");
26
+ let numValue = min;
27
+ return options.map((_i, index) => {
28
+ numValue = index === 0 ? numValue : numValue + step;
29
+ const value = String(numValue).padStart(2, "0");
30
+ return /* @__PURE__ */ React.createElement(Select.Option, {
31
+ value,
32
+ key: value
33
+ }, value);
34
+ });
35
+ }
36
+ class AbstractPickerInput extends Component {
37
+ constructor(...args) {
38
+ super(...args);
39
+ _defineProperty(this, "state", {
40
+ dirtyValue: void 0,
41
+ visible: false
42
+ });
43
+ _defineProperty(this, "inputRef", /* @__PURE__ */ React.createRef());
44
+ _defineProperty(this, "parseValueWithMinMax", (value) => {
45
+ const [min, max] = this.minMax;
46
+ const numberValue = isNaN(Number(value)) ? min : Number(value);
47
+ return String(Math.max(min, Math.min(max, numberValue)));
48
+ });
49
+ _defineProperty(this, "handleChange", (value, event) => {
50
+ event.stopPropagation();
51
+ const inputValue = value.replace(/[^0-9]/g, "");
52
+ const numberValue = Number(inputValue);
53
+ if (!Number.isNaN(numberValue)) {
54
+ this.setState({
55
+ dirtyValue: inputValue.slice(-2)
56
+ });
57
+ }
58
+ });
59
+ _defineProperty(this, "handleBlur", (event) => this.submitChanges(event));
60
+ _defineProperty(this, "handleSelect", (value, event) => {
61
+ this.dispatchOnChange(value, event);
62
+ });
63
+ _defineProperty(this, "handleVisibleChange", (visible) => this.setState({
64
+ visible
65
+ }));
66
+ }
67
+ dispatchOnChange(value, event) {
68
+ this.setState({
69
+ dirtyValue: void 0
70
+ });
71
+ this.asProps.$onValueChange(value, this.field, event);
72
+ }
73
+ submitChanges(event) {
74
+ let {
75
+ dirtyValue
76
+ } = this.state;
77
+ if (dirtyValue !== void 0) {
78
+ if (dirtyValue) dirtyValue = this.parseValueWithMinMax(dirtyValue);
79
+ this.dispatchOnChange(dirtyValue, event);
80
+ }
81
+ }
82
+ render() {
83
+ var _ref = this.asProps, _ref2;
84
+ const SPickerInput = Select.Trigger;
85
+ const {
86
+ styles,
87
+ step,
88
+ onSelect,
89
+ time,
90
+ size,
91
+ disabled,
92
+ onVisibleChange,
93
+ ariaLabel,
94
+ ...other
95
+ } = this.asProps;
96
+ const {
97
+ dirtyValue,
98
+ visible
99
+ } = this.state;
100
+ const value = dirtyValue === void 0 ? time : dirtyValue;
101
+ return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(Select, _ref2.cn("Select", {
102
+ ...other,
103
+ "interaction": "focus",
104
+ "size": size,
105
+ "onChange": callAllEventHandlers(onSelect, this.handleSelect),
106
+ "onVisibleChange": callAllEventHandlers(onVisibleChange, this.handleVisibleChange),
107
+ "visible": visible,
108
+ "value": time,
109
+ "defaultHighlightedIndex": time ? null : 0
110
+ }), /* @__PURE__ */ React.createElement(SPickerInput, _ref2.cn("SPickerInput", {
111
+ ...assignProps({
112
+ "tag": Input.Value,
113
+ "ref": this.inputRef,
114
+ "inputMode": "numeric",
115
+ "size": size,
116
+ "disabled": disabled,
117
+ "neighborLocation": false,
118
+ "value": value,
119
+ "aria-label": ariaLabel,
120
+ "onChange": this.handleChange,
121
+ "onBlur": this.handleBlur,
122
+ "onKeyDown": this.handleKeyDown
123
+ }, _ref)
124
+ })), /* @__PURE__ */ React.createElement(Select.Menu, {
125
+ hMax: 180
126
+ }, getOptions(this.minMax, step)));
127
+ }
128
+ }
129
+ _defineProperty(AbstractPickerInput, "style", style);
130
+ _defineProperty(AbstractPickerInput, "defaultProps", (_) => ({
131
+ placeholder: "00",
132
+ offset: [-8, 4]
133
+ }));
134
+ class Hours extends AbstractPickerInput {
135
+ constructor(...args) {
136
+ super(...args);
137
+ _defineProperty(this, "handleKeyDown", (event) => {
138
+ const {
139
+ currentTarget
140
+ } = event;
141
+ if (event.key === "Enter") {
142
+ this.submitChanges(event);
143
+ }
144
+ if (event.key === "ArrowRight") {
145
+ if (currentTarget.selectionStart && currentTarget.selectionStart >= currentTarget.value.length && currentTarget.selectionStart === currentTarget.selectionEnd) {
146
+ event.preventDefault();
147
+ this.focusNext();
148
+ }
149
+ }
150
+ });
151
+ }
152
+ get field() {
153
+ return "hours";
154
+ }
155
+ get minMax() {
156
+ const {
157
+ is12Hour
158
+ } = this.asProps;
159
+ return is12Hour ? [1, 12] : [0, 23];
160
+ }
161
+ focusNext() {
162
+ if (this.asProps.minutesInputRef.current) {
163
+ this.setState({
164
+ visible: false
165
+ });
166
+ this.asProps.minutesInputRef.current.focus();
167
+ }
168
+ }
169
+ componentDidUpdate(_, prevState) {
170
+ const {
171
+ dirtyValue
172
+ } = this.state;
173
+ if (prevState.dirtyValue === void 0 || dirtyValue === void 0) return;
174
+ if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {
175
+ this.focusNext();
176
+ }
177
+ }
178
+ }
179
+ _defineProperty(Hours, "defaultProps", (props) => ({
180
+ ...AbstractPickerInput.defaultProps(props),
181
+ ml: props.size === "l" ? 3 : void 0
182
+ }));
183
+ class Minutes extends AbstractPickerInput {
184
+ constructor(...args) {
185
+ super(...args);
186
+ _defineProperty(this, "handleKeyDown", (event) => {
187
+ const {
188
+ currentTarget
189
+ } = event;
190
+ if (event.key === "ArrowLeft") {
191
+ if (currentTarget.selectionStart && currentTarget.selectionStart <= 0 && currentTarget.selectionStart === currentTarget.selectionEnd) {
192
+ event.preventDefault();
193
+ this.focusPrev();
194
+ }
195
+ }
196
+ if (event.key === "Backspace") {
197
+ if (currentTarget.value.length === 0) {
198
+ event.preventDefault();
199
+ this.focusPrev();
200
+ }
201
+ }
202
+ if (event.key === "Enter") this.submitChanges(event);
203
+ });
204
+ }
205
+ get field() {
206
+ return "minutes";
207
+ }
208
+ get minMax() {
209
+ return [0, 59];
210
+ }
211
+ focusPrev() {
212
+ if (this.asProps.hoursInputRef.current) {
213
+ this.setState({
214
+ visible: false
215
+ });
216
+ this.asProps.hoursInputRef.current.focus();
217
+ }
218
+ }
219
+ }
220
+ _defineProperty(Minutes, "defaultProps", (props) => ({
221
+ ...AbstractPickerInput.defaultProps(props),
222
+ mr: props.size === "l" ? 3 : void 0
223
+ }));
224
+ export {
225
+ Hours,
226
+ Minutes
227
+ };
@@ -0,0 +1,11 @@
1
+ SPickerInput[size='m'] {
2
+ width: 19px;
3
+ margin: 0 var(--intergalactic-spacing-2x, 8px);
4
+ padding: 0;
5
+ }
6
+
7
+ SPickerInput[size='l'] {
8
+ width: 21px;
9
+ margin: 0 var(--intergalactic-spacing-2x, 8px);
10
+ padding: 0;
11
+ }