@semcore/time-picker 4.52.2-prerelease.0 → 4.53.0-prerelease.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/component/PickerFormat/PickerFormat.js +93 -0
  3. package/lib/cjs/component/PickerFormat/PickerFormat.js.map +1 -0
  4. package/lib/cjs/component/PickerFormat/PickerFormat.type.js +2 -0
  5. package/lib/cjs/component/PickerFormat/PickerFormat.type.js.map +1 -0
  6. package/lib/cjs/component/PickerFormat/picker-format.shadow.css +61 -0
  7. package/lib/cjs/{PickerInput.js → component/PickerInput/PickerInput.js} +89 -108
  8. package/lib/cjs/component/PickerInput/PickerInput.js.map +1 -0
  9. package/lib/cjs/component/PickerInput/PickerInput.type.js +2 -0
  10. package/lib/cjs/component/PickerInput/PickerInput.type.js.map +1 -0
  11. package/lib/cjs/component/PickerInput/picker-input.shadow.css +11 -0
  12. package/lib/cjs/component/TimePicker/TimePicker.js +254 -0
  13. package/lib/cjs/component/TimePicker/TimePicker.js.map +1 -0
  14. package/lib/cjs/component/TimePicker/TimePicker.type.js +2 -0
  15. package/lib/cjs/component/TimePicker/TimePicker.type.js.map +1 -0
  16. package/lib/cjs/component/TimePicker/time-picker.shadow.css +34 -0
  17. package/lib/cjs/entity/TimePickerEntity.js +101 -0
  18. package/lib/cjs/entity/TimePickerEntity.js.map +1 -0
  19. package/lib/cjs/index.js +6 -5
  20. package/lib/cjs/index.js.map +1 -1
  21. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +4 -5
  22. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  23. package/lib/es6/component/PickerFormat/PickerFormat.js +88 -0
  24. package/lib/es6/component/PickerFormat/PickerFormat.js.map +1 -0
  25. package/lib/es6/component/PickerFormat/PickerFormat.type.js +2 -0
  26. package/lib/es6/component/PickerFormat/PickerFormat.type.js.map +1 -0
  27. package/lib/es6/component/PickerFormat/picker-format.shadow.css +61 -0
  28. package/lib/es6/{PickerInput.js → component/PickerInput/PickerInput.js} +90 -106
  29. package/lib/es6/component/PickerInput/PickerInput.js.map +1 -0
  30. package/lib/es6/component/PickerInput/PickerInput.type.js +2 -0
  31. package/lib/es6/component/PickerInput/PickerInput.type.js.map +1 -0
  32. package/lib/es6/component/PickerInput/picker-input.shadow.css +11 -0
  33. package/lib/es6/component/TimePicker/TimePicker.js +250 -0
  34. package/lib/es6/component/TimePicker/TimePicker.js.map +1 -0
  35. package/lib/es6/component/TimePicker/TimePicker.type.js +2 -0
  36. package/lib/es6/component/TimePicker/TimePicker.type.js.map +1 -0
  37. package/lib/es6/component/TimePicker/time-picker.shadow.css +34 -0
  38. package/lib/es6/entity/TimePickerEntity.js +94 -0
  39. package/lib/es6/entity/TimePickerEntity.js.map +1 -0
  40. package/lib/es6/index.js +2 -2
  41. package/lib/es6/index.js.map +1 -1
  42. package/lib/es6/translations/__intergalactic-dynamic-locales.js +2 -2
  43. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  44. package/lib/esm/component/PickerFormat/PickerFormat.mjs +86 -0
  45. package/lib/esm/component/PickerFormat/picker-format.shadow.css +61 -0
  46. package/lib/esm/{PickerInput.mjs → component/PickerInput/PickerInput.mjs} +92 -100
  47. package/lib/esm/component/PickerInput/picker-input.shadow.css +11 -0
  48. package/lib/esm/component/TimePicker/TimePicker.mjs +233 -0
  49. package/lib/esm/component/TimePicker/TimePicker.type.mjs +1 -0
  50. package/lib/esm/component/TimePicker/time-picker.shadow.css +34 -0
  51. package/lib/esm/entity/TimePickerEntity.mjs +90 -0
  52. package/lib/esm/index.mjs +3 -7
  53. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +2 -2
  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 +7 -7
  64. package/lib/cjs/PickerFormat.js +0 -85
  65. package/lib/cjs/PickerFormat.js.map +0 -1
  66. package/lib/cjs/PickerInput.js.map +0 -1
  67. package/lib/cjs/TimePicker.js +0 -360
  68. package/lib/cjs/TimePicker.js.map +0 -1
  69. package/lib/cjs/index.d.js +0 -2
  70. package/lib/cjs/index.d.js.map +0 -1
  71. package/lib/cjs/style/time-picker.shadow.css +0 -121
  72. package/lib/es6/PickerFormat.js +0 -79
  73. package/lib/es6/PickerFormat.js.map +0 -1
  74. package/lib/es6/PickerInput.js.map +0 -1
  75. package/lib/es6/TimePicker.js +0 -348
  76. package/lib/es6/TimePicker.js.map +0 -1
  77. package/lib/es6/index.d.js +0 -2
  78. package/lib/es6/index.d.js.map +0 -1
  79. package/lib/es6/style/time-picker.shadow.css +0 -121
  80. package/lib/esm/PickerFormat.mjs +0 -70
  81. package/lib/esm/TimePicker.mjs +0 -305
  82. package/lib/esm/style/time-picker.shadow.css +0 -121
