@semcore/time-picker 16.1.14-prerelease.8 → 16.2.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 +3 -4
- package/lib/cjs/PickerFormat.js +81 -0
- package/lib/cjs/PickerFormat.js.map +1 -0
- package/lib/cjs/PickerInput.js +286 -0
- package/lib/cjs/PickerInput.js.map +1 -0
- package/lib/cjs/TimePicker.js +348 -0
- package/lib/cjs/TimePicker.js.map +1 -0
- package/lib/cjs/index.d.js +2 -0
- package/lib/cjs/index.d.js.map +1 -0
- package/lib/cjs/index.js +8 -9
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/time-picker.shadow.css +116 -0
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js +16 -16
- package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/es6/PickerFormat.js +75 -0
- package/lib/es6/PickerFormat.js.map +1 -0
- package/lib/es6/PickerInput.js +281 -0
- package/lib/es6/PickerInput.js.map +1 -0
- package/lib/es6/TimePicker.js +339 -0
- package/lib/es6/TimePicker.js.map +1 -0
- package/lib/es6/index.d.js +2 -0
- package/lib/es6/index.d.js.map +1 -0
- package/lib/es6/index.js +2 -2
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/time-picker.shadow.css +116 -0
- package/lib/es6/translations/__intergalactic-dynamic-locales.js +15 -15
- package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
- package/lib/esm/PickerFormat.mjs +67 -0
- package/lib/esm/PickerInput.mjs +263 -0
- package/lib/esm/TimePicker.mjs +297 -0
- package/lib/esm/index.mjs +7 -2
- package/lib/esm/style/time-picker.shadow.css +116 -0
- package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
- package/lib/types/index.d.ts +63 -2
- package/package.json +8 -8
- package/vite.config.ts +4 -1
- package/lib/cjs/component/PickerFormat/PickerFormat.js +0 -84
- package/lib/cjs/component/PickerFormat/PickerFormat.js.map +0 -1
- package/lib/cjs/component/PickerFormat/PickerFormat.type.js +0 -2
- package/lib/cjs/component/PickerFormat/PickerFormat.type.js.map +0 -1
- package/lib/cjs/component/PickerFormat/picker-format.shadow.css +0 -61
- package/lib/cjs/component/PickerInput/PickerInput.js +0 -228
- package/lib/cjs/component/PickerInput/PickerInput.js.map +0 -1
- package/lib/cjs/component/PickerInput/PickerInput.type.js +0 -2
- package/lib/cjs/component/PickerInput/PickerInput.type.js.map +0 -1
- package/lib/cjs/component/PickerInput/picker-input.shadow.css +0 -11
- package/lib/cjs/component/TimePicker/TimePicker.js +0 -220
- package/lib/cjs/component/TimePicker/TimePicker.js.map +0 -1
- package/lib/cjs/component/TimePicker/TimePicker.type.js +0 -2
- package/lib/cjs/component/TimePicker/TimePicker.type.js.map +0 -1
- package/lib/cjs/component/TimePicker/time-picker.shadow.css +0 -34
- package/lib/cjs/entity/TimePickerEntity.js +0 -73
- package/lib/cjs/entity/TimePickerEntity.js.map +0 -1
- package/lib/es6/component/PickerFormat/PickerFormat.js +0 -79
- package/lib/es6/component/PickerFormat/PickerFormat.js.map +0 -1
- package/lib/es6/component/PickerFormat/PickerFormat.type.js +0 -2
- package/lib/es6/component/PickerFormat/PickerFormat.type.js.map +0 -1
- package/lib/es6/component/PickerFormat/picker-format.shadow.css +0 -61
- package/lib/es6/component/PickerInput/PickerInput.js +0 -222
- package/lib/es6/component/PickerInput/PickerInput.js.map +0 -1
- package/lib/es6/component/PickerInput/PickerInput.type.js +0 -2
- package/lib/es6/component/PickerInput/PickerInput.type.js.map +0 -1
- package/lib/es6/component/PickerInput/picker-input.shadow.css +0 -11
- package/lib/es6/component/TimePicker/TimePicker.js +0 -216
- package/lib/es6/component/TimePicker/TimePicker.js.map +0 -1
- package/lib/es6/component/TimePicker/TimePicker.type.js +0 -2
- package/lib/es6/component/TimePicker/TimePicker.type.js.map +0 -1
- package/lib/es6/component/TimePicker/time-picker.shadow.css +0 -34
- package/lib/es6/entity/TimePickerEntity.js +0 -66
- package/lib/es6/entity/TimePickerEntity.js.map +0 -1
- package/lib/esm/component/PickerFormat/PickerFormat.mjs +0 -84
- package/lib/esm/component/PickerFormat/picker-format.shadow.css +0 -61
- package/lib/esm/component/PickerInput/PickerInput.mjs +0 -227
- package/lib/esm/component/PickerInput/picker-input.shadow.css +0 -11
- package/lib/esm/component/TimePicker/TimePicker.mjs +0 -220
- package/lib/esm/component/TimePicker/time-picker.shadow.css +0 -34
- package/lib/esm/entity/TimePickerEntity.mjs +0 -65
- package/lib/types/component/PickerFormat/PickerFormat.d.ts +0 -17
- package/lib/types/component/PickerFormat/PickerFormat.type.d.ts +0 -16
- package/lib/types/component/PickerInput/PickerInput.d.ts +0 -54
- package/lib/types/component/PickerInput/PickerInput.type.d.ts +0 -13
- package/lib/types/component/TimePicker/TimePicker.d.ts +0 -3
- package/lib/types/component/TimePicker/TimePicker.type.d.ts +0 -50
- package/lib/types/entity/TimePickerEntity.d.ts +0 -22
- package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +0 -114
|
@@ -0,0 +1,116 @@
|
|
|
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, oklch(0.939 0.032 268));
|
|
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, oklch(0.088 0.026 147.7 / 0.583));
|
|
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
|
+
SPickerFormat {
|
|
44
|
+
flex-shrink: 0;
|
|
45
|
+
position: relative;
|
|
46
|
+
display: inline-flex;
|
|
47
|
+
padding: 0;
|
|
48
|
+
white-space: nowrap;
|
|
49
|
+
font-family: inherit;
|
|
50
|
+
font-weight: var(--intergalactic-medium, 500);
|
|
51
|
+
line-height: normal;
|
|
52
|
+
text-decoration: none;
|
|
53
|
+
align-items: center;
|
|
54
|
+
border: 1px solid var(--intergalactic-border-primary, oklch(0.137 0.026 175.7 / 0.161));
|
|
55
|
+
border-radius: 0 var(--intergalactic-control-rounded, 6px)
|
|
56
|
+
var(--intergalactic-control-rounded, 6px) 0;
|
|
57
|
+
box-shadow: none;
|
|
58
|
+
cursor: pointer;
|
|
59
|
+
box-sizing: border-box;
|
|
60
|
+
overflow: visible;
|
|
61
|
+
user-select: none;
|
|
62
|
+
touch-action: manipulation;
|
|
63
|
+
-webkit-tap-highlight-color: transparent;
|
|
64
|
+
color: var(--intergalactic-text-secondary, oklch(0.088 0.026 147.7 / 0.583));
|
|
65
|
+
background-color: var(--intergalactic-bg-secondary-neutral, oklch(0.98 0.001 180));
|
|
66
|
+
|
|
67
|
+
&:hover {
|
|
68
|
+
color: var(--intergalactic-text-secondary, oklch(0.088 0.026 147.7 / 0.583));
|
|
69
|
+
background-color: var(--intergalactic-bg-secondary-neutral-hover, oklch(0.96 0.001 180));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&:active,
|
|
73
|
+
&[active] {
|
|
74
|
+
color: var(--intergalactic-text-secondary, oklch(0.088 0.026 147.7 / 0.583));
|
|
75
|
+
background-color: var(--intergalactic-bg-secondary-neutral-active, oklch(0.94 0.002 180));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
SPickerFormat[size='m'] {
|
|
80
|
+
height: var(--intergalactic-form-control-m, 28px);
|
|
81
|
+
font-size: var(--intergalactic-fs-200, 14px);
|
|
82
|
+
/* disable-tokens-validator */
|
|
83
|
+
margin: 0 -1px 0 0;
|
|
84
|
+
& SPickerFormatText {
|
|
85
|
+
margin: 0 var(--intergalactic-spacing-2x, 8px);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
SPickerFormat[size='l'] {
|
|
90
|
+
height: var(--intergalactic-form-control-l, 40px);
|
|
91
|
+
font-size: var(--intergalactic-fs-300, 16px);
|
|
92
|
+
margin: 0 -1px 0 0;
|
|
93
|
+
& SPickerFormatText {
|
|
94
|
+
margin: 0 var(--intergalactic-spacing-3x, 12px);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
SPickerFormat[disabled] {
|
|
99
|
+
opacity: var(--intergalactic-disabled-opacity, 0.4);
|
|
100
|
+
cursor: default;
|
|
101
|
+
pointer-events: none;
|
|
102
|
+
border-color: transparent transparent transparent var(--intergalactic-border-primary, oklch(0.137 0.026 175.7 / 0.161));
|
|
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, oklch(0.1 0.03 137 / 0.899));
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
STimePickerSeparator[disabled] {
|
|
114
|
+
opacity: var(--intergalactic-disabled-opacity, 0.4);
|
|
115
|
+
pointer-events: none;
|
|
116
|
+
}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,2 +1,63 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import type { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';
|
|
2
|
+
import type { Box, BoxProps } from '@semcore/flex-box';
|
|
3
|
+
import type { InputProps, InputValueProps } from '@semcore/input';
|
|
4
|
+
import type React from 'react';
|
|
5
|
+
|
|
6
|
+
/** @deprecated */
|
|
7
|
+
export interface ITimePickerProps extends TimePickerProps, UnknownProperties {}
|
|
8
|
+
export type TimePickerProps = Omit<InputProps, 'size'> & {
|
|
9
|
+
/** Time in the hh:mm format */
|
|
10
|
+
value?: string;
|
|
11
|
+
/** Default value if `value` property is not provided */
|
|
12
|
+
defaultValue?: string;
|
|
13
|
+
/** The event responses upon time changing */
|
|
14
|
+
onChange?: (time: string, event?: React.SyntheticEvent) => void;
|
|
15
|
+
/** In charge of the component blocking */
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
/** Control size
|
|
18
|
+
* @default m */
|
|
19
|
+
size?: 'm' | 'l';
|
|
20
|
+
/** 12-hour time format */
|
|
21
|
+
is12Hour?: boolean;
|
|
22
|
+
/** Specifies the locale for i18n support */
|
|
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 & {};
|
|
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;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/time-picker",
|
|
3
3
|
"description": "Semrush TimePicker Component",
|
|
4
|
-
"version": "16.
|
|
4
|
+
"version": "16.2.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,12 +14,13 @@
|
|
|
14
14
|
"types": "./lib/types/index.d.ts"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@semcore/
|
|
18
|
-
"@semcore/
|
|
19
|
-
"@semcore/
|
|
17
|
+
"@semcore/flex-box": "16.1.0-prerelease.0",
|
|
18
|
+
"@semcore/button": "16.1.0-prerelease.0",
|
|
19
|
+
"@semcore/input": "16.2.0-prerelease.0",
|
|
20
|
+
"@semcore/select": "16.2.0-prerelease.0"
|
|
20
21
|
},
|
|
21
22
|
"peerDependencies": {
|
|
22
|
-
"@semcore/base-components": "^16.
|
|
23
|
+
"@semcore/base-components": "^16.6.0-prerelease.0"
|
|
23
24
|
},
|
|
24
25
|
"repository": {
|
|
25
26
|
"type": "git",
|
|
@@ -27,11 +28,10 @@
|
|
|
27
28
|
"directory": "semcore/time-picker"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|
|
30
|
-
"@semcore/core": "16.
|
|
31
|
-
"@semcore/base-components": "16.4.3-prerelease.8",
|
|
31
|
+
"@semcore/core": "16.6.0-prerelease.0",
|
|
32
32
|
"@semcore/testing-utils": "1.0.0"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|
|
35
|
-
"build": "pnpm semcore-builder && pnpm vite build"
|
|
35
|
+
"build": "pnpm semcore-builder --source=js && pnpm vite build"
|
|
36
36
|
}
|
|
37
37
|
}
|
package/vite.config.ts
CHANGED
|
@@ -7,7 +7,10 @@ export default mergeConfig(
|
|
|
7
7
|
defineConfig({
|
|
8
8
|
build: {
|
|
9
9
|
lib: {
|
|
10
|
-
entry: './src/index.
|
|
10
|
+
entry: './src/index.js',
|
|
11
|
+
},
|
|
12
|
+
rollupOptions: {
|
|
13
|
+
external: ['react', 'react-dom', 'react/jsx-runtime', /@babel\/runtime\/*/, /@semcore\/*/],
|
|
11
14
|
},
|
|
12
15
|
},
|
|
13
16
|
}),
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _core = require("@semcore/core");
|
|
10
|
-
var _baseComponents = require("@semcore/base-components");
|
|
11
|
-
var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
|
|
12
|
-
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
/*!__reshadow-styles__:"./picker-format.shadow.css"*/
|
|
14
|
-
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___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)}", /*__inner_css_end__*/"11qxx_gg_"),
|
|
15
|
-
/*__reshadow_css_end__*/
|
|
16
|
-
{
|
|
17
|
-
"__SPickerFormat": "___SPickerFormat_11qxx_gg_",
|
|
18
|
-
"_disabled": "__disabled_11qxx_gg_",
|
|
19
|
-
"_active": "__active_11qxx_gg_",
|
|
20
|
-
"_size_m": "_size_m_11qxx_gg_",
|
|
21
|
-
"__SPickerFormatText": "___SPickerFormatText_11qxx_gg_",
|
|
22
|
-
"_size_l": "_size_l_11qxx_gg_"
|
|
23
|
-
});
|
|
24
|
-
class TimePickerFormat extends _core.Component {
|
|
25
|
-
constructor(...args) {
|
|
26
|
-
super(...args);
|
|
27
|
-
(0, _defineProperty2.default)(this, "state", {
|
|
28
|
-
changedFormatNotice: ''
|
|
29
|
-
});
|
|
30
|
-
(0, _defineProperty2.default)(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
|
-
}, 2000);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
render() {
|
|
50
|
-
var _ref = this.asProps,
|
|
51
|
-
_ref2;
|
|
52
|
-
const SPickerFormat = _baseComponents.Box;
|
|
53
|
-
const {
|
|
54
|
-
Children,
|
|
55
|
-
meridiem,
|
|
56
|
-
styles,
|
|
57
|
-
getI18nText,
|
|
58
|
-
uid
|
|
59
|
-
} = this.asProps;
|
|
60
|
-
const {
|
|
61
|
-
changedFormatNotice
|
|
62
|
-
} = this.state;
|
|
63
|
-
const SPickerFormatText = 'span';
|
|
64
|
-
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(SPickerFormat, _ref2.cn("SPickerFormat", {
|
|
65
|
-
...(0, _core.assignProps)({
|
|
66
|
-
"type": 'button',
|
|
67
|
-
"tag": 'button',
|
|
68
|
-
"tabIndex": 0,
|
|
69
|
-
"onClick": this.handleClick,
|
|
70
|
-
"aria-describedby": `${uid}_describe`
|
|
71
|
-
}, _ref)
|
|
72
|
-
}), Children.origin ? /*#__PURE__*/_react.default.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/_react.default.createElement(SPickerFormatText, _ref2.cn("SPickerFormatText", {}), meridiem)), /*#__PURE__*/_react.default.createElement(_baseComponents.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
|
|
73
|
-
"role": 'status',
|
|
74
|
-
"aria-live": 'polite'
|
|
75
|
-
}), changedFormatNotice), /*#__PURE__*/_react.default.createElement(_baseComponents.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
|
|
76
|
-
"aria-hidden": 'true',
|
|
77
|
-
"id": `${uid}_describe`
|
|
78
|
-
}), getI18nText('formatToggler')));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
(0, _defineProperty2.default)(TimePickerFormat, "style", style);
|
|
82
|
-
(0, _defineProperty2.default)(TimePickerFormat, "enhance", [(0, _uniqueID.default)()]);
|
|
83
|
-
var _default = exports.default = TimePickerFormat;
|
|
84
|
-
//# sourceMappingURL=PickerFormat.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PickerFormat.js","names":["_core","require","_baseComponents","_uniqueID","_interopRequireDefault","_react","style","sstyled","insert","TimePickerFormat","Component","constructor","args","_defineProperty2","default","changedFormatNotice","setTimeout","meridiem","getI18nText","asProps","setState","render","_ref","_ref2","SPickerFormat","Box","Children","styles","uid","state","SPickerFormatText","createElement","Fragment","cn","assignProps","handleClick","origin","ScreenReaderOnly","uniqueIDEnhancement","_default","exports"],"sources":["../../../../src/component/PickerFormat/PickerFormat.tsx"],"sourcesContent":["import { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport React from 'react';\n\nimport style from './picker-format.shadow.css';\nimport type { TimePickerFormatProps, TimePickerFormatPropsInternal } from './PickerFormat.type';\n\nclass TimePickerFormat extends Component<TimePickerFormatProps, typeof TimePickerFormat.enhance, {}, TimePickerFormatPropsInternal> {\n static style = style;\n static enhance = [uniqueIDEnhancement()] as const;\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 tabIndex={0}\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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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PickerFormat.type.js","names":[],"sources":["../../../../src/component/PickerFormat/PickerFormat.type.ts"],"sourcesContent":["import type { BoxProps } from '@semcore/base-components';\nimport type { useI18n } from '@semcore/core/lib/utils/enhances/WithI18n';\n\nimport type { TimePickerMeridiem } from '../TimePicker/TimePicker.type';\n\nexport type TimePickerFormatProps = BoxProps & {};\n\nexport type TimePickerFormatPropsInternal = {\n /** @Internal */\n getI18nText: ReturnType<typeof useI18n>;\n /** @Internal */\n size: 'm' | 'l';\n /** @Internal */\n disabled: boolean;\n /** @Internal */\n meridiem: TimePickerMeridiem;\n /** @Internal */\n onClick: (event: React.SyntheticEvent) => void;\n};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
SPickerFormat {
|
|
2
|
-
flex-shrink: 0;
|
|
3
|
-
position: relative;
|
|
4
|
-
display: inline-flex;
|
|
5
|
-
padding: 0;
|
|
6
|
-
white-space: nowrap;
|
|
7
|
-
font-family: inherit;
|
|
8
|
-
font-weight: var(--intergalactic-medium, 500);
|
|
9
|
-
line-height: normal;
|
|
10
|
-
text-decoration: none;
|
|
11
|
-
align-items: center;
|
|
12
|
-
border: 1px solid var(--intergalactic-border-primary, #c4c7cf);
|
|
13
|
-
border-radius: 0 var(--intergalactic-control-rounded, 6px)
|
|
14
|
-
var(--intergalactic-control-rounded, 6px) 0;
|
|
15
|
-
box-shadow: none;
|
|
16
|
-
cursor: pointer;
|
|
17
|
-
box-sizing: border-box;
|
|
18
|
-
overflow: visible;
|
|
19
|
-
user-select: none;
|
|
20
|
-
touch-action: manipulation;
|
|
21
|
-
-webkit-tap-highlight-color: transparent;
|
|
22
|
-
color: var(--intergalactic-text-secondary, #6c6e79);
|
|
23
|
-
background-color: var(--intergalactic-bg-secondary-neutral, #f4f5f9);
|
|
24
|
-
|
|
25
|
-
&:hover {
|
|
26
|
-
color: var(--intergalactic-text-secondary, #6c6e79);
|
|
27
|
-
background-color: var(--intergalactic-bg-secondary-neutral-hover, #e0e1e9);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
&:active,
|
|
31
|
-
&[active] {
|
|
32
|
-
color: var(--intergalactic-text-secondary, #6c6e79);
|
|
33
|
-
background-color: var(--intergalactic-bg-secondary-neutral-active, #c4c7cf);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
SPickerFormat[size='m'] {
|
|
38
|
-
height: var(--intergalactic-form-control-m, 28px);
|
|
39
|
-
font-size: var(--intergalactic-fs-200, 14px);
|
|
40
|
-
/* disable-tokens-validator */
|
|
41
|
-
margin: 0 -1px 0 0;
|
|
42
|
-
& SPickerFormatText {
|
|
43
|
-
margin: 0 var(--intergalactic-spacing-2x, 8px);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
SPickerFormat[size='l'] {
|
|
48
|
-
height: var(--intergalactic-form-control-l, 40px);
|
|
49
|
-
font-size: var(--intergalactic-fs-300, 16px);
|
|
50
|
-
margin: 0 -1px 0 0;
|
|
51
|
-
& SPickerFormatText {
|
|
52
|
-
margin: 0 var(--intergalactic-spacing-3x, 12px);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
SPickerFormat[disabled] {
|
|
57
|
-
opacity: var(--intergalactic-disabled-opacity, 0.3);
|
|
58
|
-
cursor: default;
|
|
59
|
-
pointer-events: none;
|
|
60
|
-
border-color: transparent transparent transparent var(--intergalactic-border-primary, #c4c7cf);
|
|
61
|
-
}
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.Minutes = exports.Hours = void 0;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _core = require("@semcore/core");
|
|
10
|
-
var _assignProps2 = require("@semcore/core/lib/utils/assignProps");
|
|
11
|
-
var _input = _interopRequireDefault(require("@semcore/input"));
|
|
12
|
-
var _select = _interopRequireDefault(require("@semcore/select"));
|
|
13
|
-
var _react = _interopRequireDefault(require("react"));
|
|
14
|
-
/*!__reshadow-styles__:"./picker-input.shadow.css"*/
|
|
15
|
-
const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___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}", /*__inner_css_end__*/"1bwib_gg_"),
|
|
16
|
-
/*__reshadow_css_end__*/
|
|
17
|
-
{
|
|
18
|
-
"__SPickerInput": "___SPickerInput_1bwib_gg_",
|
|
19
|
-
"_size_m": "_size_m_1bwib_gg_",
|
|
20
|
-
"_size_l": "_size_l_1bwib_gg_"
|
|
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.default.createElement(_select.default.Option, {
|
|
31
|
-
value: value,
|
|
32
|
-
key: value
|
|
33
|
-
}, value);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
class AbstractPickerInput extends _core.Component {
|
|
37
|
-
constructor(...args) {
|
|
38
|
-
super(...args);
|
|
39
|
-
(0, _defineProperty2.default)(this, "state", {
|
|
40
|
-
dirtyValue: undefined,
|
|
41
|
-
visible: false
|
|
42
|
-
});
|
|
43
|
-
(0, _defineProperty2.default)(this, "inputRef", /*#__PURE__*/_react.default.createRef());
|
|
44
|
-
(0, _defineProperty2.default)(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
|
-
(0, _defineProperty2.default)(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
|
-
(0, _defineProperty2.default)(this, "handleBlur", event => this.submitChanges(event));
|
|
60
|
-
(0, _defineProperty2.default)(this, "handleSelect", (value, event) => {
|
|
61
|
-
this.dispatchOnChange(value, event);
|
|
62
|
-
});
|
|
63
|
-
(0, _defineProperty2.default)(this, "handleVisibleChange", visible => this.setState({
|
|
64
|
-
visible
|
|
65
|
-
}));
|
|
66
|
-
}
|
|
67
|
-
dispatchOnChange(value, event) {
|
|
68
|
-
this.setState({
|
|
69
|
-
dirtyValue: undefined
|
|
70
|
-
});
|
|
71
|
-
this.asProps.$onValueChange(value, this.field, event);
|
|
72
|
-
}
|
|
73
|
-
submitChanges(event) {
|
|
74
|
-
let {
|
|
75
|
-
dirtyValue
|
|
76
|
-
} = this.state;
|
|
77
|
-
if (dirtyValue !== undefined) {
|
|
78
|
-
// if changes value
|
|
79
|
-
if (dirtyValue) dirtyValue = this.parseValueWithMinMax(dirtyValue); // if not ""
|
|
80
|
-
this.dispatchOnChange(dirtyValue, event);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
render() {
|
|
84
|
-
var _ref = this.asProps,
|
|
85
|
-
_ref2;
|
|
86
|
-
const SPickerInput = _select.default.Trigger;
|
|
87
|
-
const {
|
|
88
|
-
styles,
|
|
89
|
-
step,
|
|
90
|
-
onSelect,
|
|
91
|
-
time,
|
|
92
|
-
size,
|
|
93
|
-
disabled,
|
|
94
|
-
onVisibleChange,
|
|
95
|
-
ariaLabel,
|
|
96
|
-
...other
|
|
97
|
-
} = this.asProps;
|
|
98
|
-
const {
|
|
99
|
-
dirtyValue,
|
|
100
|
-
visible
|
|
101
|
-
} = this.state;
|
|
102
|
-
const value = dirtyValue === undefined ? time : dirtyValue;
|
|
103
|
-
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(_select.default, _ref2.cn("Select", {
|
|
104
|
-
...other,
|
|
105
|
-
"interaction": 'focus',
|
|
106
|
-
"size": size,
|
|
107
|
-
"onChange": (0, _assignProps2.callAllEventHandlers)(onSelect, this.handleSelect),
|
|
108
|
-
"onVisibleChange": (0, _assignProps2.callAllEventHandlers)(onVisibleChange, this.handleVisibleChange),
|
|
109
|
-
"visible": visible,
|
|
110
|
-
"value": time,
|
|
111
|
-
"defaultHighlightedIndex": time ? null : 0
|
|
112
|
-
}), /*#__PURE__*/_react.default.createElement(SPickerInput, _ref2.cn("SPickerInput", {
|
|
113
|
-
...(0, _core.assignProps)({
|
|
114
|
-
"tag": _input.default.Value,
|
|
115
|
-
"ref": this.inputRef,
|
|
116
|
-
"inputMode": 'numeric',
|
|
117
|
-
"size": size,
|
|
118
|
-
"disabled": disabled,
|
|
119
|
-
"neighborLocation": false,
|
|
120
|
-
"value": value,
|
|
121
|
-
"aria-label": ariaLabel,
|
|
122
|
-
"onChange": this.handleChange,
|
|
123
|
-
"onBlur": this.handleBlur,
|
|
124
|
-
"onKeyDown": this.handleKeyDown
|
|
125
|
-
}, _ref)
|
|
126
|
-
})), /*#__PURE__*/_react.default.createElement(_select.default.Menu, {
|
|
127
|
-
hMax: 180
|
|
128
|
-
}, getOptions(this.minMax, step)));
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
(0, _defineProperty2.default)(AbstractPickerInput, "style", style);
|
|
132
|
-
(0, _defineProperty2.default)(AbstractPickerInput, "defaultProps", _ => ({
|
|
133
|
-
placeholder: '00',
|
|
134
|
-
offset: [-8, 4]
|
|
135
|
-
}));
|
|
136
|
-
class Hours extends AbstractPickerInput {
|
|
137
|
-
constructor(...args) {
|
|
138
|
-
super(...args);
|
|
139
|
-
(0, _defineProperty2.default)(this, "handleKeyDown", event => {
|
|
140
|
-
const {
|
|
141
|
-
currentTarget
|
|
142
|
-
} = event;
|
|
143
|
-
if (event.key === 'Enter') {
|
|
144
|
-
this.submitChanges(event);
|
|
145
|
-
}
|
|
146
|
-
if (event.key === 'ArrowRight') {
|
|
147
|
-
if (currentTarget.selectionStart && currentTarget.selectionStart >= currentTarget.value.length && currentTarget.selectionStart === currentTarget.selectionEnd) {
|
|
148
|
-
event.preventDefault();
|
|
149
|
-
this.focusNext();
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
get field() {
|
|
155
|
-
return 'hours';
|
|
156
|
-
}
|
|
157
|
-
get minMax() {
|
|
158
|
-
const {
|
|
159
|
-
is12Hour
|
|
160
|
-
} = this.asProps;
|
|
161
|
-
return is12Hour ? [1, 12] : [0, 23];
|
|
162
|
-
}
|
|
163
|
-
focusNext() {
|
|
164
|
-
if (this.asProps.minutesInputRef.current) {
|
|
165
|
-
this.setState({
|
|
166
|
-
visible: false
|
|
167
|
-
});
|
|
168
|
-
this.asProps.minutesInputRef.current.focus();
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
componentDidUpdate(_, prevState) {
|
|
172
|
-
const {
|
|
173
|
-
dirtyValue
|
|
174
|
-
} = this.state;
|
|
175
|
-
if (prevState.dirtyValue === undefined || dirtyValue === undefined) return;
|
|
176
|
-
if (prevState.dirtyValue.length === 1 && dirtyValue.length === 2) {
|
|
177
|
-
this.focusNext();
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
exports.Hours = Hours;
|
|
182
|
-
(0, _defineProperty2.default)(Hours, "defaultProps", props => ({
|
|
183
|
-
...AbstractPickerInput.defaultProps(props),
|
|
184
|
-
ml: props.size === 'l' ? 3 : undefined
|
|
185
|
-
}));
|
|
186
|
-
class Minutes extends AbstractPickerInput {
|
|
187
|
-
constructor(...args) {
|
|
188
|
-
super(...args);
|
|
189
|
-
(0, _defineProperty2.default)(this, "handleKeyDown", event => {
|
|
190
|
-
const {
|
|
191
|
-
currentTarget
|
|
192
|
-
} = event;
|
|
193
|
-
if (event.key === 'ArrowLeft') {
|
|
194
|
-
if (currentTarget.selectionStart && currentTarget.selectionStart <= 0 && currentTarget.selectionStart === currentTarget.selectionEnd) {
|
|
195
|
-
event.preventDefault();
|
|
196
|
-
this.focusPrev();
|
|
197
|
-
}
|
|
198
|
-
}
|
|
199
|
-
if (event.key === 'Backspace') {
|
|
200
|
-
if (currentTarget.value.length === 0) {
|
|
201
|
-
event.preventDefault();
|
|
202
|
-
this.focusPrev();
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
if (event.key === 'Enter') this.submitChanges(event);
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
get field() {
|
|
209
|
-
return 'minutes';
|
|
210
|
-
}
|
|
211
|
-
get minMax() {
|
|
212
|
-
return [0, 59];
|
|
213
|
-
}
|
|
214
|
-
focusPrev() {
|
|
215
|
-
if (this.asProps.hoursInputRef.current) {
|
|
216
|
-
this.setState({
|
|
217
|
-
visible: false
|
|
218
|
-
});
|
|
219
|
-
this.asProps.hoursInputRef.current.focus();
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
exports.Minutes = Minutes;
|
|
224
|
-
(0, _defineProperty2.default)(Minutes, "defaultProps", props => ({
|
|
225
|
-
...AbstractPickerInput.defaultProps(props),
|
|
226
|
-
mr: props.size === 'l' ? 3 : undefined
|
|
227
|
-
}));
|
|
228
|
-
//# sourceMappingURL=PickerInput.js.map
|