@vaadin/form-layout 25.0.0-alpha1 → 25.0.0-alpha11

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/form-layout",
3
- "version": "25.0.0-alpha1",
3
+ "version": "25.0.0-alpha11",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -21,7 +21,6 @@
21
21
  "type": "module",
22
22
  "files": [
23
23
  "src",
24
- "theme",
25
24
  "vaadin-*.d.ts",
26
25
  "vaadin-*.js",
27
26
  "web-types.json",
@@ -35,23 +34,23 @@
35
34
  ],
36
35
  "dependencies": {
37
36
  "@open-wc/dedupe-mixin": "^1.3.0",
38
- "@vaadin/a11y-base": "25.0.0-alpha1",
39
- "@vaadin/component-base": "25.0.0-alpha1",
40
- "@vaadin/vaadin-lumo-styles": "25.0.0-alpha1",
41
- "@vaadin/vaadin-themable-mixin": "25.0.0-alpha1",
37
+ "@vaadin/a11y-base": "25.0.0-alpha11",
38
+ "@vaadin/component-base": "25.0.0-alpha11",
39
+ "@vaadin/vaadin-themable-mixin": "25.0.0-alpha11",
42
40
  "lit": "^3.0.0"
43
41
  },
44
42
  "devDependencies": {
45
- "@vaadin/chai-plugins": "25.0.0-alpha1",
46
- "@vaadin/custom-field": "25.0.0-alpha1",
47
- "@vaadin/test-runner-commands": "25.0.0-alpha1",
48
- "@vaadin/testing-helpers": "^1.1.0",
49
- "@vaadin/text-field": "25.0.0-alpha1",
43
+ "@vaadin/chai-plugins": "25.0.0-alpha11",
44
+ "@vaadin/custom-field": "25.0.0-alpha11",
45
+ "@vaadin/test-runner-commands": "25.0.0-alpha11",
46
+ "@vaadin/testing-helpers": "^2.0.0",
47
+ "@vaadin/text-field": "25.0.0-alpha11",
48
+ "@vaadin/vaadin-lumo-styles": "25.0.0-alpha11",
50
49
  "sinon": "^18.0.0"
51
50
  },
52
51
  "web-types": [
53
52
  "web-types.json",
54
53
  "web-types.lit.json"
55
54
  ],
56
- "gitHead": "b8c22a4a0c64156210d0daac96b43ae4e5526d49"
55
+ "gitHead": "abfd315ba5a7484a613e0768635a4e8fe945a44b"
57
56
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2018 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import type { CSSResult } from 'lit';
7
+
8
+ export const formItemStyles: CSSResult;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2018 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import '@vaadin/component-base/src/styles/style-props.js';
7
+ import { css } from 'lit';
8
+
9
+ export const formItemStyles = css`
10
+ :host {
11
+ /* By default, when auto-responsive mode is disabled, labels should be displayed beside the fields. */
12
+ --_form-item-labels-above: ' '; /* false */
13
+ --_form-item-labels-aside: initial; /* true */
14
+
15
+ align-items: var(--_form-item-labels-aside, baseline);
16
+ display: inline-flex;
17
+ flex-flow: var(--_form-item-labels-above, column) nowrap;
18
+ justify-self: stretch;
19
+ margin: calc(0.5 * var(--vaadin-form-item-row-spacing, var(--vaadin-form-layout-row-spacing, 1em))) 0;
20
+ }
21
+
22
+ :host([label-position='top']) {
23
+ --_form-item-labels-above: initial; /* true */
24
+ --_form-item-labels-aside: ' '; /* false */
25
+ }
26
+
27
+ :host([hidden]) {
28
+ display: none !important;
29
+ }
30
+
31
+ [part='label'] {
32
+ color: var(--vaadin-form-item-label-color, var(--vaadin-color));
33
+ flex: 0 0 auto;
34
+ font-size: var(--vaadin-form-item-label-font-size, inherit);
35
+ font-weight: var(--vaadin-form-item-label-font-weight, 500);
36
+ line-height: var(--vaadin-form-item-label-line-height, inherit);
37
+ width: var(
38
+ --_form-item-labels-aside,
39
+ var(--vaadin-form-item-label-width, var(--vaadin-form-layout-label-width, 8em))
40
+ );
41
+ word-break: break-word;
42
+ }
43
+
44
+ #spacing {
45
+ flex: 0 0 auto;
46
+ width: var(--vaadin-form-item-label-spacing, var(--vaadin-form-layout-label-spacing, 1em));
47
+ }
48
+
49
+ #content {
50
+ flex: 1 1 auto;
51
+ min-width: 0;
52
+ }
53
+
54
+ #content ::slotted(.full-width) {
55
+ box-sizing: border-box;
56
+ min-width: 0;
57
+ width: 100%;
58
+ }
59
+ `;
@@ -6,5 +6,3 @@
6
6
  import type { CSSResult } from 'lit';
7
7
 
8
8
  export const formLayoutStyles: CSSResult;
9
-
10
- export const formItemStyles: CSSResult;
@@ -3,19 +3,20 @@
3
3
  * Copyright (c) 2018 - 2025 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { css } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
6
+ import '@vaadin/component-base/src/styles/style-props.js';
7
+ import { css } from 'lit';
7
8
 