@@ -0,0 +1,90 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
2
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
+ var TimePickerEntity = /* @__PURE__ */ (function() {
6
+ function TimePickerEntity2() {
7
+ var value = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : ":";
8
+ var is12Hour = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
9
+ _classCallCheck(this, TimePickerEntity2);
10
+ _defineProperty(this, "_hours", "");
11
+ _defineProperty(this, "_minutes", "");
12
+ _defineProperty(this, "_is12Hour", void 0);
13
+ _defineProperty(this, "_meridiem", "AM");
14
+ var _value$split = value.split(":"), _value$split2 = _slicedToArray(_value$split, 2), _value$split2$ = _value$split2[0], hours = _value$split2$ === void 0 ? "" : _value$split2$, _value$split2$2 = _value$split2[1], minutes = _value$split2$2 === void 0 ? "" : _value$split2$2;
15
+ this._is12Hour = is12Hour;
16
+ this._hours = hours;
17
+ this._minutes = minutes;
18
+ }
19
+ return _createClass(TimePickerEntity2, [{
20
+ key: "meridiem",
21
+ get: function get() {
22
+ return this._meridiem;
23
+ },
24
+ set: function set(newMeridiem) {
25
+ this._meridiem = newMeridiem;
26
+ }
27
+ }, {
28
+ key: "hours",
29
+ get: function get() {
30
+ return this._is12Hour ? this.formatHoursTo12(this._hours) : this.formatHoursTo24(this._hours);
31
+ },
32
+ set: function set(newHours) {
33
+ this._hours = newHours;
34
+ }
35
+ }, {
36
+ key: "minutes",
37
+ get: function get() {
38
+ return this._minutes && this.withLeadingZero(this._minutes);
39
+ },
40
+ set: function set(newMinutes) {
41
+ this._minutes = newMinutes;
42
+ }
43
+ }, {
44
+ key: "is12Hour",
45
+ set: function set(newIs12Hour) {
46
+ this._is12Hour = newIs12Hour;
47
+ }
48
+ }, {
49
+ key: "withLeadingZero",
50
+ value: function withLeadingZero(value) {
51
+ return String(value).padStart(2, "0");
52
+ }
53
+ }, {
54
+ key: "formatHoursTo12",
55
+ value: function formatHoursTo12(hours) {
56
+ var numberHours = Number.parseInt(hours, 10);
57
+ if (Number.isNaN(numberHours)) return hours;
58
+ if (numberHours === 0) {
59
+ return "12";
60
+ } else if (numberHours > 12) {
61
+ return this.withLeadingZero(numberHours - 12);
62
+ }
63
+ return this.withLeadingZero(numberHours);
64
+ }
65
+ }, {
66
+ key: "formatHoursTo24",
67
+ value: function formatHoursTo24(hours) {
68
+ var numberHours = Number.parseInt(hours, 10);
69
+ if (Number.isNaN(numberHours)) return hours;
70
+ if (this.meridiem === "AM") {
71
+ return this.withLeadingZero(numberHours === 12 ? 0 : numberHours);
72
+ }
73
+ return this.withLeadingZero(numberHours < 12 ? numberHours + 12 : numberHours);
74
+ }
75
+ }, {
76
+ key: "toggleMeridiem",
77
+ value: function toggleMeridiem() {
78
+ this.meridiem = this._meridiem === "AM" ? "PM" : "AM";
79
+ }
80
+ }, {
81
+ key: "toString",
82
+ value: function toString() {
83
+ var hours = this._is12Hour ? this.formatHoursTo24(this.hours) : this.hours;
84
+ return "".concat(hours, ":").concat(this.minutes);
85
+ }
86
+ }]);
87
+ })();
88
+ export {
89
+ TimePickerEntity as default
90
+ };
package/lib/esm/index.mjs CHANGED
@@ -1,9 +1,5 @@
1
- import { default as default2, formatHoursTo12, formatHoursTo24, intOrDefault, meridiemByHours, withLeadingZero } from "./TimePicker.mjs";
1
+ import { default as default2 } from "./component/TimePicker/TimePicker.mjs";
2
+ import "./component/TimePicker/TimePicker.type.mjs";
2
3
  export {
3
- default2 as default,
4
- formatHoursTo12,
5
- formatHoursTo24,
6
- intOrDefault,
7
- meridiemByHours,
8
- withLeadingZero
4
+ default2 as default
9
5
  };
