q2-tecton-elements 1.10.6 → 1.10.9
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/dist/cjs/{index-f4153f5a.js → index-a55d3c34.js} +9 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/q2-btn_2.cjs.entry.js +10 -6
- package/dist/cjs/q2-calendar.cjs.entry.js +2902 -6078
- package/dist/cjs/q2-carousel-pane.cjs.entry.js +50 -7
- package/dist/cjs/q2-carousel.cjs.entry.js +2719 -6513
- package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
- package/dist/cjs/q2-checkbox.cjs.entry.js +10 -2
- package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
- package/dist/cjs/q2-dropdown.cjs.entry.js +8 -2
- package/dist/cjs/q2-editable-field.cjs.entry.js +26 -11
- package/dist/cjs/q2-icon.cjs.entry.js +1 -1
- package/dist/cjs/q2-input.cjs.entry.js +9 -7
- package/dist/cjs/q2-loading-element.cjs.entry.js +1 -1
- package/dist/cjs/q2-loc.cjs.entry.js +1 -1
- package/dist/cjs/q2-message.cjs.entry.js +11 -3
- package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
- package/dist/cjs/q2-option.cjs.entry.js +3 -34
- package/dist/cjs/q2-radio-group.cjs.entry.js +10 -2
- package/dist/cjs/q2-radio.cjs.entry.js +10 -2
- package/dist/cjs/q2-section.cjs.entry.js +9 -3
- package/dist/cjs/q2-select.cjs.entry.js +175 -130
- package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
- package/dist/cjs/q2-stepper.cjs.entry.js +10 -4
- package/dist/cjs/q2-tab-container.cjs.entry.js +9 -11
- package/dist/cjs/q2-tab-pane.cjs.entry.js +2 -2
- package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
- package/dist/cjs/q2-textarea.cjs.entry.js +8 -4
- package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
- package/dist/collection/components/q2-avatar/index.js +1 -1
- package/dist/collection/components/q2-avatar/styles.css +63 -61
- package/dist/collection/components/q2-btn/index.js +8 -4
- package/dist/collection/components/q2-btn/styles.css +96 -96
- package/dist/collection/components/q2-calendar/helpers.js +77 -52
- package/dist/collection/components/q2-calendar/index.js +248 -196
- package/dist/collection/components/q2-calendar/styles.css +63 -84
- package/dist/collection/components/q2-calendar/validation.js +100 -166
- package/dist/collection/components/q2-carousel/index.js +204 -266
- package/dist/collection/components/q2-carousel/styles.css +152 -155
- package/dist/collection/components/q2-carousel-pane/index.js +67 -28
- package/dist/collection/components/q2-carousel-pane/styles.css +82 -16
- package/dist/collection/components/q2-checkbox/index.js +16 -2
- package/dist/collection/components/q2-checkbox/styles.css +152 -176
- package/dist/collection/components/q2-checkbox-group/index.js +1 -1
- package/dist/collection/components/q2-checkbox-group/styles.css +65 -81
- package/dist/collection/components/q2-dropdown/index.js +15 -2
- package/dist/collection/components/q2-dropdown/styles.css +49 -36
- package/dist/collection/components/q2-dropdown-item/index.js +1 -1
- package/dist/collection/components/q2-dropdown-item/styles.css +48 -62
- package/dist/collection/components/q2-editable-field/index.js +33 -12
- package/dist/collection/components/q2-editable-field/styles.css +49 -50
- package/dist/collection/components/q2-icon/styles.css +29 -29
- package/dist/collection/components/q2-input/index.js +9 -7
- package/dist/collection/components/q2-input/styles.css +211 -292
- package/dist/collection/components/q2-loading/index.js +1 -1
- package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js +1 -1
- package/dist/collection/components/q2-loading/skeleton/q2-loading-element/styles.css +5 -6
- package/dist/collection/components/q2-loading/styles.css +130 -136
- package/dist/collection/components/q2-loc/index.js +1 -1
- package/dist/collection/components/q2-loc/styles.css +30 -31
- package/dist/collection/components/q2-message/index.js +18 -3
- package/dist/collection/components/q2-message/styles.css +32 -29
- package/dist/collection/components/q2-optgroup/index.js +1 -1
- package/dist/collection/components/q2-optgroup/styles.css +42 -47
- package/dist/collection/components/q2-option/index.js +4 -42
- package/dist/collection/components/q2-option/styles.css +29 -29
- package/dist/collection/components/q2-radio/index.js +16 -2
- package/dist/collection/components/q2-radio/styles.css +29 -29
- package/dist/collection/components/q2-radio-group/index.js +16 -2
- package/dist/collection/components/q2-radio-group/styles.css +67 -72
- package/dist/collection/components/q2-section/index.js +15 -3
- package/dist/collection/components/q2-section/styles.css +77 -77
- package/dist/collection/components/q2-select/index.js +182 -131
- package/dist/collection/components/q2-select/styles.css +33 -34
- package/dist/collection/components/q2-stepper/index.js +15 -3
- package/dist/collection/components/q2-stepper/styles.css +32 -32
- package/dist/collection/components/q2-stepper-pane/styles.css +29 -29
- package/dist/collection/components/q2-tab-container/index.js +7 -9
- package/dist/collection/components/q2-tab-container/styles.css +29 -29
- package/dist/collection/components/q2-tab-pane/index.js +2 -2
- package/dist/collection/components/q2-tab-pane/styles.css +34 -36
- package/dist/collection/components/q2-textarea/index.js +8 -4
- package/dist/collection/components/q2-textarea/styles.css +180 -228
- package/dist/collection/components/tecton-tab-pane/index.js +2 -2
- package/dist/collection/components/tecton-tab-pane/styles.css +50 -50
- package/dist/collection/utils/index.js +7 -0
- package/dist/esm/{index-476b86cc.js → index-ec6660af.js} +8 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/q2-btn_2.entry.js +10 -6
- package/dist/esm/q2-calendar.entry.js +2902 -6078
- package/dist/esm/q2-carousel-pane.entry.js +51 -8
- package/dist/esm/q2-carousel.entry.js +2720 -6514
- package/dist/esm/q2-checkbox-group.entry.js +2 -2
- package/dist/esm/q2-checkbox.entry.js +10 -2
- package/dist/esm/q2-dropdown-item.entry.js +2 -2
- package/dist/esm/q2-dropdown.entry.js +8 -2
- package/dist/esm/q2-editable-field.entry.js +26 -11
- package/dist/esm/q2-icon.entry.js +1 -1
- package/dist/esm/q2-input.entry.js +9 -7
- package/dist/esm/q2-loading-element.entry.js +1 -1
- package/dist/esm/q2-loc.entry.js +1 -1
- package/dist/esm/q2-message.entry.js +11 -3
- package/dist/esm/q2-optgroup.entry.js +2 -2
- package/dist/esm/q2-option.entry.js +4 -35
- package/dist/esm/q2-radio-group.entry.js +10 -2
- package/dist/esm/q2-radio.entry.js +10 -2
- package/dist/esm/q2-section.entry.js +9 -3
- package/dist/esm/q2-select.entry.js +175 -130
- package/dist/esm/q2-stepper-pane.entry.js +1 -1
- package/dist/esm/q2-stepper.entry.js +10 -4
- package/dist/esm/q2-tab-container.entry.js +7 -9
- package/dist/esm/q2-tab-pane.entry.js +2 -2
- package/dist/esm/q2-tecton-elements.js +1 -1
- package/dist/esm/q2-textarea.entry.js +8 -4
- package/dist/esm/tecton-tab-pane.entry.js +2 -2
- package/dist/q2-tecton-elements/{p-4830affe.entry.js → p-07a5d703.entry.js} +1 -1
- package/dist/q2-tecton-elements/{p-84c05db6.entry.js → p-32ad664c.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-37aba2a4.js +1 -0
- package/dist/q2-tecton-elements/p-4ae9d1f3.entry.js +1 -0
- package/dist/q2-tecton-elements/p-52f53e07.entry.js +1 -0
- package/dist/q2-tecton-elements/p-5559f126.entry.js +1 -0
- package/dist/q2-tecton-elements/p-6702eb4d.entry.js +1 -0
- package/dist/q2-tecton-elements/p-750bcd33.entry.js +1 -0
- package/dist/q2-tecton-elements/p-78642b7b.entry.js +1 -0
- package/dist/q2-tecton-elements/p-7e6fc65d.entry.js +1 -0
- package/dist/q2-tecton-elements/p-7eb39c90.entry.js +1 -0
- package/dist/q2-tecton-elements/p-81df91a1.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-01e00610.entry.js → p-843b1ee9.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-8509b171.entry.js +1 -0
- package/dist/q2-tecton-elements/p-8ea2c4f7.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-d1d040ef.entry.js → p-95a73559.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-96c9eb75.entry.js +1 -0
- package/dist/q2-tecton-elements/p-9b50c3c3.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-a9bdd814.entry.js → p-a6f8d09a.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-ab977515.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-a166b9a6.entry.js → p-bb2e110a.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-bbacb804.entry.js +1 -0
- package/dist/q2-tecton-elements/p-c555f1de.entry.js +1 -0
- package/dist/q2-tecton-elements/p-c5e55b9f.entry.js +1 -0
- package/dist/q2-tecton-elements/p-fa6eea5c.entry.js +1 -0
- package/dist/q2-tecton-elements/{p-61c0e5fd.entry.js → p-fbf7c5e6.entry.js} +1 -1
- package/dist/q2-tecton-elements/p-fc804ebd.entry.js +1 -0
- package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
- package/dist/test/helpers.js +4 -0
- package/dist/types/components/q2-btn/index.d.ts +1 -0
- package/dist/types/components/q2-calendar/helpers.d.ts +6 -6
- package/dist/types/components/q2-calendar/index.d.ts +16 -17
- package/dist/types/components/q2-calendar/types.d.ts +9 -26
- package/dist/types/components/q2-calendar/validation.d.ts +27 -12
- package/dist/types/components/q2-carousel/index.d.ts +15 -45
- package/dist/types/components/q2-carousel-pane/index.d.ts +5 -2
- package/dist/types/components/q2-checkbox/index.d.ts +2 -0
- package/dist/types/components/q2-dropdown/index.d.ts +1 -0
- package/dist/types/components/q2-editable-field/index.d.ts +5 -1
- package/dist/types/components/q2-input/index.d.ts +1 -1
- package/dist/types/components/q2-message/index.d.ts +2 -0
- package/dist/types/components/q2-option/index.d.ts +0 -4
- package/dist/types/components/q2-radio/index.d.ts +3 -0
- package/dist/types/components/q2-radio-group/index.d.ts +1 -0
- package/dist/types/components/q2-section/index.d.ts +1 -0
- package/dist/types/components/q2-select/index.d.ts +10 -7
- package/dist/types/components/q2-stepper/index.d.ts +2 -1
- package/dist/types/components/q2-tab-container/index.d.ts +1 -1
- package/dist/types/components/q2-textarea/index.d.ts +2 -1
- package/dist/types/components.d.ts +3 -2
- package/dist/types/util.d.ts +2 -1
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/workspace/workspace/tecton-production_release_1.10.x/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +2 -1
- package/package.json +4 -5
- package/dist/q2-tecton-elements/p-1fc4e6f6.entry.js +0 -1
- package/dist/q2-tecton-elements/p-25a5f691.js +0 -1
- package/dist/q2-tecton-elements/p-27353237.entry.js +0 -1
- package/dist/q2-tecton-elements/p-3e100450.entry.js +0 -1
- package/dist/q2-tecton-elements/p-428d15fd.entry.js +0 -1
- package/dist/q2-tecton-elements/p-48fc317d.entry.js +0 -1
- package/dist/q2-tecton-elements/p-5222b792.entry.js +0 -1
- package/dist/q2-tecton-elements/p-5469c1e9.entry.js +0 -1
- package/dist/q2-tecton-elements/p-74c1a311.entry.js +0 -1
- package/dist/q2-tecton-elements/p-784af485.entry.js +0 -1
- package/dist/q2-tecton-elements/p-7c99a58b.entry.js +0 -1
- package/dist/q2-tecton-elements/p-7f74b629.entry.js +0 -1
- package/dist/q2-tecton-elements/p-831a461f.entry.js +0 -1
- package/dist/q2-tecton-elements/p-84c52d3b.entry.js +0 -9
- package/dist/q2-tecton-elements/p-997e4c7e.entry.js +0 -1
- package/dist/q2-tecton-elements/p-a224bc9c.entry.js +0 -1
- package/dist/q2-tecton-elements/p-d893fcf2.entry.js +0 -1
- package/dist/q2-tecton-elements/p-da7cca07.entry.js +0 -1
- package/dist/q2-tecton-elements/p-f17761da.entry.js +0 -1
- package/dist/q2-tecton-elements/p-f5e074f8.entry.js +0 -1
|
@@ -1,67 +1,67 @@
|
|
|
1
1
|
* {
|
|
2
|
-
|
|
2
|
+
box-sizing: border-box;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
*:active {
|
|
6
|
-
|
|
6
|
+
outline: none;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
*:focus {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
outline: none;
|
|
11
|
+
box-shadow: var(--const-global-focus);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
:host {
|
|
15
|
-
|
|
15
|
+
box-shadow: none !important;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
::-moz-focus-inner {
|
|
19
|
-
|
|
19
|
+
border: none;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
input,
|
|
23
23
|
textarea,
|
|
24
24
|
button {
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
font-family: inherit;
|
|
26
|
+
font-size: inherit;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
:host(.sr),
|
|
30
30
|
:host(.sr) button {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
31
|
+
border: 0;
|
|
32
|
+
clip: rect(0 0 0 0);
|
|
33
|
+
height: 1px;
|
|
34
|
+
margin: -1px;
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
padding: 0;
|
|
37
|
+
position: absolute;
|
|
38
|
+
width: 1px;
|
|
39
|
+
white-space: nowrap;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
.sr,
|
|
43
43
|
.sr button {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
border: 0;
|
|
45
|
+
clip: rect(0 0 0 0);
|
|
46
|
+
height: 1px;
|
|
47
|
+
margin: -1px;
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
padding: 0;
|
|
50
|
+
position: absolute;
|
|
51
|
+
width: 1px;
|
|
52
|
+
white-space: nowrap;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
.hidden {
|
|
56
|
-
|
|
56
|
+
display: none;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
:host([hidden]) {
|
|
60
|
-
|
|
60
|
+
display: none;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
.invisible {
|
|
64
|
-
|
|
64
|
+
visibility: hidden;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
:host {
|
|
@@ -78,24 +78,24 @@ button {
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
:host {
|
|
81
|
-
--comp-btn-primary-bg: var(--tct-btn-primary-bg, var(--t-
|
|
82
|
-
--comp-btn-primary-font-color: var(--tct-btn-primary-font-color, var(--t-
|
|
81
|
+
--comp-btn-primary-bg: var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e));
|
|
82
|
+
--comp-btn-primary-font-color: var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--tct-white, var(--app-white, #ffffff))));
|
|
83
83
|
--comp-btn-fallback-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
|
|
84
84
|
--comp-btn-fallback-hover-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19),
|
|
85
85
|
0 3px 3px rgba(0, 0, 0, 0.23);
|
|
86
86
|
--comp-btn-neutral-fallback-hover-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.24),
|
|
87
87
|
0 3px 3px rgba(0, 0, 0, 0.36);
|
|
88
|
-
--comp-btn-primary-box-shadow: var(--tct-btn-primary-box-shadow, var(--comp-btn-fallback-box-shadow));
|
|
89
|
-
--comp-btn-primary-hover-box-shadow: var(--tct-btn-primary-hover-box-shadow, var(--comp-btn-fallback-hover-box-shadow));
|
|
88
|
+
--comp-btn-primary-box-shadow: var(--tct-btn-primary-box-shadow, var(--t-btn-primary-box-shadow, var(--comp-btn-fallback-box-shadow)));
|
|
89
|
+
--comp-btn-primary-hover-box-shadow: var(--tct-btn-primary-hover-box-shadow, var(--t-btn-primary-hover-box-shadow, var(--comp-btn-fallback-hover-box-shadow)));
|
|
90
90
|
--comp-btn-secondary-bg: var(--tct-btn-secondary-bg, var(--t-button-default-bg, #cccccc));
|
|
91
|
-
--comp-btn-secondary-font-color: var(--tct-btn-secondary-font-color, var(--t-button-default-font-color, #2e2e2e));
|
|
92
|
-
--comp-btn-secondary-box-shadow: var(--tct-btn-secondary-box-shadow, var(--comp-btn-fallback-box-shadow));
|
|
93
|
-
--comp-btn-secondary-hover-box-shadow: var(--tct-btn-secondary-hover-box-shadow, var(--comp-btn-fallback-hover-box-shadow));
|
|
94
|
-
--comp-btn-tween: var(--tct-btn-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease)));
|
|
91
|
+
--comp-btn-secondary-font-color: var(--tct-btn-secondary-font-color, var(--t-btn-secondary-font-color, var(--t-button-default-font-color, #2e2e2e)));
|
|
92
|
+
--comp-btn-secondary-box-shadow: var(--tct-btn-secondary-box-shadow, var(--t-btn-secondary-box-shadow, var(--comp-btn-fallback-box-shadow)));
|
|
93
|
+
--comp-btn-secondary-hover-box-shadow: var(--tct-btn-secondary-hover-box-shadow, var(--t-btn-secondary-hover-box-shadow, var(--comp-btn-fallback-hover-box-shadow)));
|
|
94
|
+
--comp-btn-tween: var(--tct-btn-tween, var(--t-btn-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));
|
|
95
95
|
--comp-btn-neutral-bg: var(--tct-btn-neutral-bg, transparent);
|
|
96
|
-
--comp-btn-neutral-font-color: var(--tct-btn-neutral-font-color, var(--t-button-default-font-color, #2e2e2e));
|
|
97
|
-
--comp-btn-neutral-box-shadow: var(--tct-btn-neutral-box-shadow, var(--comp-btn-fallback-box-shadow));
|
|
98
|
-
--comp-btn-neutral-hover-box-shadow: var(--tct-btn-neutral-hover-box-shadow, var(--comp-btn-neutral-fallback-hover-box-shadow));
|
|
96
|
+
--comp-btn-neutral-font-color: var(--tct-btn-neutral-font-color, var(--t-btn-neutral-font-color, var(--t-button-default-font-color, #2e2e2e)));
|
|
97
|
+
--comp-btn-neutral-box-shadow: var(--tct-btn-neutral-box-shadow, var(--t-btn-neutral-box-shadow, var(--comp-btn-fallback-box-shadow)));
|
|
98
|
+
--comp-btn-neutral-hover-box-shadow: var(--tct-btn-neutral-hover-box-shadow, var(--t-btn-neutral-hover-box-shadow, var(--comp-btn-neutral-fallback-hover-box-shadow)));
|
|
99
99
|
}
|
|
100
100
|
|
|
101
101
|
button {
|
|
@@ -115,14 +115,14 @@ button {
|
|
|
115
115
|
outline: 0;
|
|
116
116
|
}
|
|
117
117
|
button:disabled {
|
|
118
|
-
opacity: var(--tct-btn-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4)));
|
|
118
|
+
opacity: var(--tct-btn-disabled-opacity, var(--t-btn-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))));
|
|
119
119
|
cursor: not-allowed;
|
|
120
120
|
}
|
|
121
121
|
:host([size="1"]) button {
|
|
122
122
|
padding: var(--tct-scale-1, var(--app-scale-1, 5px));
|
|
123
123
|
}
|
|
124
124
|
:host([color]:not([size])) button, :host([intent]:not([size])) button {
|
|
125
|
-
padding: var(--tct-btn-padding, var(--tct-scale-2, var(--app-scale-2, 10px)));
|
|
125
|
+
padding: var(--tct-btn-padding, var(--t-btn-padding, var(--tct-scale-2, var(--app-scale-2, 10px))));
|
|
126
126
|
}
|
|
127
127
|
:host([size="2"]) button {
|
|
128
128
|
padding: var(--tct-scale-2, var(--app-scale-2, 10px));
|
|
@@ -138,23 +138,23 @@ button:disabled {
|
|
|
138
138
|
}
|
|
139
139
|
:host([color]) button, :host([intent]) button {
|
|
140
140
|
border-style: solid;
|
|
141
|
-
font-size: var(--tct-btn-font-size, inherit);
|
|
141
|
+
font-size: var(--tct-btn-font-size, var(--t-btn-font-size, inherit));
|
|
142
142
|
}
|
|
143
143
|
:host([color=primary]) button, :host([intent=workflow-primary]) button {
|
|
144
144
|
background: var(--comp-btn-primary-bg);
|
|
145
145
|
color: var(--comp-btn-primary-font-color);
|
|
146
|
-
border-color: var(--tct-btn-primary-border-color, transparent);
|
|
147
|
-
border-width: var(--tct-btn-primary-border-width, 0);
|
|
148
|
-
border-radius: var(--tct-btn-primary-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px)));
|
|
146
|
+
border-color: var(--tct-btn-primary-border-color, var(--t-btn-primary-border-color, transparent));
|
|
147
|
+
border-width: var(--tct-btn-primary-border-width, var(--t-btn-primary-border-width, 0));
|
|
148
|
+
border-radius: var(--tct-btn-primary-border-radius, var(--t-btn-primary-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px))));
|
|
149
149
|
box-shadow: var(--comp-btn-primary-box-shadow);
|
|
150
|
-
font-weight: var(--tct-btn-primary-font-weight, 600);
|
|
151
|
-
text-transform: var(--tct-btn-primary-text-transform, none);
|
|
152
|
-
letter-spacing: var(--tct-btn-primary-letter-spacing, normal);
|
|
150
|
+
font-weight: var(--tct-btn-primary-font-weight, var(--t-btn-primary-font-weight, 600));
|
|
151
|
+
text-transform: var(--tct-btn-primary-text-transform, var(--t-btn-primary-text-transform, none));
|
|
152
|
+
letter-spacing: var(--tct-btn-primary-letter-spacing, var(--t-btn-primary-letter-spacing, normal));
|
|
153
153
|
}
|
|
154
154
|
:host([color=primary]) button:enabled:hover, :host([color=primary]) button:enabled:focus, :host([color=primary]) button:enabled:active, :host([intent=workflow-primary]) button:enabled:hover, :host([intent=workflow-primary]) button:enabled:focus, :host([intent=workflow-primary]) button:enabled:active {
|
|
155
|
-
background: var(--tct-btn-primary-hover-bg, var(--t-
|
|
156
|
-
color: var(--tct-btn-primary-hover-font-color, var(--t-
|
|
157
|
-
border-color: var(--tct-btn-primary-hover-border-color, var(--tct-btn-primary-border-color, transparent));
|
|
155
|
+
background: var(--tct-btn-primary-hover-bg, var(--t-btn-primary-hover-bg, var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040))))));
|
|
156
|
+
color: var(--tct-btn-primary-hover-font-color, var(--t-btn-primary-hover-font-color, var(--tct-white, var(--app-white, #ffffff))));
|
|
157
|
+
border-color: var(--tct-btn-primary-hover-border-color, var(--t-btn-primary-hover-border-color, var(--tct-btn-primary-border-color, var(--t-btn-primary-border-color, transparent))));
|
|
158
158
|
}
|
|
159
159
|
:host([color=primary]) button:hover:enabled, :host([color=primary]) button:active:enabled, :host([intent=workflow-primary]) button:hover:enabled, :host([intent=workflow-primary]) button:active:enabled {
|
|
160
160
|
box-shadow: var(--comp-btn-primary-hover-box-shadow);
|
|
@@ -163,25 +163,25 @@ button:disabled {
|
|
|
163
163
|
box-shadow: var(--tct-global-focus, var(--const-global-focus, var(--comp-btn-primary-hover-box-shadow, 0 0 0 2px #33b4ff)));
|
|
164
164
|
}
|
|
165
165
|
:host([color=primary]) button:disabled, :host([intent=workflow-primary]) button:disabled {
|
|
166
|
-
background: var(--tct-btn-primary-disabled-bg, var(--comp-btn-primary-bg));
|
|
167
|
-
color: var(--tct-btn-primary-disabled-font-color, var(--comp-btn-primary-font-color));
|
|
168
|
-
box-shadow: var(--tct-btn-primary-disabled-box-shadow, var(--comp-btn-primary-box-shadow));
|
|
166
|
+
background: var(--tct-btn-primary-disabled-bg, var(--t-btn-primary-disabled-bg, var(--comp-btn-primary-bg)));
|
|
167
|
+
color: var(--tct-btn-primary-disabled-font-color, var(--t-btn-primary-disabled-font-color, var(--comp-btn-primary-font-color)));
|
|
168
|
+
box-shadow: var(--tct-btn-primary-disabled-box-shadow, var(--t-btn-primary-disabled-box-shadow, var(--comp-btn-primary-box-shadow)));
|
|
169
169
|
}
|
|
170
170
|
:host([color=secondary]) button, :host([intent=workflow-secondary]) button {
|
|
171
171
|
background: var(--comp-btn-secondary-bg);
|
|
172
|
-
color: var(--comp-btn-secondary-font-color, var(--tct-btn-secondary-font-color, var(--t-
|
|
173
|
-
border-color: var(--tct-btn-secondary-border-color, transparent);
|
|
174
|
-
border-width: var(--tct-btn-secondary-border-width, 0);
|
|
175
|
-
border-radius: var(--tct-btn-secondary-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px)));
|
|
172
|
+
color: var(--comp-btn-secondary-font-color, var(--tct-btn-secondary-font-color, var(--t-btn-secondary-font-color, var(--tct-white, var(--app-white, #ffffff)))));
|
|
173
|
+
border-color: var(--tct-btn-secondary-border-color, var(--t-btn-secondary-border-color, transparent));
|
|
174
|
+
border-width: var(--tct-btn-secondary-border-width, var(--t-btn-secondary-border-width, 0));
|
|
175
|
+
border-radius: var(--tct-btn-secondary-border-radius, var(--t-btn-secondary-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px))));
|
|
176
176
|
box-shadow: var(--comp-btn-secondary-box-shadow);
|
|
177
|
-
font-weight: var(--tct-btn-secondary-font-weight, 600);
|
|
178
|
-
text-transform: var(--tct-btn-secondary-text-transform, none);
|
|
179
|
-
letter-spacing: var(--tct-btn-secondary-letter-spacing, normal);
|
|
177
|
+
font-weight: var(--tct-btn-secondary-font-weight, var(--t-btn-secondary-font-weight, 600));
|
|
178
|
+
text-transform: var(--tct-btn-secondary-text-transform, var(--t-btn-secondary-text-transform, none));
|
|
179
|
+
letter-spacing: var(--tct-btn-secondary-letter-spacing, var(--t-btn-secondary-letter-spacing, normal));
|
|
180
180
|
}
|
|
181
181
|
:host([color=secondary]) button:enabled:hover, :host([color=secondary]) button:enabled:focus, :host([color=secondary]) button:enabled:active, :host([intent=workflow-secondary]) button:enabled:hover, :host([intent=workflow-secondary]) button:enabled:focus, :host([intent=workflow-secondary]) button:enabled:active {
|
|
182
|
-
background: var(--tct-btn-secondary-hover-bg, var(--t-
|
|
183
|
-
color: var(--tct-btn-secondary-hover-font-color, var(--t-button-default-hover-font-color, var(--tct-white, var(--app-white, #ffffff))));
|
|
184
|
-
border-color: var(--tct-btn-secondary-hover-border-color, var(--tct-btn-secondary-border-color, transparent));
|
|
182
|
+
background: var(--tct-btn-secondary-hover-bg, var(--t-btn-secondary-hover-bg, var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040))))));
|
|
183
|
+
color: var(--tct-btn-secondary-hover-font-color, var(--t-btn-secondary-hover-font-color, var(--t-button-default-hover-font-color, var(--tct-white, var(--app-white, #ffffff)))));
|
|
184
|
+
border-color: var(--tct-btn-secondary-hover-border-color, var(--t-btn-secondary-hover-border-color, var(--tct-btn-secondary-border-color, var(--t-btn-secondary-border-color, transparent))));
|
|
185
185
|
}
|
|
186
186
|
:host([color=secondary]) button:hover:enabled, :host([color=secondary]) button:active:enabled, :host([intent=workflow-secondary]) button:hover:enabled, :host([intent=workflow-secondary]) button:active:enabled {
|
|
187
187
|
box-shadow: var(--comp-btn-secondary-hover-box-shadow);
|
|
@@ -190,25 +190,25 @@ button:disabled {
|
|
|
190
190
|
box-shadow: var(--tct-global-focus, var(--const-global-focus, var(--comp-btn-secondary-hover-box-shadow)));
|
|
191
191
|
}
|
|
192
192
|
:host([color=secondary]) button:disabled, :host([intent=workflow-secondary]) button:disabled {
|
|
193
|
-
background: var(--tct-btn-secondary-disabled-bg, var(--comp-btn-secondary-bg));
|
|
194
|
-
color: var(--tct-btn-secondary-disabled-font-color, var(--comp-btn-secondary-font-color));
|
|
195
|
-
box-shadow: var(--tct-btn-secondary-disabled-box-shadow, var(--comp-btn-secondary-box-shadow));
|
|
193
|
+
background: var(--tct-btn-secondary-disabled-bg, var(--t-btn-secondary-disabled-bg, var(--comp-btn-secondary-bg)));
|
|
194
|
+
color: var(--tct-btn-secondary-disabled-font-color, var(--t-btn-secondary-disabled-font-color, var(--comp-btn-secondary-font-color)));
|
|
195
|
+
box-shadow: var(--tct-btn-secondary-disabled-box-shadow, var(--t-btn-secondary-disabled-box-shadow, var(--comp-btn-secondary-box-shadow)));
|
|
196
196
|
}
|
|
197
197
|
:host([intent=neutral]) button {
|
|
198
|
-
background: var(--comp-btn-neutral-bg, var(--tct-btn-neutral-bg, transparent));
|
|
199
|
-
color: var(--comp-btn-neutral-font-color, var(--tct-btn-neutral-font-color, var(--t-
|
|
200
|
-
border-color: var(--tct-btn-neutral-border-color, transparent);
|
|
201
|
-
border-width: var(--tct-btn-neutral-border-width, 0);
|
|
202
|
-
border-radius: var(--tct-btn-neutral-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px)));
|
|
198
|
+
background: var(--comp-btn-neutral-bg, var(--tct-btn-neutral-bg, var(--t-btn-neutral-bg, transparent)));
|
|
199
|
+
color: var(--comp-btn-neutral-font-color, var(--tct-btn-neutral-font-color, var(--t-btn-neutral-font-color, var(--tct-gray-1, var(--t-gray-1, var(--tct-black, var(--app-black, #0d0d0d)))))));
|
|
200
|
+
border-color: var(--tct-btn-neutral-border-color, var(--t-btn-neutral-border-color, transparent));
|
|
201
|
+
border-width: var(--tct-btn-neutral-border-width, var(--t-btn-neutral-border-width, 0));
|
|
202
|
+
border-radius: var(--tct-btn-neutral-border-radius, var(--t-btn-neutral-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px))));
|
|
203
203
|
box-shadow: var(--comp-btn-neutral-box-shadow);
|
|
204
|
-
font-weight: var(--tct-btn-neutral-font-weight, 600);
|
|
205
|
-
text-transform: var(--tct-btn-neutral-text-transform, none);
|
|
206
|
-
letter-spacing: var(--tct-btn-neutral-letter-spacing, normal);
|
|
204
|
+
font-weight: var(--tct-btn-neutral-font-weight, var(--t-btn-neutral-font-weight, 600));
|
|
205
|
+
text-transform: var(--tct-btn-neutral-text-transform, var(--t-btn-neutral-text-transform, none));
|
|
206
|
+
letter-spacing: var(--tct-btn-neutral-letter-spacing, var(--t-btn-neutral-letter-spacing, normal));
|
|
207
207
|
}
|
|
208
208
|
:host([intent=neutral]) button:enabled:hover, :host([intent=neutral]) button:enabled:focus, :host([intent=neutral]) button:enabled:active {
|
|
209
|
-
background: var(--tct-btn-neutral-hover-bg, transparent);
|
|
210
|
-
color: var(--tct-btn-neutral-hover-font-color, var(--t-
|
|
211
|
-
border-color: var(--tct-btn-neutral-hover-border-color, var(--tct-btn-neutral-border-color, transparent));
|
|
209
|
+
background: var(--tct-btn-neutral-hover-bg, var(--t-btn-neutral-hover-bg, transparent));
|
|
210
|
+
color: var(--tct-btn-neutral-hover-font-color, var(--t-btn-neutral-hover-font-color, var(--tct-white, var(--app-white, #ffffff))));
|
|
211
|
+
border-color: var(--tct-btn-neutral-hover-border-color, var(--t-btn-neutral-hover-border-color, var(--tct-btn-neutral-border-color, var(--t-btn-neutral-border-color, transparent))));
|
|
212
212
|
}
|
|
213
213
|
:host([intent=neutral]) button:hover:enabled, :host([intent=neutral]) button:active:enabled {
|
|
214
214
|
box-shadow: var(--comp-btn-neutral-hover-box-shadow);
|
|
@@ -217,41 +217,41 @@ button:disabled {
|
|
|
217
217
|
box-shadow: var(--tct-global-focus, var(--const-global-focus, var(--comp-btn-neutral-hover-box-shadow)));
|
|
218
218
|
}
|
|
219
219
|
:host([intent=neutral]) button:disabled {
|
|
220
|
-
background: var(--tct-btn-neutral-disabled-bg, var(--comp-btn-neutral-bg));
|
|
221
|
-
color: var(--tct-btn-neutral-disabled-font-color, var(--comp-btn-neutral-font-color));
|
|
220
|
+
background: var(--tct-btn-neutral-disabled-bg, var(--t-btn-neutral-disabled-bg, var(--comp-btn-neutral-bg)));
|
|
221
|
+
color: var(--tct-btn-neutral-disabled-font-color, var(--t-btn-neutral-disabled-font-color, var(--comp-btn-neutral-font-color)));
|
|
222
222
|
box-shadow: var(--tct-btn-neutral-disabled-box-shadow, var(--comp-btn-neutral-box-shadow));
|
|
223
223
|
}
|
|
224
224
|
:host button.icon-only {
|
|
225
|
-
width: var(--tct-btn-icon-width, 44px);
|
|
226
|
-
height: var(--tct-btn-icon-height, 44px);
|
|
227
|
-
border-radius: var(--tct-btn-icon-border-radius, 0);
|
|
225
|
+
width: var(--tct-btn-icon-width, var(--t-btn-icon-width, 44px));
|
|
226
|
+
height: var(--tct-btn-icon-height, var(--t-btn-icon-height, 44px));
|
|
227
|
+
border-radius: var(--tct-btn-icon-border-radius, var(--t-btn-icon-border-radius, 0));
|
|
228
228
|
}
|
|
229
229
|
:host button.icon-only:hover, :host button.icon-only:focus {
|
|
230
|
-
background-color: var(--tct-btn-icon-hover-bg, var(--tct-gray-
|
|
230
|
+
background-color: var(--tct-btn-icon-hover-bg, var(--t-btn-icon-hover-bg, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));
|
|
231
231
|
}
|
|
232
232
|
:host(:not([intent])[active]) button.icon-only {
|
|
233
|
-
background-color: var(--tct-btn-icon-active-bg, var(--
|
|
233
|
+
background-color: var(--tct-btn-icon-active-bg, var(--t-btn-icon-active-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));
|
|
234
234
|
}
|
|
235
235
|
:host(:not([intent])) button.icon-only:hover *, :host(:not([intent])) button.icon-only:focus *, :host(:not([intent])[active]) button.icon-only * {
|
|
236
|
-
color: var(--tct-btn-icon-hover-color, var(--tct-link-hover-color, var(--t-link-hover-color, #080808)));
|
|
236
|
+
color: var(--tct-btn-icon-hover-color, var(--t-btn-icon-hover-color, var(--tct-link-hover-color, var(--t-link-hover-color, #080808))));
|
|
237
237
|
}
|
|
238
238
|
:host([badge]) button {
|
|
239
|
-
padding: var(--tct-btn-badge-padding, 2px 5px);
|
|
240
|
-
font-size: var(--tct-btn-badge-font-size, var(--tct-btn-font-size, inherit));
|
|
241
|
-
border-radius: var(--tct-btn-badge-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px)));
|
|
242
|
-
background-color: var(--tct-btn-badge-bg, transparent);
|
|
243
|
-
color: var(--tct-btn-badge-font-color, inherit);
|
|
239
|
+
padding: var(--tct-btn-badge-padding, var(--t-btn-badge-padding, 2px 5px));
|
|
240
|
+
font-size: var(--tct-btn-badge-font-size, var(--t-btn-badge-font-size, var(--tct---btn-font-size, var(--t---btn-font-size, inherit))));
|
|
241
|
+
border-radius: var(--tct-btn-badge-border-radius, var(--t-btn-badge-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px))));
|
|
242
|
+
background-color: var(--tct-btn-badge-bg, var(--t-btn-badge-bg, transparent));
|
|
243
|
+
color: var(--tct-btn-badge-font-color, var(--t-btn-badge-font-color, inherit));
|
|
244
244
|
}
|
|
245
245
|
:host([badge]) button ::slotted(q2-icon) {
|
|
246
246
|
--tct-icon-size: 1em;
|
|
247
247
|
}
|
|
248
248
|
:host([badge]:hover) button:enabled {
|
|
249
|
-
background-color: var(--tct-btn-badge-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))));
|
|
250
|
-
color: var(--tct-btn-badge-hover-font-color, var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040)))));
|
|
249
|
+
background-color: var(--tct-btn-badge-hover-bg, var(--t-btn-badge-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));
|
|
250
|
+
color: var(--tct-btn-badge-hover-font-color, var(--t-btn-badge-hover-font-color, var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040))))));
|
|
251
251
|
}
|
|
252
252
|
:host(.selected[badge]) button, :host([active][badge]) button {
|
|
253
|
-
background-color: var(--tct-btn-badge-active-bg, var(--comp-btn-primary-bg));
|
|
254
|
-
color: var(--tct-btn-badge-active-font-color, var(--comp-btn-primary-font-color));
|
|
253
|
+
background-color: var(--tct-btn-badge-active-bg, var(--t-btn-badge-active-bg, var(--comp-btn-primary-bg)));
|
|
254
|
+
color: var(--tct-btn-badge-active-font-color, var(--t-btn-badge-active-font-color, var(--comp-btn-primary-font-color)));
|
|
255
255
|
}
|
|
256
256
|
|
|
257
257
|
div {
|
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import { loc } from 'src/utils';
|
|
4
|
-
export function isValidDate(date) {
|
|
5
|
-
return date instanceof Date && !isNaN(date.getTime());
|
|
6
|
-
}
|
|
1
|
+
import { isValid as isValidDate, formatISO, setMinutes } from 'date-fns';
|
|
2
|
+
import { loc } from '../../utils';
|
|
7
3
|
export function formatDateISO(value) {
|
|
8
4
|
const date = new Date(value);
|
|
9
5
|
if (!isValidDate(date))
|
|
10
6
|
return;
|
|
11
|
-
|
|
12
|
-
return isoDate.substring(0, 10);
|
|
7
|
+
return formatISO(date, { representation: 'date' });
|
|
13
8
|
}
|
|
14
9
|
export function formatDateShort(value) {
|
|
15
10
|
const date = new Date(value);
|
|
@@ -33,8 +28,15 @@ export function formatDateLong(value) {
|
|
|
33
28
|
year: 'numeric'
|
|
34
29
|
}).format(date);
|
|
35
30
|
}
|
|
36
|
-
export function
|
|
37
|
-
|
|
31
|
+
export function convertMomentFormat(stringFormat) {
|
|
32
|
+
return stringFormat
|
|
33
|
+
.replace(/[d]/g, 'E')
|
|
34
|
+
.replace(/[D]/g, 'd')
|
|
35
|
+
.replace(/[Y]/g, 'y')
|
|
36
|
+
.replace(/[l]/g, 'P')
|
|
37
|
+
.replace(/[W]/g, 'I');
|
|
38
|
+
}
|
|
39
|
+
export function stringToDate(date) {
|
|
38
40
|
const isString = typeof date === 'string';
|
|
39
41
|
if (!isString && date && isValidDate(new Date(date || undefined))) {
|
|
40
42
|
date = formatDateISO(date);
|
|
@@ -42,60 +44,68 @@ export function stringToMoment(date, useDateOnly = false) {
|
|
|
42
44
|
else if (!date || !isValidDate(new Date(date))) {
|
|
43
45
|
return undefined;
|
|
44
46
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
let result;
|
|
48
|
+
let dateParts = date.split(/[\/\-]/).map(part => part.padStart(2, '0'));
|
|
49
|
+
const isIsoString = isString && date.length >= 24 && date[10] === 'T';
|
|
50
|
+
const isCompleteDate = dateParts.length === 3;
|
|
51
|
+
const isPartialDate = dateParts.length < 3;
|
|
52
|
+
if (isIsoString) {
|
|
53
|
+
date = date.split('T')[0];
|
|
54
|
+
result = new Date(date);
|
|
48
55
|
}
|
|
49
|
-
else {
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
else if (date.match(/[\/]/)) {
|
|
74
|
-
date = `${sp[0]}/${sp[1] || '01'}/${sp[2]}`;
|
|
75
|
-
}
|
|
56
|
+
else if (isCompleteDate) {
|
|
57
|
+
const isStandardSlashDate = date.includes('/') && dateParts[2].length === 4;
|
|
58
|
+
// Reorder mm/dd/yyyy dates for ISO formatting
|
|
59
|
+
// [mm, dd, yyyy] -> [yyyy, mm, dd]
|
|
60
|
+
if (isStandardSlashDate)
|
|
61
|
+
dateParts.unshift(dateParts.pop());
|
|
62
|
+
result = new Date(dateParts.join('-'));
|
|
63
|
+
}
|
|
64
|
+
else if (isPartialDate) {
|
|
65
|
+
const now = new Date();
|
|
66
|
+
let yearNumber;
|
|
67
|
+
let monthNumber;
|
|
68
|
+
let dayNumber;
|
|
69
|
+
switch (dateParts.length) {
|
|
70
|
+
case 1:
|
|
71
|
+
yearNumber = now.getFullYear();
|
|
72
|
+
monthNumber = dateParts[0];
|
|
73
|
+
dayNumber = '01';
|
|
74
|
+
break;
|
|
75
|
+
case 2:
|
|
76
|
+
yearNumber = now.getFullYear();
|
|
77
|
+
monthNumber = dateParts[0];
|
|
78
|
+
dayNumber = dateParts[1];
|
|
79
|
+
break;
|
|
76
80
|
}
|
|
77
|
-
|
|
81
|
+
result = new Date(`${yearNumber}-${monthNumber}-${dayNumber}`);
|
|
78
82
|
}
|
|
79
|
-
|
|
83
|
+
if (!isValidDate(result))
|
|
84
|
+
return undefined;
|
|
85
|
+
// result = setHours(result, 0);
|
|
86
|
+
result = removeTimezoneOffset(result);
|
|
87
|
+
return isValidDate(result) ? result : undefined;
|
|
80
88
|
}
|
|
81
|
-
export function
|
|
89
|
+
export function removeTimezoneOffset(date) {
|
|
90
|
+
const timeZoneOffset = date.getTimezoneOffset();
|
|
91
|
+
return setMinutes(date, timeZoneOffset);
|
|
92
|
+
}
|
|
93
|
+
export function stringArrayToDate(dateArray) {
|
|
82
94
|
if (!Array.isArray(dateArray) || dateArray.length === 0) {
|
|
83
95
|
return [];
|
|
84
96
|
}
|
|
85
|
-
|
|
86
|
-
return momentArray;
|
|
97
|
+
return dateArray.map(date => stringToDate(date));
|
|
87
98
|
}
|
|
88
|
-
export function setupMonthYear(value = new Date()
|
|
99
|
+
export function setupMonthYear(value = new Date()) {
|
|
89
100
|
const monthIndex = Number(value.toISOString().split('-')[1]) - 1;
|
|
90
101
|
return {
|
|
91
102
|
monthIndex,
|
|
92
|
-
selectedMonth: months[monthIndex],
|
|
93
103
|
selectedYear: value.getFullYear()
|
|
94
104
|
};
|
|
95
105
|
}
|
|
96
106
|
export function validateInput(input = '', validDays = [], validDates = [], // white list
|
|
97
107
|
invalidDates = [], // black list
|
|
98
|
-
startDate, endDate, formatString = 'mm/dd/yyyy') {
|
|
108
|
+
startDate, endDate, formatString = 'mm/dd/yyyy', assume) {
|
|
99
109
|
let isValid = false;
|
|
100
110
|
let isAvailable = false;
|
|
101
111
|
let messageType = 'info';
|
|
@@ -103,7 +113,7 @@ startDate, endDate, formatString = 'mm/dd/yyyy') {
|
|
|
103
113
|
if (!input) {
|
|
104
114
|
return { isValid, inputDate: new Date(''), isAvailable, messageType, message };
|
|
105
115
|
}
|
|
106
|
-
const inputDate = buildInputDate(input);
|
|
116
|
+
const inputDate = buildInputDate(input, assume);
|
|
107
117
|
const month = inputDate.getMonth() + 1;
|
|
108
118
|
const date = inputDate.getDate();
|
|
109
119
|
const year = inputDate.getFullYear();
|
|
@@ -158,15 +168,15 @@ startDate, endDate, formatString = 'mm/dd/yyyy') {
|
|
|
158
168
|
calendarPosition
|
|
159
169
|
};
|
|
160
170
|
}
|
|
161
|
-
function buildInputDate(input) {
|
|
162
|
-
let [month, day, year] = input.split('/');
|
|
171
|
+
function buildInputDate(input, assume) {
|
|
163
172
|
const now = new Date();
|
|
173
|
+
let [month, day, year] = input.split('/');
|
|
164
174
|
if (input.length === 10) {
|
|
165
175
|
return new Date(input);
|
|
166
176
|
}
|
|
167
177
|
else if (month && day && Number(day) > 0) {
|
|
168
178
|
day = Number(day) < 10 ? `0${Number(day)}` : day;
|
|
169
|
-
year = !year || year.length < 4 ?
|
|
179
|
+
year = !year || year.length < 4 ? assumeYear(month, day, assume) : year;
|
|
170
180
|
return new Date(`${month}/${day}/${year}`);
|
|
171
181
|
}
|
|
172
182
|
else if (month && day && Number(day) === 0) {
|
|
@@ -176,6 +186,21 @@ function buildInputDate(input) {
|
|
|
176
186
|
return new Date(`${month}/01/${now.getFullYear()}`);
|
|
177
187
|
}
|
|
178
188
|
}
|
|
189
|
+
function assumeYear(month, day, assume) {
|
|
190
|
+
const monthDay = `${month}/${day}`;
|
|
191
|
+
const now = new Date();
|
|
192
|
+
const mm = now.getMonth() < 9 ? `0${now.getMonth() + 1}` : `${now.getMonth() + 1}`;
|
|
193
|
+
const dd = now.getDate() < 10 ? `0${now.getDate()}` : `${now.getDate()}`;
|
|
194
|
+
const nowLocal = `${mm}/${dd}/${now.getFullYear()}`;
|
|
195
|
+
let assumedYear = now.getFullYear();
|
|
196
|
+
if (assume === 'future' && nowLocal.slice(0, 5) > monthDay) {
|
|
197
|
+
assumedYear = now.getFullYear() + 1;
|
|
198
|
+
}
|
|
199
|
+
else if (assume === 'past' && nowLocal.slice(0, 5) < monthDay) {
|
|
200
|
+
assumedYear = now.getFullYear() - 1;
|
|
201
|
+
}
|
|
202
|
+
return assumedYear.toString();
|
|
203
|
+
}
|
|
179
204
|
export function handleMissingZeros(input) {
|
|
180
205
|
if (!input) {
|
|
181
206
|
return '';
|