@vaadin/date-picker 25.0.0-alpha1 → 25.0.0-alpha10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/package.json +15 -13
  2. package/src/styles/vaadin-date-picker-base-styles.d.ts +8 -0
  3. package/src/styles/vaadin-date-picker-base-styles.js +30 -0
  4. package/src/styles/vaadin-date-picker-core-styles.d.ts +8 -0
  5. package/src/styles/vaadin-date-picker-overlay-base-styles.js +48 -0
  6. package/src/styles/vaadin-date-picker-overlay-content-base-styles.js +107 -0
  7. package/src/styles/vaadin-date-picker-overlay-content-core-styles.js +54 -0
  8. package/src/styles/vaadin-date-picker-year-base-styles.js +26 -0
  9. package/src/styles/vaadin-date-picker-year-core-styles.js +13 -0
  10. package/src/styles/vaadin-month-calendar-base-styles.js +140 -0
  11. package/src/vaadin-date-picker-helper.d.ts +5 -0
  12. package/src/vaadin-date-picker-mixin.js +45 -31
  13. package/src/vaadin-date-picker-month-scroller.js +2 -6
  14. package/src/vaadin-date-picker-overlay-content-mixin.js +5 -132
  15. package/src/vaadin-date-picker-overlay-content.js +13 -17
  16. package/src/vaadin-date-picker-overlay.js +17 -3
  17. package/src/vaadin-date-picker-year-scroller.js +3 -4
  18. package/src/vaadin-date-picker-year.js +32 -9
  19. package/src/vaadin-date-picker.d.ts +11 -11
  20. package/src/vaadin-date-picker.js +21 -14
  21. package/src/vaadin-infinite-scroller.js +1 -19
  22. package/src/vaadin-month-calendar.js +3 -2
  23. package/theme/lumo/vaadin-date-picker-overlay-content-styles.js +19 -46
  24. package/theme/lumo/vaadin-date-picker-overlay-styles.js +0 -1
  25. package/web-types.json +2 -2
  26. package/web-types.lit.json +2 -2
  27. package/src/vaadin-date-picker-overlay-content-styles.js +0 -68
  28. package/src/vaadin-date-picker-year-mixin.js +0 -35
  29. /package/src/{vaadin-date-picker-styles.js → styles/vaadin-date-picker-core-styles.js} +0 -0
  30. /package/src/{vaadin-date-picker-overlay-styles.js → styles/vaadin-date-picker-overlay-core-styles.js} +0 -0
  31. /package/src/{vaadin-month-calendar-styles.js → styles/vaadin-month-calendar-core-styles.js} +0 -0
@@ -20,6 +20,10 @@ registerStyles(
20
20
  cursor: default;
21
21
  }
22
22
 