@@ -6,12 +6,12 @@ import it from "./it.json.mjs";
6
6
  import ja from "./ja.json.mjs";
7
7
  import ko from "./ko.json.mjs";
8
8
  import nl from "./nl.json.mjs";
9
+ import pl from "./pl.json.mjs";
9
10
  import pt from "./pt.json.mjs";
11
+ import sv from "./sv.json.mjs";
10
12
  import tr from "./tr.json.mjs";
11
13
  import vi from "./vi.json.mjs";
12
14
  import zh from "./zh.json.mjs";
13
- import pl from "./pl.json.mjs";
14
- import sv from "./sv.json.mjs";
15
15
  var localizedMessages = {
16
16
  de,
17
17
  en,
@@ -0,0 +1,17 @@
1
+ import { Component } from '@semcore/core';
2
+ import React from 'react';
3
+ import type { TimePickerFormatProps, TimePickerFormatPropsInternal } from './PickerFormat.type';
4
+ declare class TimePickerFormat extends Component<TimePickerFormatProps, typeof TimePickerFormat.enhance, {}, TimePickerFormatPropsInternal> {
5
+ static style: {
6
+ [key: string]: string;
7
+ };
8
+ static enhance: readonly [(props: any) => {
9
+ uid: ReturnType<typeof import("@semcore/core/lib/utils/uniqueID").useUID>;
10
+ }];
11
+ state: {
12
+ changedFormatNotice: string;
13
+ };
14
+ handleClick: () => void;
15
+ render(): React.ReactNode;
16
+ }
17
+ export default TimePickerFormat;
@@ -0,0 +1,16 @@
1
+ import type { BoxProps } from '@semcore/base-components';
2
+ import type { useI18n } from '@semcore/core/lib/utils/enhances/WithI18n';
3
+ import type { TimePickerMeridiem } from '../TimePicker/TimePicker.type';
4
+ export type TimePickerFormatProps = BoxProps & {};
5
+ export type TimePickerFormatPropsInternal = {
6
+ /** @Internal */
7
+ getI18nText: ReturnType<typeof useI18n>;
8
+ /** @Internal */
9
+ size: 'm' | 'l';
10
+ /** @Internal */
11
+ disabled: boolean;
12
+ /** @Internal */
13
+ meridiem: TimePickerMeridiem;
14
+ /** @Internal */
15
+ onClick: (event: React.SyntheticEvent) => void;
16
+ };
@@ -0,0 +1,54 @@
1
+ import { Component } from '@semcore/core';
2
+ import React from 'react';
3
+ import type { PickerInputMinMax, PickerInputProps } from './PickerInput.type';
4
+ import type { TimePickerField } from '../TimePicker/TimePicker.type';
5
+ type State = {
6
+ dirtyValue?: string;
7
+ visible: boolean;
8
+ };
9
+ declare abstract class AbstractPickerInput extends Component<PickerInputProps, [], {}, {}, State> {
10
+ static style: {
11
+ [key: string]: string;
12
+ };
13
+ static defaultProps: (_: PickerInputProps) => {
14
+ placeholder: string;
15
+ offset: number[];
16
+ };
17
+ state: State;
18
+ inputRef: React.RefObject<unknown>;
19
+ abstract get field(): TimePickerField;
20
+ abstract get minMax(): PickerInputMinMax;
21
+ abstract handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void;
22
+ parseValueWithMinMax: (value: string) => string;
23
+ dispatchOnChange(value: string, event: React.SyntheticEvent): void;
24
+ submitChanges(event: React.SyntheticEvent): void;
25
+ handleChange: (value: string, event: React.SyntheticEvent) => void;
26
+ handleBlur: (event: React.SyntheticEvent) => void;
27
+ handleSelect: (value: string, event: React.SyntheticEvent) => void;
28
+ handleVisibleChange: (visible: boolean) => void;
29
+ render(): React.ReactNode;
30
+ }
31
+ declare class Hours extends AbstractPickerInput {
32
+ static defaultProps: (props: PickerInputProps) => {
33
+ ml: number | undefined;
34
+ placeholder: string;
35
+ offset: number[];
36
+ };
37
+ get field(): TimePickerField;
38
+ get minMax(): PickerInputMinMax;
39
+ focusNext(): void;
40
+ handleKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
41
+ componentDidUpdate(_: PickerInputProps, prevState: State): void;
42
+ }
43
+ declare class Minutes extends AbstractPickerInput {
44
+ static defaultProps: (props: PickerInputProps) => {
45
+ mr: number | undefined;
46
+ placeholder: string;
47
+ offset: number[];
48
+ };
49
+ get field(): TimePickerField;
50
+ get minMax(): PickerInputMinMax;
51
+ focusPrev(): void;
52
+ handleKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
53
+ }
54
+ export { Hours, Minutes };
@@ -0,0 +1,13 @@
1
+ import type { SelectProps } from '@semcore/select';
2
+ import type { TimePickerField, TimePickerItemProps } from '../TimePicker/TimePicker.type';
3
+ export type PickerInputProps = SelectProps & TimePickerItemProps & {
4
+ time: string;
5
+ size?: 'm' | 'l';
6
+ is12Hour?: boolean;
7
+ disabled?: boolean;
8
+ $onValueChange: (value: string, field: TimePickerField, event: React.SyntheticEvent) => void;
9
+ minutesInputRef: React.RefObject<HTMLElement>;
10
+ hoursInputRef: React.RefObject<HTMLElement>;
11
+ ariaLabel: string;
12
+ };
13
+ export type PickerInputMinMax = [number, number];
@@ -0,0 +1,3 @@
1
+ import type { TimePickerComponent } from './TimePicker.type';
2
+ declare const TimePicker: TimePickerComponent;
3
+ export default TimePicker;
@@ -0,0 +1,50 @@
1
+ import type { Box } from '@semcore/base-components';
2
+ import type { PropGetterFn, Intergalactic } from '@semcore/core';
3
+ import type { InputProps, InputValueProps } from '@semcore/input';
4
+ import type { TimePickerFormatProps } from '../PickerFormat/PickerFormat.type';
5
+ export type TimePickerProps = Omit<InputProps, 'size'> & {
6
+ /** Time in the hh:mm format */
7
+ value?: string;
8
+ /** Default value if `value` property is not provided */
9
+ defaultValue?: string;
10
+ /** The event responses upon time changing */
11
+ onChange?: (time: string, event?: React.SyntheticEvent) => void;
12
+ /** In charge of the component blocking */
13
+ disabled?: boolean;
14
+ /** Control size
15
+ * @default m */
16
+ size?: 'm' | 'l';
17
+ /** 12-hour time format */
18
+ is12Hour?: boolean;
19
+ /** Specifies the locale for i18n support */
20
+ locale?: string;
21
+ };
22
+ export type TimePickerSeparatorProps = {
23
+ /** @Internal */
24
+ hoursInputRef: React.RefObject<HTMLElement>;
25
+ /** @Internal */
26
+ disabled?: boolean;
27
+ };
28
+ export type TimePickerItemProps = InputValueProps & {
29
+ /** Step for changing of the values in the dropdown list */
30
+ step?: number;
31
+ };
32
+ export type TimePickerContext = {
33
+ getHoursProps: PropGetterFn;
34
+ getFormatProps: PropGetterFn;
35
+ getMinutesProps: PropGetterFn;
36
+ getSeparatorProps: PropGetterFn;
37
+ };
38
+ export type TimePickerHandlers = {
39
+ value: (value: string) => void;
40
+ };
41
+ export type TimePickerMeridiem = 'AM' | 'PM';
42
+ export type TimePickerField = 'hours' | 'minutes';
43
+ export type TimePickerComponent = Intergalactic.Component<'div', TimePickerProps, TimePickerContext, [
44
+ handlers: TimePickerHandlers
45
+ ]> & {
46
+ Hours: Intergalactic.Component<'div', TimePickerItemProps>;
47
+ Minutes: Intergalactic.Component<'div', TimePickerItemProps>;
48
+ Separator: typeof Box;
49
+ Format: Intergalactic.Component<'div', TimePickerFormatProps>;
50
+ };
@@ -0,0 +1,22 @@
1
+ import type { TimePickerMeridiem } from '../component/TimePicker/TimePicker.type';
2
+ declare class TimePickerEntity {
3
+ private _hours;
4
+ private _minutes;
5
+ private _is12Hour;
6
+ private _meridiem;
7
+ constructor(value?: string, // should be in the format 'HH:mm'
8
+ is12Hour?: boolean);
9
+ get meridiem(): TimePickerMeridiem;
10
+ get hours(): string;
11
+ get minutes(): string;
12
+ set is12Hour(newIs12Hour: boolean);
13
+ set hours(newHours: string);
14
+ set minutes(newMinutes: string);
15
+ private set meridiem(value);
16
+ private withLeadingZero;
17
+ private formatHoursTo12;
18
+ private formatHoursTo24;
19
+ toggleMeridiem(): void;
20
+ toString(): string;
21
+ }
22
+ export default TimePickerEntity;
@@ -1,63 +1,2 @@
1
- import React from 'react';
2
- import { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';
3
- import { InputProps, InputValueProps } from '@semcore/input';
4
- import { Box, BoxProps } from '@semcore/flex-box';
5
- import { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
6
-
7
- /** @deprecated */
8
- export interface ITimePickerProps extends TimePickerProps, UnknownProperties {}
9
- export type TimePickerProps = Omit<InputProps, 'size'> & {
10
- /** Time in the hh:mm format */
11
- value?: string;
12
- /** Default value if `value` property is not provided */
13
- defaultValue?: string;
14
- /** The event responses upon time changing */
15
- onChange?: (time: string, event?: React.SyntheticEvent) => void;
16
- /** In charge of the component blocking */
17
- disabled?: boolean;
18
- /** Control size
19
- * @default m */
20
- size?: 'm' | 'l';
21
- /** 12-hour time format */
22
- is12Hour?: boolean;
23
- locale?: string;
24
- };
25
-
26
- /** @deprecated */
27
- export interface ITimePickerItemProps extends TimePickerItemProps, UnknownProperties {}
28
- export type TimePickerItemProps = InputValueProps & {
29
- /** Step for changing of the values in the dropdown list */
30
- step?: number;
31
- };
32
-
33
- /** @deprecated */
34
- export interface ITimePickerFormatProps extends TimePickerFormatProps, UnknownProperties {}
35
- export type TimePickerFormatProps = BoxProps & KeyboardFocusProps & {};
36
-
37
- /** @deprecated */
38
- export interface ITimePickerContext extends TimePickerContext, UnknownProperties {}
39
- export type TimePickerContext = {
40
- getHoursProps: PropGetterFn;
41
- getFormatProps: PropGetterFn;
42
- getMinutesProps: PropGetterFn;
43
- };
44
-
45
- /** @deprecated */
46
- export interface ITimePickerHandlers extends TimePickerHandlers, UnknownProperties {}
47
- export type TimePickerHandlers = {
48
- value: (value: string) => void;
49
- };
50
-
51
- declare const TimePicker: Intergalactic.Component<
52
- 'div',
53
- TimePickerProps,
54
- TimePickerContext,
55
- [handlers: TimePickerHandlers]
56
- > & {
57
- Hours: Intergalactic.Component<'div', TimePickerItemProps>;
58
- Minutes: Intergalactic.Component<'div', TimePickerItemProps>;
59
- Separator: typeof Box;
60
- Format: Intergalactic.Component<'div', TimePickerFormatProps>;
61
- };
62
-
63
- export default TimePicker;
1
+ export { default } from './component/TimePicker/TimePicker';
2
+ export * from './component/TimePicker/TimePicker.type';
@@ -0,0 +1,114 @@
1
+ export declare const localizedMessages: {
2
+ de: {
3
+ title: string;
4
+ titleEmpty: string;
5
+ hours: string;
6
+ minutes: string;
7
+ formatToggler: string;
8
+ changedFormatNotice: string;
9
+ };
10
+ en: {
11
+ title: string;
12
+ titleEmpty: string;
13
+ hours: string;
14
+ minutes: string;
15
+ formatToggler: string;
16
+ changedFormatNotice: string;
17
+ };
18
+ es: {
19
+ title: string;
20
+ titleEmpty: string;
21
+ hours: string;
22
+ minutes: string;
23
+ formatToggler: string;
24
+ changedFormatNotice: string;
25
+ };
26
+ fr: {
27
+ title: string;
28
+ titleEmpty: string;
29
+ hours: string;
30
+ minutes: string;
31
+ formatToggler: string;
32
+ changedFormatNotice: string;
33
+ };
34
+ it: {
35
+ title: string;
36
+ titleEmpty: string;
37
+ hours: string;
38
+ minutes: string;
39
+ formatToggler: string;
40
+ changedFormatNotice: string;
41
+ };
42
+ ja: {
43
+ title: string;
44
+ titleEmpty: string;
45
+ hours: string;
46
+ minutes: string;
47
+ formatToggler: string;
48
+ changedFormatNotice: string;
49
+ };
50
+ ko: {
51
+ title: string;
52
+ titleEmpty: string;
53
+ hours: string;
54
+ minutes: string;
55
+ formatToggler: string;
56
+ changedFormatNotice: string;
57
+ };
58
+ nl: {
59
+ title: string;
60
+ titleEmpty: string;
61
+ hours: string;
62
+ minutes: string;
63
+ formatToggler: string;
64
+ changedFormatNotice: string;
65
+ };
66
+ pt: {
67
+ title: string;
68
+ titleEmpty: string;
69
+ hours: string;
70
+ minutes: string;
71
+ formatToggler: string;
72
+ changedFormatNotice: string;
73
+ };
74
+ tr: {
75
+ title: string;
76
+ titleEmpty: string;
77
+ hours: string;
78
+ minutes: string;
79
+ formatToggler: string;
80
+ changedFormatNotice: string;
81
+ };
82
+ vi: {
83
+ title: string;
84
+ titleEmpty: string;
85
+ hours: string;
86
+ minutes: string;
87
+ formatToggler: string;
88
+ changedFormatNotice: string;
89
+ };
90
+ zh: {
91
+ title: string;
92
+ titleEmpty: string;
93
+ hours: string;
94
+ minutes: string;
95
+ formatToggler: string;
96
+ changedFormatNotice: string;
97
+ };
98
+ pl: {
99
+ title: string;
100
+ titleEmpty: string;
101
+ hours: string;
102
+ minutes: string;
103
+ formatToggler: string;
104
+ changedFormatNotice: string;
105
+ };
106
+ sv: {
107
+ title: string;
108
+ titleEmpty: string;
109
+ hours: string;
110
+ minutes: string;
111
+ formatToggler: string;
112
+ changedFormatNotice: string;
113
+ };
114
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/time-picker",
3
3
  "description": "Semrush TimePicker Component",
4
- "version": "4.52.2-prerelease.0",
4
+ "version": "4.53.0-prerelease.0",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,14 +14,14 @@
14
14
  "types": "./lib/types/index.d.ts"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/button": "5.43.3-prerelease.0",
18
- "@semcore/flex-box": "5.41.4-prerelease.0",
19
- "@semcore/input": "4.42.4-prerelease.0",
20
- "@semcore/select": "4.52.2-prerelease.0",
21
- "@semcore/utils": "4.48.5-prerelease.0"
17
+ "@semcore/button": "5.44.0-prerelease.0",
18
+ "@semcore/flex-box": "5.42.0-prerelease.0",
19
+ "@semcore/input": "4.43.0-prerelease.0",
20
+ "@semcore/select": "4.53.0-prerelease.0",
21
+ "@semcore/utils": "4.49.0-prerelease.0"
22
22
  },
23
23
  "peerDependencies": {
24
- "@semcore/core": "^2.39.4-prerelease.0",
24
+ "@semcore/core": "^2.40.0-prerelease.0",
25
25
  "react": "16.8 - 18",
26
26
  "react-dom": "16.8 - 18"
27
27
  },
@@ -1,85 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports["default"] = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
9
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
- var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _core = require("@semcore/core");
16
- var _react = _interopRequireDefault(require("react"));
17
- var _flexBox = require("@semcore/flex-box");
18
- var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
19
- var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
20
- var TimePickerFormat = /*#__PURE__*/function (_Component) {
21
- (0, _inherits2["default"])(TimePickerFormat, _Component);
22
- var _super = (0, _createSuper2["default"])(TimePickerFormat);
23
- function TimePickerFormat() {
24
- var _this;
25
- (0, _classCallCheck2["default"])(this, TimePickerFormat);
26
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
27
- args[_key] = arguments[_key];
28
- }
29
- _this = _super.call.apply(_super, [this].concat(args));
30
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
31
- changedFormatNotice: ''
32
- });
33
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClick", function () {
34
- setTimeout(function () {
35
- var _this$asProps = _this.asProps,
36
- meridiem = _this$asProps.meridiem,
37
- getI18nText = _this$asProps.getI18nText;
38
- _this.setState({
39
- changedFormatNotice: getI18nText('changedFormatNotice', {
40
- meridiem: meridiem
41
- })
42
- });
43
- }, 0);
44
- setTimeout(function () {
45
- _this.setState({
46
- changedFormatNotice: ''
47
- });
48
- }, 2000);
49
- });
50
- return _this;
51
- }
52
- (0, _createClass2["default"])(TimePickerFormat, [{
53
- key: "render",
54
- value: function render() {
55
- var _ref = this.asProps,
56
- _ref2;
57
- var SPickerFormat = _flexBox.Box;
58
- var _this$asProps2 = this.asProps,
59
- Children = _this$asProps2.Children,
60
- meridiem = _this$asProps2.meridiem,
61
- styles = _this$asProps2.styles,
62
- getI18nText = _this$asProps2.getI18nText,
63
- uid = _this$asProps2.uid;
64
- var changedFormatNotice = this.state.changedFormatNotice;
65
- var SPickerFormatText = 'span';
66
- return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SPickerFormat, _ref2.cn("SPickerFormat", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
67
- "type": 'button',
68
- "tag": 'button',
69
- "onClick": this.handleClick,
70
- "aria-describedby": "".concat(uid, "_describe")
71
- }, _ref))), Children.origin ? /*#__PURE__*/_react["default"].createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/_react["default"].createElement(SPickerFormatText, _ref2.cn("SPickerFormatText", {}), meridiem)), /*#__PURE__*/_react["default"].createElement(_flexBox.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
72
- "role": 'status',
73
- "aria-live": 'polite'
74
- }), changedFormatNotice), /*#__PURE__*/_react["default"].createElement(_flexBox.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
75
- "aria-hidden": 'true',
76
- "id": "".concat(uid, "_describe")
77
- }), getI18nText('formatToggler')));
78
- }
79
- }]);
80
- return TimePickerFormat;
81
- }(_core.Component);
82
- (0, _defineProperty2["default"])(TimePickerFormat, "enhance", [(0, _keyboardFocusEnhance["default"])(), (0, _uniqueID["default"])()]);
83
- var _default = TimePickerFormat;
84
- exports["default"] = _default;
85
- //# sourceMappingURL=PickerFormat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PickerFormat.js","names":["_core","require","_react","_interopRequireDefault","_flexBox","_keyboardFocusEnhance","_uniqueID","TimePickerFormat","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","changedFormatNotice","setTimeout","_this$asProps","asProps","meridiem","getI18nText","setState","_createClass2","key","value","render","_ref","_ref2","SPickerFormat","Box","_this$asProps2","Children","styles","uid","state","SPickerFormatText","sstyled","createElement","Fragment","cn","_objectSpread2","assignProps","handleClick","origin","ScreenReaderOnly","Component","keyboardFocusEnhance","uniqueIDEnhancement","_default","exports"],"sources":["../../src/PickerFormat.jsx"],"sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { ScreenReaderOnly } from '@semcore/flex-box';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nclass TimePickerFormat extends Component {\n static enhance = [keyboardFocusEnhance(), uniqueIDEnhancement()];\n\n state = {\n changedFormatNotice: '',\n };\n\n handleClick = () => {\n setTimeout(() => {\n const { meridiem, getI18nText } = this.asProps;\n this.setState({ changedFormatNotice: getI18nText('changedFormatNotice', { meridiem }) });\n }, 0);\n\n setTimeout(() => {\n this.setState({ changedFormatNotice: '' });\n }, 2000);\n };\n\n render() {\n const SPickerFormat = Root;\n const { Children, meridiem, styles, getI18nText, uid } = this.asProps;\n const { changedFormatNotice } = this.state;\n const SPickerFormatText = 'span';\n\n return sstyled(styles)(\n <>\n <SPickerFormat\n render={Box}\n type='button'\n tag='button'\n onClick={this.handleClick}\n aria-describedby={`${uid}_describe`}\n >\n {Children.origin ? <Children /> : <SPickerFormatText>{meridiem}</SPickerFormatText>}\n </SPickerFormat>\n <ScreenReaderOnly role={'status'} aria-live={'polite'}>\n {changedFormatNotice}\n </ScreenReaderOnly>\n <ScreenReaderOnly aria-hidden={'true'} id={`${uid}_describe`}>\n {getI18nText('formatToggler')}\n </ScreenReaderOnly>\n </>,\n );\n }\n}\n\nexport default TimePickerFormat;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PickerInput.js","names":["_core","require","_react","_interopRequireDefault","_input","_select","_TimePicker","_assignProps2","_excluded","MAP_FIELD_TO_TIME","hours","minutes","MAP_SIZE_SELECT","m","l","getOptions","min","max","step","arguments","length","undefined","Number","toFixed","options","Array","fill","numValue","map","i","index","value","withLeadingZero","String","createElement","Option","key","defaultPopperOffset","ItemPicker","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","args","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","dirtyValue","visible","_this$minMax","minMax","_this$minMax2","_slicedToArray2","Math","event","stopPropagation","numberValue","intOrDefault","NaN","isNaN","setState","slice","submitChanges","dispatchOnChange","getI18nText","asProps","_getI18nText","field","_createClass2","$onValueChange","state","parseValueWithMinMax","render","_ref","_ref2","SPickerInput","Select","Trigger","_this$asProps","styles","onSelect","time","size","disabled","onVisibleChange","other","_objectWithoutProperties2","_this$state","timeValue","_this$minMax3","_this$minMax4","sstyled","cn","_objectSpread2","callAllEventHandlers","handleSelect","handleVisibleChange","assignProps","Input","Value","inputRef","getAriaLabel","handleChange","handleBlur","handleKeyDown","Menu","hMax","Component","placeholder","offset","Hours","_ItemPicker","_super2","_this2","_len2","_key2","currentTarget","selectionStart","selectionEnd","preventDefault","focusNext","is12Hour","minutesInputRef","current","focus","componentDidUpdate","_prevProps","prevState","exports","_ref3","defaultProps","ml","Minutes","_ItemPicker2","_super3","_this3","_len3","_key3","focusPrev","hoursInputRef","_ref4","mr"],"sources":["../../src/PickerInput.jsx"],"sourcesContent":["import React from 'react';\nimport Input from '@semcore/input';\nimport Select from '@semcore/select';\nimport { intOrDefault, withLeadingZero } from './TimePicker';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\n\nconst MAP_FIELD_TO_TIME = {\n hours: 0,\n minutes: 1,\n};\n\nconst MAP_SIZE_SELECT = {\n m: 'm',\n l: 'l',\n};\n\nfunction getOptions(min, max, step = 1) {\n const length = Number(((max + 1 - min) / step).toFixed(0));\n const options = Array(length).fill('');\n let numValue = min;\n return options.map((i, index) => {\n numValue = index === 0 ? numValue : numValue + step;\n const value = withLeadingZero(String(numValue));\n return (\n <Select.Option value={value} key={value}>\n {value}\n </Select.Option>\n );\n });\n}\n\nconst defaultPopperOffset = [-8, 4];\n\nclass ItemPicker extends Component {\n static defaultProps = {\n placeholder: '00',\n offset: defaultPopperOffset,\n };\n\n inputRef = React.createRef();\n\n minMax() {\n return [];\n }\n\n state = {\n dirtyValue: undefined,\n visible: false,\n };\n\n parseValueWithMinMax = (value) => {\n const [min, max] = this.minMax();\n return String(Math.max(min, Math.min(max, value)));\n };\n\n dispatchOnChange(value, event) {\n this.setState({ dirtyValue: undefined });\n this.asProps.$onValueChange(value, this.field, event);\n }\n\n submitChanges(event) {\n let { dirtyValue } = this.state;\n if (dirtyValue !== undefined) {\n // if changes value\n if (dirtyValue) dirtyValue = this.parseValueWithMinMax(dirtyValue); // if not \"\"\n this.dispatchOnChange(dirtyValue, event);\n }\n }\n\n handleChange = (value, event) => {\n /* hide props for bubbling events */\n event.stopPropagation();\n const numberValue = intOrDefault(Number(value), NaN);\n\n if (!Number.isNaN(numberValue)) {\n this.setState({ dirtyValue: value.slice(-2) });\n }\n };\n\n handleBlur = (event) => this.submitChanges(event);\n\n /* rewrite method */\n handleKeyDown = () => {};\n\n handleSelect = (value, event) => {\n this.dispatchOnChange(value, event);\n };\n\n handleVisibleChange = (visible) => this.setState({ visible });\n\n getAriaLabel = () => {\n const { _getI18nText: getI18nText } = this.asProps;\n if (this.field === 'hours') return getI18nText('hours');\n if (this.field === 'minutes') return getI18nText('minutes');\n return undefined;\n };\n\n render() {\n const SPickerInput = Root;\n const { styles, step, onSelect, time, size, disabled, onVisibleChange, ...other } =\n this.asProps;\n const { dirtyValue, visible } = this.state;\n const timeValue = time[MAP_FIELD_TO_TIME[this.field]];\n const value = dirtyValue === undefined ? timeValue : dirtyValue;\n const [min, max] = this.minMax();\n\n return sstyled(styles)(\n <Select\n {...other}\n interaction='focus'\n size={size ? MAP_SIZE_SELECT[size] : false}\n onChange={callAllEventHandlers(onSelect, this.handleSelect)}\n onVisibleChange={callAllEventHandlers(onVisibleChange, this.handleVisibleChange)}\n visible={visible}\n value={timeValue}\n >\n <SPickerInput\n render={Select.Trigger}\n tag={Input.Value}\n ref={this.inputRef}\n inputMode={'numeric'}\n size={size}\n disabled={disabled}\n neighborLocation={false}\n value={value}\n aria-label={this.getAriaLabel()}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onKeyDown={this.handleKeyDown}\n />\n <Select.Menu hMax={180}>{getOptions(min, max, step)}</Select.Menu>\n </Select>,\n );\n }\n}\n\nclass Hours extends ItemPicker {\n field = 'hours';\n static defaultProps = ({ size }) => ({\n ...ItemPicker.defaultProps,\n ml: size === 'l' ? 3 : undefined,\n });\n\n minMax() {\n const { is12Hour } = this.asProps;\n if (is12Hour) {\n return [1, 12];\n } else {\n return [0, 23];\n }\n }\n\n focusNext() {\n if (this.asProps.minutesInputRef.current) {\n this.setState({ visible: false });\n this.asProps.minutesInputRef.current.focus();\n }\n }\n\n handleKeyDown = (event) => {\n const { currentTarget } = event;\n if (event.key === 'Enter') {\n this.submitChanges(event);\n }\n if (event.key === 'ArrowRight') {\n if (\n currentTarget.selectionStart >= currentTarget.value.length &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n event.preventDefault();\n this.focusNext();\n }\n }\n };\n\n componentDidUpdate(_prevProps, prevState) {\n const { dirtyValue } = this.state;\n if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;\n\n if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {\n this.focusNext();\n }\n }\n}\n\nclass Minutes extends ItemPicker {\n field = 'minutes';\n static defaultProps = ({ size }) => ({\n ...ItemPicker.defaultProps,\n mr: size === 'l' ? 3 : undefined,\n });\n\n minMax() {\n return [0, 59];\n }\n\n focusPrev() {\n if (this.asProps.hoursInputRef.current) {\n this.setState({ visible: false });\n this.asProps.hoursInputRef.current.focus();\n }\n }\n\n handleKeyDown = (event) => {\n const { currentTarget } = event;\n if (event.key === 'ArrowLeft') {\n if (\n currentTarget.selectionStart <= 0 &&\n currentTarget.selectionStart === currentTarget.selectionEnd\n ) {\n event.preventDefault();\n this.focusPrev();\n }\n }\n if (event.key === 'Backspace') {\n if (currentTarget.value.length === 0) {\n event.preventDefault();\n this.focusPrev();\n }\n }\n if (event.key === 'Enter') this.submitChanges(event);\n };\n}\n\nexport { Hours, Minutes };\n"],"mappings":"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"}