@vaadin/date-time-picker 24.4.12 → 24.4.14
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/package.json +11 -11
- package/src/vaadin-date-time-picker.js +24 -19
- package/web-types.json +5 -5
- package/web-types.lit.json +4 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/date-time-picker",
|
|
3
|
-
"version": "24.4.
|
|
3
|
+
"version": "24.4.14",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@polymer/polymer": "^3.0.0",
|
|
39
|
-
"@vaadin/a11y-base": "~24.4.
|
|
40
|
-
"@vaadin/component-base": "~24.4.
|
|
41
|
-
"@vaadin/custom-field": "~24.4.
|
|
42
|
-
"@vaadin/date-picker": "~24.4.
|
|
43
|
-
"@vaadin/field-base": "~24.4.
|
|
44
|
-
"@vaadin/time-picker": "~24.4.
|
|
45
|
-
"@vaadin/vaadin-lumo-styles": "~24.4.
|
|
46
|
-
"@vaadin/vaadin-material-styles": "~24.4.
|
|
47
|
-
"@vaadin/vaadin-themable-mixin": "~24.4.
|
|
39
|
+
"@vaadin/a11y-base": "~24.4.14",
|
|
40
|
+
"@vaadin/component-base": "~24.4.14",
|
|
41
|
+
"@vaadin/custom-field": "~24.4.14",
|
|
42
|
+
"@vaadin/date-picker": "~24.4.14",
|
|
43
|
+
"@vaadin/field-base": "~24.4.14",
|
|
44
|
+
"@vaadin/time-picker": "~24.4.14",
|
|
45
|
+
"@vaadin/vaadin-lumo-styles": "~24.4.14",
|
|
46
|
+
"@vaadin/vaadin-material-styles": "~24.4.14",
|
|
47
|
+
"@vaadin/vaadin-themable-mixin": "~24.4.14"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@esm-bundle/chai": "^4.3.4",
|
|
@@ -55,5 +55,5 @@
|
|
|
55
55
|
"web-types.json",
|
|
56
56
|
"web-types.lit.json"
|
|
57
57
|
],
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "815296a9a4cf510413a39975ee7e4dd75a51fe81"
|
|
59
59
|
}
|
|
@@ -11,7 +11,12 @@ import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
|
|
|
11
11
|
import { SlotController } from '@vaadin/component-base/src/slot-controller.js';
|
|
12
12
|
import { TooltipController } from '@vaadin/component-base/src/tooltip-controller.js';
|
|
13
13
|
import { DatePicker } from '@vaadin/date-picker/src/vaadin-date-picker.js';
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
dateEquals,
|
|
16
|
+
formatUTCISODate,
|
|
17
|
+
normalizeUTCDate,
|
|
18
|
+
parseUTCDate,
|
|
19
|
+
} from '@vaadin/date-picker/src/vaadin-date-picker-helper.js';
|
|
15
20
|
import { FieldMixin } from '@vaadin/field-base/src/field-mixin.js';
|
|
16
21
|
import { inputFieldShared } from '@vaadin/field-base/src/styles/input-field-shared-styles.js';
|
|
17
22
|
import { TimePicker } from '@vaadin/time-picker/src/vaadin-time-picker.js';
|
|
@@ -615,16 +620,16 @@ class DateTimePicker extends FieldMixin(DisabledMixin(FocusMixin(ThemableMixin(E
|
|
|
615
620
|
__updateTimePickerMinMax() {
|
|
616
621
|
if (this.__timePicker && this.__datePicker) {
|
|
617
622
|
const selectedDate = this.__parseDate(this.__datePicker.value);
|
|
618
|
-
const isMinMaxSameDay = dateEquals(this.__minDateTime, this.__maxDateTime);
|
|
623
|
+
const isMinMaxSameDay = dateEquals(this.__minDateTime, this.__maxDateTime, normalizeUTCDate);
|
|
619
624
|
const oldTimeValue = this.__timePicker.value;
|
|
620
625
|
|
|
621
|
-
if ((this.__minDateTime && dateEquals(selectedDate, this.__minDateTime)) || isMinMaxSameDay) {
|
|
626
|
+
if ((this.__minDateTime && dateEquals(selectedDate, this.__minDateTime, normalizeUTCDate)) || isMinMaxSameDay) {
|
|
622
627
|
this.__timePicker.min = this.__dateToIsoTimeString(this.__minDateTime);
|
|
623
628
|
} else {
|
|
624
629
|
this.__timePicker.min = this.__defaultTimeMinValue;
|
|
625
630
|
}
|
|
626
631
|
|
|
627
|
-
if ((this.__maxDateTime && dateEquals(selectedDate, this.__maxDateTime)) || isMinMaxSameDay) {
|
|
632
|
+
if ((this.__maxDateTime && dateEquals(selectedDate, this.__maxDateTime, normalizeUTCDate)) || isMinMaxSameDay) {
|
|
628
633
|
this.__timePicker.max = this.__dateToIsoTimeString(this.__maxDateTime);
|
|
629
634
|
} else {
|
|
630
635
|
this.__timePicker.max = this.__defaultTimeMaxValue;
|
|
@@ -750,7 +755,7 @@ class DateTimePicker extends FieldMixin(DisabledMixin(FocusMixin(ThemableMixin(E
|
|
|
750
755
|
* @private
|
|
751
756
|
*/
|
|
752
757
|
__parseDate(str) {
|
|
753
|
-
return
|
|
758
|
+
return parseUTCDate(str);
|
|
754
759
|
}
|
|
755
760
|
|
|
756
761
|
/**
|
|
@@ -764,7 +769,7 @@ class DateTimePicker extends FieldMixin(DisabledMixin(FocusMixin(ThemableMixin(E
|
|
|
764
769
|
if (!date) {
|
|
765
770
|
return defaultValue;
|
|
766
771
|
}
|
|
767
|
-
return
|
|
772
|
+
return formatUTCISODate(date);
|
|
768
773
|
}
|
|
769
774
|
|
|
770
775
|
/**
|
|
@@ -811,10 +816,10 @@ class DateTimePicker extends FieldMixin(DisabledMixin(FocusMixin(ThemableMixin(E
|
|
|
811
816
|
return;
|
|
812
817
|
}
|
|
813
818
|
|
|
814
|
-
date.
|
|
815
|
-
date.
|
|
816
|
-
date.
|
|
817
|
-
date.
|
|
819
|
+
date.setUTCHours(parseInt(time.hours));
|
|
820
|
+
date.setUTCMinutes(parseInt(time.minutes || 0));
|
|
821
|
+
date.setUTCSeconds(parseInt(time.seconds || 0));
|
|
822
|
+
date.setUTCMilliseconds(parseInt(time.milliseconds || 0));
|
|
818
823
|
|
|
819
824
|
return date;
|
|
820
825
|
}
|
|
@@ -844,10 +849,10 @@ class DateTimePicker extends FieldMixin(DisabledMixin(FocusMixin(ThemableMixin(E
|
|
|
844
849
|
__dateToIsoTimeString(date) {
|
|
845
850
|
return this.__formatTimeISO(
|
|
846
851
|
this.__validateTime({
|
|
847
|
-
hours: date.
|
|
848
|
-
minutes: date.
|
|
849
|
-
seconds: date.
|
|
850
|
-
milliseconds: date.
|
|
852
|
+
hours: date.getUTCHours(),
|
|
853
|
+
minutes: date.getUTCMinutes(),
|
|
854
|
+
seconds: date.getUTCSeconds(),
|
|
855
|
+
milliseconds: date.getUTCMilliseconds(),
|
|
851
856
|
}),
|
|
852
857
|
);
|
|
853
858
|
}
|
|
@@ -908,14 +913,14 @@ class DateTimePicker extends FieldMixin(DisabledMixin(FocusMixin(ThemableMixin(E
|
|
|
908
913
|
* @private
|
|
909
914
|
*/
|
|
910
915
|
__dateTimeEquals(date1, date2) {
|
|
911
|
-
if (!dateEquals(date1, date2)) {
|
|
916
|
+
if (!dateEquals(date1, date2, normalizeUTCDate)) {
|
|
912
917
|
return false;
|
|
913
918
|
}
|
|
914
919
|
return (
|
|
915
|
-
date1.
|
|
916
|
-
date1.
|
|
917
|
-
date1.
|
|
918
|
-
date1.
|
|
920
|
+
date1.getUTCHours() === date2.getUTCHours() &&
|
|
921
|
+
date1.getUTCMinutes() === date2.getUTCMinutes() &&
|
|
922
|
+
date1.getUTCSeconds() === date2.getUTCSeconds() &&
|
|
923
|
+
date1.getUTCMilliseconds() === date2.getUTCMilliseconds()
|
|
919
924
|
);
|
|
920
925
|
}
|
|
921
926
|
|
package/web-types.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@vaadin/date-time-picker",
|
|
4
|
-
"version": "24.4.
|
|
4
|
+
"version": "24.4.14",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"elements": [
|
|
9
9
|
{
|
|
10
10
|
"name": "vaadin-date-time-picker",
|
|
11
|
-
"description": "`<vaadin-date-time-picker>` is a Web Component providing a date time selection field.\n\n```html\n<vaadin-date-time-picker value=\"2019-09-16T15:00\"></vaadin-date-time-picker>\n```\n```js\ndateTimePicker.value = '2019-09-16T15:00';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n---------------------|----------------\n`label` | The slotted label element wrapper\n`helper-text` | The slotted helper text element wrapper\n`error-message` | The slotted error message element wrapper\n`required-indicator` | The `required` state indicator element\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n--------------------|-------------------------------------------|------------\n`disabled` | Set when the element is disabled | :host\n`focused` | Set when the element is focused | :host\n`focus-ring` | Set when the element is keyboard focused | :host\n`readonly` | Set when the element is readonly | :host\n`invalid` | Set when the element is invalid | :host\n`has-label` | Set when the element has a label | :host\n`has-value` | Set when the element has a value | :host\n`has-helper` | Set when the element has helper text | :host\n`has-error-message` | Set when the element has an error message | :host\n\n### Internal components\n\nThe following components are created by `<vaadin-date-time-picker>` and placed in light DOM:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.
|
|
11
|
+
"description": "`<vaadin-date-time-picker>` is a Web Component providing a date time selection field.\n\n```html\n<vaadin-date-time-picker value=\"2019-09-16T15:00\"></vaadin-date-time-picker>\n```\n```js\ndateTimePicker.value = '2019-09-16T15:00';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n---------------------|----------------\n`label` | The slotted label element wrapper\n`helper-text` | The slotted helper text element wrapper\n`error-message` | The slotted error message element wrapper\n`required-indicator` | The `required` state indicator element\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n--------------------|-------------------------------------------|------------\n`disabled` | Set when the element is disabled | :host\n`focused` | Set when the element is focused | :host\n`focus-ring` | Set when the element is keyboard focused | :host\n`readonly` | Set when the element is readonly | :host\n`invalid` | Set when the element is invalid | :host\n`has-label` | Set when the element has a label | :host\n`has-value` | Set when the element has a value | :host\n`has-helper` | Set when the element has helper text | :host\n`has-error-message` | Set when the element has an error message | :host\n\n### Internal components\n\nThe following components are created by `<vaadin-date-time-picker>` and placed in light DOM:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-date-picker).\n- [`<vaadin-time-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-time-picker).\n\nNote: the `theme` attribute value set on `<vaadin-date-time-picker>` is\npropagated to these components.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
|
|
12
12
|
"attributes": [
|
|
13
13
|
{
|
|
14
14
|
"name": "disabled",
|
|
@@ -224,7 +224,7 @@
|
|
|
224
224
|
},
|
|
225
225
|
{
|
|
226
226
|
"name": "overlay-class",
|
|
227
|
-
"description": "A space-delimited list of CSS class names to set on the overlay elements\nof the internal components controlled by the `<vaadin-date-time-picker>`:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.
|
|
227
|
+
"description": "A space-delimited list of CSS class names to set on the overlay elements\nof the internal components controlled by the `<vaadin-date-time-picker>`:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-date-picker#property-overlayClass)\n- [`<vaadin-time-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-time-picker#property-overlayClass)",
|
|
228
228
|
"value": {
|
|
229
229
|
"type": [
|
|
230
230
|
"string",
|
|
@@ -461,7 +461,7 @@
|
|
|
461
461
|
},
|
|
462
462
|
{
|
|
463
463
|
"name": "i18n",
|
|
464
|
-
"description": "The object used to localize this component.\nTo change the default localization, replace the entire\n`i18n` object or just the properties you want to modify.\n\nThe object is a combination of the i18n properties supported by\n[`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.
|
|
464
|
+
"description": "The object used to localize this component.\nTo change the default localization, replace the entire\n`i18n` object or just the properties you want to modify.\n\nThe object is a combination of the i18n properties supported by\n[`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-date-picker) and\n[`<vaadin-time-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-time-picker).",
|
|
465
465
|
"value": {
|
|
466
466
|
"type": [
|
|
467
467
|
"DateTimePickerI18n"
|
|
@@ -470,7 +470,7 @@
|
|
|
470
470
|
},
|
|
471
471
|
{
|
|
472
472
|
"name": "overlayClass",
|
|
473
|
-
"description": "A space-delimited list of CSS class names to set on the overlay elements\nof the internal components controlled by the `<vaadin-date-time-picker>`:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.
|
|
473
|
+
"description": "A space-delimited list of CSS class names to set on the overlay elements\nof the internal components controlled by the `<vaadin-date-time-picker>`:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-date-picker#property-overlayClass)\n- [`<vaadin-time-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-time-picker#property-overlayClass)",
|
|
474
474
|
"value": {
|
|
475
475
|
"type": [
|
|
476
476
|
"string",
|
package/web-types.lit.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/web-types",
|
|
3
3
|
"name": "@vaadin/date-time-picker",
|
|
4
|
-
"version": "24.4.
|
|
4
|
+
"version": "24.4.14",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"framework": "lit",
|
|
7
7
|
"framework-config": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"elements": [
|
|
17
17
|
{
|
|
18
18
|
"name": "vaadin-date-time-picker",
|
|
19
|
-
"description": "`<vaadin-date-time-picker>` is a Web Component providing a date time selection field.\n\n```html\n<vaadin-date-time-picker value=\"2019-09-16T15:00\"></vaadin-date-time-picker>\n```\n```js\ndateTimePicker.value = '2019-09-16T15:00';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n---------------------|----------------\n`label` | The slotted label element wrapper\n`helper-text` | The slotted helper text element wrapper\n`error-message` | The slotted error message element wrapper\n`required-indicator` | The `required` state indicator element\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n--------------------|-------------------------------------------|------------\n`disabled` | Set when the element is disabled | :host\n`focused` | Set when the element is focused | :host\n`focus-ring` | Set when the element is keyboard focused | :host\n`readonly` | Set when the element is readonly | :host\n`invalid` | Set when the element is invalid | :host\n`has-label` | Set when the element has a label | :host\n`has-value` | Set when the element has a value | :host\n`has-helper` | Set when the element has helper text | :host\n`has-error-message` | Set when the element has an error message | :host\n\n### Internal components\n\nThe following components are created by `<vaadin-date-time-picker>` and placed in light DOM:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.
|
|
19
|
+
"description": "`<vaadin-date-time-picker>` is a Web Component providing a date time selection field.\n\n```html\n<vaadin-date-time-picker value=\"2019-09-16T15:00\"></vaadin-date-time-picker>\n```\n```js\ndateTimePicker.value = '2019-09-16T15:00';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following shadow DOM parts are available for styling:\n\nPart name | Description\n---------------------|----------------\n`label` | The slotted label element wrapper\n`helper-text` | The slotted helper text element wrapper\n`error-message` | The slotted error message element wrapper\n`required-indicator` | The `required` state indicator element\n\nThe following state attributes are available for styling:\n\nAttribute | Description | Part name\n--------------------|-------------------------------------------|------------\n`disabled` | Set when the element is disabled | :host\n`focused` | Set when the element is focused | :host\n`focus-ring` | Set when the element is keyboard focused | :host\n`readonly` | Set when the element is readonly | :host\n`invalid` | Set when the element is invalid | :host\n`has-label` | Set when the element has a label | :host\n`has-value` | Set when the element has a value | :host\n`has-helper` | Set when the element has helper text | :host\n`has-error-message` | Set when the element has an error message | :host\n\n### Internal components\n\nThe following components are created by `<vaadin-date-time-picker>` and placed in light DOM:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-date-picker).\n- [`<vaadin-time-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-time-picker).\n\nNote: the `theme` attribute value set on `<vaadin-date-time-picker>` is\npropagated to these components.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.",
|
|
20
20
|
"extension": true,
|
|
21
21
|
"attributes": [
|
|
22
22
|
{
|
|
@@ -161,14 +161,14 @@
|
|
|
161
161
|
},
|
|
162
162
|
{
|
|
163
163
|
"name": ".i18n",
|
|
164
|
-
"description": "The object used to localize this component.\nTo change the default localization, replace the entire\n`i18n` object or just the properties you want to modify.\n\nThe object is a combination of the i18n properties supported by\n[`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.
|
|
164
|
+
"description": "The object used to localize this component.\nTo change the default localization, replace the entire\n`i18n` object or just the properties you want to modify.\n\nThe object is a combination of the i18n properties supported by\n[`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-date-picker) and\n[`<vaadin-time-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-time-picker).",
|
|
165
165
|
"value": {
|
|
166
166
|
"kind": "expression"
|
|
167
167
|
}
|
|
168
168
|
},
|
|
169
169
|
{
|
|
170
170
|
"name": ".overlayClass",
|
|
171
|
-
"description": "A space-delimited list of CSS class names to set on the overlay elements\nof the internal components controlled by the `<vaadin-date-time-picker>`:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.
|
|
171
|
+
"description": "A space-delimited list of CSS class names to set on the overlay elements\nof the internal components controlled by the `<vaadin-date-time-picker>`:\n\n- [`<vaadin-date-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-date-picker#property-overlayClass)\n- [`<vaadin-time-picker>`](https://cdn.vaadin.com/vaadin-web-components/24.4.14/#/elements/vaadin-time-picker#property-overlayClass)",
|
|
172
172
|
"value": {
|
|
173
173
|
"kind": "expression"
|
|
174
174
|
}
|