@vaadin/form-layout 23.2.16 → 23.2.18
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/README.md +2 -2
- package/package.json +9 -9
- package/src/vaadin-form-item.d.ts +1 -1
- package/src/vaadin-form-item.js +1 -1
- package/src/vaadin-form-layout.d.ts +9 -1
- package/src/vaadin-form-layout.js +23 -5
- package/theme/lumo/vaadin-form-item-styles.js +1 -1
- package/web-types.json +1 -1
- package/web-types.lit.json +1 -1
package/README.md
CHANGED
|
@@ -15,7 +15,7 @@ A web component for building responsive forms with multiple columns.
|
|
|
15
15
|
</vaadin-form-layout>
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
[<img src="https://raw.githubusercontent.com/vaadin/web-components/
|
|
18
|
+
[<img src="https://raw.githubusercontent.com/vaadin/web-components/master/packages/form-layout/screenshot.png" width="880" alt="Screenshot of vaadin-form-layout">](https://vaadin.com/docs/latest/components/form-layout)
|
|
19
19
|
|
|
20
20
|
## Installation
|
|
21
21
|
|
|
@@ -34,7 +34,7 @@ import '@vaadin/form-layout';
|
|
|
34
34
|
## Themes
|
|
35
35
|
|
|
36
36
|
Vaadin components come with two built-in [themes](https://vaadin.com/docs/latest/styling), Lumo and Material.
|
|
37
|
-
The [main entrypoint](https://github.com/vaadin/web-components/blob/
|
|
37
|
+
The [main entrypoint](https://github.com/vaadin/web-components/blob/master/packages/form-layout/vaadin-form-layout.js) of the package uses the Lumo theme.
|
|
38
38
|
|
|
39
39
|
To use the Material theme, import the component from the `theme/material` folder:
|
|
40
40
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/form-layout",
|
|
3
|
-
"version": "23.2.
|
|
3
|
+
"version": "23.2.18",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -36,21 +36,21 @@
|
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@polymer/polymer": "^3.0.0",
|
|
39
|
-
"@vaadin/component-base": "~23.2.
|
|
40
|
-
"@vaadin/vaadin-lumo-styles": "~23.2.
|
|
41
|
-
"@vaadin/vaadin-material-styles": "~23.2.
|
|
42
|
-
"@vaadin/vaadin-themable-mixin": "~23.2.
|
|
39
|
+
"@vaadin/component-base": "~23.2.18",
|
|
40
|
+
"@vaadin/vaadin-lumo-styles": "~23.2.18",
|
|
41
|
+
"@vaadin/vaadin-material-styles": "~23.2.18",
|
|
42
|
+
"@vaadin/vaadin-themable-mixin": "~23.2.18"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@esm-bundle/chai": "^4.3.4",
|
|
46
|
-
"@vaadin/custom-field": "~23.2.
|
|
47
|
-
"@vaadin/testing-helpers": "^0.
|
|
48
|
-
"@vaadin/text-field": "~23.2.
|
|
46
|
+
"@vaadin/custom-field": "~23.2.18",
|
|
47
|
+
"@vaadin/testing-helpers": "^0.3.2",
|
|
48
|
+
"@vaadin/text-field": "~23.2.18",
|
|
49
49
|
"sinon": "^13.0.2"
|
|
50
50
|
},
|
|
51
51
|
"web-types": [
|
|
52
52
|
"web-types.json",
|
|
53
53
|
"web-types.lit.json"
|
|
54
54
|
],
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "0633266344f3b8eaae21f5c1365b682f163dd0cb"
|
|
56
56
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2017 -
|
|
3
|
+
* Copyright (c) 2017 - 2022 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { ThemableMixin } from '@vaadin/vaadin-themable-mixin/vaadin-themable-mixin.js';
|
package/src/vaadin-form-item.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2017 -
|
|
3
|
+
* Copyright (c) 2017 - 2022 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2017 -
|
|
3
|
+
* Copyright (c) 2017 - 2022 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
|
|
@@ -145,6 +145,14 @@ declare class FormLayout extends ResizeMixin(ElementMixin(ThemableMixin(HTMLElem
|
|
|
145
145
|
*/
|
|
146
146
|
responsiveSteps: FormLayoutResponsiveStep[];
|
|
147
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Set custom CSS property values and update the layout.
|
|
150
|
+
*
|
|
151
|
+
* @deprecated Since Vaadin 23, `updateStyles()` is deprecated.
|
|
152
|
+
* Use the native element.style.setProperty API to set custom CSS property values.
|
|
153
|
+
*/
|
|
154
|
+
updateStyles(properties?: { [key: string]: string }): void;
|
|
155
|
+
|
|
148
156
|
/**
|
|
149
157
|
* Update the layout.
|
|
150
158
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* Copyright (c) 2017 -
|
|
3
|
+
* Copyright (c) 2017 - 2022 Vaadin Ltd.
|
|
4
4
|
* This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
|
|
5
5
|
*/
|
|
6
6
|
import { FlattenedNodesObserver } from '@polymer/polymer/lib/utils/flattened-nodes-observer.js';
|
|
@@ -248,7 +248,7 @@ class FormLayout extends ResizeMixin(ElementMixin(ThemableMixin(PolymerElement))
|
|
|
248
248
|
/** @protected */
|
|
249
249
|
ready() {
|
|
250
250
|
// Here we create and attach a style element that we use for validating
|
|
251
|
-
// CSS values in `responsiveSteps`. We can
|
|
251
|
+
// CSS values in `responsiveSteps`. We can’t add this to the `<template>`,
|
|
252
252
|
// because Polymer will throw it away. We need to create this before
|
|
253
253
|
// `super.ready()`, because `super.ready()` invokes property observers,
|
|
254
254
|
// and the observer for `responsiveSteps` does CSS value validation.
|
|
@@ -329,7 +329,7 @@ class FormLayout extends ResizeMixin(ElementMixin(ThemableMixin(PolymerElement))
|
|
|
329
329
|
/** @private */
|
|
330
330
|
_isValidCSSLength(value) {
|
|
331
331
|
// Let us choose a CSS property for validating CSS <length> values:
|
|
332
|
-
// - `border-spacing` accepts `<length> | inherit`, it
|
|
332
|
+
// - `border-spacing` accepts `<length> | inherit`, it’s the best! But
|
|
333
333
|
// it does not disallow invalid values at all in MSIE :-(
|
|
334
334
|
// - `letter-spacing` and `word-spacing` accept
|
|
335
335
|
// `<length> | normal | inherit`, and disallows everything else, like
|
|
@@ -424,7 +424,7 @@ class FormLayout extends ResizeMixin(ElementMixin(ThemableMixin(PolymerElement))
|
|
|
424
424
|
// Sometimes converting units is not possible, e.g, when element is
|
|
425
425
|
// not connected. Then the `selectedStep` stays `undefined`.
|
|
426
426
|
if (selectedStep) {
|
|
427
|
-
// Apply the chosen responsive step
|
|
427
|
+
// Apply the chosen responsive step’s properties
|
|
428
428
|
this._columnCount = selectedStep.columns;
|
|
429
429
|
this._labelsOnTop = selectedStep.labelsPosition === 'top';
|
|
430
430
|
}
|
|
@@ -435,6 +435,24 @@ class FormLayout extends ResizeMixin(ElementMixin(ThemableMixin(PolymerElement))
|
|
|
435
435
|
this._updateLayout();
|
|
436
436
|
}
|
|
437
437
|
|
|
438
|
+
/**
|
|
439
|
+
* Set custom CSS property values and update the layout.
|
|
440
|
+
*
|
|
441
|
+
* @deprecated Since Vaadin 23, `updateStyles()` is deprecated.
|
|
442
|
+
* Use the native element.style.setProperty API to set custom CSS property values.
|
|
443
|
+
*/
|
|
444
|
+
updateStyles(properties = {}) {
|
|
445
|
+
console.warn(
|
|
446
|
+
`WARNING: Since Vaadin 23, updateStyles() is deprecated. Use the native element.style.setProperty API to set custom CSS property values.`,
|
|
447
|
+
);
|
|
448
|
+
|
|
449
|
+
Object.entries(properties).forEach(([key, value]) => {
|
|
450
|
+
this.style.setProperty(key, value);
|
|
451
|
+
});
|
|
452
|
+
|
|
453
|
+
this._updateLayout();
|
|
454
|
+
}
|
|
455
|
+
|
|
438
456
|
/**
|
|
439
457
|
* Update the layout.
|
|
440
458
|
* @protected
|
|
@@ -481,7 +499,7 @@ class FormLayout extends ResizeMixin(ElementMixin(ThemableMixin(PolymerElement))
|
|
|
481
499
|
child.style.width = `calc(${childRatio * 99.9}% - ${1 - childRatio} * ${columnSpacing})`;
|
|
482
500
|
|
|
483
501
|
if (col + colspan > this._columnCount) {
|
|
484
|
-
// Too big to fit on this row, let
|
|
502
|
+
// Too big to fit on this row, let’s wrap it
|
|
485
503
|
col = 0;
|
|
486
504
|
}
|
|
487
505
|
|
|
@@ -25,7 +25,7 @@ registerStyles(
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
[part='required-indicator']::after {
|
|
28
|
-
content: var(--lumo-required-field-indicator, '
|
|
28
|
+
content: var(--lumo-required-field-indicator, '•');
|
|
29
29
|
transition: opacity 0.2s;
|
|
30
30
|
opacity: 0;
|
|
31
31
|
color: var(--lumo-required-field-indicator-color, var(--lumo-primary-text-color));
|
package/web-types.json
CHANGED