8
9
  export const formLayoutStyles = css`
9
10
  :host {
10
11
  /* Default values */
11
- --vaadin-form-layout-row-spacing: 1em;
12
- --vaadin-form-layout-column-spacing: 2em;
12
+ --vaadin-form-layout-label-spacing: var(--vaadin-gap-container-inline);
13
13
  --vaadin-form-layout-label-width: 8em;
14
- --vaadin-form-layout-label-spacing: 1em;
14
+ --vaadin-form-layout-column-spacing: calc(var(--vaadin-gap-container-inline) * 2);
15
+ --vaadin-form-layout-row-spacing: calc(var(--vaadin-gap-container-block) * 2);
15
16
 
17
+ align-self: stretch;
16
18
  display: block;
17
19
  max-width: 100%;
18
- align-self: stretch;
19
20
  }
20
21
 
21
22
  :host([hidden]) {
@@ -23,10 +24,8 @@ export const formLayoutStyles = css`
23
24
  }
24
25
 
25
26
  :host(:not([auto-responsive])) #layout {
26
- display: flex;
27
-
28
27
  align-items: baseline; /* default \`stretch\` is not appropriate */
29
-
28
+ display: flex;
30
29
  flex-wrap: wrap; /* the items should wrap */
31
30
  }
32
31
 
@@ -36,8 +35,7 @@ export const formLayoutStyles = css`
36
35
  flex-shrink: 0;
37
36
 
38
37
  /* Margins make spacing between the columns */
39
- margin-left: calc(0.5 * var(--vaadin-form-layout-column-spacing));
40
- margin-right: calc(0.5 * var(--vaadin-form-layout-column-spacing));
38
+ margin-inline: calc(0.5 * var(--vaadin-form-layout-column-spacing));
41
39
  }
42
40
 
43
41
  #layout ::slotted(br) {
@@ -80,7 +78,7 @@ export const formLayoutStyles = css`
80
78
  --_grid-repeat: var(--_grid-column-width);
81
79
 
82
80
  display: grid;
83
- grid-template-columns: repeat(auto-fill, var(--_grid-repeat));
81
+ gap: var(--vaadin-form-layout-row-spacing) var(--vaadin-form-layout-column-spacing);
84
82
 
85
83
  /*
86
84
  Auto-columns can be created when an item's colspan exceeds the rendered column count.
@@ -89,8 +87,14 @@ export const formLayoutStyles = css`
89
87
  */
90
88
  grid-auto-columns: 0;
91
89
 
92
- justify-items: start;
93
- gap: var(--vaadin-form-layout-row-spacing) var(--vaadin-form-layout-column-spacing);
90
+ grid-template-columns: repeat(auto-fill, var(--_grid-repeat));
91
+ place-items: baseline start;
92
+
93
+ /*
94
+ Firefox requires min-width on both :host and #layout to allow the layout
95
+ to shrink below the value specified in the CSS width property above.
96
+ */
97
+ min-width: var(--_min-width);
94
98
 
95
99
  /*
96
100
  To prevent the layout from exceeding the column limit defined by --_max-columns,
@@ -105,12 +109,6 @@ export const formLayoutStyles = css`
105
109
  without a predefined width.
106
110
  */
107
111
  width: var(--_max-width);
108
-
109
- /*
110
- Firefox requires min-width on both :host and #layout to allow the layout
111
- to shrink below the value specified in the CSS width property above.
112
- */
113
- min-width: var(--_min-width);
114
112
  }
115
113
 
116
114
  :host([auto-responsive]) #layout::before {
@@ -124,6 +122,9 @@ export const formLayoutStyles = css`
124
122
 
125
123
  /* By default, place each child on a new row */
126
124
  grid-column: 1 / span min(var(--_grid-colspan, 1), var(--_grid-rendered-column-count));
125
+
126
+ /* Form items do not need margins in auto-responsive mode */
127
+ margin: 0;
127
128
  }
128
129
 
129
130
  :host([auto-responsive][auto-rows]) #layout ::slotted(*) {
@@ -162,87 +163,19 @@ export const formLayoutStyles = css`
162
163
  export const formLayoutSlotStyles = css`
163
164
  /* Using :where to ensure user styles always take precedence */
164
165
  :where(
165
- vaadin-form-layout[auto-responsive] > *,
166
- vaadin-form-layout[auto-responsive] vaadin-form-row > *,
167
- vaadin-form-layout[auto-responsive] vaadin-form-item > *
168
- ) {
166
+ vaadin-form-layout[auto-responsive] > *,
167
+ vaadin-form-layout[auto-responsive] vaadin-form-row > *,
168
+ vaadin-form-layout[auto-responsive] vaadin-form-item > *
169
+ ) {
169
170
  box-sizing: border-box;
170
171
  max-width: 100%;
171
172
  }
172
173
 
173
174
  :where(
174
- vaadin-form-layout[auto-responsive][expand-fields] > *,
175
- vaadin-form-layout[auto-responsive][expand-fields] vaadin-form-row > *,
176
- vaadin-form-layout[auto-responsive][expand-fields] vaadin-form-item > *
177
- ) {
175
+ vaadin-form-layout[auto-responsive][expand-fields] > *,
176
+ vaadin-form-layout[auto-responsive][expand-fields] vaadin-form-row > *,
177
+ vaadin-form-layout[auto-responsive][expand-fields] vaadin-form-item > *
178
+ ) {
178
179
  min-width: 100%;
179
180
  }
180
181
  `;
