@lion/ui 0.1.5 → 0.2.1
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/accordion/src/LionAccordion.js +2 -2
- package/components/accordion/test/lion-accordion.test.js +31 -0
- package/components/calendar/src/LionCalendar.js +13 -3
- package/components/combobox/src/LionCombobox.js +107 -14
- package/components/combobox/src/validators.js +18 -0
- package/components/combobox/test/lion-combobox.test.js +286 -184
- package/components/combobox/test/validators.test.js +62 -0
- package/components/combobox/test-helpers/combobox-helpers.js +125 -0
- package/components/form-core/types/choice-group/ChoiceGroupMixinTypes.ts +4 -3
- package/components/input-datepicker/src/LionInputDatepicker.js +9 -1
- package/components/input-iban/translations/de.js +1 -1
- package/components/listbox/src/ListboxMixin.js +6 -0
- package/components/listbox/test-suites/ListboxMixin.suite.js +15 -8
- package/components/overlays/src/OverlayController.js +27 -7
- package/components/overlays/test/OverlayController.test.js +16 -2
- package/components/switch/src/LionSwitch.js +0 -3
- package/components/switch/src/LionSwitchButton.js +14 -1
- package/components/switch/test/lion-switch-button.test.js +15 -1
- package/components/switch/test/lion-switch.test.js +21 -6
- package/components/validate-messages/src/loadDefaultFeedbackMessagesNoSideEffects.js +11 -8
- package/components/validate-messages/translations/bg.js +4 -0
- package/components/validate-messages/translations/cs.js +2 -0
- package/components/validate-messages/translations/de.js +4 -0
- package/components/validate-messages/translations/en.js +2 -0
- package/components/validate-messages/translations/es.js +4 -0
- package/components/validate-messages/translations/fr.js +4 -0
- package/components/validate-messages/translations/hu.js +2 -0
- package/components/validate-messages/translations/it.js +4 -0
- package/components/validate-messages/translations/nl.js +4 -0
- package/components/validate-messages/translations/pl.js +2 -0
- package/components/validate-messages/translations/ro.js +4 -0
- package/components/validate-messages/translations/ru.js +4 -0
- package/components/validate-messages/translations/sk.js +2 -0
- package/components/validate-messages/translations/uk.js +4 -0
- package/components/validate-messages/translations/zh.js +2 -0
- package/custom-elements.json +1365 -34
- package/dist-types/components/calendar/src/LionCalendar.d.ts +2 -0
- package/dist-types/components/calendar/src/LionCalendar.d.ts.map +1 -1
- package/dist-types/components/combobox/src/LionCombobox.d.ts +37 -13
- package/dist-types/components/combobox/src/LionCombobox.d.ts.map +1 -1
- package/dist-types/components/combobox/src/validators.d.ts +13 -0
- package/dist-types/components/combobox/src/validators.d.ts.map +1 -0
- package/dist-types/components/combobox/test/lion-combobox.test.d.ts +0 -2
- package/dist-types/components/combobox/test/lion-combobox.test.d.ts.map +1 -1
- package/dist-types/components/combobox/test/validators.test.d.ts +2 -0
- package/dist-types/components/combobox/test/validators.test.d.ts.map +1 -0
- package/dist-types/components/combobox/test-helpers/combobox-helpers.d.ts +41 -0
- package/dist-types/components/combobox/test-helpers/combobox-helpers.d.ts.map +1 -0
- package/dist-types/components/form-core/types/choice-group/ChoiceGroupMixinTypes.d.ts +4 -3
- package/dist-types/components/form-core/types/choice-group/ChoiceGroupMixinTypes.d.ts.map +1 -1
- package/dist-types/components/input-datepicker/src/LionInputDatepicker.d.ts +4 -0
- package/dist-types/components/input-datepicker/src/LionInputDatepicker.d.ts.map +1 -1
- package/dist-types/components/listbox/src/ListboxMixin.d.ts.map +1 -1
- package/dist-types/components/listbox/test-suites/ListboxMixin.suite.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/switch/src/LionSwitch.d.ts +0 -1
- package/dist-types/components/switch/src/LionSwitch.d.ts.map +1 -1
- package/dist-types/components/switch/src/LionSwitchButton.d.ts +3 -0
- package/dist-types/components/switch/src/LionSwitchButton.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/components/validate-messages/src/loadDefaultFeedbackMessagesNoSideEffects.d.ts.map +1 -1
- package/dist-types/components/validate-messages/translations/bg-BG.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/bg.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/cs-CZ.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/cs.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/de-DE.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/de.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/en-AU.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/en-GB.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/en-PH.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/en-US.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/en.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/es-ES.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/es.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/fr-BE.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/fr-FR.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/fr.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/hu-HU.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/hu.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/it-IT.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/it.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/nl-BE.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/nl-NL.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/nl.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/pl-PL.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/pl.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/ro-RO.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/ro.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/ru-RU.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/ru.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/sk-SK.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/sk.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/uk-UA.d.ts +2 -0
- package/dist-types/components/validate-messages/translations/uk.d.ts +3 -0
- package/dist-types/components/validate-messages/translations/zh.d.ts +3 -0
- package/dist-types/exports/combobox-test-helpers.d.ts +2 -0
- package/dist-types/exports/combobox-test-helpers.d.ts.map +1 -0
- package/dist-types/exports/combobox.d.ts +1 -0
- package/dist-types/tsconfig.tsbuildinfo +1 -1
- package/docs/components/checkbox-group/overview.md +2 -2
- package/docs/components/checkbox-group/use-cases.md +1 -0
- package/docs/components/collapsible/overview.md +1 -1
- package/docs/components/combobox/overview.md +12 -2
- package/docs/components/combobox/use-cases.md +36 -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/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-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/radio-group/overview.md +3 -3
- package/docs/components/select-rich/overview.md +7 -10
- package/docs/components/select-rich/use-cases.md +54 -69
- package/docs/components/tabs/examples.md +1 -1
- package/docs/fundamentals/index.md +4 -4
- package/docs/fundamentals/node-tools/providence-analytics/LocalConfiguration.md +1 -1
- package/docs/fundamentals/node-tools/providence-analytics/QueryResult.md +1 -1
- package/docs/fundamentals/node-tools/providence-analytics/analyzer.md +1 -1
- package/docs/fundamentals/node-tools/providence-analytics/dashboard.md +1 -1
- package/docs/fundamentals/node-tools/providence-analytics/overview.md +3 -3
- 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/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 +1 -1
- 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 -10
- package/docs/fundamentals/systems/overlays/rationale.md +3 -6
- 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/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/combobox-test-helpers.js +1 -0
- package/exports/combobox.js +1 -0
- package/package.json +1 -1
|
@@ -18,23 +18,21 @@ You can set the full `modelValue` for each option, which includes the checked pr
|
|
|
18
18
|
|
|
19
19
|
The main feature of this rich select that makes it rich, is that your options can contain HTML.
|
|
20
20
|
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
<lion-
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
</lion-select-rich>
|
|
37
|
-
`;
|
|
21
|
+
```html preview-story
|
|
22
|
+
<lion-select-rich label="Favorite color" name="color">
|
|
23
|
+
<lion-option .choiceValue="${'red'}">
|
|
24
|
+
<p style="color: red;">I am red</p>
|
|
25
|
+
<p>and multi Line</p>
|
|
26
|
+
</lion-option>
|
|
27
|
+
<lion-option .choiceValue="${'hotpink'}" checked>
|
|
28
|
+
<p style="color: hotpink;">I am hotpink</p>
|
|
29
|
+
<p>and multi Line</p>
|
|
30
|
+
</lion-option>
|
|
31
|
+
<lion-option .choiceValue="${'teal'}">
|
|
32
|
+
<p style="color: teal;">I am teal</p>
|
|
33
|
+
<p>and multi Line</p>
|
|
34
|
+
</lion-option>
|
|
35
|
+
</lion-select-rich>
|
|
38
36
|
```
|
|
39
37
|
|
|
40
38
|
## Many Options with Scrolling
|
|
@@ -84,14 +82,12 @@ This will block the user from opening the select.
|
|
|
84
82
|
|
|
85
83
|
The readonly attribute is delegated to the invoker for disabling opening the overlay, and for styling purposes.
|
|
86
84
|
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
<lion-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
</lion-select-rich>
|
|
94
|
-
`;
|
|
85
|
+
```html preview-story
|
|
86
|
+
<lion-select-rich label="Read-only select" readonly name="color">
|
|
87
|
+
<lion-option .choiceValue=${'red'}>Red</lion-option>
|
|
88
|
+
<lion-option .choiceValue=${'hotpink'} checked>Hotpink</lion-option>
|
|
89
|
+
<lion-option .choiceValue=${'teal'}>Teal</lion-option>
|
|
90
|
+
</lion-select-rich>
|
|
95
91
|
```
|
|
96
92
|
|
|
97
93
|
## Disabled Select
|
|
@@ -100,26 +96,22 @@ You can set the `disabled` attribute to disable either specific options or the e
|
|
|
100
96
|
|
|
101
97
|
If you disable the entire select, the disabled attribute is also delegated to the invoker, similar to readonly.
|
|
102
98
|
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
<lion-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
</lion-select-rich>
|
|
110
|
-
`;
|
|
99
|
+
```html preview-story
|
|
100
|
+
<lion-select-rich label="Disabled select" disabled name="color">
|
|
101
|
+
<lion-option .choiceValue=${'red'}>Red</lion-option>
|
|
102
|
+
<lion-option .choiceValue=${'hotpink'} checked>Hotpink</lion-option>
|
|
103
|
+
<lion-option .choiceValue=${'teal'}>Teal</lion-option>
|
|
104
|
+
</lion-select-rich>
|
|
111
105
|
```
|
|
112
106
|
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
<lion-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
</lion-select-rich>
|
|
122
|
-
`;
|
|
107
|
+
```html preview-story
|
|
108
|
+
<lion-select-rich label="Disabled options" name="color">
|
|
109
|
+
<lion-option .choiceValue=${'red'} disabled>Red</lion-option>
|
|
110
|
+
<lion-option .choiceValue=${'blue'}>Blue</lion-option>
|
|
111
|
+
<lion-option .choiceValue=${'hotpink'} disabled>Hotpink</lion-option>
|
|
112
|
+
<lion-option .choiceValue=${'green'}>Green</lion-option>
|
|
113
|
+
<lion-option .choiceValue=${'teal'} disabled>Teal</lion-option>
|
|
114
|
+
</lion-select-rich>
|
|
123
115
|
```
|
|
124
116
|
|
|
125
117
|
## Render options
|
|
@@ -141,10 +133,9 @@ export const renderOptions = ({ shadowRoot }) => {
|
|
|
141
133
|
2,
|
|
142
134
|
);
|
|
143
135
|
}
|
|
144
|
-
const mv = { value: obj, checked: false };
|
|
145
136
|
return html`
|
|
146
137
|
<lion-select-rich label="Credit Card" name="color" @model-value-changed=${showOutput}>
|
|
147
|
-
${objs.map(obj => html` <lion-option .
|
|
138
|
+
${objs.map(obj => html` <lion-option .choiceValue=${obj}>${obj.label}</lion-option> `)}
|
|
148
139
|
</lion-select-rich>
|
|
149
140
|
<p>Full value:</p>
|
|
150
141
|
<pre id="demoRenderOutput"></pre>
|
|
@@ -159,19 +150,17 @@ By default, it will choose based on the user Operating System, but it can be for
|
|
|
159
150
|
|
|
160
151
|
This changes the keyboard interaction.
|
|
161
152
|
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
<lion-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
<lion-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
</lion-select-rich>
|
|
174
|
-
`;
|
|
153
|
+
```html preview-story
|
|
154
|
+
<lion-select-rich label="Mac mode" name="color" interaction-mode="mac">
|
|
155
|
+
<lion-option .choiceValue=${'red'}>Red</lion-option>
|
|
156
|
+
<lion-option .choiceValue=${'hotpink'} checked>Hotpink</lion-option>
|
|
157
|
+
<lion-option .choiceValue=${'teal'}>Teal</lion-option>
|
|
158
|
+
</lion-select-rich>
|
|
159
|
+
<lion-select-rich label="Windows/Linux mode" name="color" interaction-mode="windows/linux">
|
|
160
|
+
<lion-option .choiceValue=${'red'}>Red</lion-option>
|
|
161
|
+
<lion-option .choiceValue=${'hotpink'} checked>Hotpink</lion-option>
|
|
162
|
+
<lion-option .choiceValue=${'teal'}>Teal</lion-option>
|
|
163
|
+
</lion-select-rich>
|
|
175
164
|
```
|
|
176
165
|
|
|
177
166
|
## Checked index & value
|
|
@@ -195,7 +184,7 @@ export const checkedIndexAndValue = ({ shadowRoot }) => html`
|
|
|
195
184
|
type="number"
|
|
196
185
|
@change=${e => {
|
|
197
186
|
const selectEl = shadowRoot.querySelector('#checkedRichSelect');
|
|
198
|
-
selectEl.checkedIndex = e.target.value;
|
|
187
|
+
selectEl.checkedIndex = Number(e.target.value);
|
|
199
188
|
}}
|
|
200
189
|
/>
|
|
201
190
|
</div>
|
|
@@ -232,14 +221,12 @@ However, this allows the user to explicitly select this option.
|
|
|
232
221
|
Often, you may want a placeholder that appears initially, but cannot be selected explicitly by the user.
|
|
233
222
|
For this you can use `has-no-default-selected` attribute.
|
|
234
223
|
|
|
235
|
-
```
|
|
236
|
-
export const noDefaultSelection = () => html`
|
|
224
|
+
```html preview-story
|
|
237
225
|
<lion-select-rich name="favoriteColor" label="Favorite color" has-no-default-selected>
|
|
238
226
|
<lion-option .choiceValue=${'red'}>Red</lion-option>
|
|
239
227
|
<lion-option .choiceValue=${'hotpink'}>Hotpink</lion-option>
|
|
240
228
|
<lion-option .choiceValue=${'teal'}>Teal</lion-option>
|
|
241
229
|
</lion-select-rich>
|
|
242
|
-
`;
|
|
243
230
|
```
|
|
244
231
|
|
|
245
232
|
> By default, the placeholder is completely empty in the `LionSelectInvoker`,
|
|
@@ -249,12 +236,10 @@ export const noDefaultSelection = () => html`
|
|
|
249
236
|
|
|
250
237
|
If there is a single option rendered, then `singleOption` property is set to `true` on `lion-select-rich` and invoker as well. Invoker also gets `single-option` which can be used to having desired templating and styling. As in here the arrow is not displayed for single option
|
|
251
238
|
|
|
252
|
-
```
|
|
253
|
-
|
|
254
|
-
<lion-
|
|
255
|
-
|
|
256
|
-
</lion-select-rich>
|
|
257
|
-
`;
|
|
239
|
+
```html preview-story
|
|
240
|
+
<lion-select-rich label="Single Option" name="color">
|
|
241
|
+
<lion-option .choiceValue=${'red'}>Red</lion-option>
|
|
242
|
+
</lion-select-rich>
|
|
258
243
|
```
|
|
259
244
|
|
|
260
245
|
When adding/removing options the `singleOption` will only be `true` when there is exactly one option.
|
|
@@ -317,7 +302,7 @@ LionSelectRich will give it acces to:
|
|
|
317
302
|
- LionSelectRich itself, via `.hostElement`
|
|
318
303
|
|
|
319
304
|
Code of an advanced custom invoker is shown below (this is the code for the
|
|
320
|
-
invoker used in [IntlSelectRich](https://github.com/ing-bank/lion/blob/
|
|
305
|
+
invoker used in [IntlSelectRich](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/select-rich/examples.md)).
|
|
321
306
|
The invoker is usually added in the invoker slot of the LionSelectRich subclass.
|
|
322
307
|
However, it would also be possible for an application developer to provide the invoker
|
|
323
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/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/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. [](https://github.com/ing-bank/lion/blob/
|
|
12
|
+
1. [Systems](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/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/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/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/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/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/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/rationales/side-effects.md) <br>
|
|
19
19
|
The reasoning behind some of our decisions.
|
|
@@ -45,7 +45,7 @@ export default {
|
|
|
45
45
|
### referenceCollections
|
|
46
46
|
|
|
47
47
|
A list of file system paths. They can be defined relative from the current project root or they can be full paths.
|
|
48
|
-
When a [MatchAnalyzer](https://github.com/ing-bank/lion/blob/
|
|
48
|
+
When a [MatchAnalyzer](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/node-tools/providence-analytics/analyzer.md) like `match-imports` or `match-subclasses` is used, the default reference(s) can be configured here. For instance: ['/path/to/@lion/ui/form.js']
|
|
49
49
|
|
|
50
50
|
An example:
|
|
51
51
|
|
|
@@ -108,4 +108,4 @@ QueryOutput structure could be simplified in the future.
|
|
|
108
108
|
|
|
109
109
|
The output files stored in the file system always need to be machine independent:
|
|
110
110
|
this means that all machine specific information, like a complete filepath, needs to be removed from a QueryOutput (paths relative from project root are still allowed).
|
|
111
|
-
In that way, the caching mechanism (based on hash comparisons) as described in [Analyzer](https://github.com/ing-bank/lion/blob/
|
|
111
|
+
In that way, the caching mechanism (based on hash comparisons) as described in [Analyzer](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/node-tools/providence-analytics/analyzer.md) is guaranteed to work across different machines.
|
|
@@ -7,7 +7,7 @@ A few examples are:
|
|
|
7
7
|
- find-exports
|
|
8
8
|
- match-imports
|
|
9
9
|
|
|
10
|
-
An analyzer will give back a [QueryResult](https://github.com/ing-bank/lion/blob/
|
|
10
|
+
An analyzer will give back a [QueryResult](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/node-tools/providence-analytics/QueryResult.md) that will be written to the file system by Providence.
|
|
11
11
|
All analyzers need to extend from the `Analyzer` base class, found in `src/program/analyzers/helpers`.
|
|
12
12
|
|
|
13
13
|
## Public api
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Node Tools >> Providence Analytics >> Dashboard ||30
|
|
2
2
|
|
|
3
|
-
An interactive overview of all aggregated [QueryResults](https://github.com/ing-bank/lion/blob/
|
|
3
|
+
An interactive overview of all aggregated [QueryResults](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/node-tools/providence-analytics/QueryResult.md) can be found in the dashboard.
|
|
4
4
|
The dashboard is a small nodejs server (based on es-dev-server + middleware) and a frontend
|
|
5
5
|
application.
|
|
6
6
|
|
|
@@ -47,7 +47,7 @@ npm i --save-dev providence-analytics
|
|
|
47
47
|
You are now ready to use providence in your project. All
|
|
48
48
|
data will be stored in json files in the folder `./providence-output`
|
|
49
49
|
|
|
50
|
-

|
|
51
51
|
|
|
52
52
|
## Setup: Dashboard
|
|
53
53
|
|
|
@@ -76,7 +76,7 @@ export default {
|
|
|
76
76
|
|
|
77
77
|
Run `npm run providence:dashboard`
|
|
78
78
|
|
|
79
|
-

|
|
80
80
|
|
|
81
81
|
## Setup: about result output
|
|
82
82
|
|
|
@@ -153,7 +153,7 @@ Now you will get a list of all predefined analyzers:
|
|
|
153
153
|
- match-subclasses
|
|
154
154
|
- etc...
|
|
155
155
|
|
|
156
|
-

|
|
157
157
|
|
|
158
158
|
<!--
|
|
159
159
|
## Running providence from its own repo
|
|
@@ -31,7 +31,7 @@ For a Mono Repository
|
|
|
31
31
|
```md
|
|
32
32
|
# My Pkg
|
|
33
33
|
|
|
34
|
-
[=> See Source <=](https://github.com/ing-bank/lion/blob/
|
|
34
|
+
[=> See Source <=](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/docs/deep/dir/overview.md)
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
## CLI flags
|
|
@@ -61,7 +61,7 @@ Bring the `overview.md` in a docs folder along.
|
|
|
61
61
|
👉 `packages/[my-package]/docs/overview.md`
|
|
62
62
|
|
|
63
63
|
```md
|
|
64
|
-
[=> See Source <=](https://github.com/ing-bank/lion/blob/
|
|
64
|
+
[=> See Source <=](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/docs/deep/dir/overview.md)
|
|
65
65
|
```
|
|
66
66
|
|
|
67
67
|
Add a `use-cases.md`
|
|
@@ -69,7 +69,7 @@ Add a `use-cases.md`
|
|
|
69
69
|
👉 `packages/[my-package]/docs/use-cases.md`
|
|
70
70
|
|
|
71
71
|
```md
|
|
72
|
-
[=> See Source <=](https://github.com/ing-bank/lion/blob/
|
|
72
|
+
[=> See Source <=](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/docs/deep/dir/use-cases.md)
|
|
73
73
|
```
|
|
74
74
|
|
|
75
75
|
So you will end up with something like this in your package.
|
|
@@ -7,7 +7,7 @@ To do this automatically you can use this preset for [rocket](https://rocket.mod
|
|
|
7
7
|
|
|
8
8
|
## Features
|
|
9
9
|
|
|
10
|
-
- Import lion documentation and adjust it using [remark-extend](https://github.com/ing-bank/lion/blob/
|
|
10
|
+
- Import lion documentation and adjust it using [remark-extend](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/node-tools/remark-extend/overview.md)
|
|
11
11
|
- Renames named imports and all it's usage
|
|
12
12
|
- Adjusts import paths
|
|
13
13
|
- Replace tags in template literals
|
|
@@ -38,7 +38,7 @@ export default {
|
|
|
38
38
|
|
|
39
39
|
## Reusing documentation
|
|
40
40
|
|
|
41
|
-
To take an existing documentation you can "import" it using [remark-extend](https://github.com/ing-bank/lion/blob/
|
|
41
|
+
To take an existing documentation you can "import" it using [remark-extend](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/node-tools/remark-extend/overview.md).
|
|
42
42
|
|
|
43
43
|
As an example you can create `docs/components/tabs/overview.md`.
|
|
44
44
|
|
|
@@ -15,7 +15,7 @@ import { LitElement, html, render } from 'lit-element';
|
|
|
15
15
|
|
|
16
16
|
## Features
|
|
17
17
|
|
|
18
|
-
- [function to deduplicate mixins (dedupeMixin)](https://github.com/ing-bank/lion/blob/
|
|
18
|
+
- [function to deduplicate mixins (dedupeMixin)](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/core/#deduping-of-mixins)
|
|
19
19
|
- Mixin to handle disabled (DisabledMixin)
|
|
20
20
|
- Mixin to handle disabled AND tabIndex (DisabledWithTabIndexMixin)
|
|
21
21
|
- Mixin to manage auto-generated needed slot elements in light dom (SlotMixin)
|
|
@@ -23,7 +23,7 @@ Our fields can automatically format/parse/serialize user input or an input set i
|
|
|
23
23
|
|
|
24
24
|
Below are some concrete examples of implementations of formatters and parsers mimicking a (basic) amount input.
|
|
25
25
|
|
|
26
|
-
> For an actual amount input, check out [lion-input-amount](https://github.com/ing-bank/lion/blob/
|
|
26
|
+
> For an actual amount input, check out [lion-input-amount](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/input-amount/overview.md).
|
|
27
27
|
> This comes with its own formatter, parser, serializer.
|
|
28
28
|
|
|
29
29
|
### Parsers & modelValue
|
|
@@ -230,16 +230,16 @@ Below we show three flow diagrams to show the flow of formatting, serializing an
|
|
|
230
230
|
|
|
231
231
|
Where a user changes the input with their keyboard:
|
|
232
232
|
|
|
233
|
-

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

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

|
|
@@ -21,7 +21,7 @@ level, via:
|
|
|
21
21
|
> Internal/private concepts like viewValue, formattedValue, serializedValue are therefore not
|
|
22
22
|
> recommended as a means of interaction.
|
|
23
23
|
|
|
24
|
-
For more information about parsing and the Unparseable type, see [Formatting and Parsing](https://github.com/ing-bank/lion/blob/
|
|
24
|
+
For more information about parsing and the Unparseable type, see [Formatting and Parsing](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/form/formatting-and-parsing.md)
|
|
25
25
|
|
|
26
26
|
### Event meta
|
|
27
27
|
|
|
@@ -20,9 +20,9 @@ Fields (think of an input, textarea, select) are the actual form controls the en
|
|
|
20
20
|
|
|
21
21
|
On top of this, they feature:
|
|
22
22
|
|
|
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/
|
|
23
|
+
- [formatting/parsing/serializing](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/form/formatting-and-parsing.md) of view values.
|
|
24
|
+
- Advanced [validation](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/form/validate.md) possibilities.
|
|
25
|
+
- Creation of advanced user interaction scenarios via [interaction states](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/form/interaction-states.md).
|
|
26
26
|
- Provision of labels and help texts in an easy, declarative manner.
|
|
27
27
|
- Accessibility out of the box.
|
|
28
28
|
- Advanced styling possibilities: map your own Design System to the internal HTML structure.
|
|
@@ -31,33 +31,33 @@ On top of this, they feature:
|
|
|
31
31
|
|
|
32
32
|
### Platform fields (wrappers)
|
|
33
33
|
|
|
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/
|
|
34
|
+
- [LionInput](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/input/overview.md), a wrapper for `<input>`.
|
|
35
|
+
- [LionTextarea](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/textarea/overview.md), a wrapper for `<textarea>`.
|
|
36
|
+
- [LionSelect](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/select/overview.md), a wrapper for `<select>`.
|
|
37
37
|
|
|
38
38
|
### Custom fields (wrappers)
|
|
39
39
|
|
|
40
|
-
Whenever a native form control doesn't exist or is not sufficient, a [custom form field](https://github.com/ing-bank/lion/blob/
|
|
40
|
+
Whenever a native form control doesn't exist or is not sufficient, a [custom form field](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/guides/how-to/create-a-custom-field.md) should be created. One could think of components like:
|
|
41
41
|
|
|
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/
|
|
42
|
+
- [LionCombobox](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/combobox/overview.md), a custom implementation of a combobox.
|
|
43
|
+
- [LionDate](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/input-date/overview.md), an alternative for `<input type="date">`.
|
|
44
|
+
- [LionDatepicker](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/input-datepicker/overview.md), an alternative for `<input type="date">` including a calendar dropdown.
|
|
45
|
+
- [LionListbox](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/listbox/overview.md), a custom implementation of a listbox.
|
|
46
|
+
- [LionInputAmount](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/input-amount/overview.md), an alternative for `<input type="number">` special for amounts.
|
|
47
|
+
- [LionInputEmail](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/input-email/overview.md), an alternative for `<input type="email">`.
|
|
48
|
+
- [LionInputIban](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/input-iban/overview.md), an ING specific for an input with IBAN numbers.
|
|
49
|
+
- [LionInputRange](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/input-range/overview.md), an alternative for `<input type="range">`.
|
|
50
|
+
- [LionInputStepper](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/input-stepper/overview.md), an alternative for `<input type="number">`.
|
|
51
|
+
- [LionSelectRich](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/select-rich/overview.md), an alternative for `<select>` with multiline options.
|
|
52
52
|
|
|
53
53
|
### Choice Input Fields
|
|
54
54
|
|
|
55
55
|
For form controls which return a `checked-state` you can use the `lion-choice-input` mixin. It is used in:
|
|
56
56
|
|
|
57
|
-
- [LionCheckbox](https://github.com/ing-bank/lion/blob/
|
|
57
|
+
- [LionCheckbox](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/checkbox-group/overview.md), a wrapper for `<input type="checkbox">`.
|
|
58
58
|
- LionOption, an alternative for `<option>`.
|
|
59
|
-
- [LionRadio](https://github.com/ing-bank/lion/blob/
|
|
60
|
-
- [LionSwitch](https://github.com/ing-bank/lion/blob/
|
|
59
|
+
- [LionRadio](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/radio-group/overview.md), a wrapper for `<input type="radio">`.
|
|
60
|
+
- [LionSwitch](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/switch/overview.md), a custom implementation of a switch.
|
|
61
61
|
|
|
62
62
|
Which contains the following features:
|
|
63
63
|
|
|
@@ -69,14 +69,14 @@ Which contains the following features:
|
|
|
69
69
|
|
|
70
70
|
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
71
|
|
|
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/
|
|
72
|
+
- [LionFieldset](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/fieldset/overview.md), a wrapper around multiple input fields or other fieldsets.
|
|
73
|
+
- [LionForm](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/form/overview.md), enhances the functionality of the native `<form>` component.
|
|
74
|
+
- [LionCheckboxGroup](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/checkbox-group/overview.md), a wrapper component for multiple checkboxes.
|
|
75
|
+
- [LionRadioGroup](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/radio-group/overview.md), a wrapper component for multiple radio inputs.
|
|
76
76
|
|
|
77
77
|
## Other Resources
|
|
78
78
|
|
|
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/
|
|
79
|
+
- [Model Value](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/form/model-value.md)
|
|
80
|
+
- [Formatting and parsing](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/form/formatting-and-parsing.md)
|
|
81
|
+
- [Interaction states](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/form/interaction-states.md)
|
|
82
|
+
- [Validation System](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/form/validate.md)
|
|
@@ -58,7 +58,7 @@ Validation happens on every change of `modelValue`. A change in modelValue can b
|
|
|
58
58
|
|
|
59
59
|
## When validation feedback will be shown
|
|
60
60
|
|
|
61
|
-
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/
|
|
61
|
+
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/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/form/interaction-states.md),
|
|
62
62
|
validity states can determine whether a validation message should be shown along the input field.
|
|
63
63
|
|
|
64
64
|
## Assessing field validation state programmatically
|
|
@@ -9,15 +9,15 @@ In it's simplest form it is a function that returns the translated text for a na
|
|
|
9
9
|
- Formatting of numbers, amounts
|
|
10
10
|
- Formatting of dates
|
|
11
11
|
|
|
12
|
-
Further examples and a more in depth description can be found at the [Use Cases Page](https://github.com/ing-bank/lion/blob/
|
|
12
|
+
Further examples and a more in depth description can be found at the [Use Cases Page](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/localize/use-cases.md).
|
|
13
13
|
|
|
14
14
|
## Content
|
|
15
15
|
|
|
16
16
|
| Feature | Description |
|
|
17
17
|
| ---------------------------------------- | --------------------------------------------- |
|
|
18
|
-
| [Translate Text](https://github.com/ing-bank/lion/blob/
|
|
19
|
-
| [Format Numbers](https://github.com/ing-bank/lion/blob/
|
|
20
|
-
| [Format Dates](https://github.com/ing-bank/lion/blob/
|
|
18
|
+
| [Translate Text](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/localize/text.md) | Load and translate text in multiple languages |
|
|
19
|
+
| [Format Numbers](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/localize/numbers.md) | Format numbers in multiple languages |
|
|
20
|
+
| [Format Dates](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/localize/dates.md) | Format dates in multiple languages |
|
|
21
21
|
|
|
22
22
|
## Installation
|
|
23
23
|
|
|
@@ -68,7 +68,7 @@ export const placementGlobal = () => {
|
|
|
68
68
|
|
|
69
69
|
## isTooltip (placementMode: 'local')
|
|
70
70
|
|
|
71
|
-
As specified in the [overlay rationale](https://github.com/ing-bank/lion/blob/
|
|
71
|
+
As specified in the [overlay rationale](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/overlays/rationale.md) there are only two official types of overlays: dialogs and tooltips. And their main differences are:
|
|
72
72
|
|
|
73
73
|
- Dialogs have a modal option, tooltips don’t
|
|
74
74
|
- Dialogs have interactive content, tooltips don’t
|
|
@@ -373,7 +373,7 @@ Features:
|
|
|
373
373
|
|
|
374
374
|
> Popper strictly is scoped on positioning. **It does not change the dimensions of the content node nor the invoker node**.
|
|
375
375
|
> This also means that if you use the arrow feature, you are in charge of styling it properly, use the data-popper-placement attribute for this.
|
|
376
|
-
> An example implementation can be found in [lion-tooltip](https://github.com/ing-bank/lion/blob/
|
|
376
|
+
> An example implementation can be found in [lion-tooltip](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/tooltip/overview.md), where an arrow is set by default.
|
|
377
377
|
|
|
378
378
|
To override the default options we set for local mode, you add a `popperConfig` object to the config passed to the OverlayController.
|
|
379
379
|
Here's a succinct overview of some often used popper properties:
|
|
@@ -6,7 +6,7 @@ Manages their position on the screen relative to other elements, including other
|
|
|
6
6
|
|
|
7
7
|
Its purpose is to make it easy to use our Overlay System declaratively. It can be easily extended where needed, to override event listeners and more.
|
|
8
8
|
|
|
9
|
-
See [lion-dialog](../../../components/dialog/overview.md) and [lion-tooltip](https://github.com/ing-bank/lion/blob/
|
|
9
|
+
See [lion-dialog](../../../components/dialog/overview.md) and [lion-tooltip](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/components/tooltip/overview.md) for example Web Component implementations using the Overlay System.
|
|
10
10
|
|
|
11
11
|
## Features
|
|
12
12
|
|
|
@@ -18,9 +18,9 @@ See [lion-dialog](../../../components/dialog/overview.md) and [lion-tooltip](htt
|
|
|
18
18
|
- lion-overlay web component:
|
|
19
19
|
- Show content when clicking the invoker
|
|
20
20
|
- Have a `.config` object to set or update the OverlayController's configuration
|
|
21
|
-
- [**OverlaysManager**](https://github.com/ing-bank/lion/blob/
|
|
22
|
-
- [**OverlayController**](https://github.com/ing-bank/lion/blob/
|
|
23
|
-
- [**OverlayMixin**](https://github.com/ing-bank/lion/blob/
|
|
21
|
+
- [**OverlaysManager**](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/overlays/use-cases.md#overlaysmanager), a global repository keeping track of all different types of overlays
|
|
22
|
+
- [**OverlayController**](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/overlays/use-cases.md#overlaycontroller), a single controller class for handling overlays
|
|
23
|
+
- [**OverlayMixin**](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/overlays/use-cases.md#overlaymixin), a mixin that can be used to create webcomponents that use the OverlayController under the hood
|
|
24
24
|
|
|
25
25
|
Usually you will use `lion-dialog` (or `lion-tooltip` if this makes more sense).
|
|
26
26
|
|
|
@@ -110,9 +110,4 @@ class MyOverlayComponent extends OverlayMixin(LitElement) {
|
|
|
110
110
|
|
|
111
111
|
## Rationales
|
|
112
112
|
|
|
113
|
-
Please check the [system rationals](https://github.com/ing-bank/lion/blob/
|
|
114
|
-
|
|
115
|
-
### Aria roles
|
|
116
|
-
|
|
117
|
-
- No `aria-controls` as support for it is not quite there yet
|
|
118
|
-
- No `aria-haspopup`. People knowing the haspopup and hear about it don’t expect a dialog to open (at this moment in time) but expect a sub-menu. Until support for the dialog value has better implementation, it’s probably best to not use aria-haspopup on the element that opens the modal dialog.
|
|
113
|
+
Please check the [system rationals](https://github.com/ing-bank/lion/blob/7b2a234c6c05397bc2e2e944c5efbdea08d09d2b/docs/fundamentals/systems/overlays/rationale.md) folder, where we go more in-depth.
|
|
@@ -222,11 +222,8 @@ global(modal) dialog.
|
|
|
222
222
|
|
|
223
223
|
## Considerations
|
|
224
224
|
|
|
225
|
-
|
|
225
|
+
We use the native dialog purely because it renders to the "top layer". Not because of its accessible role, which varies per component. In the future we can use the popover attribute(<https://open-ui.org/components/popover.research.explainer/>) for this (which neatly differentiates between presentation and semantics).
|
|
226
226
|
|
|
227
|
-
|
|
227
|
+
So in our use of the dialog we want also a dialog that only does presentation (rendering on top layer in this case), but we want to check the semantics ourselves. Hence: `role="none"`. Even though the outcome is completely accessible, AXE-core uses this rule as a kind of "precautionary measure".
|
|
228
228
|
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
- No `aria-controls` as support for it is not quite there yet
|
|
232
|
-
- No `aria-haspopup`. People knowing the haspop up and hear about it don’t expect a dialog to open (at this moment in time) but expect a sub-menu. Until support for the dialog value has better implementation, it’s probably best to not use aria-haspopup on the element that opens the modal dialog.
|
|
229
|
+
After a cost/benefit analysis, we choose to be temporarily incompatible with AXE-core. Therefore, we recommend running tests with `{ ignoredRules: ['aria-allowed-role'] }`. When the popover is stable and used underwater in lion overlays, AXE can again be run without this ignoredRule.
|