23
+ :host([dir='rtl']) {
24
+ background-position: top left;
25
+ }
26
+
23
27
  ::slotted([slot='months']) {
24
28
  /* Month calendar height:
25
29
  header height + margin-bottom
@@ -36,39 +40,26 @@ registerStyles(
36
40
  + var(--lumo-space-s)
37
41
  );
38
42
  --vaadin-infinite-scroller-buffer-offset: 10%;
39
- -webkit-mask-image: linear-gradient(transparent, #000 10%, #000 85%, transparent);
40
43
  mask-image: linear-gradient(transparent, #000 10%, #000 85%, transparent);
41
44
  position: relative;
42
- margin-right: 57px;
43
45
  }
44
46
 
45
47
  ::slotted([slot='years']) {
46
48
  /* TODO get rid of fixed magic number */
47
- --vaadin-infinite-scroller-buffer-width: 97px;
49
+ --vaadin-infinite-scroller-buffer-width: 57px;
48
50
  width: 57px;
49
- height: auto;
50
- top: 0;
51
- bottom: 0;
52
51
  font-size: var(--lumo-font-size-s);
53
52
  box-shadow: inset 2px 0 4px 0 var(--lumo-shade-5pct);
54
- -webkit-mask-image: linear-gradient(transparent, #000 35%, #000 65%, transparent);
55
53
  mask-image: linear-gradient(transparent, #000 35%, #000 65%, transparent);
56
54
  cursor: var(--lumo-clickable-cursor);
57
55
  }
58
56
 
59
- ::slotted([slot='years']:hover) {
60
- --_lumo-date-picker-year-opacity: 1;
61
- }
62
-
63
- /* TODO unsupported selector */
64
- #scrollers {
65
- position: static;
66
- display: block;
57
+ :host([dir='rtl']) ::slotted([slot='years']) {
58
+ box-shadow: inset -2px 0 4px 0 var(--lumo-shade-5pct);
67
59
  }
68
60
 
69
- /* TODO fix this in vaadin-date-picker that it adapts to the width of the year scroller */
70
- :host([desktop]) ::slotted([slot='months']) {
71
- right: auto;
61
+ ::slotted([slot='years']:hover) {
62
+ --_lumo-date-picker-year-opacity: 1;
72
63
  }
73
64
 
74
65
  /* Year scroller position indicator */
@@ -84,10 +75,14 @@ registerStyles(
84
75
  z-index: 1;
85
76
  }
86
77
 
78
+ :host([dir='rtl']) ::slotted([slot='years'])::before {
79
+ right: 0;
80
+ transform: translate(75%, -50%) rotate(45deg);
81
+ }
82
+
87
83
  [part='toolbar'] {
88
84
  padding: var(--lumo-space-s);
89
85
  border-bottom-left-radius: var(--lumo-border-radius-l);
90
- margin-right: 57px;
91
86
  }
92
87
 
93
88
  [part='toolbar'] ::slotted(vaadin-button) {
@@ -97,24 +92,8 @@ registerStyles(
97
92
  /* Narrow viewport mode (fullscreen) */
98
93
 
99
94
  :host([fullscreen]) [part='toolbar'] {
100
- order: -1;
101
95
  background-color: var(--lumo-base-color);
102
- }
103
-
104
- :host([fullscreen]) [part='overlay-header'] {
105
- order: -2;
106
- height: var(--lumo-size-m);
107
- padding: var(--lumo-space-s);
108
- position: absolute;
109
- left: 0;
110
- right: 0;
111
- justify-content: center;
112
- }
113
-
114
- :host([fullscreen]) [part='toggle-button'],
115
- :host([fullscreen]) [part='clear-button'],
116
- [part='overlay-header'] [part='label'] {
117
- display: none;
96
+ margin-inline-end: 57px;
118
97
  }
119
98
 
120
99
  /* Very narrow screen (year scroller initially hidden) */
@@ -122,10 +101,9 @@ registerStyles(
122
101
  [part='years-toggle-button'] {
123
102
  display: flex;
124
103
  align-items: center;
125
- height: var(--lumo-size-s);
104
+ height: var(--lumo-size-m);
126
105
  padding: 0 0.5em;
127
106
  border-radius: var(--lumo-border-radius-m);
128
- z-index: 3;
129
107
  color: var(--lumo-primary-text-color);
130
108
  font-weight: 500;
131
109
  -webkit-font-smoothing: antialiased;
@@ -143,21 +121,16 @@ registerStyles(
143
121
  background-image: none;
144
122
  }
145
123
 
146
- [part='toolbar'],
147
- ::slotted([slot='months']) {
148
- margin-right: 0;
124
+ :host([fullscreen]) [part='toolbar'] {
125
+ margin-inline-end: 0;
149
126
  }
150
127
 
151
128
  /* TODO make date-picker adapt to the width of the years part */
152
129
  ::slotted([slot='years']) {
153
- --vaadin-infinite-scroller-buffer-width: 90px;
130
+ --vaadin-infinite-scroller-buffer-width: 50px;
154
131
  width: 50px;
155
132
  background-color: var(--lumo-shade-5pct);
156
133
  }
157
-
158
- :host([years-visible]) ::slotted([slot='months']) {
159
- padding-left: 50px;
160
- }
161
134
  }
162
135
  `,
163
136
  { moduleId: 'lumo-date-picker-overlay-content' },
@@ -29,7 +29,6 @@ const datePickerOverlay = css`
29
29
  padding: 0;
30
30
  height: 100%;
31
31
  overflow: hidden;
32
- -webkit-mask-image: none;
33
32
  mask-image: none;
34
33
  }
35
34
 
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-picker",
4
- "version": "25.0.0-alpha1",
4
+ "version": "25.0.0-alpha10",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "elements": [
9
9
  {
10
10
  "name": "vaadin-date-picker",
11
- "description": "`<vaadin-date-picker>` is an input field that allows to enter a date by typing or by selecting from a calendar overlay.\n\n```html\n<vaadin-date-picker label=\"Birthday\"></vaadin-date-picker>\n```\n```js\ndatePicker.value = '2016-03-02';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n-------------------------------|----------------------------|---------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n\n`<vaadin-date-picker>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\nSee [`<vaadin-text-field>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-text-field) for the styling documentation.\n\nIn addition to `<vaadin-text-field>` parts, the following parts are available for theming:\n\nPart name | Description\n----------------------|--------------------\n`toggle-button` | Toggle button\n\nIn addition to `<vaadin-text-field>` state attributes, the following state attributes are available for theming:\n\nAttribute | Description | Part name\n-----------|--------------------------------------------------|-----------\n`opened` | Set when the date selector overlay is opened | :host\n\n### Internal components\n\nIn addition to `<vaadin-date-picker>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-date-picker-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-overlay).\n- `<vaadin-date-picker-overlay-content>`\n- `<vaadin-date-picker-month-scroller>`\n- `<vaadin-date-picker-year-scroller>`\n- `<vaadin-date-picker-year>`\n- `<vaadin-month-calendar>`\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-input-container) - an internal element wrapping the input.\n\nIn order to style the overlay content, use `<vaadin-date-picker-overlay-content>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`overlay-header` | Fullscreen mode header\n`label` | Fullscreen mode value/label\n`clear-button` | Fullscreen mode clear button\n`toggle-button` | Fullscreen mode toggle button\n`years-toggle-button` | Fullscreen mode years scroller toggle\n`toolbar` | Footer bar with slotted buttons\n\nThe following state attributes are available on the `<vaadin-date-picker-overlay-content>` element:\n\nAttribute | Description\n----------------|-------------------------------------------------\n`desktop` | Set when the overlay content is in desktop mode\n`fullscreen` | Set when the overlay content is in fullscreen mode\n`years-visible` | Set when the year scroller is visible in fullscreen mode\n\nIn order to style the month calendar, use `<vaadin-month-calendar>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`month-header` | Month title\n`weekdays` | Weekday container\n`weekday` | Weekday element\n`week-numbers` | Week numbers container\n`week-number` | Week number element\n`date` | Date element\n`disabled` | Disabled date element\n`focused` | Focused date element\n`selected` | Selected date element\n`today` | Date element corresponding to the current day\n`past` | Date element corresponding to the date in the past\n`future` | Date element corresponding to the date in the future\n\nIn order to style year scroller elements, use `<vaadin-date-picker-year>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`year-number` | Year number\n`year-separator` | Year separator\n\nNote: the `theme` attribute value set on `<vaadin-date-picker>` is\npropagated to the internal components listed above.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\n### Change events\n\nDepending on the nature of the value change that the user attempts to commit e.g. by pressing Enter,\nthe component can fire either a `change` event or an `unparsable-change` event:\n\nValue change | Event\n:------------------------|:------------------\nempty => parsable | change\nempty => unparsable | unparsable-change\nparsable => empty | change\nparsable => parsable | change\nparsable => unparsable | change\nunparsable => empty | unparsable-change\nunparsable => parsable | change\nunparsable => unparsable | unparsable-change",
11
+ "description": "`<vaadin-date-picker>` is an input field that allows to enter a date by typing or by selecting from a calendar overlay.\n\n```html\n<vaadin-date-picker label=\"Birthday\"></vaadin-date-picker>\n```\n```js\ndatePicker.value = '2016-03-02';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n-------------------------------|----------------------------|---------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n\n`<vaadin-date-picker>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\nSee [`<vaadin-text-field>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha10/#/elements/vaadin-text-field) for the styling documentation.\n\nIn addition to `<vaadin-text-field>` parts, the following parts are available for theming:\n\nPart name | Description\n-----------------|--------------------\n`toggle-button` | Toggle button\n`backdrop` | Backdrop of the overlay\n`overlay` | The overlay container\n`content` | The overlay content\n\nIn addition to `<vaadin-text-field>` state attributes, the following state attributes are available for theming:\n\nAttribute | Description\n---------------|----------------------------------------------\n`opened` | Set when the date selector overlay is opened\n`week-numbers` | Set when week numbers are shown in the calendar\n\n### Internal components\n\nIn addition to `<vaadin-date-picker>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-date-picker-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha10/#/elements/vaadin-overlay).\n- `<vaadin-date-picker-overlay-content>`\n- `<vaadin-date-picker-month-scroller>`\n- `<vaadin-date-picker-year-scroller>`\n- `<vaadin-date-picker-year>`\n- `<vaadin-month-calendar>`\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha10/#/elements/vaadin-input-container) - an internal element wrapping the input.\n\nIn order to style the overlay content, use `<vaadin-date-picker-overlay-content>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`years-toggle-button` | Fullscreen mode years scroller toggle\n`toolbar` | Toolbar with slotted buttons\n\nThe following state attributes are available on the `<vaadin-date-picker-overlay-content>` element:\n\nAttribute | Description\n----------------|-------------------------------------------------\n`desktop` | Set when the overlay content is in desktop mode\n`fullscreen` | Set when the overlay content is in fullscreen mode\n`years-visible` | Set when the year scroller is visible in fullscreen mode\n\nIn order to style the month calendar, use `<vaadin-month-calendar>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`month-header` | Month title\n`weekdays` | Weekday container\n`weekday` | Weekday element\n`week-numbers` | Week numbers container\n`week-number` | Week number element\n`date` | Date element\n`disabled` | Disabled date element\n`focused` | Focused date element\n`selected` | Selected date element\n`today` | Date element corresponding to the current day\n`past` | Date element corresponding to the date in the past\n`future` | Date element corresponding to the date in the future\n\nIn order to style year scroller elements, use `<vaadin-date-picker-year>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`year-number` | Year number\n`year-separator` | Year separator\n\nNote: the `theme` attribute value set on `<vaadin-date-picker>` is\npropagated to the internal components listed above.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\n### Change events\n\nDepending on the nature of the value change that the user attempts to commit e.g. by pressing Enter,\nthe component can fire either a `change` event or an `unparsable-change` event:\n\nValue change | Event\n:------------------------|:------------------\nempty => parsable | change\nempty => unparsable | unparsable-change\nparsable => empty | change\nparsable => parsable | change\nparsable => unparsable | change\nunparsable => empty | unparsable-change\nunparsable => parsable | change\nunparsable => unparsable | unparsable-change",
12
12
  "attributes": [
13
13
  {
14
14
  "name": "disabled",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/date-picker",
4
- "version": "25.0.0-alpha1",
4
+ "version": "25.0.0-alpha10",
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-picker",
19
- "description": "`<vaadin-date-picker>` is an input field that allows to enter a date by typing or by selecting from a calendar overlay.\n\n```html\n<vaadin-date-picker label=\"Birthday\"></vaadin-date-picker>\n```\n```js\ndatePicker.value = '2016-03-02';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n-------------------------------|----------------------------|---------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n\n`<vaadin-date-picker>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\nSee [`<vaadin-text-field>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-text-field) for the styling documentation.\n\nIn addition to `<vaadin-text-field>` parts, the following parts are available for theming:\n\nPart name | Description\n----------------------|--------------------\n`toggle-button` | Toggle button\n\nIn addition to `<vaadin-text-field>` state attributes, the following state attributes are available for theming:\n\nAttribute | Description | Part name\n-----------|--------------------------------------------------|-----------\n`opened` | Set when the date selector overlay is opened | :host\n\n### Internal components\n\nIn addition to `<vaadin-date-picker>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-date-picker-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-overlay).\n- `<vaadin-date-picker-overlay-content>`\n- `<vaadin-date-picker-month-scroller>`\n- `<vaadin-date-picker-year-scroller>`\n- `<vaadin-date-picker-year>`\n- `<vaadin-month-calendar>`\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-input-container) - an internal element wrapping the input.\n\nIn order to style the overlay content, use `<vaadin-date-picker-overlay-content>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`overlay-header` | Fullscreen mode header\n`label` | Fullscreen mode value/label\n`clear-button` | Fullscreen mode clear button\n`toggle-button` | Fullscreen mode toggle button\n`years-toggle-button` | Fullscreen mode years scroller toggle\n`toolbar` | Footer bar with slotted buttons\n\nThe following state attributes are available on the `<vaadin-date-picker-overlay-content>` element:\n\nAttribute | Description\n----------------|-------------------------------------------------\n`desktop` | Set when the overlay content is in desktop mode\n`fullscreen` | Set when the overlay content is in fullscreen mode\n`years-visible` | Set when the year scroller is visible in fullscreen mode\n\nIn order to style the month calendar, use `<vaadin-month-calendar>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`month-header` | Month title\n`weekdays` | Weekday container\n`weekday` | Weekday element\n`week-numbers` | Week numbers container\n`week-number` | Week number element\n`date` | Date element\n`disabled` | Disabled date element\n`focused` | Focused date element\n`selected` | Selected date element\n`today` | Date element corresponding to the current day\n`past` | Date element corresponding to the date in the past\n`future` | Date element corresponding to the date in the future\n\nIn order to style year scroller elements, use `<vaadin-date-picker-year>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`year-number` | Year number\n`year-separator` | Year separator\n\nNote: the `theme` attribute value set on `<vaadin-date-picker>` is\npropagated to the internal components listed above.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\n### Change events\n\nDepending on the nature of the value change that the user attempts to commit e.g. by pressing Enter,\nthe component can fire either a `change` event or an `unparsable-change` event:\n\nValue change | Event\n:------------------------|:------------------\nempty => parsable | change\nempty => unparsable | unparsable-change\nparsable => empty | change\nparsable => parsable | change\nparsable => unparsable | change\nunparsable => empty | unparsable-change\nunparsable => parsable | change\nunparsable => unparsable | unparsable-change",
19
+ "description": "`<vaadin-date-picker>` is an input field that allows to enter a date by typing or by selecting from a calendar overlay.\n\n```html\n<vaadin-date-picker label=\"Birthday\"></vaadin-date-picker>\n```\n```js\ndatePicker.value = '2016-03-02';\n```\n\nWhen the selected `value` is changed, a `value-changed` event is triggered.\n\n### Styling\n\nThe following custom properties are available for styling:\n\nCustom property | Description | Default\n-------------------------------|----------------------------|---------\n`--vaadin-field-default-width` | Default width of the field | `12em`\n\n`<vaadin-date-picker>` provides the same set of shadow DOM parts and state attributes as `<vaadin-text-field>`.\nSee [`<vaadin-text-field>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha10/#/elements/vaadin-text-field) for the styling documentation.\n\nIn addition to `<vaadin-text-field>` parts, the following parts are available for theming:\n\nPart name | Description\n-----------------|--------------------\n`toggle-button` | Toggle button\n`backdrop` | Backdrop of the overlay\n`overlay` | The overlay container\n`content` | The overlay content\n\nIn addition to `<vaadin-text-field>` state attributes, the following state attributes are available for theming:\n\nAttribute | Description\n---------------|----------------------------------------------\n`opened` | Set when the date selector overlay is opened\n`week-numbers` | Set when week numbers are shown in the calendar\n\n### Internal components\n\nIn addition to `<vaadin-date-picker>` itself, the following internal\ncomponents are themable:\n\n- `<vaadin-date-picker-overlay>` - has the same API as [`<vaadin-overlay>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha10/#/elements/vaadin-overlay).\n- `<vaadin-date-picker-overlay-content>`\n- `<vaadin-date-picker-month-scroller>`\n- `<vaadin-date-picker-year-scroller>`\n- `<vaadin-date-picker-year>`\n- `<vaadin-month-calendar>`\n- [`<vaadin-input-container>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha10/#/elements/vaadin-input-container) - an internal element wrapping the input.\n\nIn order to style the overlay content, use `<vaadin-date-picker-overlay-content>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`years-toggle-button` | Fullscreen mode years scroller toggle\n`toolbar` | Toolbar with slotted buttons\n\nThe following state attributes are available on the `<vaadin-date-picker-overlay-content>` element:\n\nAttribute | Description\n----------------|-------------------------------------------------\n`desktop` | Set when the overlay content is in desktop mode\n`fullscreen` | Set when the overlay content is in fullscreen mode\n`years-visible` | Set when the year scroller is visible in fullscreen mode\n\nIn order to style the month calendar, use `<vaadin-month-calendar>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`month-header` | Month title\n`weekdays` | Weekday container\n`weekday` | Weekday element\n`week-numbers` | Week numbers container\n`week-number` | Week number element\n`date` | Date element\n`disabled` | Disabled date element\n`focused` | Focused date element\n`selected` | Selected date element\n`today` | Date element corresponding to the current day\n`past` | Date element corresponding to the date in the past\n`future` | Date element corresponding to the date in the future\n\nIn order to style year scroller elements, use `<vaadin-date-picker-year>` shadow DOM parts:\n\nPart name | Description\n----------------------|--------------------\n`year-number` | Year number\n`year-separator` | Year separator\n\nNote: the `theme` attribute value set on `<vaadin-date-picker>` is\npropagated to the internal components listed above.\n\nSee [Styling Components](https://vaadin.com/docs/latest/styling/styling-components) documentation.\n\n### Change events\n\nDepending on the nature of the value change that the user attempts to commit e.g. by pressing Enter,\nthe component can fire either a `change` event or an `unparsable-change` event:\n\nValue change | Event\n:------------------------|:------------------\nempty => parsable | change\nempty => unparsable | unparsable-change\nparsable => empty | change\nparsable => parsable | change\nparsable => unparsable | change\nunparsable => empty | unparsable-change\nunparsable => parsable | change\nunparsable => unparsable | unparsable-change",
20
20
  "extension": true,
21
21
  "attributes": [
22
22
  {
@@ -1,68 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
- * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
- */
6
- import { css } from 'lit';
7
-
8
- export const overlayContentStyles = css`
9
- :host {
10
- display: flex;
11
- flex-direction: column;
12
- height: 100%;
13
- width: 100%;
14
- outline: none;
15
- }
16
-
17
- [part='overlay-header'] {
18
- display: flex;
19
- flex-shrink: 0;
20
- flex-wrap: nowrap;
21
- align-items: center;
22
- }
23
-
24
- :host(:not([fullscreen])) [part='overlay-header'] {
25
- display: none;
26
- }
27
-
28
- [part='label'] {
29
- flex-grow: 1;
30
- }
31
-
32
- [hidden] {
33
- display: none !important;
34
- }
35
-
36
- [part='years-toggle-button'] {
37
- display: flex;
38
- }
39
-
40
- #scrollers {
41
- display: flex;
42
- height: 100%;
43
- width: 100%;
44
- position: relative;
45
- overflow: hidden;
46
- }
47
-
48
- :host([desktop]) ::slotted([slot='months']) {
49
- right: 50px;
50
- transform: none !important;
51
- }
52
-
53
- :host([desktop]) ::slotted([slot='years']) {
54
- transform: none !important;
55
- }
56
-
57
- :host(.animate) ::slotted([slot='months']),
58
- :host(.animate) ::slotted([slot='years']) {
59
- transition: all 200ms;
60
- }
61
-
62
- [part='toolbar'] {
63
- display: flex;
64
- justify-content: space-between;
65
- z-index: 2;
66
- flex-shrink: 0;
67
- }
68
- `;
@@ -1,35 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright (c) 2016 - 2025 Vaadin Ltd.
4
- * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
- */
6
-
7
- /**
8
- * @polymerMixin
9
- */
10
- export const DatePickerYearMixin = (superClass) =>
11
- class DatePickerYearMixin extends superClass {
12
- static get properties() {
13
- return {
14
- year: {
15
- type: String,
16
- sync: true,
17
- },
18
-
19
- selectedDate: {
20
- type: Object,
21
- sync: true,
22
- },
23
- };
24
- }
25
-
26
- static get observers() {
27
- return ['__updateSelected(year, selectedDate)'];
28
- }
29
-
30
- /** @private */
31
- __updateSelected(year, selectedDate) {
32
- this.toggleAttribute('selected', selectedDate && selectedDate.getFullYear() === year);
33
- this.toggleAttribute('current', year === new Date().getFullYear());
34
- }
35
- };