@lion/ui 0.4.1 → 0.5.0
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 -3
- package/components/calendar/test-helpers/DayObject.js +2 -2
- package/components/combobox/src/LionCombobox.js +82 -29
- package/components/combobox/test/lion-combobox-integrations.test.js +5 -0
- package/components/combobox/test/lion-combobox.test.js +318 -23
- package/components/combobox/test-helpers/combobox-helpers.js +19 -22
- package/components/drawer/src/LionDrawer.js +1 -0
- package/components/form-core/src/FocusMixin.js +2 -0
- package/components/form-core/src/FormControlMixin.js +1 -1
- package/components/form-core/src/choice-group/ChoiceGroupMixin.js +1 -0
- package/components/form-core/src/choice-group/CustomChoiceGroupMixin.js +173 -0
- package/components/form-core/src/utils/getAriaElementsInRightDomOrder.js +7 -14
- package/components/form-core/src/validate/validators/Required.js +2 -2
- package/components/form-core/test/choice-group/CustomChoiceGroupMixin.integrations.test.js +55 -0
- package/components/form-core/test/choice-group/CustomChoiceGroupMixin.test.js +16 -0
- package/components/form-core/test/utils/getAriaElementsInRightDomOrder.test.js +0 -25
- package/components/form-core/test/validate/StringValidators.test.js +1 -1
- package/components/form-core/test-helpers/ExampleValidators.js +1 -3
- package/components/form-core/test-suites/FormRegistrationMixins.suite.js +2 -0
- package/components/form-core/test-suites/NativeTextFieldMixin.suite.js +4 -4
- package/components/form-core/test-suites/ValidateMixin.suite.js +27 -0
- package/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.js +11 -2
- package/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.js +1 -0
- package/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.js +265 -0
- package/components/form-core/types/choice-group/ChoiceGroupMixinTypes.ts +1 -1
- package/components/form-core/types/choice-group/CustomChoiceGroupMixinTypes.ts +30 -0
- package/components/form-core/types/choice-group/index.ts +1 -0
- package/components/helpers/src/SbActionLogger.js +1 -0
- package/components/icon/src/LionIcon.js +1 -9
- package/components/icon/test/lion-icon.test.js +2 -0
- package/components/input-amount/src/LionInputAmount.js +5 -2
- package/components/input-amount/test/lion-input-amount.test.js +21 -0
- package/components/input-range/test/lion-input-range.test.js +12 -6
- package/components/listbox/src/LionOptions.js +5 -5
- package/components/listbox/src/ListboxMixin.js +1 -16
- package/components/listbox/test/lion-options.test.js +1 -1
- package/components/listbox/test-suites/ListboxMixin.suite.js +1 -1
- package/components/localize/src/date/getMonthNames.js +3 -0
- package/components/localize/src/date/utils/forceDotsForNlnl.js +11 -0
- package/components/localize/src/number/utils/normalize-format-number-to-parts/forceAddGroupSeparators.js +3 -1
- package/components/localize/src/number/utils/normalize-format-number-to-parts/forceSymbols.js +2 -0
- package/components/localize/src/number/utils/normalize-format-number-to-parts/normalizeIntl.js +1 -0
- package/components/localize/test/date/getMonthNames.test.js +1 -0
- package/components/localize/test-helpers/fake-imports.js +1 -0
- package/components/overlays/src/utils/adopt-styles.js +1 -1
- package/components/radio-group/src/LionRadioGroup.js +1 -1
- package/components/radio-group/test/lion-radio-group.test.js +29 -0
- package/components/select/test/lion-select.test.js +1 -1
- package/components/switch/src/LionSwitchButton.js +1 -5
- package/components/tabs/src/LionTabs.js +7 -7
- package/components/textarea/src/LionTextarea.js +1 -1
- package/custom-elements.json +103314 -61972
- package/dist-types/components/calendar/src/LionCalendar.d.ts.map +1 -1
- package/dist-types/components/combobox/src/LionCombobox.d.ts +13 -8
- package/dist-types/components/combobox/src/LionCombobox.d.ts.map +1 -1
- package/dist-types/components/combobox/test-helpers/combobox-helpers.d.ts.map +1 -1
- package/dist-types/components/drawer/src/LionDrawer.d.ts.map +1 -1
- package/dist-types/components/form-core/src/FocusMixin.d.ts.map +1 -1
- package/dist-types/components/form-core/src/choice-group/ChoiceGroupMixin.d.ts.map +1 -1
- package/dist-types/components/form-core/src/choice-group/CustomChoiceGroupMixin.d.ts +4 -0
- package/dist-types/components/form-core/src/choice-group/CustomChoiceGroupMixin.d.ts.map +1 -0
- package/dist-types/components/form-core/src/utils/getAriaElementsInRightDomOrder.d.ts +5 -5
- package/dist-types/components/form-core/src/utils/getAriaElementsInRightDomOrder.d.ts.map +1 -1
- package/dist-types/components/form-core/test/choice-group/CustomChoiceGroupMixin.integrations.test.d.ts +2 -0
- package/dist-types/components/form-core/test/choice-group/CustomChoiceGroupMixin.integrations.test.d.ts.map +1 -0
- package/dist-types/components/form-core/test/choice-group/CustomChoiceGroupMixin.test.d.ts +6 -0
- package/dist-types/components/form-core/test/choice-group/CustomChoiceGroupMixin.test.d.ts.map +1 -0
- package/dist-types/components/form-core/test-helpers/ExampleValidators.d.ts +0 -1
- package/dist-types/components/form-core/test-helpers/ExampleValidators.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/FormRegistrationMixins.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/ValidateMixin.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.d.ts +14 -0
- package/dist-types/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.d.ts.map +1 -0
- package/dist-types/components/form-core/types/choice-group/ChoiceGroupMixinTypes.d.ts +1 -1
- package/dist-types/components/form-core/types/choice-group/ChoiceGroupMixinTypes.d.ts.map +1 -1
- package/dist-types/components/form-core/types/choice-group/CustomChoiceGroupMixinTypes.d.ts +18 -0
- package/dist-types/components/form-core/types/choice-group/CustomChoiceGroupMixinTypes.d.ts.map +1 -0
- package/dist-types/components/form-core/types/choice-group/index.d.ts +1 -0
- package/dist-types/components/form-core/types/choice-group/index.d.ts.map +1 -1
- package/dist-types/components/helpers/src/SbActionLogger.d.ts.map +1 -1
- package/dist-types/components/icon/src/LionIcon.d.ts +0 -9
- package/dist-types/components/icon/src/LionIcon.d.ts.map +1 -1
- package/dist-types/components/input-amount/src/LionInputAmount.d.ts +2 -2
- package/dist-types/components/input-amount/src/LionInputAmount.d.ts.map +1 -1
- package/dist-types/components/listbox/src/LionOptions.d.ts +0 -5
- package/dist-types/components/listbox/src/LionOptions.d.ts.map +1 -1
- package/dist-types/components/listbox/src/ListboxMixin.d.ts.map +1 -1
- package/dist-types/components/localize/src/date/getMonthNames.d.ts.map +1 -1
- package/dist-types/components/localize/src/date/utils/forceDotsForNlnl.d.ts +5 -0
- package/dist-types/components/localize/src/date/utils/forceDotsForNlnl.d.ts.map +1 -0
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceAddGroupSeparators.d.ts.map +1 -1
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/forceSymbols.d.ts.map +1 -1
- package/dist-types/components/localize/src/number/utils/normalize-format-number-to-parts/normalizeIntl.d.ts.map +1 -1
- package/dist-types/components/localize/test-helpers/fake-imports.d.ts.map +1 -1
- package/dist-types/components/switch/src/LionSwitchButton.d.ts +0 -5
- package/dist-types/components/switch/src/LionSwitchButton.d.ts.map +1 -1
- package/dist-types/components/tabs/src/LionTabs.d.ts.map +1 -1
- package/dist-types/exports/types/form-core.d.ts +1 -1
- package/dist-types/exports/types/form-core.d.ts.map +1 -1
- package/dist-types/tsconfig.tsbuildinfo +1 -1
- package/docs/components/checkbox-group/overview.md +2 -2
- package/docs/components/collapsible/assets/CustomCollapsible.js +4 -0
- package/docs/components/collapsible/overview.md +1 -1
- package/docs/components/combobox/overview.md +1 -1
- package/docs/components/combobox/src/demo-selection-display.js +8 -35
- package/docs/components/combobox/use-cases.md +24 -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-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/radio-group/overview.md +3 -3
- package/docs/components/select-rich/use-cases.md +1 -1
- package/docs/components/steps/overview.md +2 -4
- 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/rationales/accessibility.md +3 -3
- 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 +18 -2
- package/docs/fundamentals/systems/localize/overview.md +4 -4
- package/docs/fundamentals/systems/overlays/configuration.md +3 -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/example-complex/overlayCompatibility.js +1 -2
- 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/types/form-core.ts +5 -1
- package/package.json +1 -1
|
@@ -49,6 +49,35 @@ describe('<lion-radio-group>', () => {
|
|
|
49
49
|
await el.updateComplete;
|
|
50
50
|
expect(el.modelValue).to.deep.equal('female');
|
|
51
51
|
});
|
|
52
|
+
|
|
53
|
+
it('restores default values if changes were made to a group containing options with formatters', async () => {
|
|
54
|
+
const formatter = /** @type {(modelValue: { value: string}) => string} */ modelValue =>
|
|
55
|
+
modelValue.value.charAt(0);
|
|
56
|
+
const el = await fixture(html`
|
|
57
|
+
<lion-radio-group name="gender" label="Gender">
|
|
58
|
+
<lion-radio label="Male" .formatter=${formatter} .choiceValue=${'male'}></lion-radio>
|
|
59
|
+
<lion-radio
|
|
60
|
+
label="Female"
|
|
61
|
+
.formatter=${formatter}
|
|
62
|
+
.modelValue=${{ value: 'female', checked: true }}
|
|
63
|
+
></lion-radio>
|
|
64
|
+
<lion-radio label="Other" .formatter=${formatter} .choiceValue=${'other'}></lion-radio>
|
|
65
|
+
</lion-radio-group>
|
|
66
|
+
`);
|
|
67
|
+
el.formElements[0].checked = true;
|
|
68
|
+
expect(el.modelValue).to.deep.equal('male');
|
|
69
|
+
|
|
70
|
+
el.resetGroup();
|
|
71
|
+
expect(el.modelValue).to.deep.equal('female');
|
|
72
|
+
|
|
73
|
+
el.formElements[2].checked = true;
|
|
74
|
+
expect(el.modelValue).to.deep.equal('other');
|
|
75
|
+
|
|
76
|
+
el.resetGroup();
|
|
77
|
+
await el.formElements[1].updateComplete;
|
|
78
|
+
await el.updateComplete;
|
|
79
|
+
expect(el.modelValue).to.deep.equal('female');
|
|
80
|
+
});
|
|
52
81
|
});
|
|
53
82
|
|
|
54
83
|
it('should have role = radiogroup', async () => {
|
|
@@ -60,7 +60,7 @@ describe('lion-select', () => {
|
|
|
60
60
|
expect(lionSelect.formattedValue).to.equal('');
|
|
61
61
|
|
|
62
62
|
const select = /** @type {HTMLSlotElement} */ (
|
|
63
|
-
lionSelect.shadowRoot
|
|
63
|
+
/** @type {ShadowRoot} */ (lionSelect.shadowRoot).querySelector('slot[name=input]')
|
|
64
64
|
).assignedElements()[0];
|
|
65
65
|
const options = select.querySelectorAll('option');
|
|
66
66
|
options[1].textContent = 'Item 2';
|
|
@@ -4,10 +4,6 @@ import { DisabledWithTabIndexMixin } from '@lion/ui/core.js';
|
|
|
4
4
|
export class LionSwitchButton extends DisabledWithTabIndexMixin(LitElement) {
|
|
5
5
|
static get properties() {
|
|
6
6
|
return {
|
|
7
|
-
role: {
|
|
8
|
-
type: String,
|
|
9
|
-
reflect: true,
|
|
10
|
-
},
|
|
11
7
|
checked: {
|
|
12
8
|
type: Boolean,
|
|
13
9
|
reflect: true,
|
|
@@ -76,7 +72,6 @@ export class LionSwitchButton extends DisabledWithTabIndexMixin(LitElement) {
|
|
|
76
72
|
// inputNode = this, which always requires a value prop
|
|
77
73
|
this.value = '';
|
|
78
74
|
|
|
79
|
-
this.role = 'switch';
|
|
80
75
|
this.checked = false;
|
|
81
76
|
this.__initialized = false;
|
|
82
77
|
/** @protected */
|
|
@@ -89,6 +84,7 @@ export class LionSwitchButton extends DisabledWithTabIndexMixin(LitElement) {
|
|
|
89
84
|
|
|
90
85
|
connectedCallback() {
|
|
91
86
|
super.connectedCallback();
|
|
87
|
+
this.setAttribute('role', 'switch');
|
|
92
88
|
this.setAttribute('aria-checked', `${this.checked}`);
|
|
93
89
|
this.addEventListener('click', this._toggleChecked);
|
|
94
90
|
this.addEventListener('keydown', this.__handleKeydown);
|
|
@@ -345,6 +345,13 @@ export class LionTabs extends LitElement {
|
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
347
|
|
|
348
|
+
/**
|
|
349
|
+
* @return {number}
|
|
350
|
+
*/
|
|
351
|
+
get selectedIndex() {
|
|
352
|
+
return this.__selectedIndex || 0;
|
|
353
|
+
}
|
|
354
|
+
|
|
348
355
|
/**
|
|
349
356
|
* @param {number} value The new index
|
|
350
357
|
*/
|
|
@@ -371,13 +378,6 @@ export class LionTabs extends LitElement {
|
|
|
371
378
|
this.requestUpdate('selectedIndex', stale);
|
|
372
379
|
}
|
|
373
380
|
|
|
374
|
-
/**
|
|
375
|
-
* @return {number}
|
|
376
|
-
*/
|
|
377
|
-
get selectedIndex() {
|
|
378
|
-
return this.__selectedIndex || 0;
|
|
379
|
-
}
|
|
380
|
-
|
|
381
381
|
/** @protected */
|
|
382
382
|
get _pairCount() {
|
|
383
383
|
return (this.__store && this.__store.length) || 0;
|
|
@@ -198,7 +198,7 @@ export class LionTextarea extends NativeTextFieldMixin(LionFieldWithTextArea) {
|
|
|
198
198
|
let count = 3; // max tasks to wait for
|
|
199
199
|
// @ts-ignore this property is added by webcomponentsjs polyfill for old browsers
|
|
200
200
|
while (count !== 0 && !this.__shady_native_contains(this._inputNode)) {
|
|
201
|
-
// eslint-disable-next-line no-await-in-loop
|
|
201
|
+
// eslint-disable-next-line no-await-in-loop, no-promise-executor-return
|
|
202
202
|
await new Promise(resolve => setTimeout(resolve));
|
|
203
203
|
count -= 1;
|
|
204
204
|
}
|