@lion/ui 0.8.5 → 0.8.7
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/components/calendar/src/LionCalendar.js +5 -1
- package/components/combobox/test/lion-combobox.test.js +13 -11
- package/components/core/src/ScopedElementsMixin.js +2 -2
- package/components/core/test/ScopedElementsMixin.test.js +34 -1
- package/components/core/test/SlotMixin.test.js +19 -33
- package/components/core/test-helpers/isActiveElement.js +14 -0
- package/components/dialog/test/lion-dialog.test.js +6 -5
- package/components/form/test/lion-form.test.js +20 -18
- package/components/form-core/test/lion-field.test.js +15 -14
- package/components/form-core/test-suites/NativeTextFieldMixin.suite.js +8 -6
- package/components/form-core/test-suites/ValidateMixin.suite.js +7 -7
- package/components/form-integrations/test/dialog-integrations.test.js +6 -5
- package/components/input-datepicker/test/lion-input-datepicker.test.js +25 -1
- package/components/overlays/src/OverlayController.js +25 -1
- package/components/overlays/src/OverlayMixin.js +17 -4
- package/components/overlays/src/utils/adopt-styles.js +3 -3
- package/components/overlays/src/utils/contain-focus.js +1 -1
- package/components/overlays/test/OverlayController.test.js +46 -13
- package/components/overlays/test/utils-tests/contain-focus.test.js +21 -16
- package/components/select-rich/test/lion-select-rich.test.js +15 -17
- package/components/switch/test/lion-switch.test.js +7 -6
- package/custom-elements.json +157 -7
- package/dist-types/components/calendar/src/LionCalendar.d.ts.map +1 -1
- package/dist-types/components/combobox/test/lion-combobox.test.d.ts.map +1 -1
- package/dist-types/components/{overlays/src/utils/get-deep-active-element.d.ts → core/src/getDeepActiveElement.d.ts} +1 -1
- package/dist-types/components/core/src/getDeepActiveElement.d.ts.map +1 -0
- package/dist-types/components/core/test/SlotMixin.test.d.ts.map +1 -1
- package/dist-types/components/core/test-helpers/isActiveElement.d.ts +13 -0
- package/dist-types/components/core/test-helpers/isActiveElement.d.ts.map +1 -0
- package/dist-types/components/dialog/test/lion-dialog.test.d.ts.map +1 -1
- package/dist-types/components/form/test/lion-form.test.d.ts.map +1 -1
- package/dist-types/components/form-core/test/lion-field.test.d.ts +2 -2
- package/dist-types/components/form-core/test/lion-field.test.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts +2 -2
- package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts.map +1 -1
- package/dist-types/components/form-integrations/test/dialog-integrations.test.d.ts.map +1 -1
- package/dist-types/components/overlays/src/OverlayController.d.ts +2 -0
- package/dist-types/components/overlays/src/OverlayController.d.ts.map +1 -1
- package/dist-types/components/overlays/src/OverlayMixin.d.ts.map +1 -1
- package/dist-types/components/overlays/test/OverlayController.test.d.ts.map +1 -1
- package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts +2 -2
- package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts.map +1 -1
- package/dist-types/components/switch/test/lion-switch.test.d.ts +1 -1
- package/dist-types/components/switch/test/lion-switch.test.d.ts.map +1 -1
- package/dist-types/exports/overlays.d.ts +2 -2
- package/dist-types/tsconfig.tsbuildinfo +1 -1
- package/docs/components/checkbox-group/overview.md +2 -2
- package/docs/components/collapsible/overview.md +1 -1
- package/docs/components/combobox/overview.md +1 -1
- package/docs/components/combobox/use-cases.md +1 -1
- package/docs/components/dialog/overview.md +1 -1
- package/docs/components/fieldset/overview.md +5 -5
- package/docs/components/form/overview.md +3 -3
- package/docs/components/form/use-cases.md +157 -8
- package/docs/components/icon/use-cases.md +1 -1
- package/docs/components/input/overview.md +1 -1
- package/docs/components/input-amount/overview.md +3 -3
- package/docs/components/input-date/overview.md +3 -3
- package/docs/components/input-datepicker/overview.md +5 -5
- package/docs/components/input-email/overview.md +2 -2
- package/docs/components/input-file/overview.md +1 -1
- package/docs/components/input-iban/overview.md +2 -2
- package/docs/components/input-range/overview.md +2 -2
- package/docs/components/input-stepper/overview.md +1 -1
- package/docs/components/input-tel/overview.md +1 -1
- package/docs/components/input-tel/use-cases.md +6 -6
- package/docs/components/input-tel-dropdown/overview.md +1 -1
- package/docs/components/listbox/use-cases.md +1 -1
- package/docs/components/radio-group/overview.md +3 -3
- package/docs/components/select/use-cases.md +1 -1
- package/docs/components/select-rich/use-cases.md +1 -1
- package/docs/components/tabs/examples.md +1 -1
- package/docs/fundamentals/index.md +4 -4
- package/docs/fundamentals/node-tools/providence-analytics/overview.md +42 -139
- package/docs/fundamentals/node-tools/publish-docs/overview.md +3 -3
- package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +2 -2
- package/docs/fundamentals/rationales/accessibility.md +1 -1
- package/docs/fundamentals/systems/core/SlotMixin.md +1 -1
- package/docs/fundamentals/systems/core/overview.md +1 -1
- package/docs/fundamentals/systems/form/formatting-and-parsing.md +4 -4
- package/docs/fundamentals/systems/form/model-value.md +1 -1
- package/docs/fundamentals/systems/form/overview.md +28 -28
- package/docs/fundamentals/systems/form/validate.md +2 -2
- package/docs/fundamentals/systems/localize/overview.md +4 -4
- package/docs/fundamentals/systems/overlays/configuration.md +2 -2
- package/docs/fundamentals/systems/overlays/overview.md +5 -5
- package/docs/fundamentals/systems/overlays/use-cases.md +2 -2
- package/docs/fundamentals/tools/helpers/overview.md +1 -1
- package/docs/fundamentals/tools/singleton-manager/overview.md +4 -4
- package/docs/guides/how-to/create-a-custom-field.md +5 -5
- package/docs/guides/how-to/create-a-form.md +4 -4
- package/docs/guides/how-to/extend-a-native-input.md +2 -2
- package/docs/guides/index.md +8 -8
- package/docs/guides/principles/index.md +5 -5
- package/docs/guides/principles/styling.md +1 -1
- package/exports/overlays.js +3 -2
- package/overlays.js +3 -2
- package/package.json +1 -1
- package/dist-types/components/overlays/src/utils/get-deep-active-element.d.ts.map +0 -1
- package/docs/fundamentals/node-tools/providence-analytics/LocalConfiguration.md +0 -68
- package/docs/fundamentals/node-tools/providence-analytics/QueryResult.md +0 -111
- package/docs/fundamentals/node-tools/providence-analytics/analyzer.md +0 -69
- package/docs/fundamentals/node-tools/providence-analytics/assets/_mermaid.svg.js +0 -1226
- package/docs/fundamentals/node-tools/providence-analytics/dashboard.md +0 -22
- /package/components/{overlays/src/utils/get-deep-active-element.js → core/src/getDeepActiveElement.js} +0 -0
|
@@ -19,11 +19,11 @@ import '@lion/ui/define/lion-checkbox.js';
|
|
|
19
19
|
</lion-checkbox-group>
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
> Make sure that the checkbox-group also has a name attribute, this is necessary for our [form](https://github.com/ing-bank/lion/blob/
|
|
22
|
+
> Make sure that the checkbox-group also has a name attribute, this is necessary for our [form](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/form/overview.md)'s serialization result.
|
|
23
23
|
|
|
24
24
|
## Features
|
|
25
25
|
|
|
26
|
-
Since it extends from our [fieldset](https://github.com/ing-bank/lion/blob/
|
|
26
|
+
Since it extends from our [fieldset](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/fieldset/overview.md),
|
|
27
27
|
it has all the features a fieldset has.
|
|
28
28
|
|
|
29
29
|
## Installation
|
|
@@ -22,7 +22,7 @@ export const main = () => html`
|
|
|
22
22
|
## Features
|
|
23
23
|
|
|
24
24
|
- Use `opened` attribute or `toggle()` method to render default open.
|
|
25
|
-
- `invoker` slot can be custom template e.g. our [button](https://github.com/ing-bank/lion/blob/
|
|
25
|
+
- `invoker` slot can be custom template e.g. our [button](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/button/overview.md) or native `button` with custom styling.
|
|
26
26
|
- Observe the state with the help of `@opened-changed` event.
|
|
27
27
|
- `show()` and `hide()` are helper methods to hide or show the content from outside.
|
|
28
28
|
|
|
@@ -34,7 +34,7 @@ export const main = () => html`
|
|
|
34
34
|
`;
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
[...show more](https://github.com/ing-bank/lion/blob/
|
|
37
|
+
[...show more](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/combobox/extensions.md)
|
|
38
38
|
|
|
39
39
|
## Features
|
|
40
40
|
|
|
@@ -457,4 +457,4 @@ export const complexObjectChoiceValue = () =>
|
|
|
457
457
|
## Listbox compatibility
|
|
458
458
|
|
|
459
459
|
All configurations that can be applied to `lion-listbox`, can be applied to `lion-combobox` as well.
|
|
460
|
-
See the [listbox documentation](https://github.com/ing-bank/lion/blob/
|
|
460
|
+
See the [listbox documentation](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/listbox/overview.md) for more information.
|
|
@@ -54,6 +54,6 @@ import '@lion/ui/define/lion-dialog.js';
|
|
|
54
54
|
## Changing the configuration
|
|
55
55
|
|
|
56
56
|
You can use the `.config` property on the dialog to change the configuration.
|
|
57
|
-
The documentation of the full config object can be found in the `overlays` folder or here in [Overlay System - Configuration](https://github.com/ing-bank/lion/blob/
|
|
57
|
+
The documentation of the full config object can be found in the `overlays` folder or here in [Overlay System - Configuration](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/overlays/configuration.md).
|
|
58
58
|
|
|
59
59
|
The `config` property uses a setter to merge the passed configuration with the current, so you only **overwrite what you pass** when updating `config`.
|
|
@@ -20,9 +20,9 @@ export const main = () => html`
|
|
|
20
20
|
|
|
21
21
|
We have three specific fieldset implementations:
|
|
22
22
|
|
|
23
|
-
- [form](https://github.com/ing-bank/lion/blob/
|
|
24
|
-
- [checkbox-group](https://github.com/ing-bank/lion/blob/
|
|
25
|
-
- [radio-group](https://github.com/ing-bank/lion/blob/
|
|
23
|
+
- [form](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/form/overview.md)
|
|
24
|
+
- [checkbox-group](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/checkbox-group/overview.md)
|
|
25
|
+
- [radio-group](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/radio-group/overview.md)
|
|
26
26
|
|
|
27
27
|
A native fieldset element should always have a legend-element for a11y purposes.
|
|
28
28
|
However, our fieldset element is not native and should not have a legend-element.
|
|
@@ -31,8 +31,8 @@ Our fieldset instead has a label attribute or you can add a label with a div- or
|
|
|
31
31
|
## Features
|
|
32
32
|
|
|
33
33
|
- Easy retrieval of form data based on field names
|
|
34
|
-
- Advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/
|
|
35
|
-
- Can have [validate](https://github.com/ing-bank/lion/blob/
|
|
34
|
+
- Advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/interaction-states.md)
|
|
35
|
+
- Can have [validate](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md) on fieldset level and shows the validation feedback below the fieldset
|
|
36
36
|
- Can disable input fields on fieldset level
|
|
37
37
|
- Accessible out of the box
|
|
38
38
|
|
|
@@ -8,7 +8,7 @@ import '@lion/ui/define/lion-form.js';
|
|
|
8
8
|
```
|
|
9
9
|
|
|
10
10
|
A web component that enhances the functionality of the native `form` component.
|
|
11
|
-
It is designed to interact with (instances of) the [form controls](https://github.com/ing-bank/lion/blob/
|
|
11
|
+
It is designed to interact with (instances of) the [form controls](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/overview.md).
|
|
12
12
|
|
|
13
13
|
```js preview-story
|
|
14
14
|
export const main = () => {
|
|
@@ -37,11 +37,11 @@ export const main = () => {
|
|
|
37
37
|
- Data synchronization with models
|
|
38
38
|
- Easy retrieval of form data based on field names
|
|
39
39
|
- Advanced validation possibilities
|
|
40
|
-
- Advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/
|
|
40
|
+
- Advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/interaction-states.md)
|
|
41
41
|
- Registration mechanism for form controls
|
|
42
42
|
- Accessible out of the box
|
|
43
43
|
|
|
44
|
-
For more information about fields that are designed for our `form`, please read [form system](https://github.com/ing-bank/lion/blob/
|
|
44
|
+
For more information about fields that are designed for our `form`, please read [form system](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/overview.md).
|
|
45
45
|
|
|
46
46
|
## Installation
|
|
47
47
|
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
# Form >> Use Cases ||20
|
|
2
2
|
|
|
3
3
|
```js script
|
|
4
|
-
import { html } from '@mdjs/mdjs-preview';
|
|
4
|
+
import { html as previewHtml } from '@mdjs/mdjs-preview';
|
|
5
5
|
import { Required } from '@lion/ui/form-core.js';
|
|
6
6
|
import { loadDefaultFeedbackMessages } from '@lion/ui/validate-messages.js';
|
|
7
|
+
import '@lion/ui/define/lion-fieldset.js';
|
|
7
8
|
import '@lion/ui/define/lion-input.js';
|
|
8
9
|
import '@lion/ui/define/lion-form.js';
|
|
9
10
|
```
|
|
10
11
|
|
|
11
12
|
## Submit & Reset
|
|
12
13
|
|
|
13
|
-
To submit a form, use a regular `<button>` (or `<lion-button-submit>`) somewhere inside the native `<form>`.
|
|
14
|
+
To submit a form, use a regular `<button>` (or `<lion-button-submit>`) somewhere inside the native `<form>`. Then, add a `submit` handler on the `<lion-form>`. You can use this event to do your own (pre-)submit logic, like getting the serialized form data and sending it to a backend API.
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
You can use this event to do your own (pre-)submit logic, like getting the serialized form data and sending it to a backend API.
|
|
18
|
-
|
|
19
|
-
Another example is checking if the form has errors, and focusing the first field with an error.
|
|
16
|
+
Another example is checking if the form has errors, and focusing the first field with a validation error.
|
|
17
|
+
To learn more about form validation, please take a look at [validate](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md).
|
|
20
18
|
|
|
21
19
|
To fire a submit from JavaScript, select the `<lion-form>` element and call `.submit()`.
|
|
22
20
|
|
|
@@ -40,7 +38,7 @@ export const formSubmit = () => {
|
|
|
40
38
|
};
|
|
41
39
|
return html`
|
|
42
40
|
<lion-form @submit="${submitHandler}">
|
|
43
|
-
<form
|
|
41
|
+
<form>
|
|
44
42
|
<lion-input
|
|
45
43
|
name="firstName"
|
|
46
44
|
label="First Name"
|
|
@@ -67,3 +65,154 @@ export const formSubmit = () => {
|
|
|
67
65
|
`;
|
|
68
66
|
};
|
|
69
67
|
```
|
|
68
|
+
|
|
69
|
+
## Prefilled data
|
|
70
|
+
|
|
71
|
+
It is possible to use data to prefill the form. This can be done via the `serializedValue` attribute.
|
|
72
|
+
|
|
73
|
+
```js preview-story
|
|
74
|
+
export const prefilledData = () => {
|
|
75
|
+
loadDefaultFeedbackMessages();
|
|
76
|
+
const submitHandler = ev => {
|
|
77
|
+
const formData = ev.target.serializedValue;
|
|
78
|
+
console.log('formData', formData);
|
|
79
|
+
if (!ev.target.hasFeedbackFor?.includes('error')) {
|
|
80
|
+
fetch('/api/foo/', {
|
|
81
|
+
method: 'POST',
|
|
82
|
+
body: JSON.stringify(formData),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
const serializedValue = {
|
|
87
|
+
firstName: 'Foo',
|
|
88
|
+
lastName: 'Bar',
|
|
89
|
+
};
|
|
90
|
+
return html`
|
|
91
|
+
<lion-form @submit="${submitHandler}" .serializedValue="${serializedValue}">
|
|
92
|
+
<form>
|
|
93
|
+
<lion-input
|
|
94
|
+
name="firstName"
|
|
95
|
+
label="First Name"
|
|
96
|
+
.validators="${[new Required()]}"
|
|
97
|
+
></lion-input>
|
|
98
|
+
<lion-input
|
|
99
|
+
name="lastName"
|
|
100
|
+
label="Last Name"
|
|
101
|
+
.validators="${[new Required()]}"
|
|
102
|
+
></lion-input>
|
|
103
|
+
<div style="display:flex">
|
|
104
|
+
<button>Submit</button>
|
|
105
|
+
<button
|
|
106
|
+
type="button"
|
|
107
|
+
@click="${ev =>
|
|
108
|
+
ev.currentTarget.parentElement.parentElement.parentElement.resetGroup()}"
|
|
109
|
+
>
|
|
110
|
+
Reset
|
|
111
|
+
</button>
|
|
112
|
+
</div>
|
|
113
|
+
</form>
|
|
114
|
+
</lion-form>
|
|
115
|
+
`;
|
|
116
|
+
};
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
Learn more about [formatting and parsing](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/formatting-and-parsing.md).
|
|
120
|
+
|
|
121
|
+
## Sub forms
|
|
122
|
+
|
|
123
|
+
To create sections inside a form you can make use of fieldsets.
|
|
124
|
+
|
|
125
|
+
In some cases you want to create a reusable sub-form component. Since all form elements need to be in the light DOM, to be accessible, the sub-form needs to be in the light DOM too. To do this you'll need to make use of the `SlotMixin`.
|
|
126
|
+
|
|
127
|
+
```js preview-story
|
|
128
|
+
import { html, LitElement } from 'lit';
|
|
129
|
+
import { ScopedElementsMixin } from '@open-wc/scoped-elements/lit-element.js';
|
|
130
|
+
import { SlotMixin } from '@lion/ui/core.js';
|
|
131
|
+
import { Required as _Required } from '@lion/ui/form-core.js';
|
|
132
|
+
import { LionFieldset } from '@lion/ui/fieldset.js';
|
|
133
|
+
import { LionInput } from '@lion/ui/input.js';
|
|
134
|
+
|
|
135
|
+
class SubFormAddress extends SlotMixin(ScopedElementsMixin(LitElement)) {
|
|
136
|
+
static get scopedElements() {
|
|
137
|
+
return {
|
|
138
|
+
'lion-fieldset': LionFieldset,
|
|
139
|
+
'lion-input': LionInput,
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
get slots() {
|
|
144
|
+
return {
|
|
145
|
+
...super.slots,
|
|
146
|
+
'': () => ({
|
|
147
|
+
template: this.#renderInSlot(),
|
|
148
|
+
}),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
render() {
|
|
153
|
+
return html` <slot></slot> `;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* @private
|
|
158
|
+
*/
|
|
159
|
+
#renderInSlot() {
|
|
160
|
+
return html`
|
|
161
|
+
<lion-fieldset name="address" label="Address">
|
|
162
|
+
<lion-input name="street" label="Street" .validators="${[new _Required()]}"></lion-input>
|
|
163
|
+
<lion-input name="number" label="Number" .validators="${[new _Required()]}"></lion-input>
|
|
164
|
+
<lion-input
|
|
165
|
+
name="postalCode"
|
|
166
|
+
label="Postal code"
|
|
167
|
+
.validators="${[new _Required()]}"
|
|
168
|
+
></lion-input>
|
|
169
|
+
</lion-fieldset>
|
|
170
|
+
`;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
customElements.define('sub-form-address', SubFormAddress);
|
|
175
|
+
|
|
176
|
+
export const subForms = () => {
|
|
177
|
+
loadDefaultFeedbackMessages();
|
|
178
|
+
const submitHandler = ev => {
|
|
179
|
+
const formData = ev.target.serializedValue;
|
|
180
|
+
console.log('formData', formData);
|
|
181
|
+
if (!ev.target.hasFeedbackFor?.includes('error')) {
|
|
182
|
+
fetch('/api/foo/', {
|
|
183
|
+
method: 'POST',
|
|
184
|
+
body: JSON.stringify(formData),
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
return html`
|
|
189
|
+
<lion-form @submit="${submitHandler}">
|
|
190
|
+
<form>
|
|
191
|
+
<lion-fieldset name="fullName" label="Name">
|
|
192
|
+
<lion-input
|
|
193
|
+
name="firstName"
|
|
194
|
+
label="First Name"
|
|
195
|
+
.validators="${[new Required()]}"
|
|
196
|
+
></lion-input>
|
|
197
|
+
<lion-input
|
|
198
|
+
name="lastName"
|
|
199
|
+
label="Last Name"
|
|
200
|
+
.validators="${[new Required()]}"
|
|
201
|
+
></lion-input>
|
|
202
|
+
</lion-fieldset>
|
|
203
|
+
<sub-form-address></sub-form-address>
|
|
204
|
+
<div style="display:flex">
|
|
205
|
+
<button>Submit</button>
|
|
206
|
+
<button
|
|
207
|
+
type="button"
|
|
208
|
+
@click="${ev =>
|
|
209
|
+
ev.currentTarget.parentElement.parentElement.parentElement.resetGroup()}"
|
|
210
|
+
>
|
|
211
|
+
Reset
|
|
212
|
+
</button>
|
|
213
|
+
</div>
|
|
214
|
+
</form>
|
|
215
|
+
</lion-form>
|
|
216
|
+
`;
|
|
217
|
+
};
|
|
218
|
+
```
|
|
@@ -26,7 +26,7 @@ icons.addIconResolver('lion', (iconset, name) => {
|
|
|
26
26
|
## Icon sets
|
|
27
27
|
|
|
28
28
|
Icons are displayed using icon sets. These are collections of icons, lazily loaded on demand for performance.
|
|
29
|
-
See the [system documentation](https://github.com/ing-bank/lion/blob/
|
|
29
|
+
See the [system documentation](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/icon/overview.md) to learn more about icon sets.
|
|
30
30
|
|
|
31
31
|
```js preview-story
|
|
32
32
|
export const iconSets = () => html`
|
|
@@ -23,7 +23,7 @@ export const main = () => html`<lion-input label="First Name"></lion-input>`;
|
|
|
23
23
|
- **before**: does not have an active use case yet, but the option is in place.
|
|
24
24
|
- **after**: can be used to show a currency or percentage.
|
|
25
25
|
- Delegates attributes like `type`, `disabled`, `placeholder` and `readonly` to the native input.
|
|
26
|
-
- Can make use of [validation](https://github.com/ing-bank/lion/blob/
|
|
26
|
+
- Can make use of [validation](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md).
|
|
27
27
|
|
|
28
28
|
## Installation
|
|
29
29
|
|
|
@@ -24,13 +24,13 @@ export const main = () => {
|
|
|
24
24
|
|
|
25
25
|
## Features
|
|
26
26
|
|
|
27
|
-
- Based on our [input](https://github.com/ing-bank/lion/blob/
|
|
28
|
-
- Makes use of [formatNumber](https://github.com/ing-bank/lion/blob/
|
|
27
|
+
- Based on our [input](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input/overview.md)
|
|
28
|
+
- Makes use of [formatNumber](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/localize/numbers.md) for formatting and parsing.
|
|
29
29
|
- Option to show currency as a suffix
|
|
30
30
|
- Option to override locale to change the formatting and parsing
|
|
31
31
|
- Option to provide additional format options overrides
|
|
32
32
|
- Default label in different languages
|
|
33
|
-
- Can make use of number specific [validators](https://github.com/ing-bank/lion/blob/
|
|
33
|
+
- Can make use of number specific [validators](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md) with corresponding error messages in different languages
|
|
34
34
|
- IsNumber (default)
|
|
35
35
|
- MinNumber
|
|
36
36
|
- MaxNumber
|
|
@@ -16,11 +16,11 @@ import '@lion/ui/define/lion-input-date.js';
|
|
|
16
16
|
|
|
17
17
|
## Features
|
|
18
18
|
|
|
19
|
-
- Based on our [input](https://github.com/ing-bank/lion/blob/
|
|
20
|
-
- Makes use of [formatDate](https://github.com/ing-bank/lion/blob/
|
|
19
|
+
- Based on our [input](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input/overview.md)
|
|
20
|
+
- Makes use of [formatDate](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/localize/dates.md) for formatting and parsing.
|
|
21
21
|
- Option to override locale to change the formatting and parsing
|
|
22
22
|
- Default label in different languages
|
|
23
|
-
- Can make use of date specific [validators](https://github.com/ing-bank/lion/blob/
|
|
23
|
+
- Can make use of date specific [validators](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md) with corresponding error messages in different languages
|
|
24
24
|
- IsDate (default)
|
|
25
25
|
- MinDate
|
|
26
26
|
- MaxDate
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A web component based on the date text input field. Its purpose is to provide a way for users to fill in a date with a datepicker.
|
|
4
4
|
For an input field with a big range, such as `birthday-input`, a datepicker is not the best choice due to the high variance between possible inputs.
|
|
5
|
-
We encourage using our standard [input-date](https://github.com/ing-bank/lion/blob/
|
|
5
|
+
We encourage using our standard [input-date](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input-date/overview.md) for this.
|
|
6
6
|
|
|
7
7
|
```js script
|
|
8
8
|
import { html } from '@mdjs/mdjs-preview';
|
|
@@ -18,11 +18,11 @@ export const main = () => {
|
|
|
18
18
|
## Features
|
|
19
19
|
|
|
20
20
|
- Input field with a datepicker to help to choose a date
|
|
21
|
-
- Based on our [input-date](https://github.com/ing-bank/lion/blob/
|
|
22
|
-
- Makes use of our [calendar](https://github.com/ing-bank/lion/blob/
|
|
23
|
-
- Makes use of [formatDate](https://github.com/ing-bank/lion/blob/
|
|
21
|
+
- Based on our [input-date](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input-date/overview.md)
|
|
22
|
+
- Makes use of our [calendar](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/calendar/overview.md) inside the datepicker
|
|
23
|
+
- Makes use of [formatDate](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/localize/dates.md) for formatting and parsing.
|
|
24
24
|
- Option to overwrite locale to change the formatting and parsing
|
|
25
|
-
- Can make use of date specific [validators](https://github.com/ing-bank/lion/blob/
|
|
25
|
+
- Can make use of date specific [validators](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md) with corresponding error messages in different languages
|
|
26
26
|
- IsDate (default)
|
|
27
27
|
- MinDate
|
|
28
28
|
- MaxDate
|
|
@@ -15,8 +15,8 @@ export const main = () => {
|
|
|
15
15
|
|
|
16
16
|
## Features
|
|
17
17
|
|
|
18
|
-
- Based on our [input](https://github.com/ing-bank/lion/blob/
|
|
19
|
-
- Makes use of email [validators](https://github.com/ing-bank/lion/blob/
|
|
18
|
+
- Based on our [input](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input/overview.md)
|
|
19
|
+
- Makes use of email [validators](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md) with corresponding error messages in different languages
|
|
20
20
|
- IsEmail (default)
|
|
21
21
|
|
|
22
22
|
## Installation
|
|
@@ -15,7 +15,7 @@ export const main = () => {
|
|
|
15
15
|
|
|
16
16
|
## Features
|
|
17
17
|
|
|
18
|
-
- Based on our [input](https://github.com/ing-bank/lion/blob/
|
|
18
|
+
- Based on our [input](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input/overview.md)
|
|
19
19
|
- Default labels and validation messages in different languages
|
|
20
20
|
- Options for multi file upload and drop-zone.
|
|
21
21
|
|
|
@@ -16,9 +16,9 @@ export const main = () => {
|
|
|
16
16
|
|
|
17
17
|
## Features
|
|
18
18
|
|
|
19
|
-
- Based on our [input](https://github.com/ing-bank/lion/blob/
|
|
19
|
+
- Based on our [input](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input/overview.md)
|
|
20
20
|
- Default label in different languages
|
|
21
|
-
- Makes use of IBAN specific [validate](https://github.com/ing-bank/lion/blob/
|
|
21
|
+
- Makes use of IBAN specific [validate](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md) with corresponding error messages in different languages
|
|
22
22
|
- IsIBAN (default)
|
|
23
23
|
- IsCountryIBAN
|
|
24
24
|
- Parses IBANs automatically
|
|
@@ -13,11 +13,11 @@ import '@lion/ui/define/lion-input-range.js';
|
|
|
13
13
|
|
|
14
14
|
## Features
|
|
15
15
|
|
|
16
|
-
- Based on our [input](https://github.com/ing-bank/lion/blob/
|
|
16
|
+
- Based on our [input](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input/overview.md).
|
|
17
17
|
- Shows `modelValue` and `unit` above the range input.
|
|
18
18
|
- Shows `min` and `max` value after the range input.
|
|
19
19
|
- Can hide the `min` and `max` value via `no-min-max-labels`.
|
|
20
|
-
- Makes use of [formatNumber](https://github.com/ing-bank/lion/blob/
|
|
20
|
+
- Makes use of [formatNumber](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/localize/numbers.md) for formatting and parsing.
|
|
21
21
|
|
|
22
22
|
## Installation
|
|
23
23
|
|
|
@@ -18,7 +18,7 @@ loadDefaultFeedbackMessages();
|
|
|
18
18
|
|
|
19
19
|
## Features
|
|
20
20
|
|
|
21
|
-
- Based on our [input](https://github.com/ing-bank/lion/blob/
|
|
21
|
+
- Based on our [input](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input/overview.md).
|
|
22
22
|
- Set `min` and `max` value to define the range.
|
|
23
23
|
- Set `step` value in integer or decimal to increase and decrease the value.
|
|
24
24
|
- Use `ArrowUp` or `ArrowDown` to update the value.
|
|
@@ -39,7 +39,7 @@ export const main = () => {
|
|
|
39
39
|
|
|
40
40
|
## Features
|
|
41
41
|
|
|
42
|
-
- Extends our [input](https://github.com/ing-bank/lion/blob/
|
|
42
|
+
- Extends our [input](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input/overview.md)
|
|
43
43
|
- Shows a mobile telephone keypad on mobile (by having a native `<input inputmode="tel">` inside)
|
|
44
44
|
- Can be configured with a list of allowed region codes
|
|
45
45
|
- Will be preconfigured with region derived from locale
|
|
@@ -22,7 +22,7 @@ Say we have the following telephone number from Madrid, Spain: `+34919930432`.
|
|
|
22
22
|
It contains a [country code](https://en.wikipedia.org/wiki/Country_code) (34), an [area code](https://en.wikipedia.org/wiki/Telephone_numbering_plan#Area_code) (91) and a [dial code](https://en.wikipedia.org/wiki/Mobile_dial_code) (+34 91).
|
|
23
23
|
Input Tel interprets phone numbers based on their [region code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2): a two character long region representation('ES' in the telephone number above).
|
|
24
24
|
|
|
25
|
-
The table below lists all possible regions worldwide. When [allowed regions](https://github.com/ing-bank/lion/blob/
|
|
25
|
+
The table below lists all possible regions worldwide. When [allowed regions](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input-tel/#allowed-regions) are not configured,
|
|
26
26
|
all of them will be supported as values of Input Tel.
|
|
27
27
|
|
|
28
28
|
```js story
|
|
@@ -37,11 +37,11 @@ export const regionCodesTable = () => {
|
|
|
37
37
|
The active region (accessible via readonly accessor `.activeRegion`) determines how validation and formatting
|
|
38
38
|
should be applied. It is dependent on the following factors:
|
|
39
39
|
|
|
40
|
-
- [allowed regions](https://github.com/ing-bank/lion/blob/
|
|
41
|
-
[.allowedRegions has only one entry](https://github.com/ing-bank/lion/blob/
|
|
40
|
+
- [allowed regions](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input-tel/#allowed-regions): a list that determines what is allowed to become .activeRegion. If
|
|
41
|
+
[.allowedRegions has only one entry](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input-tel/#restrict-to-one-region), .activeRegion will always be this value.
|
|
42
42
|
- the modelValue or viewValue: once it contains sufficient info to derive its region code (and
|
|
43
|
-
the derived code is inside [allowed regions](https://github.com/ing-bank/lion/blob/
|
|
44
|
-
- active locale (and the derived locale is inside [allowed regions](https://github.com/ing-bank/lion/blob/
|
|
43
|
+
the derived code is inside [allowed regions](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input-tel/#allowed-regions) if configured)
|
|
44
|
+
- active locale (and the derived locale is inside [allowed regions](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input-tel/#allowed-regions) if configured)
|
|
45
45
|
|
|
46
46
|
What follows from the list above is that .activeRegion can change dynamically, after a value
|
|
47
47
|
change in the text box by the user (or when locales or allowed regions would be changed by the
|
|
@@ -130,7 +130,7 @@ export const heuristic = () => {
|
|
|
130
130
|
Once it is configured, validation and formatting will be restricted to those
|
|
131
131
|
values that are present in this list.
|
|
132
132
|
|
|
133
|
-
> Note that for [InputTelDropdown](https://github.com/ing-bank/lion/blob/
|
|
133
|
+
> Note that for [InputTelDropdown](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input-tel-dropdown/index.md), only allowed regions will
|
|
134
134
|
> be shown in the dropdown list.
|
|
135
135
|
|
|
136
136
|
```js preview-story
|
|
@@ -19,7 +19,7 @@ export const main = () => {
|
|
|
19
19
|
|
|
20
20
|
## Features
|
|
21
21
|
|
|
22
|
-
- Extends our [input-tel](https://github.com/ing-bank/lion/blob/
|
|
22
|
+
- Extends our [input-tel](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/input-tel/overview.md)
|
|
23
23
|
- Shows dropdown list with all possible regions
|
|
24
24
|
- Shows only allowed regions in dropdown list when .allowedRegions is configured
|
|
25
25
|
- Highlights regions on top of dropdown list when .preferredRegions is configured
|
|
@@ -139,4 +139,4 @@ Navigation will skip over disabled options. Let's disable Artichoke and Brussel
|
|
|
139
139
|
|
|
140
140
|
## Validation
|
|
141
141
|
|
|
142
|
-
A validator can be used to make it e.g. `required`. If you want to know how to do that, please take a look at our [validation examples](https://github.com/ing-bank/lion/blob/
|
|
142
|
+
A validator can be used to make it e.g. `required`. If you want to know how to do that, please take a look at our [validation examples](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md).
|
|
@@ -20,12 +20,12 @@ export const main = () => html`
|
|
|
20
20
|
`;
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
- Make sure that to use a name attribute as it is necessary for our [form](https://github.com/ing-bank/lion/blob/
|
|
24
|
-
- If you have many options for a user to pick from, consider using our [select](https://github.com/ing-bank/lion/blob/
|
|
23
|
+
- Make sure that to use a name attribute as it is necessary for our [form](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/form/overview.md)'s serialization result.
|
|
24
|
+
- If you have many options for a user to pick from, consider using our [select](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/select/overview.md) instead.
|
|
25
25
|
|
|
26
26
|
## Features
|
|
27
27
|
|
|
28
|
-
Since it extends from our [fieldset](https://github.com/ing-bank/lion/blob/
|
|
28
|
+
Since it extends from our [fieldset](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/fieldset/overview.md), it has all the features a fieldset has.
|
|
29
29
|
|
|
30
30
|
- Get or set the checked value of the group:
|
|
31
31
|
- modelValue (default) - `checkedValue()`
|
|
@@ -53,7 +53,7 @@ Or by setting the `disabled` attribute on the entire `lion-select` field.
|
|
|
53
53
|
|
|
54
54
|
## Validation
|
|
55
55
|
|
|
56
|
-
A validator can be used to make it e.g. `required`. If you want to know how to do that, please take a look at our [validation examples](https://github.com/ing-bank/lion/blob/
|
|
56
|
+
A validator can be used to make it e.g. `required`. If you want to know how to do that, please take a look at our [validation examples](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/form/validate.md).
|
|
57
57
|
|
|
58
58
|
## Rendering and updating select options
|
|
59
59
|
|
|
@@ -302,7 +302,7 @@ LionSelectRich will give it acces to:
|
|
|
302
302
|
- LionSelectRich itself, via `.hostElement`
|
|
303
303
|
|
|
304
304
|
Code of an advanced custom invoker is shown below (this is the code for the
|
|
305
|
-
invoker used in [IntlSelectRich](https://github.com/ing-bank/lion/blob/
|
|
305
|
+
invoker used in [IntlSelectRich](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/components/select-rich/examples.md)).
|
|
306
306
|
The invoker is usually added in the invoker slot of the LionSelectRich subclass.
|
|
307
307
|
However, it would also be possible for an application developer to provide the invoker
|
|
308
308
|
by putting it in light dom:
|
|
@@ -9,7 +9,7 @@ import './src/lea-tab-panel.js';
|
|
|
9
9
|
|
|
10
10
|
## Lea Tabs
|
|
11
11
|
|
|
12
|
-
Learn how to create the `lea tabs` in our ["introducing lion" blogpost](https://github.com/ing-bank/lion/blob/
|
|
12
|
+
Learn how to create the `lea tabs` in our ["introducing lion" blogpost](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/blog/ing-open-sources-lion.md).
|
|
13
13
|
|
|
14
14
|
```js preview-story
|
|
15
15
|
export const main = () => html`
|
|
@@ -9,11 +9,11 @@ Here you find more details about what we offer.
|
|
|
9
9
|
|
|
10
10
|
Let's see what each section describes.
|
|
11
11
|
|
|
12
|
-
1. [Systems](https://github.com/ing-bank/lion/blob/
|
|
12
|
+
1. [Systems](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/systems/core/overview.md) <br>
|
|
13
13
|
These are the fundamental systems that power all of our components.
|
|
14
|
-
2. [Tools](https://github.com/ing-bank/lion/blob/
|
|
14
|
+
2. [Tools](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/tools/helpers/overview.md) <br>
|
|
15
15
|
Frontend Tools useful for web development but are not visual and therefore are not components.
|
|
16
|
-
3. [Node Tools](https://github.com/ing-bank/lion/blob/
|
|
16
|
+
3. [Node Tools](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md) <br>
|
|
17
17
|
Node tools to analyse the code and for extending the documentation.
|
|
18
|
-
4. [Rationales](https://github.com/ing-bank/lion/blob/
|
|
18
|
+
4. [Rationales](https://github.com/ing-bank/lion/blob/104c49449ebf5b60a1aa22a05e1a9ed8562bd6aa/docs/fundamentals/rationales/side-effects.md) <br>
|
|
19
19
|
The reasoning behind some of our decisions.
|