@semcore/time-picker 4.52.2 → 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.
- package/CHANGELOG.md +6 -0
- package/lib/cjs/component/PickerFormat/PickerFormat.js +93 -0
- package/lib/cjs/component/PickerFormat/PickerFormat.js.map +1 -0
- package/lib/cjs/component/PickerFormat/PickerFormat.type.js +2 -0
- package/lib/cjs/component/PickerFormat/PickerFormat.type.js.map +1 -0
- package/lib/cjs/component/PickerFormat/picker-format.shadow.css +61 -0
- package/lib/cjs/{PickerInput.js → component/PickerInput/PickerInput.js} +89 -108
- package/lib/cjs/component/PickerInput/PickerInput.js.map +1 -0
- package/lib/cjs/component/PickerInput/PickerInput.type.js +2 -0
- package/lib/cjs/component/PickerInput/PickerInput.type.js.map +1 -0
- package/lib/cjs/component/PickerInput/picker-input.shadow.css +11 -0
- package/lib/cjs/component/TimePicker/TimePicker.js +254 -0
- package/lib/cjs/component/TimePicker/TimePicker.js.map +1 -0
- package/lib/cjs/component/TimePicker/TimePicker.type.js +2 -0
- package/lib/cjs/component/TimePicker/TimePicker.type.js.map +1 -0
- package/lib/cjs/component/TimePicker/time-picker.shadow.css +34 -0
- package/lib/cjs/entity/TimePickerEntity.js +101 -0
- package/lib/cjs/entity/TimePickerEntity.js.map +1 -0
- package/lib/cjs/index.js +6 -5
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +4 -5
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/component/PickerFormat/PickerFormat.js +88 -0
- package/lib/es6/component/PickerFormat/PickerFormat.js.map +1 -0
- package/lib/es6/component/PickerFormat/PickerFormat.type.js +2 -0
- package/lib/es6/component/PickerFormat/PickerFormat.type.js.map +1 -0
- package/lib/es6/component/PickerFormat/picker-format.shadow.css +61 -0
- package/lib/es6/{PickerInput.js → component/PickerInput/PickerInput.js} +90 -106
- package/lib/es6/component/PickerInput/PickerInput.js.map +1 -0
- package/lib/es6/component/PickerInput/PickerInput.type.js +2 -0
- package/lib/es6/component/PickerInput/PickerInput.type.js.map +1 -0
- package/lib/es6/component/PickerInput/picker-input.shadow.css +11 -0
- package/lib/es6/component/TimePicker/TimePicker.js +250 -0
- package/lib/es6/component/TimePicker/TimePicker.js.map +1 -0
- package/lib/es6/component/TimePicker/TimePicker.type.js +2 -0
- package/lib/es6/component/TimePicker/TimePicker.type.js.map +1 -0
- package/lib/es6/component/TimePicker/time-picker.shadow.css +34 -0
- package/lib/es6/entity/TimePickerEntity.js +94 -0
- package/lib/es6/entity/TimePickerEntity.js.map +1 -0
- package/lib/es6/index.js +2 -2
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/translations/__intergalactic-dynamic-locales.js +2 -2
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/esm/component/PickerFormat/PickerFormat.mjs +86 -0
- package/lib/esm/component/PickerFormat/picker-format.shadow.css +61 -0
- package/lib/esm/{PickerInput.mjs → component/PickerInput/PickerInput.mjs} +92 -100
- package/lib/esm/component/PickerInput/picker-input.shadow.css +11 -0
- package/lib/esm/component/TimePicker/TimePicker.mjs +233 -0
- package/lib/esm/component/TimePicker/TimePicker.type.mjs +1 -0
- package/lib/esm/component/TimePicker/time-picker.shadow.css +34 -0
- package/lib/esm/entity/TimePickerEntity.mjs +90 -0
- package/lib/esm/index.mjs +3 -7
- package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +2 -2
- package/lib/types/component/PickerFormat/PickerFormat.d.ts +17 -0
- package/lib/types/component/PickerFormat/PickerFormat.type.d.ts +16 -0
- package/lib/types/component/PickerInput/PickerInput.d.ts +54 -0
- package/lib/types/component/PickerInput/PickerInput.type.d.ts +13 -0
- package/lib/types/component/TimePicker/TimePicker.d.ts +3 -0
- package/lib/types/component/TimePicker/TimePicker.type.d.ts +50 -0
- package/lib/types/entity/TimePickerEntity.d.ts +22 -0
- package/lib/types/index.d.ts +2 -63
- package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +114 -0
- package/package.json +7 -7
- package/lib/cjs/PickerFormat.js +0 -85
- package/lib/cjs/PickerFormat.js.map +0 -1
- package/lib/cjs/PickerInput.js.map +0 -1
- package/lib/cjs/TimePicker.js +0 -360
- package/lib/cjs/TimePicker.js.map +0 -1
- package/lib/cjs/index.d.js +0 -2
- package/lib/cjs/index.d.js.map +0 -1
- package/lib/cjs/style/time-picker.shadow.css +0 -121
- package/lib/es6/PickerFormat.js +0 -79
- package/lib/es6/PickerFormat.js.map +0 -1
- package/lib/es6/PickerInput.js.map +0 -1
- package/lib/es6/TimePicker.js +0 -348
- package/lib/es6/TimePicker.js.map +0 -1
- package/lib/es6/index.d.js +0 -2
- package/lib/es6/index.d.js.map +0 -1
- package/lib/es6/style/time-picker.shadow.css +0 -121
- package/lib/esm/PickerFormat.mjs +0 -70
- package/lib/esm/TimePicker.mjs +0 -305
- 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
|
|
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,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;
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,63 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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.
|
|
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.
|
|
18
|
-
"@semcore/flex-box": "5.
|
|
19
|
-
"@semcore/input": "4.
|
|
20
|
-
"@semcore/select": "4.
|
|
21
|
-
"@semcore/utils": "4.
|
|
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.
|
|
24
|
+
"@semcore/core": "^2.40.0-prerelease.0",
|
|
25
25
|
"react": "16.8 - 18",
|
|
26
26
|
"react-dom": "16.8 - 18"
|
|
27
27
|
},
|
package/lib/cjs/PickerFormat.js
DELETED
|
@@ -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":";;;;;;;;;;;;;;AACA,IAAAA,KAAA,GAAAC,OAAA;AADA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,qBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAEA,IAAAK,SAAA,GAAAH,sBAAA,CAAAF,OAAA;AAA8D,IAExDM,gBAAgB,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,gBAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,gBAAA;EAAA,SAAAA,iBAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,gBAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,YAGZ;MACNa,mBAAmB,EAAE;IACvB,CAAC;IAAA,IAAAF,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,kBAEa,YAAM;MAClBc,UAAU,CAAC,YAAM;QACf,IAAAC,aAAA,GAAkCf,KAAA,CAAKgB,OAAO;UAAtCC,QAAQ,GAAAF,aAAA,CAARE,QAAQ;UAAEC,WAAW,GAAAH,aAAA,CAAXG,WAAW;QAC7BlB,KAAA,CAAKmB,QAAQ,CAAC;UAAEN,mBAAmB,EAAEK,WAAW,CAAC,qBAAqB,EAAE;YAAED,QAAQ,EAARA;UAAS,CAAC;QAAE,CAAC,CAAC;MAC1F,CAAC,EAAE,CAAC,CAAC;MAELH,UAAU,CAAC,YAAM;QACfd,KAAA,CAAKmB,QAAQ,CAAC;UAAEN,mBAAmB,EAAE;QAAG,CAAC,CAAC;MAC5C,CAAC,EAAE,IAAI,CAAC;IACV,CAAC;IAAA,OAAAb,KAAA;EAAA;EAAA,IAAAoB,aAAA,aAAAzB,gBAAA;IAAA0B,GAAA;IAAAC,KAAA,EAED,SAAAC,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAAR,OAAA;QAAAS,KAAA;MACP,IAAMC,aAAa,GAQLC,YAAG;MAPjB,IAAAC,cAAA,GAAyD,IAAI,CAACZ,OAAO;QAA7Da,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEZ,QAAQ,GAAAW,cAAA,CAARX,QAAQ;QAAEa,MAAM,GAAAF,cAAA,CAANE,MAAM;QAAEZ,WAAW,GAAAU,cAAA,CAAXV,WAAW;QAAEa,GAAG,GAAAH,cAAA,CAAHG,GAAG;MACpD,IAAQlB,mBAAmB,GAAK,IAAI,CAACmB,KAAK,CAAlCnB,mBAAmB;MAC3B,IAAMoB,iBAAiB,GAAG,MAAM;MAEhC,OAAAR,KAAA,GAAO,IAAAS,aAAO,EAACJ,MAAM,CAAC,eACpBxC,MAAA,YAAA6C,aAAA,CAAA7C,MAAA,YAAA8C,QAAA,qBACE9C,MAAA,YAAA6C,aAAA,CAACT,aAAa,EAAAD,KAAA,CAAAY,EAAA,sBAAAC,cAAA,qBAAAlD,KAAA,CAAAmD,WAAA;QAAA,QAEP,QAAQ;QAAA,OACT,QAAQ;QAAA,WACH,IAAI,CAACC,WAAW;QAAA,uBAAA9B,MAAA,CACJqB,GAAG;MAAA,GAAAP,IAAA,KAEvBK,QAAQ,CAACY,MAAM,gBAAGnD,MAAA,YAAA6C,aAAA,CAACN,QAAQ,EAAAJ,KAAA,CAAAY,EAAA,iBAAG,gBAAG/C,MAAA,YAAA6C,aAAA,CAACF,iBAAiB,EAAAR,KAAA,CAAAY,EAAA,2BAAEpB,QAAQ,CAAqB,CACrE,eAChB3B,MAAA,YAAA6C,aAAA,CAAC3C,QAAA,CAAAkD,gBAAgB,EAAAjB,KAAA,CAAAY,EAAA;QAAA,QAAO,QAAQ;QAAA,aAAa;MAAQ,IAClDxB,mBAAmB,CACH,eACnBvB,MAAA,YAAA6C,aAAA,CAAC3C,QAAA,CAAAkD,gBAAgB,EAAAjB,KAAA,CAAAY,EAAA;QAAA,eAAc,MAAM;QAAA,SAAA3B,MAAA,CAASqB,GAAG;MAAA,IAC9Cb,WAAW,CAAC,eAAe,CAAC,CACZ,CAClB;IAEP;EAAC;EAAA,OAAAvB,gBAAA;AAAA,EA3C4BgD,eAAS;AAAA,IAAAhC,gBAAA,aAAlChB,gBAAgB,aACH,CAAC,IAAAiD,gCAAoB,GAAE,EAAE,IAAAC,oBAAmB,GAAE,CAAC;AAAA,IAAAC,QAAA,GA6CnDnD,gBAAgB;AAAAoD,OAAA,cAAAD,QAAA"}
|
|
@@ -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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"}
|