@lion/ui 0.11.0 → 0.11.2
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 +4 -4
- package/components/checkbox-group/src/LionCheckboxIndeterminate.js +39 -16
- package/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.js +189 -1
- package/components/combobox/test/lion-combobox.test.js +75 -1
- package/components/form-core/src/FocusMixin.js +4 -4
- package/components/form-core/src/LionField.js +1 -1
- package/components/localize/src/date/parseDate.js +6 -1
- package/components/localize/src/date/utils/checkYearFormat.js +8 -0
- package/components/localize/test/date/parseDate.test.js +6 -0
- package/components/localize/types/LocalizeMixinTypes.ts +0 -5
- package/components/select-rich/src/LionSelectRich.js +1 -1
- package/components/select-rich/test/lion-select-rich.test.js +13 -1
- package/custom-elements.json +47758 -47690
- package/dist-types/components/checkbox-group/src/LionCheckboxIndeterminate.d.ts +10 -0
- package/dist-types/components/checkbox-group/src/LionCheckboxIndeterminate.d.ts.map +1 -1
- package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts.map +1 -1
- package/dist-types/components/localize/src/date/parseDate.d.ts.map +1 -1
- package/dist-types/components/localize/src/date/utils/checkYearFormat.d.ts +7 -0
- package/dist-types/components/localize/src/date/utils/checkYearFormat.d.ts.map +1 -0
- package/dist-types/components/localize/types/LocalizeMixinTypes.d.ts +0 -4
- package/dist-types/components/localize/types/LocalizeMixinTypes.d.ts.map +1 -1
- package/dist-types/tsconfig.tsbuildinfo +1 -1
- package/docs/components/accordion/api-table.md +19 -7
- package/docs/components/accordion/index.md +10 -0
- package/docs/components/accordion/overview.md +13 -1
- package/docs/components/accordion/reference.md +13 -1
- package/docs/components/accordion/use-cases.md +13 -1
- package/docs/components/button/api-table.md +40 -31
- package/docs/components/button/examples.md +13 -1
- package/docs/components/button/extensions.md +13 -1
- package/docs/components/button/index.md +11 -1
- package/docs/components/button/overview.md +13 -1
- package/docs/components/button/use-cases.md +13 -1
- package/docs/components/calendar/api-table.md +26 -14
- package/docs/components/calendar/index.md +11 -1
- package/docs/components/calendar/overview.md +13 -1
- package/docs/components/calendar/use-cases.md +13 -1
- package/docs/components/checkbox-group/api-table.md +318 -330
- package/docs/components/checkbox-group/index.md +11 -1
- package/docs/components/checkbox-group/overview.md +15 -3
- package/docs/components/checkbox-group/use-cases.md +13 -1
- package/docs/components/collapsible/api-table.md +18 -6
- package/docs/components/collapsible/examples.md +13 -1
- package/docs/components/collapsible/index.md +11 -1
- package/docs/components/collapsible/overview.md +14 -2
- package/docs/components/collapsible/use-cases.md +13 -1
- package/docs/components/combobox/api-table.md +163 -155
- package/docs/components/combobox/extensions.md +13 -1
- package/docs/components/combobox/index.md +11 -1
- package/docs/components/combobox/overview.md +14 -2
- package/docs/components/combobox/use-cases.md +14 -2
- package/docs/components/dialog/api-table.md +25 -13
- package/docs/components/dialog/index.md +11 -1
- package/docs/components/dialog/overview.md +14 -2
- package/docs/components/dialog/use-cases.md +13 -1
- package/docs/components/drawer/api-table.md +22 -11
- package/docs/components/drawer/index.md +11 -1
- package/docs/components/drawer/overview.md +13 -1
- package/docs/components/drawer/use-cases.md +13 -1
- package/docs/components/fieldset/api-table.md +117 -119
- package/docs/components/fieldset/index.md +11 -1
- package/docs/components/fieldset/overview.md +18 -6
- package/docs/components/fieldset/use-cases.md +13 -1
- package/docs/components/form/api-table.md +12 -1
- package/docs/components/form/index.md +11 -1
- package/docs/components/form/overview.md +16 -4
- package/docs/components/form/use-cases.md +15 -3
- package/docs/components/icon/api-table.md +16 -4
- package/docs/components/icon/index.md +11 -1
- package/docs/components/icon/overview.md +13 -1
- package/docs/components/icon/use-cases.md +14 -2
- package/docs/components/index.md +11 -1
- package/docs/components/input/api-table.md +123 -121
- package/docs/components/input/index.md +11 -1
- package/docs/components/input/overview.md +14 -2
- package/docs/components/input/use-cases.md +13 -1
- package/docs/components/input-amount/api-table.md +142 -143
- package/docs/components/input-amount/index.md +11 -1
- package/docs/components/input-amount/overview.md +16 -4
- package/docs/components/input-amount/use-cases.md +13 -1
- package/docs/components/input-date/api-table.md +123 -121
- package/docs/components/input-date/index.md +11 -1
- package/docs/components/input-date/overview.md +16 -4
- package/docs/components/input-date/use-cases.md +13 -1
- package/docs/components/input-datepicker/api-table.md +161 -161
- package/docs/components/input-datepicker/index.md +11 -1
- package/docs/components/input-datepicker/overview.md +18 -6
- package/docs/components/input-datepicker/use-cases.md +13 -1
- package/docs/components/input-email/api-table.md +123 -121
- package/docs/components/input-email/index.md +11 -1
- package/docs/components/input-email/overview.md +15 -3
- package/docs/components/input-email/use-cases.md +13 -1
- package/docs/components/input-file/api-table.md +145 -144
- package/docs/components/input-file/index.md +11 -1
- package/docs/components/input-file/overview.md +14 -2
- package/docs/components/input-file/use-cases.md +13 -1
- package/docs/components/input-iban/api-table.md +123 -121
- package/docs/components/input-iban/index.md +11 -1
- package/docs/components/input-iban/overview.md +15 -3
- package/docs/components/input-iban/use-cases.md +13 -1
- package/docs/components/input-range/api-table.md +129 -127
- package/docs/components/input-range/index.md +11 -1
- package/docs/components/input-range/overview.md +15 -3
- package/docs/components/input-range/use-cases.md +13 -1
- package/docs/components/input-stepper/api-table.md +136 -134
- package/docs/components/input-stepper/index.md +11 -1
- package/docs/components/input-stepper/overview.md +14 -2
- package/docs/components/input-stepper/use-cases.md +13 -1
- package/docs/components/input-tel/api-table.md +131 -129
- package/docs/components/input-tel/index.md +11 -1
- package/docs/components/input-tel/overview.md +14 -2
- package/docs/components/input-tel/use-cases.md +19 -7
- package/docs/components/input-tel-dropdown/api-table.md +138 -136
- package/docs/components/input-tel-dropdown/extensions.md +13 -1
- package/docs/components/input-tel-dropdown/index.md +11 -1
- package/docs/components/input-tel-dropdown/overview.md +14 -2
- package/docs/components/input-tel-dropdown/use-cases.md +13 -1
- package/docs/components/listbox/api-table.md +139 -132
- package/docs/components/listbox/index.md +11 -1
- package/docs/components/listbox/overview.md +13 -1
- package/docs/components/listbox/use-cases.md +14 -2
- package/docs/components/pagination/api-table.md +18 -6
- package/docs/components/pagination/index.md +11 -1
- package/docs/components/pagination/overview.md +13 -1
- package/docs/components/pagination/use-cases.md +13 -1
- package/docs/components/progress-indicator/api-table.md +22 -11
- package/docs/components/progress-indicator/examples.md +13 -1
- package/docs/components/progress-indicator/index.md +11 -1
- package/docs/components/progress-indicator/overview.md +13 -1
- package/docs/components/radio-group/api-table.md +247 -259
- package/docs/components/radio-group/index.md +11 -1
- package/docs/components/radio-group/overview.md +16 -4
- package/docs/components/radio-group/use-cases.md +13 -1
- package/docs/components/select/api-table.md +119 -117
- package/docs/components/select/index.md +11 -1
- package/docs/components/select/overview.md +13 -1
- package/docs/components/select/use-cases.md +14 -2
- package/docs/components/select-rich/api-table.md +182 -179
- package/docs/components/select-rich/examples.md +13 -1
- package/docs/components/select-rich/index.md +11 -1
- package/docs/components/select-rich/overview.md +13 -1
- package/docs/components/select-rich/use-cases.md +14 -2
- package/docs/components/steps/api-table.md +19 -7
- package/docs/components/steps/index.md +11 -1
- package/docs/components/steps/overview.md +13 -1
- package/docs/components/steps/use-cases.md +13 -1
- package/docs/components/switch/api-table.md +130 -129
- package/docs/components/switch/index.md +11 -1
- package/docs/components/switch/overview.md +13 -1
- package/docs/components/switch/reference.md +13 -1
- package/docs/components/switch/use-cases.md +13 -1
- package/docs/components/tabs/api-table.md +14 -2
- package/docs/components/tabs/examples.md +14 -2
- package/docs/components/tabs/index.md +11 -1
- package/docs/components/tabs/overview.md +13 -1
- package/docs/components/tabs/use-cases.md +13 -1
- package/docs/components/textarea/api-table.md +127 -125
- package/docs/components/textarea/index.md +11 -1
- package/docs/components/textarea/overview.md +13 -1
- package/docs/components/textarea/use-cases.md +13 -1
- package/docs/components/tooltip/api-table.md +26 -14
- package/docs/components/tooltip/examples.md +13 -1
- package/docs/components/tooltip/index.md +11 -1
- package/docs/components/tooltip/overview.md +13 -1
- package/docs/components/tooltip/use-cases.md +13 -1
- package/docs/fundamentals/index.md +4 -4
- package/docs/fundamentals/node-tools/babel-plugin-extend-docs/index.md +12 -0
- package/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md +13 -0
- package/docs/fundamentals/node-tools/index.md +10 -0
- package/docs/fundamentals/node-tools/providence-analytics/index.md +12 -0
- package/docs/fundamentals/node-tools/providence-analytics/overview.md +13 -0
- package/docs/fundamentals/node-tools/publish-docs/index.md +12 -0
- package/docs/fundamentals/node-tools/publish-docs/overview.md +16 -3
- package/docs/fundamentals/node-tools/remark-extend/index.md +12 -0
- package/docs/fundamentals/node-tools/remark-extend/overview.md +13 -0
- package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/index.md +12 -0
- package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +15 -2
- package/docs/fundamentals/rationales/TypeScript.md +12 -0
- package/docs/fundamentals/rationales/accessibility.md +13 -1
- package/docs/fundamentals/rationales/index.md +10 -0
- package/docs/fundamentals/rationales/side-effects.md +12 -0
- package/docs/fundamentals/rationales/versioning.md +12 -0
- package/docs/fundamentals/systems/core/SlotMixin.md +14 -1
- package/docs/fundamentals/systems/core/api-table.md +22 -12
- package/docs/fundamentals/systems/core/index.md +12 -0
- package/docs/fundamentals/systems/core/overview.md +14 -1
- package/docs/fundamentals/systems/form/api-table.md +91 -83
- package/docs/fundamentals/systems/form/formatting-and-parsing.md +17 -4
- package/docs/fundamentals/systems/form/index.md +12 -0
- package/docs/fundamentals/systems/form/interaction-states.md +13 -0
- package/docs/fundamentals/systems/form/model-value.md +14 -1
- package/docs/fundamentals/systems/form/overview.md +41 -28
- package/docs/fundamentals/systems/form/styling.md +13 -0
- package/docs/fundamentals/systems/form/use-cases.md +13 -0
- package/docs/fundamentals/systems/form/validate.md +15 -2
- package/docs/fundamentals/systems/icon/index.md +12 -0
- package/docs/fundamentals/systems/icon/overview.md +13 -0
- package/docs/fundamentals/systems/index.md +10 -0
- package/docs/fundamentals/systems/localize/api-table.md +33 -20
- package/docs/fundamentals/systems/localize/dates.md +13 -0
- package/docs/fundamentals/systems/localize/index.md +12 -0
- package/docs/fundamentals/systems/localize/numbers.md +13 -0
- package/docs/fundamentals/systems/localize/overview.md +17 -4
- package/docs/fundamentals/systems/localize/rationale.md +13 -0
- package/docs/fundamentals/systems/localize/text.md +13 -0
- package/docs/fundamentals/systems/localize/use-cases.md +13 -0
- package/docs/fundamentals/systems/overlays/_configuration-positioning.md +11 -0
- package/docs/fundamentals/systems/overlays/_edge-cases.md +10 -0
- package/docs/fundamentals/systems/overlays/api-table.md +59 -47
- package/docs/fundamentals/systems/overlays/configuration.md +15 -2
- package/docs/fundamentals/systems/overlays/index.md +12 -0
- package/docs/fundamentals/systems/overlays/overview.md +18 -5
- package/docs/fundamentals/systems/overlays/rationale.md +13 -0
- package/docs/fundamentals/systems/overlays/use-cases.md +15 -2
- package/docs/fundamentals/tools/ajax/index.md +12 -0
- package/docs/fundamentals/tools/ajax/overview.md +13 -0
- package/docs/fundamentals/tools/ajax/use-cases.md +13 -0
- package/docs/fundamentals/tools/helpers/action-logger.md +13 -0
- package/docs/fundamentals/tools/helpers/index.md +12 -0
- package/docs/fundamentals/tools/helpers/overview.md +14 -1
- package/docs/fundamentals/tools/index.md +10 -0
- package/docs/fundamentals/tools/singleton-manager/example-complex/index.md +13 -0
- package/docs/fundamentals/tools/singleton-manager/example-fail/index.md +13 -0
- package/docs/fundamentals/tools/singleton-manager/example-success/index.md +13 -0
- package/docs/fundamentals/tools/singleton-manager/index.md +12 -0
- package/docs/fundamentals/tools/singleton-manager/overview.md +17 -4
- package/docs/guides/how-to/create-a-custom-field.md +18 -6
- package/docs/guides/how-to/create-a-form.md +17 -5
- package/docs/guides/how-to/extend-a-native-input.md +15 -3
- package/docs/guides/how-to/get-started.md +13 -1
- package/docs/guides/how-to/index.md +11 -1
- package/docs/guides/index.md +19 -9
- package/docs/guides/principles/definitions-and-terms.md +13 -1
- package/docs/guides/principles/index.md +16 -6
- package/docs/guides/principles/scoped-elements.md +13 -1
- package/docs/guides/principles/styling.md +14 -2
- package/docs/guides/principles/subclasser-apis.md +13 -1
- package/package.json +1 -1
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- Formatting and Parsing
|
|
4
|
+
- Form
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Form: Formatting and Parsing'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: Systems >> Form >> Formatting and Parsing
|
|
9
|
+
title: Formatting and Parsing
|
|
10
|
+
order: 21
|
|
11
|
+
parent: Systems >> Form
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# Systems >> Form >> Formatting and Parsing ||21
|
|
2
15
|
|
|
3
16
|
```js script
|
|
@@ -23,7 +36,7 @@ Our fields can automatically format/parse/serialize user input or an input set i
|
|
|
23
36
|
|
|
24
37
|
Below are some concrete examples of implementations of formatters and parsers mimicking a (basic) amount input.
|
|
25
38
|
|
|
26
|
-
> For an actual amount input, check out [lion-input-amount](https://github.com/ing-bank/lion/blob/
|
|
39
|
+
> For an actual amount input, check out [lion-input-amount](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/input-amount/overview.md).
|
|
27
40
|
> This comes with its own formatter, parser, serializer.
|
|
28
41
|
|
|
29
42
|
### Parsers & modelValue
|
|
@@ -230,16 +243,16 @@ Below we show three flow diagrams to show the flow of formatting, serializing an
|
|
|
230
243
|
|
|
231
244
|
Where a user changes the input with their keyboard:
|
|
232
245
|
|
|
233
|
-

|
|
234
247
|
|
|
235
248
|
### Unparseable flow
|
|
236
249
|
|
|
237
250
|
Where a user sets the input to something that is not parseable by the parser:
|
|
238
251
|
|
|
239
|
-

|
|
240
253
|
|
|
241
254
|
### Imperative / programmatic flow
|
|
242
255
|
|
|
243
256
|
Where the developer sets the modelValue of the input programmatically:
|
|
244
257
|
|
|
245
|
-

|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- Interaction States
|
|
4
|
+
- Form
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Form: Interaction States'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: Systems >> Form >> Interaction States
|
|
9
|
+
title: Interaction States
|
|
10
|
+
order: 22
|
|
11
|
+
parent: Systems >> Form
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# Systems >> Form >> Interaction States ||22
|
|
2
15
|
|
|
3
16
|
```js script
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- ModelValue
|
|
4
|
+
- Form
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Form: ModelValue'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: Systems >> Form >> ModelValue
|
|
9
|
+
title: ModelValue
|
|
10
|
+
order: 20
|
|
11
|
+
parent: Systems >> Form
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# Systems >> Form >> ModelValue ||20
|
|
2
15
|
|
|
3
16
|
The modelValue or model can be considered as the ‘aorta’ of our form system.
|
|
@@ -21,7 +34,7 @@ level, via:
|
|
|
21
34
|
> Internal/private concepts like viewValue, formattedValue, serializedValue are therefore not
|
|
22
35
|
> recommended as a means of interaction.
|
|
23
36
|
|
|
24
|
-
For more information about parsing and the Unparseable type, see [Formatting and Parsing](https://github.com/ing-bank/lion/blob/
|
|
37
|
+
For more information about parsing and the Unparseable type, see [Formatting and Parsing](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/formatting-and-parsing.md)
|
|
25
38
|
|
|
26
39
|
### Event meta
|
|
27
40
|
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- Overview
|
|
4
|
+
- Form
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Form: Overview'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: Systems >> Form >> Overview
|
|
9
|
+
title: Overview
|
|
10
|
+
order: 10
|
|
11
|
+
parent: Systems >> Form
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# Systems >> Form >> Overview ||10
|
|
2
15
|
|
|
3
16
|
This page should be used as a starting point when first using the Form System.
|
|
@@ -20,9 +33,9 @@ Fields (think of an input, textarea, select) are the actual form controls the en
|
|
|
20
33
|
|
|
21
34
|
On top of this, they feature:
|
|
22
35
|
|
|
23
|
-
- [formatting/parsing/serializing](https://github.com/ing-bank/lion/blob/
|
|
24
|
-
- Advanced [validation](https://github.com/ing-bank/lion/blob/
|
|
25
|
-
- Creation of advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/
|
|
36
|
+
- [formatting/parsing/serializing](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/formatting-and-parsing.md) of view values.
|
|
37
|
+
- Advanced [validation](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/validate.md) possibilities.
|
|
38
|
+
- Creation of advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/interaction-states.md).
|
|
26
39
|
- Provision of labels and help texts in an easy, declarative manner.
|
|
27
40
|
- Accessibility out of the box.
|
|
28
41
|
- Advanced styling possibilities: map your own Design System to the internal HTML structure.
|
|
@@ -31,33 +44,33 @@ On top of this, they feature:
|
|
|
31
44
|
|
|
32
45
|
### Platform fields (wrappers)
|
|
33
46
|
|
|
34
|
-
- [LionInput](https://github.com/ing-bank/lion/blob/
|
|
35
|
-
- [LionTextarea](https://github.com/ing-bank/lion/blob/
|
|
36
|
-
- [LionSelect](https://github.com/ing-bank/lion/blob/
|
|
47
|
+
- [LionInput](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/input/overview.md), a wrapper for `<input>`.
|
|
48
|
+
- [LionTextarea](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/textarea/overview.md), a wrapper for `<textarea>`.
|
|
49
|
+
- [LionSelect](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/select/overview.md), a wrapper for `<select>`.
|
|
37
50
|
|
|
38
51
|
### Custom fields (wrappers)
|
|
39
52
|
|
|
40
|
-
Whenever a native form control doesn't exist or is not sufficient, a [custom form field](https://github.com/ing-bank/lion/blob/
|
|
53
|
+
Whenever a native form control doesn't exist or is not sufficient, a [custom form field](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/guides/how-to/create-a-custom-field.md) should be created. One could think of components like:
|
|
41
54
|
|
|
42
|
-
- [LionCombobox](https://github.com/ing-bank/lion/blob/
|
|
43
|
-
- [LionDate](https://github.com/ing-bank/lion/blob/
|
|
44
|
-
- [LionDatepicker](https://github.com/ing-bank/lion/blob/
|
|
45
|
-
- [LionListbox](https://github.com/ing-bank/lion/blob/
|
|
46
|
-
- [LionInputAmount](https://github.com/ing-bank/lion/blob/
|
|
47
|
-
- [LionInputEmail](https://github.com/ing-bank/lion/blob/
|
|
48
|
-
- [LionInputIban](https://github.com/ing-bank/lion/blob/
|
|
49
|
-
- [LionInputRange](https://github.com/ing-bank/lion/blob/
|
|
50
|
-
- [LionInputStepper](https://github.com/ing-bank/lion/blob/
|
|
51
|
-
- [LionSelectRich](https://github.com/ing-bank/lion/blob/
|
|
55
|
+
- [LionCombobox](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/combobox/overview.md), a custom implementation of a combobox.
|
|
56
|
+
- [LionDate](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/input-date/overview.md), an alternative for `<input type="date">`.
|
|
57
|
+
- [LionDatepicker](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/input-datepicker/overview.md), an alternative for `<input type="date">` including a calendar dropdown.
|
|
58
|
+
- [LionListbox](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/listbox/overview.md), a custom implementation of a listbox.
|
|
59
|
+
- [LionInputAmount](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/input-amount/overview.md), an alternative for `<input type="number">` special for amounts.
|
|
60
|
+
- [LionInputEmail](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/input-email/overview.md), an alternative for `<input type="email">`.
|
|
61
|
+
- [LionInputIban](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/input-iban/overview.md), an ING specific for an input with IBAN numbers.
|
|
62
|
+
- [LionInputRange](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/input-range/overview.md), an alternative for `<input type="range">`.
|
|
63
|
+
- [LionInputStepper](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/input-stepper/overview.md), an alternative for `<input type="number">`.
|
|
64
|
+
- [LionSelectRich](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/select-rich/overview.md), an alternative for `<select>` with multiline options.
|
|
52
65
|
|
|
53
66
|
### Choice Input Fields
|
|
54
67
|
|
|
55
68
|
For form controls which return a `checked-state` you can use the `lion-choice-input` mixin. It is used in:
|
|
56
69
|
|
|
57
|
-
- [LionCheckbox](https://github.com/ing-bank/lion/blob/
|
|
70
|
+
- [LionCheckbox](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/checkbox-group/overview.md), a wrapper for `<input type="checkbox">`.
|
|
58
71
|
- LionOption, an alternative for `<option>`.
|
|
59
|
-
- [LionRadio](https://github.com/ing-bank/lion/blob/
|
|
60
|
-
- [LionSwitch](https://github.com/ing-bank/lion/blob/
|
|
72
|
+
- [LionRadio](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/radio-group/overview.md), a wrapper for `<input type="radio">`.
|
|
73
|
+
- [LionSwitch](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/switch/overview.md), a custom implementation of a switch.
|
|
61
74
|
|
|
62
75
|
Which contains the following features:
|
|
63
76
|
|
|
@@ -69,14 +82,14 @@ Which contains the following features:
|
|
|
69
82
|
|
|
70
83
|
Fieldsets are groups of fields. They can be considered fields on their own as well, since they partly share the normalized API via `FormControlMixin`. Fieldsets are the basis for:
|
|
71
84
|
|
|
72
|
-
- [LionFieldset](https://github.com/ing-bank/lion/blob/
|
|
73
|
-
- [LionForm](https://github.com/ing-bank/lion/blob/
|
|
74
|
-
- [LionCheckboxGroup](https://github.com/ing-bank/lion/blob/
|
|
75
|
-
- [LionRadioGroup](https://github.com/ing-bank/lion/blob/
|
|
85
|
+
- [LionFieldset](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/fieldset/overview.md), a wrapper around multiple input fields or other fieldsets.
|
|
86
|
+
- [LionForm](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/form/overview.md), enhances the functionality of the native `<form>` component.
|
|
87
|
+
- [LionCheckboxGroup](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/checkbox-group/overview.md), a wrapper component for multiple checkboxes.
|
|
88
|
+
- [LionRadioGroup](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/components/radio-group/overview.md), a wrapper component for multiple radio inputs.
|
|
76
89
|
|
|
77
90
|
## Other Resources
|
|
78
91
|
|
|
79
|
-
- [Model Value](https://github.com/ing-bank/lion/blob/
|
|
80
|
-
- [Formatting and parsing](https://github.com/ing-bank/lion/blob/
|
|
81
|
-
- [Interaction states](https://github.com/ing-bank/lion/blob/
|
|
82
|
-
- [Validation System](https://github.com/ing-bank/lion/blob/
|
|
92
|
+
- [Model Value](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/model-value.md)
|
|
93
|
+
- [Formatting and parsing](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/formatting-and-parsing.md)
|
|
94
|
+
- [Interaction states](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/interaction-states.md)
|
|
95
|
+
- [Validation System](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/validate.md)
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- Styling
|
|
4
|
+
- Form
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Form: Styling'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: Systems >> Form >> Styling
|
|
9
|
+
title: Styling
|
|
10
|
+
order: 40
|
|
11
|
+
parent: Systems >> Form
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# Systems >> Form >> Styling ||40
|
|
2
15
|
|
|
3
16
|
```js script
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- Use Cases
|
|
4
|
+
- Form
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Form: Use Cases'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: Systems >> Form >> Use Cases
|
|
9
|
+
title: Use Cases
|
|
10
|
+
order: 50
|
|
11
|
+
parent: Systems >> Form
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# Systems >> Form >> Use Cases ||50
|
|
2
15
|
|
|
3
16
|
This is a meta package to show interaction between various form elements.
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- Validate
|
|
4
|
+
- Form
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Form: Validate'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: Systems >> Form >> Validate
|
|
9
|
+
title: Validate
|
|
10
|
+
order: 30
|
|
11
|
+
parent: Systems >> Form
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# Systems >> Form >> Validate ||30
|
|
2
15
|
|
|
3
16
|
```js script
|
|
@@ -57,7 +70,7 @@ Validation happens on every change of `modelValue`. A change in modelValue can b
|
|
|
57
70
|
|
|
58
71
|
## When validation feedback will be shown
|
|
59
72
|
|
|
60
|
-
Although validation happens realtime under the hood, displaying validity feedback in realtime may not always lead to the desired User Experience. Together with [interaction states](https://github.com/ing-bank/lion/blob/
|
|
73
|
+
Although validation happens realtime under the hood, displaying validity feedback in realtime may not always lead to the desired User Experience. Together with [interaction states](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/interaction-states.md),
|
|
61
74
|
validity states can determine whether a validation message should be shown along the input field.
|
|
62
75
|
|
|
63
76
|
## Assessing field validation state programmatically
|
|
@@ -232,7 +245,7 @@ export const requiredValidator = () => html`
|
|
|
232
245
|
`;
|
|
233
246
|
```
|
|
234
247
|
|
|
235
|
-
The default `Required` validation message is "Please, enter a(n) {fieldName}". In which the "fieldName" can be provided separately via the `fieldName` attribute, with a fallback to the label. See [override fieldname](https://github.com/ing-bank/lion/blob/
|
|
248
|
+
The default `Required` validation message is "Please, enter a(n) {fieldName}". In which the "fieldName" can be provided separately via the `fieldName` attribute, with a fallback to the label. See [override fieldname](https://github.com/ing-bank/lion/blob/87a1cb4d5bec301af6688be2c7bf778344d2ae42/docs/fundamentals/systems/form/#override-fieldname) for more information.
|
|
236
249
|
|
|
237
250
|
Specific required messages for a select and file-upload are created.
|
|
238
251
|
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- Overview
|
|
4
|
+
- Icon
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Icon: Overview'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: Systems >> Icon >> Overview
|
|
9
|
+
title: Overview
|
|
10
|
+
order: 10
|
|
11
|
+
parent: Systems >> Icon
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# Systems >> Icon >> Overview ||10
|
|
2
15
|
|
|
3
16
|
The icon system provides a way of defining icon sets which are lazily loaded on demand when
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- API Table
|
|
4
|
+
- Localize
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Localize: API Table'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: API Table >> Localize >> Systems
|
|
9
|
+
title: API Table
|
|
10
|
+
order: 90
|
|
11
|
+
parent: Systems >> Localize
|
|
12
|
+
---
|
|
13
|
+
# Localize: API Table
|
|
14
|
+
|
|
2
15
|
|
|
3
16
|
## class: `LocalizeManager`
|
|
4
17
|
|
|
@@ -6,45 +19,45 @@
|
|
|
6
19
|
|
|
7
20
|
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
8
21
|
| ---------------------------------- | --------- | --------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | -------------- |
|
|
9
|
-
| `formatNumberOptions` | public | `object` | `{ returnIfNaN: '', /** @type {Map<string, NumberPostProcessor>} */ postProcessors: new Map(), }` | The localize system uses (normalized) Intl for formatting numbers.
It's possible to customize this output per locale | |
|
|
10
22
|
| `formatDateOptions` | public | `object` | `{ /** @type {Map<string, DatePostProcessor>} */ postProcessors: new Map(), }` | The localize system uses (normalized) Intl for formatting dates.
It's possible to customize this output per locale | |
|
|
11
|
-
| `
|
|
23
|
+
| `formatNumberOptions` | public | `object` | `{ returnIfNaN: '', /** @type {Map<string, NumberPostProcessor>} */ postProcessors: new Map(), }` | The localize system uses (normalized) Intl for formatting numbers.
It's possible to customize this output per locale | |
|
|
12
24
|
| `loadingComplete` | public | | | | |
|
|
13
|
-
| `
|
|
14
|
-
| `_langAttrSetByTranslationTool` | protected | | | | |
|
|
25
|
+
| `locale` | public | | | | |
|
|
15
26
|
| `_autoLoadOnLocaleChange` | protected | `boolean` | `!!autoLoadOnLocaleChange` | | |
|
|
16
|
-
| `_showKeyAsFallback` | protected | | `showKeyAsFallback` | | |
|
|
17
27
|
| `_fallbackLocale` | protected | | `fallbackLocale` | | |
|
|
28
|
+
| `_langAttrSetByTranslationTool` | protected | | | | |
|
|
29
|
+
| `_showKeyAsFallback` | protected | | `showKeyAsFallback` | | |
|
|
30
|
+
| `_supportExternalTranslationTools` | protected | | | | |
|
|
18
31
|
|
|
19
32
|
### Methods
|
|
20
33
|
|
|
21
34
|
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
22
35
|
| ------------------------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------- | ----------------------- | -------------- |
|
|
23
36
|
| `addData` | public | | `locale: string, namespace: string, data: object` | | |
|
|
24
|
-
| `setupNamespaceLoader` | public | | `pattern: RegExp\|string, loader: function` | | |
|
|
25
|
-
| `loadNamespaces` | public | | `namespaces: NamespaceObject[], { locale }, options: @param {string} [options.locale] * ` | `Promise<Object>` | |
|
|
26
37
|
| `loadNamespace` | public | | `namespaceObj: NamespaceObject, { locale = this.locale }, options: @param {string} [options.locale] * ` | `Promise<Object\|void>` | |
|
|
38
|
+
| `loadNamespaces` | public | | `namespaces: NamespaceObject[], { locale }, options: @param {string} [options.locale] * ` | `Promise<Object>` | |
|
|
27
39
|
| `msg` | public | | `keys: string \| string[], vars: Object<string,?>, opts: @param {string} [opts.locale] * ` | `string` | |
|
|
28
|
-
| `teardown` | public | | | | |
|
|
29
40
|
| `reset` | public | | | | |
|
|
30
41
|
| `setDatePostProcessorForLocale` | public | | `{ locale, postProcessor }, options: {locale:string, postProcessor:DatePostProcessor}` | | |
|
|
31
42
|
| `setNumberPostProcessorForLocale` | public | | `{ locale, postProcessor }, options: {locale:string, postProcessor:NumberPostProcessor}` | | |
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `_teardownHtmlLangAttributeObserver` | protected | | | | |
|
|
36
|
-
| `_isNamespaceInCache` | protected | | `locale: string, namespace: string` | | |
|
|
43
|
+
| `setupNamespaceLoader` | public | | `pattern: RegExp\|string, loader: function` | | |
|
|
44
|
+
| `teardown` | public | | | | |
|
|
45
|
+
| `_cacheNamespaceLoaderPromise` | protected | | `locale: string, namespace: string, promise: Promise<Object\|void>` | | |
|
|
37
46
|
| `_getCachedNamespaceLoaderPromise` | protected | | `locale: string, namespace: string` | | |
|
|
38
|
-
| `
|
|
47
|
+
| `_getLangFromLocale` | protected | | `locale: string` | `string` | |
|
|
48
|
+
| `_getMessageForKey` | protected | | `key: string \| undefined, locale: string` | `string` | |
|
|
49
|
+
| `_getMessageForKeys` | protected | | `keys: string \| string[], locale: string` | `string \| undefined` | |
|
|
39
50
|
| `_getNamespaceLoader` | protected | | `namespaceObj: NamespaceObject, isDynamicImport: boolean, namespace: string` | | |
|
|
40
51
|
| `_getNamespaceLoaderPromise` | protected | | `loader: function, locale: string, namespace: string, fallbackLocale: string` | `Promise<any>` | |
|
|
41
|
-
| `
|
|
52
|
+
| `_isNamespaceInCache` | protected | | `locale: string, namespace: string` | | |
|
|
53
|
+
| `_loadAllMissing` | protected | | `newLocale: string, oldLocale: string` | | |
|
|
54
|
+
| `_loadNamespaceData` | protected | | `locale: string, namespaceObj: NamespaceObject, isDynamicImport: boolean, namespace: string` | `Promise<Object\|void>` | |
|
|
42
55
|
| `_lookupNamespaceLoader` | protected | | `namespace: string` | `function\|null` | |
|
|
43
|
-
| `_getLangFromLocale` | protected | | `locale: string` | `string` | |
|
|
44
56
|
| `_onLocaleChanged` | protected | | `newLocale: string, oldLocale: string` | `undefined` | |
|
|
45
|
-
| `
|
|
46
|
-
| `
|
|
47
|
-
| `
|
|
57
|
+
| `_setHtmlLangAttribute` | protected | | `locale: string` | | |
|
|
58
|
+
| `_setupHtmlLangAttributeObserver` | protected | | | | |
|
|
59
|
+
| `_setupTranslationToolSupport` | protected | This value allows for support for Google Translate (or other 3rd parties taking control
of the html\[lang] attribute).

Have the following scenario in mind:
1\. locale is initialized by developer via html\[data-localize-lang="en-US"] and
html\[lang="en-US"]. When localize is loaded (note that this also can be after step 2 below),
it will sync its initial state from html\[data-localize-lang]
2\. Google Translate kicks in for the French language. It will set html\[lang="fr"].
This new language is not one known by us, so we most likely don't have translations for
this file. Therefore, we do NOT sync this value to LocalizeManager. The manager should
still ask for known resources (in this case for locale 'en-US')
3\. locale is changed (think of a language dropdown)
It's a bit of a weird case, because we would not expect an end user to do this. If he/she
does, make sure that we do not go against Google Translate, so we maintain accessibility
(by not altering html\[lang]). We detect this by reading #localeSetByTranslationTool:
when its value is null, we consider Google translate 'not active'.

When Google Translate is turned off by the user (html\[lang=auto]),
\`localize.locale\` will be synced to html\[lang] again

Keep in mind that all of the above also works with other tools than Google Translate,
but this is the most widely used tool and therefore used as an example. | | | |
|
|
60
|
+
| `_teardownHtmlLangAttributeObserver` | protected | | | | |
|
|
48
61
|
|
|
49
62
|
### Events
|
|
50
63
|
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
parts:
|
|
3
|
+
- Format Dates
|
|
4
|
+
- Localize
|
|
5
|
+
- Systems
|
|
6
|
+
title: 'Localize: Format Dates'
|
|
7
|
+
eleventyNavigation:
|
|
8
|
+
key: Systems >> Localize >> Format Dates
|
|
9
|
+
title: Format Dates
|
|
10
|
+
order: 40
|
|
11
|
+
parent: Systems >> Localize
|
|
12
|
+
---
|
|
13
|
+
|
|
1
14
|
# Systems >> Localize >> Format Dates ||40
|
|
2
15
|
|
|
3
16
|
## Features
|