181
-
182
- export const formRowStyles = css`
183
- :host {
184
- display: contents;
185
- }
186
-
187
- :host([hidden]) {
188
- display: none !important;
189
- }
190
-
191
- ::slotted(*) {
192
- /* Make form items inherit label position from the layout */
193
- --_form-item-labels-above: inherit;
194
- --_form-item-labels-aside: inherit;
195
-
196
- grid-column: auto / span min(var(--_grid-colspan, 1), var(--_grid-rendered-column-count));
197
- }
198
-
199
- ::slotted(:first-child) {
200
- grid-column-start: 1;
201
- }
202
- `;
203
-
204
- export const formItemStyles = css`
205
- :host {
206
- /* By default, when auto-responsive mode is disabled, labels should be displayed beside the fields. */
207
- --_form-item-labels-above: ' '; /* false */
208
- --_form-item-labels-aside: initial; /* true */
209
-
210
- display: inline-flex;
211
- align-items: var(--_form-item-labels-aside, baseline);
212
- flex-flow: var(--_form-item-labels-above, column) nowrap;
213
- justify-self: stretch;
214
- margin: calc(0.5 * var(--vaadin-form-item-row-spacing, var(--vaadin-form-layout-row-spacing, 1em))) 0;
215
- }
216
-
217
- :host([label-position='top']) {
218
- --_form-item-labels-above: initial; /* true */
219
- --_form-item-labels-aside: ' '; /* false */
220
- }
221
-
222
- :host([hidden]) {
223
- display: none !important;
224
- }
225
-
226
- #label {
227
- width: var(
228
- --_form-item-labels-aside,
229
- var(--vaadin-form-item-label-width, var(--vaadin-form-layout-label-width, 8em))
230
- );
231
- flex: 0 0 auto;
232
- }
233
-
234
- #spacing {
235
- width: var(--vaadin-form-item-label-spacing, var(--vaadin-form-layout-label-spacing, 1em));
236
- flex: 0 0 auto;
237
- }
238
-
239
- #content {
240
- flex: 1 1 auto;
241
- }
242
-
243
- #content ::slotted(.full-width) {
244
- box-sizing: border-box;
245
- width: 100%;
246
- min-width: 0;
247
- }
248
- `;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2018 - 2025 Vaadin Ltd.
4
+ * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
+ */
6
+ import type { CSSResult } from 'lit';
7
+
8
+ export const formRowStyles: CSSResult;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) 2018 - 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 formRowStyles = css`
9
+ :host {
10
+ display: contents;
11
+ }
12
+
13
+ :host([hidden]) {
14
+ display: none !important;
15
+ }
16
+
17
+ ::slotted(*) {
18
+ /* Make form items inherit label position from the layout */
19
+ --_form-item-labels-above: inherit;
20
+ --_form-item-labels-aside: inherit;
21
+
22
+ grid-column: auto / span min(var(--_grid-colspan, 1), var(--_grid-rendered-column-count));
23
+ }
24
+
25
+ ::slotted(:first-child) {
26
+ grid-column-start: 1;
27
+ }
28
+ `;
@@ -6,9 +6,10 @@
6
6
  import { html, LitElement } from 'lit';
7
7
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
8
8
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
9
+ import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
9
10
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
11
+ import { formItemStyles } from './styles/vaadin-form-item-base-styles.js';
10
12
  import { FormItemMixin } from './vaadin-form-item-mixin.js';
11
- import { formItemStyles } from './vaadin-form-layout-styles.js';
12
13
 
13
14
  /**
14
15
  * `<vaadin-form-item>` is a Web Component providing labelled form item wrapper
@@ -102,7 +103,7 @@ import { formItemStyles } from './vaadin-form-layout-styles.js';
102
103
  * @mixes FormItemMixin
103
104
  * @mixes ThemableMixin
104
105
  */
