@lion/ui 0.21.1-menu-system.0 → 0.22.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/button/src/LionButton.js +0 -4
- package/components/form/test/lion-form.test.js +4 -3
- package/components/form-core/src/form-group/FormGroupMixin.js +37 -0
- package/components/form-core/test-suites/form-group/FormGroupMixin.suite.js +25 -0
- package/components/input-amount-dropdown/src/LionInputAmountDropdown.js +2 -2
- package/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.js +12 -3
- package/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.js +10 -3
- package/components/overlays/src/OverlayController.js +111 -296
- package/components/overlays/src/OverlayMixin.js +17 -76
- package/components/overlays/src/utils/adopt-styles.js +1 -1
- package/components/overlays/src/utils/is-equal-config.js +6 -15
- package/components/overlays/test/OverlayController.test.js +24 -144
- package/components/overlays/test-suites/OverlayMixin.suite.js +8 -8
- package/components/overlays/types/ArrowMixinTypes.ts +3 -1
- package/components/overlays/types/OverlayConfig.ts +5 -20
- package/components/overlays/types/OverlayMixinTypes.ts +0 -2
- package/custom-elements.json +6260 -13587
- package/dist-types/components/button/src/LionButton.d.ts +0 -1
- package/dist-types/components/button/src/LionButton.d.ts.map +1 -1
- package/dist-types/components/combobox/src/LionCombobox.d.ts +1 -1
- package/dist-types/components/dialog/src/LionDialog.d.ts +2 -6
- package/dist-types/components/dialog/src/LionDialog.d.ts.map +1 -1
- package/dist-types/components/form-core/src/form-group/FormGroupMixin.d.ts +1 -0
- package/dist-types/components/form-core/src/form-group/FormGroupMixin.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts.map +1 -1
- package/dist-types/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.d.ts.map +1 -1
- package/dist-types/components/input-datepicker/src/LionInputDatepicker.d.ts +1 -1
- package/dist-types/components/overlays/src/OverlayController.d.ts +5 -22
- package/dist-types/components/overlays/src/OverlayController.d.ts.map +1 -1
- package/dist-types/components/overlays/src/OverlayMixin.d.ts.map +1 -1
- package/dist-types/components/overlays/src/utils/is-equal-config.d.ts.map +1 -1
- package/dist-types/components/overlays/types/ArrowMixinTypes.d.ts.map +1 -1
- package/dist-types/components/overlays/types/OverlayConfig.d.ts +2 -12
- package/dist-types/components/overlays/types/OverlayConfig.d.ts.map +1 -1
- package/dist-types/components/overlays/types/OverlayMixinTypes.d.ts +0 -1
- package/dist-types/components/overlays/types/OverlayMixinTypes.d.ts.map +1 -1
- package/dist-types/components/select-rich/src/LionSelectRich.d.ts +2 -6
- package/dist-types/components/select-rich/src/LionSelectRich.d.ts.map +1 -1
- package/dist-types/components/tooltip/src/LionTooltip.d.ts +1 -1
- package/dist-types/exports/overlays.d.ts +0 -6
- package/dist-types/exports/overlays.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/overview.md +1 -1
- package/docs/components/combobox/api-table.md +39 -53
- package/docs/components/combobox/overview.md +1 -1
- package/docs/components/combobox/use-cases.md +1 -1
- package/docs/components/dialog/api-table.md +6 -32
- package/docs/components/dialog/overview.md +1 -1
- package/docs/components/fieldset/overview.md +5 -5
- package/docs/components/form/overview.md +3 -3
- package/docs/components/form/use-cases.md +2 -2
- 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/api-table.md +45 -63
- package/docs/components/input-datepicker/overview.md +5 -5
- package/docs/components/input-email/overview.md +2 -2
- package/docs/components/input-file/overview.md +1 -1
- package/docs/components/input-iban/overview.md +2 -2
- package/docs/components/input-range/overview.md +2 -2
- package/docs/components/input-stepper/overview.md +1 -1
- package/docs/components/input-tel/overview.md +1 -1
- package/docs/components/input-tel/use-cases.md +6 -6
- package/docs/components/input-tel-dropdown/overview.md +1 -1
- package/docs/components/listbox/use-cases.md +1 -1
- package/docs/components/radio-group/overview.md +3 -3
- package/docs/components/select/use-cases.md +1 -1
- package/docs/components/select-rich/api-table.md +33 -50
- package/docs/components/select-rich/use-cases.md +2 -2
- package/docs/components/tabs/examples.md +1 -1
- package/docs/components/tooltip/api-table.md +7 -33
- package/docs/fundamentals/index.md +4 -4
- package/docs/fundamentals/node-tools/publish-docs/overview.md +3 -3
- package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +2 -2
- package/docs/fundamentals/rationales/accessibility.md +1 -1
- package/docs/fundamentals/systems/core/SlotMixin.md +1 -1
- package/docs/fundamentals/systems/core/overview.md +1 -1
- package/docs/fundamentals/systems/form/formatting-and-parsing.md +4 -4
- package/docs/fundamentals/systems/form/model-value.md +1 -1
- package/docs/fundamentals/systems/form/overview.md +28 -28
- package/docs/fundamentals/systems/form/validate.md +2 -2
- package/docs/fundamentals/systems/localize/overview.md +4 -4
- package/docs/fundamentals/systems/overlays/api-table.md +43 -46
- package/docs/fundamentals/systems/overlays/configuration.md +2 -2
- package/docs/fundamentals/systems/overlays/overview.md +5 -5
- package/docs/fundamentals/systems/overlays/use-cases.md +2 -2
- package/docs/fundamentals/tools/helpers/overview.md +1 -1
- package/docs/fundamentals/tools/singleton-manager/overview.md +4 -4
- package/docs/guides/how-to/create-a-custom-field.md +5 -5
- package/docs/guides/how-to/create-a-form.md +4 -4
- package/docs/guides/how-to/extend-a-native-input.md +2 -2
- package/docs/guides/how-to/index.md +1 -1
- package/docs/guides/index.md +8 -8
- package/docs/guides/principles/index.md +5 -5
- package/docs/guides/principles/styling.md +1 -1
- package/exports/overlays.js +0 -6
- package/overlays.js +0 -6
- package/package.json +6 -2
- package/vscode.css-custom-data.json +5 -0
- package/vscode.html-custom-data.json +789 -0
- package/web-types.json +2016 -0
- package/components/menu/CHANGELOG.md +0 -37
- package/components/menu/README.md +0 -334
- package/components/menu/index.js +0 -2
- package/components/menu/lion-menu.js +0 -3
- package/components/menu/package.json +0 -46
- package/components/menu/requirements.temp.md +0 -12
- package/components/menu/src/InteractiveListMixin.js +0 -840
- package/components/menu/src/LionMenu.js +0 -421
- package/components/menu/src/MoreButtonMenuMixin.js +0 -278
- package/components/menu/src/MultiLevelListMixin.js +0 -305
- package/components/menu/src/utils/isInView.js +0 -26
- package/components/menu/src/utils/listItemInteractions.js +0 -124
- package/components/menu/test/InteractiveListMixin.test.js +0 -3
- package/components/menu/test/MoreButtonMenuMixin.test.js +0 -4
- package/components/menu/test/MultiLevelListMixin.test.js +0 -3
- package/components/menu/test/lion-menu-interactions.test.js +0 -3
- package/components/menu/test/lion-menu.test.js +0 -14
- package/components/menu/test-helpers/mimicKeyPress.js +0 -9
- package/components/menu/test-suites/InteractiveListMixin.suite.js +0 -454
- package/components/menu/test-suites/LionMenu.suite.js +0 -114
- package/components/menu/test-suites/LionMenuInteractions.suite.js +0 -583
- package/components/menu/test-suites/MoreButtonMenuMixin.suite.js +0 -372
- package/components/menu/test-suites/MultiLevelListMixin.suite.js +0 -303
- package/components/menu/types/InteractiveListMixinTypes.d.ts +0 -84
- package/components/overlays/NEXT.md +0 -49
- package/dist-types/components/menu/index.d.ts +0 -3
- package/dist-types/components/menu/index.d.ts.map +0 -1
- package/dist-types/components/menu/lion-menu.d.ts +0 -2
- package/dist-types/components/menu/lion-menu.d.ts.map +0 -1
- package/dist-types/components/menu/src/MoreButtonMenuMixin.d.ts +0 -39
- package/dist-types/components/menu/src/MoreButtonMenuMixin.d.ts.map +0 -1
- package/dist-types/components/menu/src/utils/isInView.d.ts +0 -9
- package/dist-types/components/menu/src/utils/isInView.d.ts.map +0 -1
- package/dist-types/components/menu/src/utils/listItemInteractions.d.ts +0 -48
- package/dist-types/components/menu/src/utils/listItemInteractions.d.ts.map +0 -1
- package/dist-types/components/menu/test/InteractiveListMixin.test.d.ts +0 -2
- package/dist-types/components/menu/test/InteractiveListMixin.test.d.ts.map +0 -1
- package/dist-types/components/menu/test/MoreButtonMenuMixin.test.d.ts +0 -2
- package/dist-types/components/menu/test/MoreButtonMenuMixin.test.d.ts.map +0 -1
- package/dist-types/components/menu/test/MultiLevelListMixin.test.d.ts +0 -2
- package/dist-types/components/menu/test/MultiLevelListMixin.test.d.ts.map +0 -1
- package/dist-types/components/menu/test/lion-menu-interactions.test.d.ts +0 -2
- package/dist-types/components/menu/test/lion-menu-interactions.test.d.ts.map +0 -1
- package/dist-types/components/menu/test/lion-menu.test.d.ts +0 -2
- package/dist-types/components/menu/test/lion-menu.test.d.ts.map +0 -1
- package/dist-types/components/menu/test-helpers/mimicKeyPress.d.ts +0 -7
- package/dist-types/components/menu/test-helpers/mimicKeyPress.d.ts.map +0 -1
- package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts +0 -11
- package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts.map +0 -1
- package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts +0 -9
- package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts.map +0 -1
- package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts +0 -5
- package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts.map +0 -1
- package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts +0 -11
- package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts.map +0 -1
- package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts +0 -11
- package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts.map +0 -1
- package/dist-types/exports/define/lion-item.d.ts +0 -2
- package/dist-types/exports/define/lion-item.d.ts.map +0 -1
- package/dist-types/exports/define/lion-menu.d.ts +0 -2
- package/dist-types/exports/define/lion-menu.d.ts.map +0 -1
- package/dist-types/exports/menu-test-suites.d.ts +0 -4
- package/dist-types/exports/menu-test-suites.d.ts.map +0 -1
- package/dist-types/exports/menu.d.ts +0 -3
- package/dist-types/exports/menu.d.ts.map +0 -1
- package/docs/components/menu/api-table.md +0 -121
- package/docs/components/menu/applyMenuDemoStyles.js +0 -173
- package/docs/components/menu/extensions.md +0 -262
- package/docs/components/menu/index.md +0 -13
- package/docs/components/menu/overview.md +0 -422
- package/docs/components/menu/src/DemoNavigationBar.js +0 -441
- package/docs/components/menu/src/DemoSpinButton.js +0 -215
- package/docs/components/menu/src/DemoToolbar.js +0 -101
- package/docs/components/menu/src/DemoTree.js +0 -55
- package/docs/components/menu/src/navigation-bar-types.js +0 -41
- package/docs/components/menu/use-cases.md +0 -74
- package/exports/define/lion-item.js +0 -3
- package/exports/define/lion-menu.js +0 -3
- package/exports/menu-test-suites.js +0 -4
- package/exports/menu.js +0 -3
- package/menu-test-suites.js +0 -4
- package/menu.js +0 -3
|
@@ -220,8 +220,4 @@ export class LionButton extends DisabledWithTabIndexMixin(LitElement) {
|
|
|
220
220
|
this.click();
|
|
221
221
|
}
|
|
222
222
|
}
|
|
223
|
-
|
|
224
|
-
// we want to be able to identify LionButtons w/o instanceof (for perf (loose dep) and dual version support),
|
|
225
|
-
// so we use a static property for that that doesn't get renamed by minifiers
|
|
226
|
-
static ['_$isLionButton$'] = true;
|
|
227
223
|
}
|
|
@@ -222,10 +222,11 @@ describe('<lion-form>', () => {
|
|
|
222
222
|
</form>
|
|
223
223
|
</lion-form>
|
|
224
224
|
`);
|
|
225
|
+
expect(el.getAttribute('aria-invalid')).to.equal('false');
|
|
225
226
|
const button = /** @type {HTMLButtonElement} */ (el.querySelector('button'));
|
|
226
227
|
const dispatchSpy = spy(el, 'dispatchEvent');
|
|
227
228
|
button.click();
|
|
228
|
-
expect(dispatchSpy.args[0]
|
|
229
|
+
expect(dispatchSpy.args.map(args => args[0].type)).to.contain('submit');
|
|
229
230
|
// @ts-ignore [allow-protected] in test
|
|
230
231
|
expect(isActiveElement(el.formElements[1]._inputNode)).to.be.true;
|
|
231
232
|
});
|
|
@@ -247,7 +248,7 @@ describe('<lion-form>', () => {
|
|
|
247
248
|
const button = /** @type {HTMLButtonElement} */ (el.querySelector('button'));
|
|
248
249
|
const dispatchSpy = spy(el, 'dispatchEvent');
|
|
249
250
|
button.click();
|
|
250
|
-
expect(dispatchSpy.args[0]
|
|
251
|
+
expect(dispatchSpy.args.map(args => args[0].type)).to.contain('submit');
|
|
251
252
|
const fieldset = el.formElements[0];
|
|
252
253
|
// @ts-ignore [allow-protected] in test
|
|
253
254
|
expect(isActiveElement(fieldset.formElements[1]._inputNode)).to.be.true;
|
|
@@ -268,7 +269,7 @@ describe('<lion-form>', () => {
|
|
|
268
269
|
const button = /** @type {HTMLButtonElement} */ (el.querySelector('button'));
|
|
269
270
|
const dispatchSpy = spy(el, 'dispatchEvent');
|
|
270
271
|
button.click();
|
|
271
|
-
expect(dispatchSpy.args[0]
|
|
272
|
+
expect(dispatchSpy.args.map(args => args[0].type)).to.contain('submit');
|
|
272
273
|
const fieldset = el.formElements[0];
|
|
273
274
|
expect(isActiveElement(fieldset.formElements[0]._inputNode)).to.be.true;
|
|
274
275
|
});
|
|
@@ -15,6 +15,7 @@ import { FormElementsHaveNoError } from './FormElementsHaveNoError.js';
|
|
|
15
15
|
* @typedef {import('../../types/FormControlMixinTypes.js').FormControlHost} FormControlHost
|
|
16
16
|
* @typedef {import('../../types/registration/FormRegisteringMixinTypes.js').FormRegisteringHost} FormRegisteringHost
|
|
17
17
|
* @typedef {import('../../types/registration/FormRegistrarMixinTypes.js').ElementWithParentFormGroup} ElementWithParentFormGroup
|
|
18
|
+
* @typedef {import('../../types/InteractionStateMixinTypes.js').InteractionStates} InteractionStates
|
|
18
19
|
*/
|
|
19
20
|
|
|
20
21
|
/**
|
|
@@ -322,6 +323,42 @@ const FormGroupMixinImplementation = /** @type {FormGroupMixin} */ (superclass =
|
|
|
322
323
|
});
|
|
323
324
|
}
|
|
324
325
|
|
|
326
|
+
/**
|
|
327
|
+
* @override ValidateMixin
|
|
328
|
+
* Show the validity feedback when one of the following conditions is met:
|
|
329
|
+
*
|
|
330
|
+
* - submitted
|
|
331
|
+
* If the form is submitted, always show the error message.
|
|
332
|
+
*
|
|
333
|
+
* - prefilled
|
|
334
|
+
* all form elements already had a value when the group was initially rendered.
|
|
335
|
+
*
|
|
336
|
+
* - touched && dirty
|
|
337
|
+
* When a user has changed the value of (one of) the form elements (making it dirty)
|
|
338
|
+
* and then leaves the group as a whole (making it touched), an error message should
|
|
339
|
+
* be shown. Before that, the group is considered 'invalid, but not yet interacting'.
|
|
340
|
+
* @protected
|
|
341
|
+
* @param {string} type
|
|
342
|
+
* @param {InteractionStates} meta
|
|
343
|
+
*/
|
|
344
|
+
// eslint-disable-next-line class-methods-use-this, no-unused-vars
|
|
345
|
+
_showFeedbackConditionFor(type, meta) {
|
|
346
|
+
return (meta.touched && meta.dirty) || meta.prefilled || meta.submitted;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* @enhance ValidateMixin
|
|
351
|
+
*/
|
|
352
|
+
get _feedbackConditionMeta() {
|
|
353
|
+
return {
|
|
354
|
+
...super._feedbackConditionMeta,
|
|
355
|
+
submitted: this.submitted,
|
|
356
|
+
touched: this.touched,
|
|
357
|
+
dirty: this.dirty,
|
|
358
|
+
prefilled: this.prefilled,
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
|
|
325
362
|
/**
|
|
326
363
|
* A filter function which will exclude a form field when returning false
|
|
327
364
|
* By default, exclude form fields which are disabled
|
|
@@ -596,6 +596,31 @@ export function runFormGroupMixinSuite(cfg = {}) {
|
|
|
596
596
|
expect(el.validationStates.error.Required).to.be.true;
|
|
597
597
|
});
|
|
598
598
|
|
|
599
|
+
it('does not show error feedback (nor aria-invalid) for invalid children before interaction', async () => {
|
|
600
|
+
const el = /** @type {FormGroup} */ (
|
|
601
|
+
await fixture(html`
|
|
602
|
+
<${tag}>
|
|
603
|
+
<${childTag} name="myField" .validators=${[new Required()]}></${childTag}>
|
|
604
|
+
</${tag}>
|
|
605
|
+
`)
|
|
606
|
+
);
|
|
607
|
+
await el.updateComplete;
|
|
608
|
+
await el.feedbackComplete;
|
|
609
|
+
|
|
610
|
+
// the group itself is already invalid, but its error feedback should not be
|
|
611
|
+
// visible before the user interacted with the group
|
|
612
|
+
expect(el.hasFeedbackFor).to.deep.equal(['error']);
|
|
613
|
+
expect(el.showsFeedbackFor).to.deep.equal([]);
|
|
614
|
+
expect(el.getAttribute('aria-invalid')).to.equal('false');
|
|
615
|
+
|
|
616
|
+
// after interaction, feedback becomes visible
|
|
617
|
+
el.submitGroup();
|
|
618
|
+
await el.updateComplete;
|
|
619
|
+
await el.feedbackComplete;
|
|
620
|
+
expect(el.showsFeedbackFor).to.deep.equal(['error']);
|
|
621
|
+
expect(el.getAttribute('aria-invalid')).to.equal('true');
|
|
622
|
+
});
|
|
623
|
+
|
|
599
624
|
it('validates on children (de)registration', async () => {
|
|
600
625
|
class HasEvenNumberOfChildren extends Validator {
|
|
601
626
|
static get validatorName() {
|
|
@@ -460,9 +460,9 @@ export class LionInputAmountDropdown extends LionInputAmount {
|
|
|
460
460
|
*/
|
|
461
461
|
_initModelValueBasedOnDropdown() {
|
|
462
462
|
const { currency, amount } = this._initialModelValue || {};
|
|
463
|
-
if (!currency && !
|
|
463
|
+
if (!currency && !this.dirty) {
|
|
464
464
|
this.__initializedCurrencyCode = this.currency;
|
|
465
|
-
this._initialModelValue = { currency: this.currency };
|
|
465
|
+
this._initialModelValue = { currency: this.currency, amount };
|
|
466
466
|
this.modelValue = this._initialModelValue;
|
|
467
467
|
this.initInteractionState();
|
|
468
468
|
}
|
package/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.js
CHANGED
|
@@ -15,9 +15,18 @@ describe('<lion-input-amount-dropdown> integrations', () => {
|
|
|
15
15
|
}
|
|
16
16
|
return !toggleValue ? { amount: 123, currency: 'EUR' } : { amount: 456, currency: 'EUR' };
|
|
17
17
|
},
|
|
18
|
-
getExpectedInitialModelValue: el => ({
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
getExpectedInitialModelValue: el => ({
|
|
19
|
+
currency: /** @type {any} */ (el).currency,
|
|
20
|
+
amount: '',
|
|
21
|
+
}),
|
|
22
|
+
getExpectedInitialFormattedValue: el => ({
|
|
23
|
+
currency: /** @type {any} */ (el).currency,
|
|
24
|
+
amount: '',
|
|
25
|
+
}),
|
|
26
|
+
getExpectedInitialSerializedValue: el => ({
|
|
27
|
+
currency: /** @type {any} */ (el).currency,
|
|
28
|
+
amount: '',
|
|
29
|
+
}),
|
|
21
30
|
getExpectedModelValueForEmptyInputNode: el => ({
|
|
22
31
|
currency: /** @type {any} */ (el).currency,
|
|
23
32
|
amount: '',
|
|
@@ -53,7 +53,7 @@ export function runInputAmountDropdownSuite({ klass } = { klass: LionInputAmount
|
|
|
53
53
|
expect(getDropdownValue(/** @type {DropdownElement} */ (el.refs.dropdown.value))).to.equal(
|
|
54
54
|
'GBP',
|
|
55
55
|
);
|
|
56
|
-
expect(el.modelValue).to.eql({ currency: 'GBP' });
|
|
56
|
+
expect(el.modelValue).to.eql({ currency: 'GBP', amount: '' });
|
|
57
57
|
});
|
|
58
58
|
|
|
59
59
|
it('syncs value of dropdown on reset if input has no value', async () => {
|
|
@@ -62,7 +62,7 @@ export function runInputAmountDropdownSuite({ klass } = { klass: LionInputAmount
|
|
|
62
62
|
await el.updateComplete;
|
|
63
63
|
el.reset();
|
|
64
64
|
await el.updateComplete;
|
|
65
|
-
expect(el.modelValue).to.eql({ currency: 'GBP' });
|
|
65
|
+
expect(el.modelValue).to.eql({ currency: 'GBP', amount: '' });
|
|
66
66
|
expect(el.value).to.equal('');
|
|
67
67
|
});
|
|
68
68
|
|
|
@@ -89,7 +89,13 @@ export function runInputAmountDropdownSuite({ klass } = { klass: LionInputAmount
|
|
|
89
89
|
const el = await fixture(html` <${tag}
|
|
90
90
|
.preferredCurrencies="${['JPY', 'EUR']}"
|
|
91
91
|
></${tag}> `);
|
|
92
|
-
expect(el.modelValue).to.eql({ currency: 'JPY' });
|
|
92
|
+
expect(el.modelValue).to.eql({ currency: 'JPY', amount: '' });
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
it('derives currency when modelValue only has an amount', async () => {
|
|
96
|
+
const el = await fixture(html` <${tag} .modelValue="${{ amount: 123 }}" ></${tag}> `);
|
|
97
|
+
expect(el.currency).to.equal('GBP');
|
|
98
|
+
expect(el.modelValue).to.eql({ currency: 'GBP', amount: 123 });
|
|
93
99
|
});
|
|
94
100
|
|
|
95
101
|
it('sets correct interaction states on init if input has a value', async () => {
|
|
@@ -262,6 +268,7 @@ export function runInputAmountDropdownSuite({ klass } = { klass: LionInputAmount
|
|
|
262
268
|
);
|
|
263
269
|
expect(el.modelValue).to.eql({
|
|
264
270
|
currency: 'GBP',
|
|
271
|
+
amount: '',
|
|
265
272
|
});
|
|
266
273
|
});
|
|
267
274
|
|