105
- class FormItem extends FormItemMixin(ThemableMixin(PolylitMixin(LitElement))) {
106
+ class FormItem extends FormItemMixin(ThemableMixin(PolylitMixin(LumoInjectionMixin(LitElement)))) {
106
107
  static get is() {
107
108
  return 'vaadin-form-item';
108
109
  }
@@ -111,6 +112,12 @@ class FormItem extends FormItemMixin(ThemableMixin(PolylitMixin(LitElement))) {
111
112
  return formItemStyles;
112
113
  }
113
114
 
115
+ static get lumoInjector() {
116
+ return {
117
+ includeBaseStyles: true,
118
+ };
119
+ }
120
+
114
121
  /** @protected */
115
122
  render() {
116
123
  return html`
@@ -6,7 +6,7 @@
6
6
  import { SlotStylesMixin } from '@vaadin/component-base/src/slot-styles-mixin.js';
7
7
  import { AutoResponsiveLayout } from './layouts/auto-responsive-layout.js';
8
8
  import { ResponsiveStepsLayout } from './layouts/responsive-steps-layout.js';
9
- import { formLayoutSlotStyles } from './vaadin-form-layout-styles.js';
9
+ import { formLayoutSlotStyles } from './styles/vaadin-form-layout-base-styles.js';
10
10
 
11
11
  /**
12
12
  * @polymerMixin
@@ -7,9 +7,10 @@ import { html, LitElement } from 'lit';
7
7
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
8
8
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
9
9
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
10
+ import { LumoInjectionMixin } from '@vaadin/vaadin-themable-mixin/lumo-injection-mixin.js';
10
11
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
12
+ import { formLayoutStyles } from './styles/vaadin-form-layout-base-styles.js';
11
13
  import { FormLayoutMixin } from './vaadin-form-layout-mixin.js';
12
- import { formLayoutStyles } from './vaadin-form-layout-styles.js';
13
14
 
14
15
  /**
15
16
  * `<vaadin-form-layout>` is a Web Component providing configurable responsive
@@ -205,7 +206,7 @@ import { formLayoutStyles } from './vaadin-form-layout-styles.js';
205
206
  * @mixes ElementMixin
206
207
  * @mixes ThemableMixin
207
208
  */
208
- class FormLayout extends FormLayoutMixin(ThemableMixin(ElementMixin(PolylitMixin(LitElement)))) {
209
+ class FormLayout extends FormLayoutMixin(ThemableMixin(ElementMixin(PolylitMixin(LumoInjectionMixin(LitElement))))) {
209
210
  static get is() {
210
211
  return 'vaadin-form-layout';
211
212
  }
@@ -214,6 +215,12 @@ class FormLayout extends FormLayoutMixin(ThemableMixin(ElementMixin(PolylitMixin
214
215
  return formLayoutStyles;
215
216
  }
216
217
 
218
+ static get lumoInjector() {
219
+ return {
220
+ includeBaseStyles: true,
221
+ };
222
+ }
223
+
217
224
  /** @protected */
218
225
  render() {
219
226
  return html`
@@ -7,7 +7,7 @@ import { html, LitElement } from 'lit';
7
7
  import { defineCustomElement } from '@vaadin/component-base/src/define.js';
8
8
  import { PolylitMixin } from '@vaadin/component-base/src/polylit-mixin.js';
9
9
  import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
10
- import { formRowStyles } from './vaadin-form-layout-styles.js';
10
+ import { formRowStyles } from './styles/vaadin-form-row-base-styles.js';
11
11
 
12
12
  /**
13
13
  * `<vaadin-form-row>` is a web component for arranging fields into rows
@@ -30,6 +30,12 @@ class FormRow extends ThemableMixin(PolylitMixin(LitElement)) {
30
30
  return formRowStyles;
31
31
  }
32
32
 
33
+ static get lumoInjector() {
34
+ return {
35
+ includeBaseStyles: true,
36
+ };
37
+ }
38
+
33
39
  /** @protected */
34
40
  render() {
35
41
  return html`<slot></slot>`;
@@ -1,2 +1,2 @@
1
- import './theme/lumo/vaadin-form-item.js';
1
+ import './src/vaadin-form-item.js';
2
2
  export * from './src/vaadin-form-item.js';
@@ -1,2 +1,2 @@
1
- import './theme/lumo/vaadin-form-layout.js';
1
+ import './src/vaadin-form-layout.js';
2
2
  export * from './src/vaadin-form-layout.js';
@@ -1,2 +1,2 @@
1
- import './theme/lumo/vaadin-form-row.js';
1
+ import './src/vaadin-form-row.js';
2
2
  export * from './src/vaadin-form-row.js';
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/form-layout",
4
- "version": "25.0.0-alpha1",
4
+ "version": "25.0.0-alpha11",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -29,7 +29,7 @@
29
29
  },
30
30
  {
31
31
  "name": "vaadin-form-layout",
32
- "description": "`<vaadin-form-layout>` is a Web Component providing configurable responsive\nlayout for form elements.\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <input class=\"full-width\" value=\"Jane\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <input class=\"full-width\" value=\"Doe\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Email</label>\n <input class=\"full-width\" value=\"jane.doe@example.com\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\nIt supports any child elements as layout items.\n\nBy default, it makes a layout of two columns if the element width is equal or\nwider than 40em, and a single column layout otherwise.\n\nThe number of columns and the responsive behavior are customizable with\nthe `responsiveSteps` property.\n\n### Spanning Items on Multiple Columns\n\nYou can use `colspan` or `data-colspan` attribute on the items.\nIn the example below, the first text field spans on two columns:\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item colspan=\"2\">\n <label slot=\"label\">Address</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <input class=\"full-width\" value=\"Jane\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <input class=\"full-width\" value=\"Doe\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\n### Explicit New Row\n\nUse the `<br>` line break element to wrap the items on a new row:\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item>\n <label slot=\"label\">Email</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n <br>\n\n <vaadin-form-item>\n <label slot=\"label\">Confirm Email</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\n### Auto Responsive Mode\n\nTo avoid manually dealing with responsive breakpoints, Form Layout provides an auto-responsive mode\nthat automatically creates and adjusts fixed-width columns based on the container's available space.\n\nThe [`columnWidth`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-columnWidth) and\n[`maxColumns`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-maxColumns) properties define the width of\neach column and the maximum number of columns that the component can create. By default, the component\ncreates up to 10 columns, each with a width of `12em` or the value of the `--vaadin-field-default-width`\nCSS custom property, if defined.\n\nThe auto-responsive mode is disabled by default. To enable it for an individual instance, set the\n`auto-responsive` attribute:\n\n```html\n<vaadin-form-layout auto-responsive>\n <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n <vaadin-text-field label=\"Last Name\"></vaadin-text-field>\n <vaadin-text-area label=\"Address\" colspan=\"2\"></vaadin-text-area>\n</vaadin-form-layout>\n```\n\nYou can also enable it for all instances by enabling the following feature flag\nbefore `<vaadin-form-layout>` elements are added to the DOM:\n\n```js\nwindow.Vaadin.featureFlags.defaultAutoResponsiveFormLayout = true;\n```\n\n#### Organizing Fields into Rows\n\nBy default, each field is placed on a new row. To organize fields into rows, you can either:\n\n1. Manually wrap fields into [`<vaadin-form-row>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-row) elements.\n\n2. Enable the [`autoRows`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-autoRows) property to\n let Form Layout automatically arrange fields in available columns, wrapping to a new\n row when necessary. `<br>` elements can be used to force a new row.\n\nHere is an example of using `<vaadin-form-row>`:\n\n```html\n<vaadin-form-layout auto-responsive>\n <vaadin-form-row>\n <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n <vaadin-text-field label=\"Last Name\"></vaadin-text-field>\n </vaadin-form-row>\n <vaadin-form-row>\n <vaadin-text-area label=\"Address\" colspan=\"2\"></vaadin-text-area>\n </vaadin-form-row>\n</vaadin-form-layout>\n```\n\n#### Expanding Columns and Fields\n\nYou can configure Form Layout to expand columns to evenly fill any remaining space after\nall fixed-width columns have been created.\nTo enable this, set the [`expandColumns`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-expandColumns)\nproperty to `true`.\n\nAlso, Form Layout can stretch fields to make them take up all available space within columns.\nTo enable this, set the [`expandFields`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-expandFields)\nproperty to `true`.\n\n#### Customizing Label Position\n\nBy default, Form Layout displays labels above the fields. To position labels beside fields, you\nneed to wrap each field in a `<vaadin-form-item>` element and define its labels on the wrapper.\nThen, you can enable the [`labelsAside`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-labelsAside)\nproperty:\n\n```html\n<vaadin-form-layout auto-responsive labels-aside>\n <vaadin-form-row>\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <vaadin-text-field></vaadin-text-field>\n </vaadin-form-item>\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <vaadin-text-field></vaadin-text-field>\n </vaadin-form-item>\n </vaadin-form-row>\n <vaadin-form-row>\n <vaadin-form-item colspan=\"2\">\n <label slot=\"label\">Address</label>\n <vaadin-text-area></vaadin-text-area>\n </vaadin-form-item>\n </vaadin-form-row>\n</vaadin-form-layout>\n```\n\nWith this, FormLayout will display labels beside fields, falling back to\nthe default position above the fields only when there isn't enough space.\n\n### CSS Properties Reference\n\nThe following custom CSS properties are available on the `<vaadin-form-layout>`\nelement:\n\nCustom CSS property | Description | Default\n---|---|---\n`--vaadin-form-layout-column-spacing` | Length of the spacing between columns | `2em`\n`--vaadin-form-layout-row-spacing` | Length of the spacing between rows | `1em`\n`--vaadin-form-layout-label-width` | Width of the label when labels are displayed aside | `8em`\n`--vaadin-form-layout-label-spacing` | Length of the spacing between the label and the input when labels are displayed aside | `1em`",
32
+ "description": "`<vaadin-form-layout>` is a Web Component providing configurable responsive\nlayout for form elements.\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <input class=\"full-width\" value=\"Jane\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <input class=\"full-width\" value=\"Doe\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Email</label>\n <input class=\"full-width\" value=\"jane.doe@example.com\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\nIt supports any child elements as layout items.\n\nBy default, it makes a layout of two columns if the element width is equal or\nwider than 40em, and a single column layout otherwise.\n\nThe number of columns and the responsive behavior are customizable with\nthe `responsiveSteps` property.\n\n### Spanning Items on Multiple Columns\n\nYou can use `colspan` or `data-colspan` attribute on the items.\nIn the example below, the first text field spans on two columns:\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item colspan=\"2\">\n <label slot=\"label\">Address</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <input class=\"full-width\" value=\"Jane\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <input class=\"full-width\" value=\"Doe\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\n### Explicit New Row\n\nUse the `<br>` line break element to wrap the items on a new row:\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item>\n <label slot=\"label\">Email</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n <br>\n\n <vaadin-form-item>\n <label slot=\"label\">Confirm Email</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\n### Auto Responsive Mode\n\nTo avoid manually dealing with responsive breakpoints, Form Layout provides an auto-responsive mode\nthat automatically creates and adjusts fixed-width columns based on the container's available space.\n\nThe [`columnWidth`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-columnWidth) and\n[`maxColumns`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-maxColumns) properties define the width of\neach column and the maximum number of columns that the component can create. By default, the component\ncreates up to 10 columns, each with a width of `12em` or the value of the `--vaadin-field-default-width`\nCSS custom property, if defined.\n\nThe auto-responsive mode is disabled by default. To enable it for an individual instance, set the\n`auto-responsive` attribute:\n\n```html\n<vaadin-form-layout auto-responsive>\n <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n <vaadin-text-field label=\"Last Name\"></vaadin-text-field>\n <vaadin-text-area label=\"Address\" colspan=\"2\"></vaadin-text-area>\n</vaadin-form-layout>\n```\n\nYou can also enable it for all instances by enabling the following feature flag\nbefore `<vaadin-form-layout>` elements are added to the DOM:\n\n```js\nwindow.Vaadin.featureFlags.defaultAutoResponsiveFormLayout = true;\n```\n\n#### Organizing Fields into Rows\n\nBy default, each field is placed on a new row. To organize fields into rows, you can either:\n\n1. Manually wrap fields into [`<vaadin-form-row>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-row) elements.\n\n2. Enable the [`autoRows`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-autoRows) property to\n let Form Layout automatically arrange fields in available columns, wrapping to a new\n row when necessary. `<br>` elements can be used to force a new row.\n\nHere is an example of using `<vaadin-form-row>`:\n\n```html\n<vaadin-form-layout auto-responsive>\n <vaadin-form-row>\n <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n <vaadin-text-field label=\"Last Name\"></vaadin-text-field>\n </vaadin-form-row>\n <vaadin-form-row>\n <vaadin-text-area label=\"Address\" colspan=\"2\"></vaadin-text-area>\n </vaadin-form-row>\n</vaadin-form-layout>\n```\n\n#### Expanding Columns and Fields\n\nYou can configure Form Layout to expand columns to evenly fill any remaining space after\nall fixed-width columns have been created.\nTo enable this, set the [`expandColumns`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-expandColumns)\nproperty to `true`.\n\nAlso, Form Layout can stretch fields to make them take up all available space within columns.\nTo enable this, set the [`expandFields`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-expandFields)\nproperty to `true`.\n\n#### Customizing Label Position\n\nBy default, Form Layout displays labels above the fields. To position labels beside fields, you\nneed to wrap each field in a `<vaadin-form-item>` element and define its labels on the wrapper.\nThen, you can enable the [`labelsAside`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-labelsAside)\nproperty:\n\n```html\n<vaadin-form-layout auto-responsive labels-aside>\n <vaadin-form-row>\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <vaadin-text-field></vaadin-text-field>\n </vaadin-form-item>\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <vaadin-text-field></vaadin-text-field>\n </vaadin-form-item>\n </vaadin-form-row>\n <vaadin-form-row>\n <vaadin-form-item colspan=\"2\">\n <label slot=\"label\">Address</label>\n <vaadin-text-area></vaadin-text-area>\n </vaadin-form-item>\n </vaadin-form-row>\n</vaadin-form-layout>\n```\n\nWith this, FormLayout will display labels beside fields, falling back to\nthe default position above the fields only when there isn't enough space.\n\n### CSS Properties Reference\n\nThe following custom CSS properties are available on the `<vaadin-form-layout>`\nelement:\n\nCustom CSS property | Description | Default\n---|---|---\n`--vaadin-form-layout-column-spacing` | Length of the spacing between columns | `2em`\n`--vaadin-form-layout-row-spacing` | Length of the spacing between rows | `1em`\n`--vaadin-form-layout-label-width` | Width of the label when labels are displayed aside | `8em`\n`--vaadin-form-layout-label-spacing` | Length of the spacing between the label and the input when labels are displayed aside | `1em`",
33
33
  "attributes": [
34
34
  {
35
35
  "name": "auto-responsive",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/web-types",
3
3
  "name": "@vaadin/form-layout",
4
- "version": "25.0.0-alpha1",
4
+ "version": "25.0.0-alpha11",
5
5
  "description-markup": "markdown",
6
6
  "framework": "lit",
7
7
  "framework-config": {
@@ -22,7 +22,7 @@
22
22
  },
23
23
  {
24
24
  "name": "vaadin-form-layout",
25
- "description": "`<vaadin-form-layout>` is a Web Component providing configurable responsive\nlayout for form elements.\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <input class=\"full-width\" value=\"Jane\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <input class=\"full-width\" value=\"Doe\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Email</label>\n <input class=\"full-width\" value=\"jane.doe@example.com\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\nIt supports any child elements as layout items.\n\nBy default, it makes a layout of two columns if the element width is equal or\nwider than 40em, and a single column layout otherwise.\n\nThe number of columns and the responsive behavior are customizable with\nthe `responsiveSteps` property.\n\n### Spanning Items on Multiple Columns\n\nYou can use `colspan` or `data-colspan` attribute on the items.\nIn the example below, the first text field spans on two columns:\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item colspan=\"2\">\n <label slot=\"label\">Address</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <input class=\"full-width\" value=\"Jane\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <input class=\"full-width\" value=\"Doe\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\n### Explicit New Row\n\nUse the `<br>` line break element to wrap the items on a new row:\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item>\n <label slot=\"label\">Email</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n <br>\n\n <vaadin-form-item>\n <label slot=\"label\">Confirm Email</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\n### Auto Responsive Mode\n\nTo avoid manually dealing with responsive breakpoints, Form Layout provides an auto-responsive mode\nthat automatically creates and adjusts fixed-width columns based on the container's available space.\n\nThe [`columnWidth`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-columnWidth) and\n[`maxColumns`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-maxColumns) properties define the width of\neach column and the maximum number of columns that the component can create. By default, the component\ncreates up to 10 columns, each with a width of `12em` or the value of the `--vaadin-field-default-width`\nCSS custom property, if defined.\n\nThe auto-responsive mode is disabled by default. To enable it for an individual instance, set the\n`auto-responsive` attribute:\n\n```html\n<vaadin-form-layout auto-responsive>\n <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n <vaadin-text-field label=\"Last Name\"></vaadin-text-field>\n <vaadin-text-area label=\"Address\" colspan=\"2\"></vaadin-text-area>\n</vaadin-form-layout>\n```\n\nYou can also enable it for all instances by enabling the following feature flag\nbefore `<vaadin-form-layout>` elements are added to the DOM:\n\n```js\nwindow.Vaadin.featureFlags.defaultAutoResponsiveFormLayout = true;\n```\n\n#### Organizing Fields into Rows\n\nBy default, each field is placed on a new row. To organize fields into rows, you can either:\n\n1. Manually wrap fields into [`<vaadin-form-row>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-row) elements.\n\n2. Enable the [`autoRows`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-autoRows) property to\n let Form Layout automatically arrange fields in available columns, wrapping to a new\n row when necessary. `<br>` elements can be used to force a new row.\n\nHere is an example of using `<vaadin-form-row>`:\n\n```html\n<vaadin-form-layout auto-responsive>\n <vaadin-form-row>\n <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n <vaadin-text-field label=\"Last Name\"></vaadin-text-field>\n </vaadin-form-row>\n <vaadin-form-row>\n <vaadin-text-area label=\"Address\" colspan=\"2\"></vaadin-text-area>\n </vaadin-form-row>\n</vaadin-form-layout>\n```\n\n#### Expanding Columns and Fields\n\nYou can configure Form Layout to expand columns to evenly fill any remaining space after\nall fixed-width columns have been created.\nTo enable this, set the [`expandColumns`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-expandColumns)\nproperty to `true`.\n\nAlso, Form Layout can stretch fields to make them take up all available space within columns.\nTo enable this, set the [`expandFields`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-expandFields)\nproperty to `true`.\n\n#### Customizing Label Position\n\nBy default, Form Layout displays labels above the fields. To position labels beside fields, you\nneed to wrap each field in a `<vaadin-form-item>` element and define its labels on the wrapper.\nThen, you can enable the [`labelsAside`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha1/#/elements/vaadin-form-layout#property-labelsAside)\nproperty:\n\n```html\n<vaadin-form-layout auto-responsive labels-aside>\n <vaadin-form-row>\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <vaadin-text-field></vaadin-text-field>\n </vaadin-form-item>\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <vaadin-text-field></vaadin-text-field>\n </vaadin-form-item>\n </vaadin-form-row>\n <vaadin-form-row>\n <vaadin-form-item colspan=\"2\">\n <label slot=\"label\">Address</label>\n <vaadin-text-area></vaadin-text-area>\n </vaadin-form-item>\n </vaadin-form-row>\n</vaadin-form-layout>\n```\n\nWith this, FormLayout will display labels beside fields, falling back to\nthe default position above the fields only when there isn't enough space.\n\n### CSS Properties Reference\n\nThe following custom CSS properties are available on the `<vaadin-form-layout>`\nelement:\n\nCustom CSS property | Description | Default\n---|---|---\n`--vaadin-form-layout-column-spacing` | Length of the spacing between columns | `2em`\n`--vaadin-form-layout-row-spacing` | Length of the spacing between rows | `1em`\n`--vaadin-form-layout-label-width` | Width of the label when labels are displayed aside | `8em`\n`--vaadin-form-layout-label-spacing` | Length of the spacing between the label and the input when labels are displayed aside | `1em`",
25
+ "description": "`<vaadin-form-layout>` is a Web Component providing configurable responsive\nlayout for form elements.\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <input class=\"full-width\" value=\"Jane\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <input class=\"full-width\" value=\"Doe\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Email</label>\n <input class=\"full-width\" value=\"jane.doe@example.com\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\nIt supports any child elements as layout items.\n\nBy default, it makes a layout of two columns if the element width is equal or\nwider than 40em, and a single column layout otherwise.\n\nThe number of columns and the responsive behavior are customizable with\nthe `responsiveSteps` property.\n\n### Spanning Items on Multiple Columns\n\nYou can use `colspan` or `data-colspan` attribute on the items.\nIn the example below, the first text field spans on two columns:\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item colspan=\"2\">\n <label slot=\"label\">Address</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <input class=\"full-width\" value=\"Jane\">\n </vaadin-form-item>\n\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <input class=\"full-width\" value=\"Doe\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\n### Explicit New Row\n\nUse the `<br>` line break element to wrap the items on a new row:\n\n```html\n<vaadin-form-layout>\n\n <vaadin-form-item>\n <label slot=\"label\">Email</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n <br>\n\n <vaadin-form-item>\n <label slot=\"label\">Confirm Email</label>\n <input class=\"full-width\">\n </vaadin-form-item>\n\n</vaadin-form-layout>\n```\n\n### Auto Responsive Mode\n\nTo avoid manually dealing with responsive breakpoints, Form Layout provides an auto-responsive mode\nthat automatically creates and adjusts fixed-width columns based on the container's available space.\n\nThe [`columnWidth`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-columnWidth) and\n[`maxColumns`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-maxColumns) properties define the width of\neach column and the maximum number of columns that the component can create. By default, the component\ncreates up to 10 columns, each with a width of `12em` or the value of the `--vaadin-field-default-width`\nCSS custom property, if defined.\n\nThe auto-responsive mode is disabled by default. To enable it for an individual instance, set the\n`auto-responsive` attribute:\n\n```html\n<vaadin-form-layout auto-responsive>\n <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n <vaadin-text-field label=\"Last Name\"></vaadin-text-field>\n <vaadin-text-area label=\"Address\" colspan=\"2\"></vaadin-text-area>\n</vaadin-form-layout>\n```\n\nYou can also enable it for all instances by enabling the following feature flag\nbefore `<vaadin-form-layout>` elements are added to the DOM:\n\n```js\nwindow.Vaadin.featureFlags.defaultAutoResponsiveFormLayout = true;\n```\n\n#### Organizing Fields into Rows\n\nBy default, each field is placed on a new row. To organize fields into rows, you can either:\n\n1. Manually wrap fields into [`<vaadin-form-row>`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-row) elements.\n\n2. Enable the [`autoRows`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-autoRows) property to\n let Form Layout automatically arrange fields in available columns, wrapping to a new\n row when necessary. `<br>` elements can be used to force a new row.\n\nHere is an example of using `<vaadin-form-row>`:\n\n```html\n<vaadin-form-layout auto-responsive>\n <vaadin-form-row>\n <vaadin-text-field label=\"First Name\"></vaadin-text-field>\n <vaadin-text-field label=\"Last Name\"></vaadin-text-field>\n </vaadin-form-row>\n <vaadin-form-row>\n <vaadin-text-area label=\"Address\" colspan=\"2\"></vaadin-text-area>\n </vaadin-form-row>\n</vaadin-form-layout>\n```\n\n#### Expanding Columns and Fields\n\nYou can configure Form Layout to expand columns to evenly fill any remaining space after\nall fixed-width columns have been created.\nTo enable this, set the [`expandColumns`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-expandColumns)\nproperty to `true`.\n\nAlso, Form Layout can stretch fields to make them take up all available space within columns.\nTo enable this, set the [`expandFields`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-expandFields)\nproperty to `true`.\n\n#### Customizing Label Position\n\nBy default, Form Layout displays labels above the fields. To position labels beside fields, you\nneed to wrap each field in a `<vaadin-form-item>` element and define its labels on the wrapper.\nThen, you can enable the [`labelsAside`](https://cdn.vaadin.com/vaadin-web-components/25.0.0-alpha11/#/elements/vaadin-form-layout#property-labelsAside)\nproperty:\n\n```html\n<vaadin-form-layout auto-responsive labels-aside>\n <vaadin-form-row>\n <vaadin-form-item>\n <label slot=\"label\">First Name</label>\n <vaadin-text-field></vaadin-text-field>\n </vaadin-form-item>\n <vaadin-form-item>\n <label slot=\"label\">Last Name</label>\n <vaadin-text-field></vaadin-text-field>\n </vaadin-form-item>\n </vaadin-form-row>\n <vaadin-form-row>\n <vaadin-form-item colspan=\"2\">\n <label slot=\"label\">Address</label>\n <vaadin-text-area></vaadin-text-area>\n </vaadin-form-item>\n </vaadin-form-row>\n</vaadin-form-layout>\n```\n\nWith this, FormLayout will display labels beside fields, falling back to\nthe default position above the fields only when there isn't enough space.\n\n### CSS Properties Reference\n\nThe following custom CSS properties are available on the `<vaadin-form-layout>`\nelement:\n\nCustom CSS property | Description | Default\n---|---|---\n`--vaadin-form-layout-column-spacing` | Length of the spacing between columns | `2em`\n`--vaadin-form-layout-row-spacing` | Length of the spacing between rows | `1em`\n`--vaadin-form-layout-label-width` | Width of the label when labels are displayed aside | `8em`\n`--vaadin-form-layout-label-spacing` | Length of the spacing between the label and the input when labels are displayed aside | `1em`",
26
26
  "extension": true,
27
27
  "attributes": [
28
28
  {
@@ -1,4 +0,0 @@
1
- import '@vaadin/vaadin-lumo-styles/color.js';
2
- import '@vaadin/vaadin-lumo-styles/spacing.js';
3
- import '@vaadin/vaadin-lumo-styles/style.js';
4
- import '@vaadin/vaadin-lumo-styles/typography.js';
@@ -1,42 +0,0 @@
1
- import '@vaadin/vaadin-lumo-styles/color.js';
2
- import '@vaadin/vaadin-lumo-styles/spacing.js';
3
- import '@vaadin/vaadin-lumo-styles/style.js';
4
- import '@vaadin/vaadin-lumo-styles/typography.js';
5
- import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
6
-
7
- registerStyles(
8
- 'vaadin-form-item',
9
- css`
10
- /* font-weight, margin-bottom, transition and line-height same as for part label in text-field */
11
- [part='label'] {
12
- color: var(--lumo-secondary-text-color);
13
- font-family: var(--lumo-font-family);
14
- font-size: var(--lumo-font-size-s);
15
- font-weight: 500;
16
- margin-top: var(--lumo-space-m);
17
- margin-left: calc(var(--lumo-border-radius-m) / 4);
18
- margin-bottom: var(--lumo-space-xs);
19
- transition: color 0.4s;
20
- line-height: 1.333;
21
- }
22
-
23
- [part='required-indicator']::after {
24
- content: var(--lumo-required-field-indicator, '\\2022');
25
- transition: opacity 0.2s;
26
- opacity: 0;
27
- color: var(--lumo-required-field-indicator-color, var(--lumo-primary-text-color));
28
- position: relative;
29
- width: 1em;
30
- text-align: center;
31
- }
32
-
33
- :host([required]) [part='required-indicator']::after {
34
- opacity: 1;
35
- }
36
-
37
- :host([invalid]) [part='required-indicator']::after {
38
- color: var(--lumo-required-field-indicator-color, var(--lumo-error-text-color));
39
- }
40
- `,
41
- { moduleId: 'lumo-form-item' },
42
- );
@@ -1,2 +0,0 @@
1
- import './vaadin-form-item-styles.js';
2
- import '../../src/vaadin-form-item.js';
@@ -1,2 +0,0 @@
1
- import './vaadin-form-item-styles.js';
2
- import '../../src/vaadin-form-item.js';
@@ -1 +0,0 @@
1
- import '@vaadin/vaadin-lumo-styles/spacing.js';
@@ -1,13 +0,0 @@
1
- import '@vaadin/vaadin-lumo-styles/spacing.js';
2
- import { css, registerStyles } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
3
-
4
- registerStyles(
5
- 'vaadin-form-layout',
6
- css`
7
- :host {
8
- --vaadin-form-layout-column-spacing: var(--lumo-space-l);
9
- --vaadin-form-layout-row-spacing: 0;
10
- }
11
- `,
12
- { moduleId: 'lumo-form-layout' },
13
- );
@@ -1,2 +0,0 @@
1
- import './vaadin-form-layout-styles.js';
2
- import '../../src/vaadin-form-layout.js';
@@ -1,2 +0,0 @@
1
- import './vaadin-form-layout-styles.js';
2
- import '../../src/vaadin-form-layout.js';
@@ -1 +0,0 @@
1
- import '../../src/vaadin-form-row.js';
@@ -1 +0,0 @@
1
- import '../../src/vaadin-form-row.js';