@lion/ui 0.24.0 → 0.26.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/README.md +25 -7
- package/accordion-test-suites.js +2 -0
- package/collapsible-test-suites.js +1 -0
- package/combobox-test-suites.js +2 -0
- package/components/accordion/test/lion-accordion.test.js +2 -565
- package/components/accordion/test-suites/lion-accordion.suite.js +596 -0
- package/components/button/test-suites/LionButton.suite.js +13 -11
- package/components/button/test-suites/LionButtonReset.suite.js +11 -3
- package/components/button/test-suites/LionButtonSubmit.suite.js +11 -3
- package/components/calendar/test/lion-calendar.test.js +1 -1570
- package/components/calendar/test-suites/LionCalendar.suite.js +1617 -5
- package/components/checkbox-group/test/lion-checkbox-group-integrations.test.js +5 -2
- package/components/checkbox-group/test/lion-checkbox-indeterminate-integrations.test.js +13 -4
- package/components/checkbox-group/test/lion-checkbox-integrations.test.js +4 -1
- package/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.js +54 -54
- package/components/collapsible/test/lion-collapsible.test.js +2 -126
- package/components/collapsible/test-suites/LionCollapsible.suite.js +147 -0
- package/components/combobox/test/lion-combobox-integrations.test.js +11 -4
- package/components/combobox/test/lion-combobox.test.js +2 -3622
- package/components/combobox/test-suites/lion-combobox.suite.js +3665 -0
- package/components/core/src/ScopedElementsMixin.js +16 -1
- package/components/core/test-helpers/isElementVisible.js +21 -0
- package/components/core/test-helpers/resolveSuiteTag.js +97 -0
- package/components/core/types/TestSuiteTypes.ts +43 -0
- package/components/dialog/test/lion-dialog.integration.test.js +9 -10
- package/components/dialog/test/lion-dialog.test.js +2 -399
- package/components/dialog/test-suites/lion-dialog.suite.js +412 -0
- package/components/drawer/test/lion-drawer.test.js +2 -84
- package/components/drawer/test-suites/LionDrawer.suite.js +108 -0
- package/components/fieldset/test/lion-fieldset.test.js +7 -2
- package/components/form/test/lion-form.test.js +2 -348
- package/components/form/test-suites/lion-form.suite.js +398 -0
- package/components/form-core/test/FormatMixin.test.js +4 -1
- package/components/form-core/test/choice-group/CustomChoiceGroupMixin.integrations.test.js +13 -0
- package/components/form-core/test-suites/FormRegistrationMixins.suite.js +21 -26
- package/components/form-core/test-suites/FormatMixin.suite.js +45 -43
- package/components/form-core/test-suites/InteractionStateMixin.suite.js +19 -15
- package/components/form-core/test-suites/NativeTextFieldMixin.suite.js +8 -9
- package/components/form-core/test-suites/ValidateMixin.suite.js +14 -10
- package/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.js +15 -2
- package/components/form-core/test-suites/choice-group/ChoiceGroupMixin.suite.js +55 -33
- package/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.js +7 -6
- package/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.js +19 -22
- package/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js +14 -5
- package/components/form-core/test-suites/form-group/FormGroupMixin.suite.js +13 -4
- package/components/icon/test/lion-icon.test.js +2 -188
- package/components/icon/test-suites/lion-icon.suite.js +206 -0
- package/components/input/test/input-integrations.test.js +18 -15
- package/components/input/test/lion-input-integrations.test.js +7 -3
- package/components/input/test/lion-input.test.js +2 -198
- package/components/input/test-suites/lion-input.suite.js +214 -0
- package/components/input-amount/src/parsers.js +5 -1
- package/components/input-amount/test/lion-input-amount-integrations.test.js +7 -3
- package/components/input-amount/test/lion-input-amount.test.js +2 -421
- package/components/input-amount/test/parsers.test.js +12 -0
- package/components/input-amount/test-suites/lion-input-amount.suite.js +418 -0
- package/components/input-amount-dropdown/test/LionInputAmountDropdown.test.js +3 -2
- package/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.js +4 -2
- package/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.js +6 -4
- package/components/input-date/test/lion-input-date-integrations.test.js +7 -3
- package/components/input-date/test/lion-input-date.test.js +2 -177
- package/components/input-date/test-suites/lion-input-date.suite.js +195 -0
- package/components/input-datepicker/test/lion-input-datepicker-integrations.test.js +7 -3
- package/components/input-datepicker/test/lion-input-datepicker.test.js +1 -844
- package/components/input-datepicker/test-helpers/DatepickerInputObject.js +26 -0
- package/components/input-datepicker/test-suites/LionInputDatepicker.suite.js +899 -14
- package/components/input-email/test/lion-input-email-integrations.test.js +4 -2
- package/components/input-email/test/lion-input-email.test.js +2 -46
- package/components/input-email/test-suites/lion-input-email.suite.js +63 -0
- package/components/input-file/test/lion-input-file.test.js +2 -1274
- package/components/input-file/test-suites/lion-input-file.suite.js +1505 -0
- package/components/input-iban/test/lion-input-iban-integrations.test.js +4 -2
- package/components/input-iban/test/lion-input-iban.test.js +2 -73
- package/components/input-iban/test-suites/lion-input-iban.suite.js +88 -0
- package/components/input-range/test/lion-input-range.test.js +2 -176
- package/components/input-range/test-suites/lion-input-range.suite.js +195 -0
- package/components/input-stepper/test-suites/lion-input-stepper.integration.suite.js +14 -3
- package/components/input-stepper/test-suites/lion-input-stepper.suite.js +14 -10
- package/components/input-tel/test/LionInputTel.test.js +3 -1
- package/components/input-tel/test/parsers.test.js +87 -0
- package/components/input-tel/test-helpers/mockPhoneUtilManager.js +14 -3
- package/components/input-tel/test-suites/LionInputTel.suite.js +9 -4
- package/components/input-tel-dropdown/test/LionInputTelDropdown.test.js +6 -4
- package/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.js +10 -13
- package/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.js +6 -5
- package/components/listbox/src/LionListbox.js +1 -1
- package/components/listbox/test-suites/ListboxMixin.suite.js +19 -19
- package/components/menu/test-suites/InteractiveListMixin.suite.js +6 -9
- package/components/menu/test-suites/LionMenu.suite.js +6 -10
- package/components/menu/test-suites/LionMenuInteractions.suite.js +13 -4
- package/components/menu/test-suites/MoreButtonMenuMixin.suite.js +6 -9
- package/components/menu/test-suites/MultiLevelListMixin.suite.js +15 -11
- package/components/overlays/src/OverlayController.js +7 -2
- package/components/overlays/src/OverlayMixin.js +3 -6
- package/components/overlays/test/OverlayController.test.js +37 -1
- package/components/overlays/test/invoker-compatibility.test.js +37 -0
- package/components/overlays/test-suites/OverlayMixin.suite.js +3 -5
- package/components/pagination/test/lion-pagination.test.js +2 -176
- package/components/pagination/test-suites/LionPagination.suite.js +201 -0
- package/components/progress-indicator/test/lion-progress-indicator.test.js +2 -203
- package/components/progress-indicator/test-suites/lion-progress-indicator.suite.js +214 -0
- package/components/radio-group/test/lion-radio-group.test.js +2 -162
- package/components/radio-group/test/lion-radio.test.js +2 -54
- package/components/radio-group/test-suites/lion-radio-group.suite.js +173 -0
- package/components/radio-group/test-suites/lion-radio.suite.js +70 -0
- package/components/select/test/lion-select.test.js +2 -79
- package/components/select/test-suites/LionSelect.suite.js +94 -0
- package/components/select-rich/src/LionSelectRich.js +2 -1
- package/components/select-rich/test/lion-select-invoker.test.js +2 -86
- package/components/select-rich/test/lion-select-rich-interaction.test.js +2 -430
- package/components/select-rich/test/lion-select-rich.test.js +2 -1193
- package/components/select-rich/test-suites/lion-select-invoker.suite.js +98 -0
- package/components/select-rich/test-suites/lion-select-rich-interaction.suite.js +452 -0
- package/components/select-rich/test-suites/lion-select-rich.suite.js +1236 -0
- package/components/steps/test/lion-step.test.js +2 -97
- package/components/steps/test/lion-steps.test.js +2 -433
- package/components/steps/test-suites/lion-step.suite.js +113 -0
- package/components/steps/test-suites/lion-steps.suite.js +445 -0
- package/components/switch/test/lion-switch.test.js +2 -232
- package/components/switch/test-suites/lion-switch.suite.js +450 -0
- package/components/tabs/test/lion-tabs.test.js +2 -596
- package/components/tabs/test-suites/lion-tabs.suite.js +617 -0
- package/components/textarea/src/LionTextarea.js +5 -2
- package/components/textarea/test/lion-textarea.test.js +2 -159
- package/components/textarea/test-suites/lion-textarea.suite.js +192 -0
- package/components/tooltip/test/lion-tooltip.test.js +2 -393
- package/components/tooltip/test-suites/lion-tooltip.suite.js +409 -0
- package/custom-elements.json +14890 -10187
- package/dialog-test-suites.js +2 -0
- package/dist-types/components/accordion/test/lion-accordion.test.d.ts +1 -2
- package/dist-types/components/accordion/test/lion-accordion.test.d.ts.map +1 -1
- package/dist-types/components/accordion/test-suites/lion-accordion.suite.d.ts +18 -0
- package/dist-types/components/accordion/test-suites/lion-accordion.suite.d.ts.map +1 -0
- package/dist-types/components/button/test-suites/LionButton.suite.d.ts +10 -4
- package/dist-types/components/button/test-suites/LionButton.suite.d.ts.map +1 -1
- package/dist-types/components/button/test-suites/LionButtonReset.suite.d.ts +10 -4
- package/dist-types/components/button/test-suites/LionButtonReset.suite.d.ts.map +1 -1
- package/dist-types/components/button/test-suites/LionButtonSubmit.suite.d.ts +10 -4
- package/dist-types/components/button/test-suites/LionButtonSubmit.suite.d.ts.map +1 -1
- package/dist-types/components/calendar/test/lion-calendar.test.d.ts +1 -3
- package/dist-types/components/calendar/test/lion-calendar.test.d.ts.map +1 -1
- package/dist-types/components/calendar/test-suites/LionCalendar.suite.d.ts +13 -4
- package/dist-types/components/calendar/test-suites/LionCalendar.suite.d.ts.map +1 -1
- package/dist-types/components/checkbox-group/test/lion-checkbox-group-integrations.test.d.ts.map +1 -1
- package/dist-types/components/checkbox-group/test/lion-checkbox-integrations.test.d.ts.map +1 -1
- package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts +12 -9
- package/dist-types/components/checkbox-group/test-suites/CheckboxIndeterminate.suite.d.ts.map +1 -1
- package/dist-types/components/collapsible/test/lion-collapsible.test.d.ts +1 -3
- package/dist-types/components/collapsible/test/lion-collapsible.test.d.ts.map +1 -1
- package/dist-types/components/collapsible/test-suites/LionCollapsible.suite.d.ts +18 -0
- package/dist-types/components/collapsible/test-suites/LionCollapsible.suite.d.ts.map +1 -0
- package/dist-types/components/combobox/test/lion-combobox.test.d.ts +1 -5
- package/dist-types/components/combobox/test/lion-combobox.test.d.ts.map +1 -1
- package/dist-types/components/combobox/test-suites/lion-combobox.suite.d.ts +17 -0
- package/dist-types/components/combobox/test-suites/lion-combobox.suite.d.ts.map +1 -0
- package/dist-types/components/core/src/ScopedElementsMixin.d.ts.map +1 -1
- package/dist-types/components/core/test-helpers/isElementVisible.d.ts +12 -0
- package/dist-types/components/core/test-helpers/isElementVisible.d.ts.map +1 -0
- package/dist-types/components/core/test-helpers/resolveSuiteTag.d.ts +29 -0
- package/dist-types/components/core/test-helpers/resolveSuiteTag.d.ts.map +1 -0
- package/dist-types/components/core/types/TestSuiteTypes.d.ts +40 -0
- package/dist-types/components/core/types/TestSuiteTypes.d.ts.map +1 -0
- package/dist-types/components/dialog/test/lion-dialog.integration.test.d.ts.map +1 -1
- package/dist-types/components/dialog/test/lion-dialog.test.d.ts +1 -5
- package/dist-types/components/dialog/test/lion-dialog.test.d.ts.map +1 -1
- package/dist-types/components/dialog/test-suites/lion-dialog.suite.d.ts +19 -0
- package/dist-types/components/dialog/test-suites/lion-dialog.suite.d.ts.map +1 -0
- package/dist-types/components/drawer/test/lion-drawer.test.d.ts +1 -3
- package/dist-types/components/drawer/test/lion-drawer.test.d.ts.map +1 -1
- package/dist-types/components/drawer/test-suites/LionDrawer.suite.d.ts +20 -0
- package/dist-types/components/drawer/test-suites/LionDrawer.suite.d.ts.map +1 -0
- package/dist-types/components/fieldset/test/lion-fieldset.test.d.ts.map +1 -1
- package/dist-types/components/form/test/lion-form.test.d.ts +1 -12
- package/dist-types/components/form/test/lion-form.test.d.ts.map +1 -1
- package/dist-types/components/form/test-suites/lion-form.suite.d.ts +39 -0
- package/dist-types/components/form/test-suites/lion-form.suite.d.ts.map +1 -0
- package/dist-types/components/form-core/test-suites/FormRegistrationMixins.suite.d.ts +14 -17
- package/dist-types/components/form-core/test-suites/FormRegistrationMixins.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/FormatMixin.suite.d.ts +22 -38
- package/dist-types/components/form-core/test-suites/FormatMixin.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/InteractionStateMixin.suite.d.ts +11 -5
- package/dist-types/components/form-core/test-suites/InteractionStateMixin.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts +9 -4
- package/dist-types/components/form-core/test-suites/NativeTextFieldMixin.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/ValidateMixin.suite.d.ts +9 -4
- 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 +10 -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 +17 -6
- 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/ChoiceInputMixin.suite.d.ts +5 -2
- package/dist-types/components/form-core/test-suites/choice-group/ChoiceInputMixin.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.d.ts +10 -5
- package/dist-types/components/form-core/test-suites/choice-group/CustomChoiceGroupMixin.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.d.ts +10 -5
- package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts +10 -5
- package/dist-types/components/form-core/test-suites/form-group/FormGroupMixin.suite.d.ts.map +1 -1
- package/dist-types/components/icon/test/lion-icon.test.d.ts +1 -4
- package/dist-types/components/icon/test/lion-icon.test.d.ts.map +1 -1
- package/dist-types/components/icon/test-suites/lion-icon.suite.d.ts +16 -0
- package/dist-types/components/icon/test-suites/lion-icon.suite.d.ts.map +1 -0
- package/dist-types/components/input/test/lion-input-integrations.test.d.ts.map +1 -1
- package/dist-types/components/input/test/lion-input.test.d.ts +1 -2
- package/dist-types/components/input/test/lion-input.test.d.ts.map +1 -1
- package/dist-types/components/input/test-suites/lion-input.suite.d.ts +17 -0
- package/dist-types/components/input/test-suites/lion-input.suite.d.ts.map +1 -0
- package/dist-types/components/input-amount/src/parsers.d.ts.map +1 -1
- package/dist-types/components/input-amount/test/lion-input-amount-integrations.test.d.ts.map +1 -1
- package/dist-types/components/input-amount/test/lion-input-amount.test.d.ts +1 -2
- package/dist-types/components/input-amount/test/lion-input-amount.test.d.ts.map +1 -1
- package/dist-types/components/input-amount/test-suites/lion-input-amount.suite.d.ts +19 -0
- package/dist-types/components/input-amount/test-suites/lion-input-amount.suite.d.ts.map +1 -0
- package/dist-types/components/input-amount-dropdown/test/lion-input-amount-dropdown-integrations.test.d.ts.map +1 -1
- package/dist-types/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.d.ts +7 -3
- package/dist-types/components/input-amount-dropdown/test-suites/LionInputAmountDropdown.suite.d.ts.map +1 -1
- package/dist-types/components/input-date/test/lion-input-date-integrations.test.d.ts.map +1 -1
- package/dist-types/components/input-date/test/lion-input-date.test.d.ts +1 -3
- package/dist-types/components/input-date/test/lion-input-date.test.d.ts.map +1 -1
- package/dist-types/components/input-date/test-suites/lion-input-date.suite.d.ts +15 -0
- package/dist-types/components/input-date/test-suites/lion-input-date.suite.d.ts.map +1 -0
- package/dist-types/components/input-datepicker/test/lion-input-datepicker-integrations.test.d.ts.map +1 -1
- package/dist-types/components/input-datepicker/test/lion-input-datepicker.test.d.ts +1 -2
- package/dist-types/components/input-datepicker/test/lion-input-datepicker.test.d.ts.map +1 -1
- package/dist-types/components/input-datepicker/test-helpers/DatepickerInputObject.d.ts +8 -0
- package/dist-types/components/input-datepicker/test-helpers/DatepickerInputObject.d.ts.map +1 -1
- package/dist-types/components/input-datepicker/test-suites/LionInputDatepicker.suite.d.ts +15 -5
- package/dist-types/components/input-datepicker/test-suites/LionInputDatepicker.suite.d.ts.map +1 -1
- package/dist-types/components/input-email/test/lion-input-email-integrations.test.d.ts.map +1 -1
- package/dist-types/components/input-email/test/lion-input-email.test.d.ts +1 -3
- package/dist-types/components/input-email/test/lion-input-email.test.d.ts.map +1 -1
- package/dist-types/components/input-email/test-suites/lion-input-email.suite.d.ts +15 -0
- package/dist-types/components/input-email/test-suites/lion-input-email.suite.d.ts.map +1 -0
- package/dist-types/components/input-file/test/lion-input-file.test.d.ts +1 -5
- package/dist-types/components/input-file/test/lion-input-file.test.d.ts.map +1 -1
- package/dist-types/components/input-file/test-suites/lion-input-file.suite.d.ts +19 -0
- package/dist-types/components/input-file/test-suites/lion-input-file.suite.d.ts.map +1 -0
- package/dist-types/components/input-iban/test/lion-input-iban-integrations.test.d.ts.map +1 -1
- package/dist-types/components/input-iban/test/lion-input-iban.test.d.ts +1 -3
- package/dist-types/components/input-iban/test/lion-input-iban.test.d.ts.map +1 -1
- package/dist-types/components/input-iban/test-suites/lion-input-iban.suite.d.ts +15 -0
- package/dist-types/components/input-iban/test-suites/lion-input-iban.suite.d.ts.map +1 -0
- package/dist-types/components/input-range/test/lion-input-range.test.d.ts +1 -3
- package/dist-types/components/input-range/test/lion-input-range.test.d.ts.map +1 -1
- package/dist-types/components/input-range/test-suites/lion-input-range.suite.d.ts +15 -0
- package/dist-types/components/input-range/test-suites/lion-input-range.suite.d.ts.map +1 -0
- package/dist-types/components/input-stepper/test-suites/lion-input-stepper.integration.suite.d.ts +10 -2
- package/dist-types/components/input-stepper/test-suites/lion-input-stepper.integration.suite.d.ts.map +1 -1
- package/dist-types/components/input-stepper/test-suites/lion-input-stepper.suite.d.ts +10 -2
- package/dist-types/components/input-stepper/test-suites/lion-input-stepper.suite.d.ts.map +1 -1
- package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts +5 -0
- package/dist-types/components/input-tel/test-helpers/mockPhoneUtilManager.d.ts.map +1 -1
- package/dist-types/components/input-tel/test-suites/LionInputTel.suite.d.ts +6 -4
- package/dist-types/components/input-tel/test-suites/LionInputTel.suite.d.ts.map +1 -1
- package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.d.ts +7 -3
- package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown--parentheses.suite.d.ts.map +1 -1
- package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.d.ts +7 -3
- package/dist-types/components/input-tel-dropdown/test-suites/LionInputTelDropdown.suite.d.ts.map +1 -1
- package/dist-types/components/listbox/src/LionListbox.d.ts +2 -2
- package/dist-types/components/listbox/src/LionListbox.d.ts.map +1 -1
- package/dist-types/components/listbox/test-suites/ListboxMixin.suite.d.ts +3 -4
- package/dist-types/components/listbox/test-suites/ListboxMixin.suite.d.ts.map +1 -1
- package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts +6 -5
- package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts.map +1 -1
- package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts +6 -5
- package/dist-types/components/menu/test-suites/LionMenu.suite.d.ts.map +1 -1
- package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts +10 -4
- package/dist-types/components/menu/test-suites/LionMenuInteractions.suite.d.ts.map +1 -1
- package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts +6 -5
- package/dist-types/components/menu/test-suites/MoreButtonMenuMixin.suite.d.ts.map +1 -1
- package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts +7 -6
- package/dist-types/components/menu/test-suites/MultiLevelListMixin.suite.d.ts.map +1 -1
- package/dist-types/components/overlays/src/OverlayController.d.ts +3 -1
- package/dist-types/components/overlays/src/OverlayController.d.ts.map +1 -1
- package/dist-types/components/overlays/src/OverlayMixin.d.ts.map +1 -1
- package/dist-types/components/overlays/test/invoker-compatibility.test.d.ts +3 -0
- package/dist-types/components/overlays/test/invoker-compatibility.test.d.ts.map +1 -0
- package/dist-types/components/overlays/test-suites/OverlayMixin.suite.d.ts.map +1 -1
- package/dist-types/components/pagination/test/lion-pagination.test.d.ts +1 -3
- package/dist-types/components/pagination/test/lion-pagination.test.d.ts.map +1 -1
- package/dist-types/components/pagination/test-suites/LionPagination.suite.d.ts +18 -0
- package/dist-types/components/pagination/test-suites/LionPagination.suite.d.ts.map +1 -0
- package/dist-types/components/progress-indicator/test/lion-progress-indicator.test.d.ts +1 -3
- package/dist-types/components/progress-indicator/test/lion-progress-indicator.test.d.ts.map +1 -1
- package/dist-types/components/progress-indicator/test-suites/lion-progress-indicator.suite.d.ts +15 -0
- package/dist-types/components/progress-indicator/test-suites/lion-progress-indicator.suite.d.ts.map +1 -0
- package/dist-types/components/radio-group/test/lion-radio-group.test.d.ts +1 -5
- package/dist-types/components/radio-group/test/lion-radio-group.test.d.ts.map +1 -1
- package/dist-types/components/radio-group/test/lion-radio.test.d.ts +1 -2
- package/dist-types/components/radio-group/test/lion-radio.test.d.ts.map +1 -1
- package/dist-types/components/radio-group/test-suites/lion-radio-group.suite.d.ts +19 -0
- package/dist-types/components/radio-group/test-suites/lion-radio-group.suite.d.ts.map +1 -0
- package/dist-types/components/radio-group/test-suites/lion-radio.suite.d.ts +17 -0
- package/dist-types/components/radio-group/test-suites/lion-radio.suite.d.ts.map +1 -0
- package/dist-types/components/select/test/lion-select.test.d.ts +1 -2
- package/dist-types/components/select/test/lion-select.test.d.ts.map +1 -1
- package/dist-types/components/select/test-suites/LionSelect.suite.d.ts +16 -0
- package/dist-types/components/select/test-suites/LionSelect.suite.d.ts.map +1 -0
- package/dist-types/components/select-rich/src/LionSelectRich.d.ts +5 -4
- package/dist-types/components/select-rich/src/LionSelectRich.d.ts.map +1 -1
- package/dist-types/components/select-rich/test/lion-select-invoker.test.d.ts +1 -2
- package/dist-types/components/select-rich/test/lion-select-invoker.test.d.ts.map +1 -1
- package/dist-types/components/select-rich/test/lion-select-rich-interaction.test.d.ts +1 -5
- package/dist-types/components/select-rich/test/lion-select-rich-interaction.test.d.ts.map +1 -1
- package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts +1 -8
- package/dist-types/components/select-rich/test/lion-select-rich.test.d.ts.map +1 -1
- package/dist-types/components/select-rich/test-suites/lion-select-invoker.suite.d.ts +19 -0
- package/dist-types/components/select-rich/test-suites/lion-select-invoker.suite.d.ts.map +1 -0
- package/dist-types/components/select-rich/test-suites/lion-select-rich-interaction.suite.d.ts +19 -0
- package/dist-types/components/select-rich/test-suites/lion-select-rich-interaction.suite.d.ts.map +1 -0
- package/dist-types/components/select-rich/test-suites/lion-select-rich.suite.d.ts +21 -0
- package/dist-types/components/select-rich/test-suites/lion-select-rich.suite.d.ts.map +1 -0
- package/dist-types/components/steps/test/lion-step.test.d.ts +1 -2
- package/dist-types/components/steps/test/lion-step.test.d.ts.map +1 -1
- package/dist-types/components/steps/test/lion-steps.test.d.ts +1 -8
- package/dist-types/components/steps/test/lion-steps.test.d.ts.map +1 -1
- package/dist-types/components/steps/test-suites/lion-step.suite.d.ts +17 -0
- package/dist-types/components/steps/test-suites/lion-step.suite.d.ts.map +1 -0
- package/dist-types/components/steps/test-suites/lion-steps.suite.d.ts +22 -0
- package/dist-types/components/steps/test-suites/lion-steps.suite.d.ts.map +1 -0
- package/dist-types/components/switch/test/lion-switch.test.d.ts +1 -4
- package/dist-types/components/switch/test/lion-switch.test.d.ts.map +1 -1
- package/dist-types/components/switch/test-suites/lion-switch.suite.d.ts +17 -0
- package/dist-types/components/switch/test-suites/lion-switch.suite.d.ts.map +1 -0
- package/dist-types/components/tabs/test/lion-tabs.test.d.ts +1 -5
- package/dist-types/components/tabs/test/lion-tabs.test.d.ts.map +1 -1
- package/dist-types/components/tabs/test-suites/lion-tabs.suite.d.ts +17 -0
- package/dist-types/components/tabs/test-suites/lion-tabs.suite.d.ts.map +1 -0
- package/dist-types/components/textarea/src/LionTextarea.d.ts.map +1 -1
- package/dist-types/components/textarea/test/lion-textarea.test.d.ts +1 -3
- package/dist-types/components/textarea/test/lion-textarea.test.d.ts.map +1 -1
- package/dist-types/components/textarea/test-suites/lion-textarea.suite.d.ts +15 -0
- package/dist-types/components/textarea/test-suites/lion-textarea.suite.d.ts.map +1 -0
- package/dist-types/components/tooltip/test/lion-tooltip.test.d.ts +1 -3
- package/dist-types/components/tooltip/test/lion-tooltip.test.d.ts.map +1 -1
- package/dist-types/components/tooltip/test-suites/lion-tooltip.suite.d.ts +19 -0
- package/dist-types/components/tooltip/test-suites/lion-tooltip.suite.d.ts.map +1 -0
- package/dist-types/exports/accordion-test-suites.d.ts +2 -0
- package/dist-types/exports/accordion-test-suites.d.ts.map +1 -0
- package/dist-types/exports/collapsible-test-suites.d.ts +2 -0
- package/dist-types/exports/collapsible-test-suites.d.ts.map +1 -0
- package/dist-types/exports/combobox-test-suites.d.ts +2 -0
- package/dist-types/exports/combobox-test-suites.d.ts.map +1 -0
- package/dist-types/exports/dialog-test-suites.d.ts +2 -0
- package/dist-types/exports/dialog-test-suites.d.ts.map +1 -0
- package/dist-types/exports/drawer-test-suites.d.ts +2 -0
- package/dist-types/exports/drawer-test-suites.d.ts.map +1 -0
- package/dist-types/exports/form-test-suites.d.ts +2 -0
- package/dist-types/exports/form-test-suites.d.ts.map +1 -0
- package/dist-types/exports/icon-test-suites.d.ts +2 -0
- package/dist-types/exports/icon-test-suites.d.ts.map +1 -0
- package/dist-types/exports/input-amount-test-suites.d.ts +2 -0
- package/dist-types/exports/input-amount-test-suites.d.ts.map +1 -0
- package/dist-types/exports/input-date-test-suites.d.ts +2 -0
- package/dist-types/exports/input-date-test-suites.d.ts.map +1 -0
- package/dist-types/exports/input-email-test-suites.d.ts +2 -0
- package/dist-types/exports/input-email-test-suites.d.ts.map +1 -0
- package/dist-types/exports/input-file-test-suites.d.ts +2 -0
- package/dist-types/exports/input-file-test-suites.d.ts.map +1 -0
- package/dist-types/exports/input-iban-test-suites.d.ts +2 -0
- package/dist-types/exports/input-iban-test-suites.d.ts.map +1 -0
- package/dist-types/exports/input-range-test-suites.d.ts +2 -0
- package/dist-types/exports/input-range-test-suites.d.ts.map +1 -0
- package/dist-types/exports/input-stepper-suites.d.ts +7 -2
- package/dist-types/exports/input-stepper-suites.d.ts.map +1 -1
- package/dist-types/exports/input-test-suites.d.ts +2 -0
- package/dist-types/exports/input-test-suites.d.ts.map +1 -0
- package/dist-types/exports/menu-test-suites.d.ts.map +1 -1
- package/dist-types/exports/pagination-test-suites.d.ts +2 -0
- package/dist-types/exports/pagination-test-suites.d.ts.map +1 -0
- package/dist-types/exports/progress-indicator-test-suites.d.ts +2 -0
- package/dist-types/exports/progress-indicator-test-suites.d.ts.map +1 -0
- package/dist-types/exports/radio-group-test-suites.d.ts +3 -0
- package/dist-types/exports/radio-group-test-suites.d.ts.map +1 -0
- package/dist-types/exports/select-rich-test-suites.d.ts +4 -0
- package/dist-types/exports/select-rich-test-suites.d.ts.map +1 -0
- package/dist-types/exports/select-test-suites.d.ts +2 -0
- package/dist-types/exports/select-test-suites.d.ts.map +1 -0
- package/dist-types/exports/steps-test-suites.d.ts +3 -0
- package/dist-types/exports/steps-test-suites.d.ts.map +1 -0
- package/dist-types/exports/switch-test-suites.d.ts +2 -0
- package/dist-types/exports/switch-test-suites.d.ts.map +1 -0
- package/dist-types/exports/tabs-test-suites.d.ts +2 -0
- package/dist-types/exports/tabs-test-suites.d.ts.map +1 -0
- package/dist-types/exports/textarea-test-suites.d.ts +2 -0
- package/dist-types/exports/textarea-test-suites.d.ts.map +1 -0
- package/dist-types/exports/tooltip-test-suites.d.ts +2 -0
- package/dist-types/exports/tooltip-test-suites.d.ts.map +1 -0
- package/dist-types/exports/types/test-suites.d.ts +4 -0
- package/dist-types/exports/types/test-suites.d.ts.map +1 -0
- package/dist-types/tsconfig.tsbuildinfo +1 -1
- package/drawer-test-suites.js +1 -0
- package/exports/accordion-test-suites.js +2 -0
- package/exports/collapsible-test-suites.js +1 -0
- package/exports/combobox-test-suites.js +2 -0
- package/exports/dialog-test-suites.js +2 -0
- package/exports/drawer-test-suites.js +1 -0
- package/exports/form-test-suites.js +2 -0
- package/exports/icon-test-suites.js +2 -0
- package/exports/input-amount-test-suites.js +2 -0
- package/exports/input-date-test-suites.js +2 -0
- package/exports/input-email-test-suites.js +2 -0
- package/exports/input-file-test-suites.js +2 -0
- package/exports/input-iban-test-suites.js +2 -0
- package/exports/input-range-test-suites.js +2 -0
- package/exports/input-stepper-suites.js +18 -4
- package/exports/input-test-suites.js +2 -0
- package/exports/menu-test-suites.js +3 -0
- package/exports/pagination-test-suites.js +1 -0
- package/exports/progress-indicator-test-suites.js +2 -0
- package/exports/radio-group-test-suites.js +3 -0
- package/exports/select-rich-test-suites.js +4 -0
- package/exports/select-test-suites.js +1 -0
- package/exports/steps-test-suites.js +3 -0
- package/exports/switch-test-suites.js +2 -0
- package/exports/tabs-test-suites.js +2 -0
- package/exports/textarea-test-suites.js +2 -0
- package/exports/tooltip-test-suites.js +2 -0
- package/exports/types/test-suites.ts +3 -0
- package/form-test-suites.js +2 -0
- package/generated/awesome-phonenumber/provenance.json +1 -1
- package/icon-test-suites.js +2 -0
- package/input-amount-test-suites.js +2 -0
- package/input-date-test-suites.js +2 -0
- package/input-email-test-suites.js +2 -0
- package/input-file-test-suites.js +2 -0
- package/input-iban-test-suites.js +2 -0
- package/input-range-test-suites.js +2 -0
- package/input-stepper-suites.js +18 -4
- package/input-test-suites.js +2 -0
- package/menu-test-suites.js +3 -0
- package/package.json +11 -7
- package/pagination-test-suites.js +1 -0
- package/progress-indicator-test-suites.js +2 -0
- package/radio-group-test-suites.js +3 -0
- package/select-rich-test-suites.js +4 -0
- package/select-test-suites.js +1 -0
- package/steps-test-suites.js +3 -0
- package/switch-test-suites.js +2 -0
- package/tabs-test-suites.js +2 -0
- package/textarea-test-suites.js +2 -0
- package/tooltip-test-suites.js +2 -0
- package/vscode.html-custom-data.json +60 -5
- package/web-types.json +219 -1
- package/components/button/test/demos.screenshots-test.js +0 -100
- package/components/calendar/test/demos.screenshots-test.js +0 -118
- package/components/input-file/test/lion-selected-file-list.test.js +0 -199
- package/components/select-rich/test/demos.screenshots-test.js +0 -168
- package/components/switch/test/lion-switch-button.test.js +0 -204
- package/dist-types/components/button/test/demos.screenshots-test.d.ts +0 -2
- package/dist-types/components/button/test/demos.screenshots-test.d.ts.map +0 -1
- package/dist-types/components/calendar/test/demos.screenshots-test.d.ts +0 -2
- package/dist-types/components/calendar/test/demos.screenshots-test.d.ts.map +0 -1
- package/dist-types/components/input-file/test/lion-selected-file-list.test.d.ts +0 -5
- package/dist-types/components/input-file/test/lion-selected-file-list.test.d.ts.map +0 -1
- package/dist-types/components/select-rich/test/demos.screenshots-test.d.ts +0 -2
- package/dist-types/components/select-rich/test/demos.screenshots-test.d.ts.map +0 -1
- package/dist-types/components/switch/test/lion-switch-button.test.d.ts +0 -4
- package/dist-types/components/switch/test/lion-switch-button.test.d.ts.map +0 -1
- package/docs/components/accordion/api-table.md +0 -53
- package/docs/components/accordion/index.md +0 -13
- package/docs/components/accordion/overview.md +0 -141
- package/docs/components/accordion/reference.md +0 -59
- package/docs/components/accordion/use-cases.md +0 -303
- package/docs/components/button/api-table.md +0 -84
- package/docs/components/button/assets/bootstrap-button.js +0 -245
- package/docs/components/button/examples.md +0 -42
- package/docs/components/button/extensions.md +0 -42
- package/docs/components/button/index.md +0 -13
- package/docs/components/button/overview.md +0 -42
- package/docs/components/button/src/icon.svg.js +0 -5
- package/docs/components/button/use-cases.md +0 -121
- package/docs/components/calendar/api-table.md +0 -56
- package/docs/components/calendar/index.md +0 -13
- package/docs/components/calendar/overview.md +0 -61
- package/docs/components/calendar/use-cases.md +0 -243
- package/docs/components/checkbox-group/api-table.md +0 -117
- package/docs/components/checkbox-group/index.md +0 -13
- package/docs/components/checkbox-group/overview.md +0 -51
- package/docs/components/checkbox-group/use-cases.md +0 -192
- package/docs/components/collapsible/api-table.md +0 -55
- package/docs/components/collapsible/assets/CustomCollapsible.js +0 -117
- package/docs/components/collapsible/assets/applyDemoCollapsibleStyles.js +0 -41
- package/docs/components/collapsible/examples.md +0 -95
- package/docs/components/collapsible/index.md +0 -13
- package/docs/components/collapsible/overview.md +0 -51
- package/docs/components/collapsible/use-cases.md +0 -91
- package/docs/components/combobox/api-table.md +0 -122
- package/docs/components/combobox/extensions.md +0 -174
- package/docs/components/combobox/index.md +0 -13
- package/docs/components/combobox/overview.md +0 -74
- package/docs/components/combobox/src/LinkMixin.js +0 -60
- package/docs/components/combobox/src/demo-selection-display.js +0 -164
- package/docs/components/combobox/src/gh-combobox/gh-button.js +0 -71
- package/docs/components/combobox/src/gh-combobox/gh-combobox.js +0 -515
- package/docs/components/combobox/src/google-combobox/assets/google-clear-icon.js +0 -9
- package/docs/components/combobox/src/google-combobox/assets/google-search-icon.js +0 -9
- package/docs/components/combobox/src/google-combobox/assets/google-voice-search-icon.js +0 -19
- package/docs/components/combobox/src/google-combobox/google-combobox.js +0 -461
- package/docs/components/combobox/src/lazyRender.js +0 -29
- package/docs/components/combobox/src/levenshtein.js +0 -95
- package/docs/components/combobox/src/md-combobox/MdFieldMixin.js +0 -345
- package/docs/components/combobox/src/md-combobox/md-combobox.js +0 -91
- package/docs/components/combobox/src/md-combobox/md-input.js +0 -5
- package/docs/components/combobox/src/md-combobox/style/load-roboto.js +0 -6
- package/docs/components/combobox/src/md-combobox/style/md-ripple.js +0 -82
- package/docs/components/combobox/src/wa-combobox/wa-combobox.js +0 -375
- package/docs/components/combobox/use-cases.md +0 -561
- package/docs/components/dialog/api-table.md +0 -61
- package/docs/components/dialog/index.md +0 -13
- package/docs/components/dialog/overview.md +0 -71
- package/docs/components/dialog/src/demoStyle.js +0 -57
- package/docs/components/dialog/src/external-dialog.js +0 -32
- package/docs/components/dialog/src/slots-dialog-content.js +0 -32
- package/docs/components/dialog/src/styled-dialog-content.js +0 -38
- package/docs/components/dialog/use-cases.md +0 -199
- package/docs/components/drawer/api-table.md +0 -64
- package/docs/components/drawer/index.md +0 -13
- package/docs/components/drawer/overview.md +0 -80
- package/docs/components/drawer/src/demoStyle.js +0 -71
- package/docs/components/drawer/use-cases.md +0 -206
- package/docs/components/fieldset/api-table.md +0 -24
- package/docs/components/fieldset/index.md +0 -13
- package/docs/components/fieldset/overview.md +0 -61
- package/docs/components/fieldset/use-cases.md +0 -203
- package/docs/components/form/api-table.md +0 -12
- package/docs/components/form/index.md +0 -13
- package/docs/components/form/overview.md +0 -66
- package/docs/components/form/use-cases.md +0 -230
- package/docs/components/icon/api-table.md +0 -41
- package/docs/components/icon/assets/bugs/bug01.svg.js +0 -2
- package/docs/components/icon/assets/bugs/bug02.svg.js +0 -2
- package/docs/components/icon/assets/bugs/bug05.svg.js +0 -2
- package/docs/components/icon/assets/bugs/bug06.svg.js +0 -2
- package/docs/components/icon/assets/bugs/bug08.svg.js +0 -2
- package/docs/components/icon/assets/bugs/bug12.svg.js +0 -2
- package/docs/components/icon/assets/bugs/bug19.svg.js +0 -2
- package/docs/components/icon/assets/bugs/bug23.svg.js +0 -2
- package/docs/components/icon/assets/bugs/bug24.svg.js +0 -2
- package/docs/components/icon/assets/iconset-bugs.js +0 -11
- package/docs/components/icon/assets/iconset-misc.js +0 -3
- package/docs/components/icon/assets/iconset-space.js +0 -31
- package/docs/components/icon/assets/misc/arrowLeft.svg.js +0 -6
- package/docs/components/icon/assets/space/aliens-spaceship.svg.js +0 -2
- package/docs/components/icon/assets/space/meteor.svg.js +0 -2
- package/docs/components/icon/assets/space/moon-flag.svg.js +0 -2
- package/docs/components/icon/assets/space/moon.svg.js +0 -2
- package/docs/components/icon/assets/space/night.svg.js +0 -2
- package/docs/components/icon/assets/space/orbit.svg.js +0 -2
- package/docs/components/icon/assets/space/planet.svg.js +0 -2
- package/docs/components/icon/assets/space/robot.svg.js +0 -2
- package/docs/components/icon/assets/space/rocket.svg.js +0 -2
- package/docs/components/icon/assets/space/satellite.svg.js +0 -2
- package/docs/components/icon/assets/space/signal.svg.js +0 -2
- package/docs/components/icon/assets/space/space-helmet.svg.js +0 -2
- package/docs/components/icon/assets/space/sun.svg.js +0 -2
- package/docs/components/icon/assets/space/telescope.svg.js +0 -2
- package/docs/components/icon/index.md +0 -13
- package/docs/components/icon/overview.md +0 -52
- package/docs/components/icon/use-cases.md +0 -92
- package/docs/components/index.md +0 -17
- package/docs/components/input/api-table.md +0 -52
- package/docs/components/input/index.md +0 -13
- package/docs/components/input/overview.md +0 -48
- package/docs/components/input/use-cases.md +0 -90
- package/docs/components/input-amount/api-table.md +0 -66
- package/docs/components/input-amount/index.md +0 -13
- package/docs/components/input-amount/overview.md +0 -61
- package/docs/components/input-amount/use-cases.md +0 -147
- package/docs/components/input-amount-dropdown/api-table.md +0 -87
- package/docs/components/input-amount-dropdown/index.md +0 -13
- package/docs/components/input-amount-dropdown/use-cases.md +0 -103
- package/docs/components/input-date/api-table.md +0 -58
- package/docs/components/input-date/index.md +0 -13
- package/docs/components/input-date/overview.md +0 -51
- package/docs/components/input-date/use-cases.md +0 -96
- package/docs/components/input-datepicker/api-table.md +0 -99
- package/docs/components/input-datepicker/index.md +0 -13
- package/docs/components/input-datepicker/overview.md +0 -54
- package/docs/components/input-datepicker/use-cases.md +0 -117
- package/docs/components/input-email/api-table.md +0 -53
- package/docs/components/input-email/index.md +0 -13
- package/docs/components/input-email/overview.md +0 -44
- package/docs/components/input-email/use-cases.md +0 -60
- package/docs/components/input-file/api-table.md +0 -157
- package/docs/components/input-file/index.md +0 -13
- package/docs/components/input-file/overview.md +0 -44
- package/docs/components/input-file/use-cases.md +0 -454
- package/docs/components/input-iban/api-table.md +0 -54
- package/docs/components/input-iban/index.md +0 -13
- package/docs/components/input-iban/overview.md +0 -49
- package/docs/components/input-iban/use-cases.md +0 -114
- package/docs/components/input-range/api-table.md +0 -71
- package/docs/components/input-range/index.md +0 -13
- package/docs/components/input-range/overview.md +0 -44
- package/docs/components/input-range/use-cases.md +0 -126
- package/docs/components/input-stepper/api-table.md +0 -74
- package/docs/components/input-stepper/index.md +0 -13
- package/docs/components/input-stepper/overview.md +0 -48
- package/docs/components/input-stepper/use-cases.md +0 -155
- package/docs/components/input-tel/api-table.md +0 -77
- package/docs/components/input-tel/index.md +0 -13
- package/docs/components/input-tel/overview.md +0 -74
- package/docs/components/input-tel/src/h-region-code-table.js +0 -109
- package/docs/components/input-tel/use-cases.md +0 -319
- package/docs/components/input-tel-dropdown/api-table.md +0 -85
- package/docs/components/input-tel-dropdown/extensions.md +0 -44
- package/docs/components/input-tel-dropdown/index.md +0 -13
- package/docs/components/input-tel-dropdown/overview.md +0 -50
- package/docs/components/input-tel-dropdown/src/intl-input-tel-dropdown.js +0 -138
- package/docs/components/input-tel-dropdown/use-cases.md +0 -171
- package/docs/components/listbox/api-table.md +0 -65
- package/docs/components/listbox/index.md +0 -13
- package/docs/components/listbox/overview.md +0 -54
- package/docs/components/listbox/src/listboxData.js +0 -131
- package/docs/components/listbox/use-cases.md +0 -154
- package/docs/components/menu/api-table.md +0 -44
- 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/migration.md +0 -129
- package/docs/components/menu/overview.md +0 -448
- 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/docs/components/pagination/api-table.md +0 -45
- package/docs/components/pagination/index.md +0 -13
- package/docs/components/pagination/overview.md +0 -41
- package/docs/components/pagination/use-cases.md +0 -113
- package/docs/components/progress-indicator/api-table.md +0 -48
- package/docs/components/progress-indicator/assets/my-determinate-progress-bar.js +0 -30
- package/docs/components/progress-indicator/assets/my-indeterminate-progress-spinner.js +0 -55
- package/docs/components/progress-indicator/examples.md +0 -137
- package/docs/components/progress-indicator/index.md +0 -13
- package/docs/components/progress-indicator/overview.md +0 -48
- package/docs/components/radio-group/api-table.md +0 -63
- package/docs/components/radio-group/index.md +0 -13
- package/docs/components/radio-group/overview.md +0 -58
- package/docs/components/radio-group/use-cases.md +0 -146
- package/docs/components/select/api-table.md +0 -51
- package/docs/components/select/index.md +0 -13
- package/docs/components/select/overview.md +0 -56
- package/docs/components/select/use-cases.md +0 -128
- package/docs/components/select-rich/api-table.md +0 -123
- package/docs/components/select-rich/examples.md +0 -43
- package/docs/components/select-rich/index.md +0 -13
- package/docs/components/select-rich/overview.md +0 -55
- package/docs/components/select-rich/src/flagStyles.js +0 -1250
- package/docs/components/select-rich/src/intl-select-rich.js +0 -194
- package/docs/components/select-rich/src/regionMetaList.js +0 -1717
- package/docs/components/select-rich/use-cases.md +0 -387
- package/docs/components/steps/api-table.md +0 -92
- package/docs/components/steps/index.md +0 -13
- package/docs/components/steps/overview.md +0 -77
- package/docs/components/steps/use-cases.md +0 -181
- package/docs/components/switch/api-table.md +0 -82
- package/docs/components/switch/index.md +0 -13
- package/docs/components/switch/overview.md +0 -87
- package/docs/components/switch/reference.md +0 -51
- package/docs/components/switch/use-cases.md +0 -88
- package/docs/components/tabs/api-table.md +0 -51
- package/docs/components/tabs/examples.md +0 -35
- package/docs/components/tabs/index.md +0 -13
- package/docs/components/tabs/overview.md +0 -60
- package/docs/components/tabs/src/lea-tab-panel.js +0 -26
- package/docs/components/tabs/src/lea-tab.js +0 -50
- package/docs/components/tabs/src/lea-tabs.js +0 -28
- package/docs/components/tabs/use-cases.md +0 -231
- package/docs/components/textarea/api-table.md +0 -57
- package/docs/components/textarea/index.md +0 -13
- package/docs/components/textarea/overview.md +0 -47
- package/docs/components/textarea/use-cases.md +0 -107
- package/docs/components/tooltip/api-table.md +0 -62
- package/docs/components/tooltip/examples.md +0 -51
- package/docs/components/tooltip/index.md +0 -13
- package/docs/components/tooltip/overview.md +0 -56
- package/docs/components/tooltip/use-cases.md +0 -275
- package/docs/fundamentals/index.md +0 -19
- package/docs/fundamentals/node-tools/babel-plugin-extend-docs/index.md +0 -13
- package/docs/fundamentals/node-tools/babel-plugin-extend-docs/overview.md +0 -246
- package/docs/fundamentals/node-tools/index.md +0 -11
- package/docs/fundamentals/node-tools/providence-analytics/index.md +0 -13
- package/docs/fundamentals/node-tools/providence-analytics/overview.md +0 -108
- package/docs/fundamentals/node-tools/publish-docs/index.md +0 -13
- package/docs/fundamentals/node-tools/publish-docs/overview.md +0 -149
- package/docs/fundamentals/node-tools/remark-extend/index.md +0 -13
- package/docs/fundamentals/node-tools/remark-extend/overview.md +0 -287
- package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/index.md +0 -13
- package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +0 -298
- package/docs/fundamentals/rationales/TypeScript.md +0 -123
- package/docs/fundamentals/rationales/accessibility.md +0 -40
- package/docs/fundamentals/rationales/index.md +0 -11
- package/docs/fundamentals/rationales/side-effects.md +0 -215
- package/docs/fundamentals/rationales/versioning.md +0 -47
- package/docs/fundamentals/systems/core/SlotMixin.md +0 -168
- package/docs/fundamentals/systems/core/api-table.md +0 -43
- package/docs/fundamentals/systems/core/index.md +0 -15
- package/docs/fundamentals/systems/core/overview.md +0 -98
- package/docs/fundamentals/systems/form/api-table.md +0 -40
- package/docs/fundamentals/systems/form/assets/h-output.js +0 -156
- package/docs/fundamentals/systems/form/formatting-and-parsing.md +0 -258
- package/docs/fundamentals/systems/form/index.md +0 -15
- package/docs/fundamentals/systems/form/interaction-states.md +0 -195
- package/docs/fundamentals/systems/form/model-value.md +0 -57
- package/docs/fundamentals/systems/form/overview.md +0 -95
- package/docs/fundamentals/systems/form/styling.md +0 -92
- package/docs/fundamentals/systems/form/use-cases.md +0 -187
- package/docs/fundamentals/systems/form/validate.md +0 -985
- package/docs/fundamentals/systems/icon/index.md +0 -15
- package/docs/fundamentals/systems/icon/overview.md +0 -137
- package/docs/fundamentals/systems/index.md +0 -11
- package/docs/fundamentals/systems/localize/api-table.md +0 -72
- package/docs/fundamentals/systems/localize/assets/all-locales.js +0 -437
- package/docs/fundamentals/systems/localize/assets/en-AU.js +0 -6
- package/docs/fundamentals/systems/localize/assets/en-GB.js +0 -6
- package/docs/fundamentals/systems/localize/assets/en-US.js +0 -6
- package/docs/fundamentals/systems/localize/assets/en.js +0 -4
- package/docs/fundamentals/systems/localize/assets/nl-BE.js +0 -6
- package/docs/fundamentals/systems/localize/assets/nl-NL.js +0 -6
- package/docs/fundamentals/systems/localize/assets/nl.js +0 -4
- package/docs/fundamentals/systems/localize/dates.md +0 -208
- package/docs/fundamentals/systems/localize/index.md +0 -15
- package/docs/fundamentals/systems/localize/numbers.md +0 -230
- package/docs/fundamentals/systems/localize/overview.md +0 -61
- package/docs/fundamentals/systems/localize/rationale.md +0 -75
- package/docs/fundamentals/systems/localize/text.md +0 -139
- package/docs/fundamentals/systems/localize/use-cases.md +0 -334
- package/docs/fundamentals/systems/overlays/_configuration-positioning.md +0 -118
- package/docs/fundamentals/systems/overlays/_edge-cases.md +0 -149
- package/docs/fundamentals/systems/overlays/api-table.md +0 -174
- package/docs/fundamentals/systems/overlays/assets/applyDemoOverlayStyles.js +0 -23
- package/docs/fundamentals/systems/overlays/assets/demo-el-using-overlaymixin.js +0 -104
- package/docs/fundamentals/systems/overlays/assets/demo-overlay-backdrop.js +0 -47
- package/docs/fundamentals/systems/overlays/assets/demo-overlay-positioning.mjs +0 -537
- package/docs/fundamentals/systems/overlays/assets/umbrella-form.js +0 -140
- package/docs/fundamentals/systems/overlays/configuration.md +0 -516
- package/docs/fundamentals/systems/overlays/index.md +0 -15
- package/docs/fundamentals/systems/overlays/overview.md +0 -126
- package/docs/fundamentals/systems/overlays/rationale.md +0 -242
- package/docs/fundamentals/systems/overlays/use-cases.md +0 -717
- package/docs/fundamentals/tools/ajax/index.md +0 -15
- package/docs/fundamentals/tools/ajax/overview.md +0 -269
- package/docs/fundamentals/tools/ajax/use-cases.md +0 -469
- package/docs/fundamentals/tools/helpers/action-logger.md +0 -175
- package/docs/fundamentals/tools/helpers/index.md +0 -15
- package/docs/fundamentals/tools/helpers/overview.md +0 -43
- package/docs/fundamentals/tools/index.md +0 -11
- package/docs/fundamentals/tools/singleton-manager/example-complex/demo-app.js +0 -95
- package/docs/fundamentals/tools/singleton-manager/example-complex/index.md +0 -34
- package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/overlays/index.js +0 -30
- package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/overlays/instance.js +0 -4
- package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-a/page-a.js +0 -35
- package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-b/node_modules/overlays/index.js +0 -30
- package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-b/node_modules/overlays/instance.js +0 -4
- package/docs/fundamentals/tools/singleton-manager/example-complex/node_modules/page-b/page-b.js +0 -49
- package/docs/fundamentals/tools/singleton-manager/example-complex/overlayCompatibility.js +0 -69
- package/docs/fundamentals/tools/singleton-manager/example-fail/demo-app.js +0 -93
- package/docs/fundamentals/tools/singleton-manager/example-fail/index.md +0 -32
- package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/overlays/index.js +0 -30
- package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/overlays/instance.js +0 -3
- package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-c/page-c.js +0 -34
- package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-d/node_modules/overlays/index.js +0 -30
- package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-d/node_modules/overlays/instance.js +0 -3
- package/docs/fundamentals/tools/singleton-manager/example-fail/node_modules/page-d/page-d.js +0 -34
- package/docs/fundamentals/tools/singleton-manager/example-success/demo-app.js +0 -95
- package/docs/fundamentals/tools/singleton-manager/example-success/index.md +0 -31
- package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/overlays/index.js +0 -30
- package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/overlays/instance.js +0 -4
- package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-e/page-e.js +0 -33
- package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-f/node_modules/overlays/index.js +0 -30
- package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-f/node_modules/overlays/instance.js +0 -4
- package/docs/fundamentals/tools/singleton-manager/example-success/node_modules/page-f/page-f.js +0 -34
- package/docs/fundamentals/tools/singleton-manager/example-success/overlayCompatibility.js +0 -23
- package/docs/fundamentals/tools/singleton-manager/index.md +0 -15
- package/docs/fundamentals/tools/singleton-manager/overview.md +0 -317
- package/docs/guides/how-to/create-a-custom-field.md +0 -212
- package/docs/guides/how-to/create-a-form.md +0 -101
- package/docs/guides/how-to/extend-a-native-input.md +0 -78
- package/docs/guides/how-to/get-started.md +0 -116
- package/docs/guides/how-to/index.md +0 -25
- package/docs/guides/index.md +0 -44
- package/docs/guides/principles/definitions-and-terms.md +0 -53
- package/docs/guides/principles/index.md +0 -36
- package/docs/guides/principles/scoped-elements.md +0 -119
- package/docs/guides/principles/styling.md +0 -43
- package/docs/guides/principles/subclasser-apis.md +0 -40
|
@@ -20,6 +20,21 @@ export function supportsScopedRegistry() {
|
|
|
20
20
|
);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
/**
|
|
24
|
+
* @open-wc/scoped-elements types its mixin against the lit-element it resolves itself: relative to
|
|
25
|
+
* its own directory. Whenever npm stores a second lit-element copy under
|
|
26
|
+
* 'node_modules/@open-wc/scoped-elements/node_modules' (which it does once the root copy no longer
|
|
27
|
+
* satisfies its lit-element range) that copy wins, our LitElementConstructor then refers to another
|
|
28
|
+
* class declaration, and TypeScript relates two classes that each carry Lit's private __childPart
|
|
29
|
+
* (TS2322/TS2345) - making a lockfile/hoisting detail decide whether the type gate passes.
|
|
30
|
+
* Restating the mixin in our own types keeps this file independent of how lit gets hoisted.
|
|
31
|
+
*/
|
|
32
|
+
const OpenWcScopedElementsMixinV3 =
|
|
33
|
+
/**
|
|
34
|
+
* @type {<T extends LitElementConstructor>(superclass: T) => T & ScopedElementsHostConstructor}
|
|
35
|
+
*/
|
|
36
|
+
OpenWcLitScopedElementsMixin;
|
|
37
|
+
|
|
23
38
|
/**
|
|
24
39
|
* This file is a combination of '@open-wc/scoped-elements@v3/lit-element.js' and '@open-wc/scoped-elements@v3/html-element.js'.
|
|
25
40
|
* To make the polyfill an opt-in, some code from '@open-wc/scoped-elements@v2' is added as well.
|
|
@@ -53,7 +68,7 @@ export function supportsScopedRegistry() {
|
|
|
53
68
|
*/
|
|
54
69
|
const ScopedElementsMixinImplementation = (superclass) =>
|
|
55
70
|
/** @type {ScopedElementsHost} */
|
|
56
|
-
class ScopedElementsHost extends
|
|
71
|
+
class ScopedElementsHost extends OpenWcScopedElementsMixinV3(superclass) {
|
|
57
72
|
constructor() {
|
|
58
73
|
super();
|
|
59
74
|
if (isServer) {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Visibility check that works on every engine in our matrix.
|
|
3
|
+
*
|
|
4
|
+
* `Element.checkVisibility()` only exists in Chromium 105+, Firefox 125+ and Safari 17.4+ - the older
|
|
5
|
+
* end of the matrix (Firefox 113, WebKit 16.4, the Safari 16 generation) throws on it. Those engines
|
|
6
|
+
* answer the same question through layout: a node that is not rendered has no client rects.
|
|
7
|
+
*
|
|
8
|
+
* @param {Element | null | undefined} el
|
|
9
|
+
* @returns {boolean}
|
|
10
|
+
*/
|
|
11
|
+
export function isElementVisible(el) {
|
|
12
|
+
if (!el) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
// @ts-ignore [checkVisibility lives on the polyfilled dialog in some suites]
|
|
16
|
+
if (typeof el.checkVisibility === 'function') {
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
return el.checkVisibility();
|
|
19
|
+
}
|
|
20
|
+
return el.getClientRects().length > 0;
|
|
21
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { defineCE } from '@open-wc/testing';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The tag `klass` is registered under, or `null` when it is not registered at all.
|
|
5
|
+
*
|
|
6
|
+
* `customElements.getName` is not available under the scoped-custom-element-registry polyfill that
|
|
7
|
+
* Lion's test setup loads, so as a second attempt candidate names are derived from the class name
|
|
8
|
+
* (`LionCheckboxIndeterminate` -> `lion-checkbox-indeterminate`, `MyInputDatepicker` ->
|
|
9
|
+
* `my-input-datepicker`) and checked against the registry.
|
|
10
|
+
*
|
|
11
|
+
* @param {CustomElementConstructor} klass
|
|
12
|
+
* @returns {string|null}
|
|
13
|
+
*/
|
|
14
|
+
function registeredTagFor(klass) {
|
|
15
|
+
if (typeof customElements.getName === 'function') {
|
|
16
|
+
const name = customElements.getName(klass);
|
|
17
|
+
if (name) {
|
|
18
|
+
return name;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const kebab = klass.name.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
|
22
|
+
for (const candidate of [kebab, `lion-${kebab}`]) {
|
|
23
|
+
if (customElements.get(candidate) === klass) {
|
|
24
|
+
return candidate;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Defines a subclass element, retrying when the test framework's generated tag name is taken.
|
|
32
|
+
*
|
|
33
|
+
* A consumer repository can end up with two module instances of the test framework (its own and the
|
|
34
|
+
* one @lion/ui resolved), and both start their counter at `test-0`: the second one then throws
|
|
35
|
+
* "the name test-0 has already been used". Retrying takes the next name.
|
|
36
|
+
*
|
|
37
|
+
* @param {CustomElementConstructor} klass
|
|
38
|
+
* @returns {string}
|
|
39
|
+
*/
|
|
40
|
+
function defineUniqueTag(klass) {
|
|
41
|
+
for (let attempt = 0; attempt < 10; attempt += 1) {
|
|
42
|
+
try {
|
|
43
|
+
return defineCE(class extends klass {});
|
|
44
|
+
} catch (error) {
|
|
45
|
+
const message = error instanceof Error ? error.message : '';
|
|
46
|
+
if (!/already been used/.test(message)) {
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
throw new Error(`Could not define a unique tag for ${klass.name}`);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Resolves the element a test suite should render for one role.
|
|
56
|
+
*
|
|
57
|
+
* A caller passes `classes`: a map whose keys are Lion's tag names without the `lion-` prefix and
|
|
58
|
+
* whose values are constructors, e.g.
|
|
59
|
+
*
|
|
60
|
+
* runComboboxSuite({ classes: { combobox: MyCombobox, option: MyOption } });
|
|
61
|
+
*
|
|
62
|
+
* The class's registered tag is used when it has one (so a subclasser's scoped children keep
|
|
63
|
+
* working), otherwise a subclass element is defined on the fly. Everything the caller omits keeps
|
|
64
|
+
* Lion's own element, which is the implicit default.
|
|
65
|
+
*
|
|
66
|
+
* `tagString` (and the older role-level keys such as `optionTagString`) stay supported as the
|
|
67
|
+
* deprecated fallback for callers that already registered a tag but have no class to hand.
|
|
68
|
+
*
|
|
69
|
+
* A role may also be given as a tag: native elements are a platform tag (`h2`, `div`) and have no
|
|
70
|
+
* class of their own, so a caller hands the tag it wants rendered for that role.
|
|
71
|
+
*
|
|
72
|
+
* A suite declares Lion's own element for a role as the default on the role itself
|
|
73
|
+
* (`classes: { host = LionAccordion, invoker = 'h2' } = {}`), so it can call this with the role and
|
|
74
|
+
* the deprecated key only; `lionDefault` stays for suites whose default is only known further down.
|
|
75
|
+
*
|
|
76
|
+
* @param {CustomElementConstructor|string|undefined} customKlassOrTag the class or tag for this role, if the caller gave one
|
|
77
|
+
* @param {string|null} [deprecatedTagString] a tag the caller registered itself (deprecated)
|
|
78
|
+
* @param {string|CustomElementConstructor} [lionDefault] Lion's own tag name or class
|
|
79
|
+
* @returns {string}
|
|
80
|
+
*/
|
|
81
|
+
export function resolveSuiteTag(customKlassOrTag, deprecatedTagString, lionDefault) {
|
|
82
|
+
if (typeof customKlassOrTag === 'string') {
|
|
83
|
+
return customKlassOrTag;
|
|
84
|
+
}
|
|
85
|
+
const customKlass = customKlassOrTag;
|
|
86
|
+
if (customKlass) {
|
|
87
|
+
// A class that maps to a registered tag wins; a class that does not still gives the caller's
|
|
88
|
+
// element a chance to be named by the deprecated tag key, and only then is a subclass defined.
|
|
89
|
+
return registeredTagFor(customKlass) || deprecatedTagString || defineUniqueTag(customKlass);
|
|
90
|
+
}
|
|
91
|
+
if (deprecatedTagString) {
|
|
92
|
+
return deprecatedTagString;
|
|
93
|
+
}
|
|
94
|
+
return typeof lionDefault === 'string'
|
|
95
|
+
? lionDefault
|
|
96
|
+
: defineUniqueTag(/** @type {CustomElementConstructor} */ lionDefault);
|
|
97
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One value in a suite's `classes` map: the constructor to run the guarantees against, or the tag to
|
|
3
|
+
* render for that role. Native elements (`h2`, `div`) are a platform tag and have no class of their
|
|
4
|
+
* own, so those roles take a string.
|
|
5
|
+
*/
|
|
6
|
+
export type SuiteElement = CustomElementConstructor | string;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The roles a suite understands, keyed by Lion's tag name without the `lion-` prefix
|
|
10
|
+
* (`{ host: MyAccordion, invoker: 'h3', content: 'section' }`).
|
|
11
|
+
*/
|
|
12
|
+
export type SuiteRoles = Record<string, SuiteElement>;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Keys every suite still accepts from callers written before `classes` existed: they keep compiling
|
|
16
|
+
* and keep working, new code passes `classes`.
|
|
17
|
+
*/
|
|
18
|
+
export type SuiteLegacyKeys = {
|
|
19
|
+
/** @deprecated pass `classes` instead. */
|
|
20
|
+
tagString?: string;
|
|
21
|
+
/** @deprecated pass `classes` instead. */
|
|
22
|
+
klass?: CustomElementConstructor;
|
|
23
|
+
} & {
|
|
24
|
+
/**
|
|
25
|
+
* @deprecated the role-level tag keys callers used before `classes` (`childTagString`,
|
|
26
|
+
* `optionTagString`, `tabsTagString`, …): pass that role through `classes` instead.
|
|
27
|
+
*/
|
|
28
|
+
[legacyRoleTag: `${string}TagString` | `tag${string}String`]: string | undefined;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Configuration every suite runner accepts - one shared type for all of them. Both parameters are
|
|
33
|
+
* narrowed per suite: `Roles` lists the roles that suite resolves, `Options` carries the options that
|
|
34
|
+
* are unique to it, so a wrong key is a type error at the call site.
|
|
35
|
+
*
|
|
36
|
+
* Every key is optional at the call site, including the options: a suite prefills Lion's own element
|
|
37
|
+
* for every role, and derives or defaults what it can for the rest. An option a suite cannot default
|
|
38
|
+
* is documented as required in that suite and enforced by the suite itself.
|
|
39
|
+
*/
|
|
40
|
+
export type SuiteConfig<
|
|
41
|
+
Roles extends SuiteRoles = SuiteRoles,
|
|
42
|
+
Options extends object = object,
|
|
43
|
+
> = SuiteLegacyKeys & { classes?: Partial<Roles> } & Partial<Options>;
|
|
@@ -9,6 +9,7 @@ import '@lion/ui/define/lion-dialog.js';
|
|
|
9
9
|
import '@lion/ui/define/lion-tooltip.js';
|
|
10
10
|
import { mimicUserTyping } from '@lion/ui/combobox-test-helpers.js';
|
|
11
11
|
import sinon from 'sinon';
|
|
12
|
+
import { isElementVisible } from '../../core/test-helpers/isElementVisible.js';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* @typedef {import('../src/LionDialog.js').LionDialog} LionDialog
|
|
@@ -44,7 +45,7 @@ describe('lion-dialog', () => {
|
|
|
44
45
|
/** @type { HTMLElement | undefined } */
|
|
45
46
|
el.querySelectorAll('lion-option')?.[0];
|
|
46
47
|
// @ts-ignore
|
|
47
|
-
const isComboboxFirstOptionInDropdownVisible = () => firstOption
|
|
48
|
+
const isComboboxFirstOptionInDropdownVisible = () => isElementVisible(firstOption);
|
|
48
49
|
await waitUntil(isComboboxFirstOptionInDropdownVisible);
|
|
49
50
|
const comboboxDialog = combobox?.shadowRoot?.querySelector('dialog');
|
|
50
51
|
// Note, do not remove `console.log` down below. There is a bug in test engine.
|
|
@@ -59,7 +60,7 @@ describe('lion-dialog', () => {
|
|
|
59
60
|
press: 'Escape',
|
|
60
61
|
});
|
|
61
62
|
// @ts-ignore
|
|
62
|
-
const isDialogVisible = () => el?.shadowRoot?.querySelector('dialog')
|
|
63
|
+
const isDialogVisible = () => isElementVisible(el?.shadowRoot?.querySelector('dialog'));
|
|
63
64
|
await waitUntil(() => dropdownDialogCloseSpy.called);
|
|
64
65
|
expect(isDialogVisible()).to.equal(true);
|
|
65
66
|
});
|
|
@@ -97,11 +98,9 @@ describe('lion-dialog', () => {
|
|
|
97
98
|
// @ts-ignore
|
|
98
99
|
const dropdownDialogCloseSpy = sinon.spy(dropdownDialog, 'close');
|
|
99
100
|
const isDropdownVisible = () =>
|
|
100
|
-
|
|
101
|
-
?.querySelector('lion-select-rich')
|
|
102
|
-
|
|
103
|
-
// @ts-ignore
|
|
104
|
-
?.checkVisibility();
|
|
101
|
+
isElementVisible(
|
|
102
|
+
el?.querySelector('lion-select-rich')?.shadowRoot?.querySelector('dialog'),
|
|
103
|
+
);
|
|
105
104
|
await waitUntil(isDropdownVisible);
|
|
106
105
|
const lionOptions = /** @type {HTMLElement} */ el.querySelector('lion-options');
|
|
107
106
|
lionOptions?.focus();
|
|
@@ -109,7 +108,7 @@ describe('lion-dialog', () => {
|
|
|
109
108
|
press: 'Escape',
|
|
110
109
|
});
|
|
111
110
|
// @ts-ignore
|
|
112
|
-
const isDialogVisible = () => el?.shadowRoot?.querySelector('dialog')
|
|
111
|
+
const isDialogVisible = () => isElementVisible(el?.shadowRoot?.querySelector('dialog'));
|
|
113
112
|
await waitUntil(() => dropdownDialogCloseSpy.called);
|
|
114
113
|
expect(isDialogVisible()).to.equal(true);
|
|
115
114
|
});
|
|
@@ -141,13 +140,13 @@ describe('lion-dialog', () => {
|
|
|
141
140
|
.querySelector('lion-tooltip')
|
|
142
141
|
?.shadowRoot?.querySelector('#overlay-content-node-wrapper');
|
|
143
142
|
// @ts-ignore
|
|
144
|
-
const isTooltipContentVisible = () => getTooltipContent()
|
|
143
|
+
const isTooltipContentVisible = () => isElementVisible(getTooltipContent());
|
|
145
144
|
await waitUntil(isTooltipContentVisible);
|
|
146
145
|
await sendKeys({
|
|
147
146
|
press: 'Escape',
|
|
148
147
|
});
|
|
149
148
|
// @ts-ignore
|
|
150
|
-
const isDialogVisible = () => el?.shadowRoot?.querySelector('dialog')
|
|
149
|
+
const isDialogVisible = () => isElementVisible(el?.shadowRoot?.querySelector('dialog'));
|
|
151
150
|
expect(isTooltipContentVisible()).to.equal(false);
|
|
152
151
|
expect(isDialogVisible()).to.equal(true);
|
|
153
152
|
await sendKeys({
|
|
@@ -1,399 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
expect,
|
|
4
|
-
fixture as _fixture,
|
|
5
|
-
html,
|
|
6
|
-
unsafeStatic,
|
|
7
|
-
aTimeout,
|
|
8
|
-
defineCE,
|
|
9
|
-
waitUntil,
|
|
10
|
-
} from '@open-wc/testing';
|
|
11
|
-
import { cache } from 'lit/directives/cache.js';
|
|
12
|
-
import { LitElement, nothing } from 'lit';
|
|
13
|
-
import { runOverlayMixinSuite } from '../../overlays/test-suites/OverlayMixin.suite.js';
|
|
14
|
-
import { isActiveElement } from '../../core/test-helpers/isActiveElement.js';
|
|
15
|
-
import '../test-helpers/test-router.js';
|
|
16
|
-
import '@lion/ui/define/lion-dialog.js';
|
|
17
|
-
import '@lion/ui/define/lion-tabs.js';
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* @typedef {import('../src/LionDialog.js').LionDialog} LionDialog
|
|
21
|
-
* @typedef {import('lit').TemplateResult} TemplateResult
|
|
22
|
-
*/
|
|
23
|
-
const fixture = /** @type {(arg: TemplateResult) => Promise<LionDialog>} */ _fixture;
|
|
24
|
-
describe('lion-dialog', () => {
|
|
25
|
-
// For some reason, globalRootNode is not cleared properly on disconnectedCallback from previous overlay test fixtures...
|
|
26
|
-
// Not sure why this "bug" happens...
|
|
27
|
-
beforeEach(() => {
|
|
28
|
-
const globalRootNode = document.querySelector('.overlays');
|
|
29
|
-
if (globalRootNode) {
|
|
30
|
-
globalRootNode.innerHTML = '';
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
describe('Integration tests', () => {
|
|
34
|
-
const tagString = 'lion-dialog';
|
|
35
|
-
const tag = unsafeStatic(tagString);
|
|
36
|
-
runOverlayMixinSuite({
|
|
37
|
-
tagString,
|
|
38
|
-
tag,
|
|
39
|
-
suffix: ' for lion-dialog',
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
describe('Basic', () => {
|
|
43
|
-
it('should show content on invoker click', async () => {
|
|
44
|
-
const el = await fixture(html`
|
|
45
|
-
<lion-dialog>
|
|
46
|
-
<div slot="content" class="dialog">Hey there</div>
|
|
47
|
-
<button slot="invoker">Popup button</button>
|
|
48
|
-
</lion-dialog>
|
|
49
|
-
`);
|
|
50
|
-
const invoker = /** @type {HTMLElement} */ el.querySelector('[slot="invoker"]');
|
|
51
|
-
invoker.click();
|
|
52
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
53
|
-
await el._overlayCtrl._showComplete;
|
|
54
|
-
expect(el.opened).to.be.true;
|
|
55
|
-
});
|
|
56
|
-
it('supports nested overlays', async () => {
|
|
57
|
-
const el = await fixture(html`
|
|
58
|
-
<lion-dialog>
|
|
59
|
-
<div slot="content">
|
|
60
|
-
open nested overlay:
|
|
61
|
-
<lion-dialog>
|
|
62
|
-
<div slot="content">Nested content</div>
|
|
63
|
-
<button slot="invoker">nested invoker button</button>
|
|
64
|
-
</lion-dialog>
|
|
65
|
-
</div>
|
|
66
|
-
<button slot="invoker">invoker button</button>
|
|
67
|
-
</lion-dialog>
|
|
68
|
-
`);
|
|
69
|
-
|
|
70
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
71
|
-
el._overlayInvokerNode.click();
|
|
72
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
73
|
-
await el._overlayCtrl._showComplete;
|
|
74
|
-
expect(el.opened).to.be.true;
|
|
75
|
-
const nestedDialogEl = /** @type {LionDialog} */ el.querySelector('lion-dialog');
|
|
76
|
-
// @ts-expect-error you're not allowed to call protected _overlayInvokerNode in public context, but for testing it's okay
|
|
77
|
-
nestedDialogEl?._overlayInvokerNode.click();
|
|
78
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
79
|
-
await nestedDialogEl._overlayCtrl._showComplete;
|
|
80
|
-
expect(nestedDialogEl.opened).to.be.true;
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
describe('focus', () => {
|
|
84
|
-
it('sets focus on contentSlot by default', async () => {
|
|
85
|
-
const el = await fixture(html`
|
|
86
|
-
<lion-dialog>
|
|
87
|
-
<button slot="invoker">invoker button</button>
|
|
88
|
-
<div slot="content">
|
|
89
|
-
<label for="myInput">Label</label>
|
|
90
|
-
<input id="myInput" />
|
|
91
|
-
</div>
|
|
92
|
-
</lion-dialog>
|
|
93
|
-
`);
|
|
94
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
95
|
-
const invokerNode = el._overlayInvokerNode;
|
|
96
|
-
invokerNode.focus();
|
|
97
|
-
invokerNode.click();
|
|
98
|
-
const contentNode = /** @type {Element} */ el.querySelector('[slot="content"]');
|
|
99
|
-
expect(isActiveElement(contentNode)).to.be.true;
|
|
100
|
-
});
|
|
101
|
-
it('sets focus on autofocused element', async () => {
|
|
102
|
-
const el = await fixture(html`
|
|
103
|
-
<lion-dialog>
|
|
104
|
-
<button slot="invoker">invoker button</button>
|
|
105
|
-
<div slot="content">
|
|
106
|
-
<label for="myInput">Label</label>
|
|
107
|
-
<input id="myInput" autofocus />
|
|
108
|
-
</div>
|
|
109
|
-
</lion-dialog>
|
|
110
|
-
`);
|
|
111
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
112
|
-
const invokerNode = el._overlayInvokerNode;
|
|
113
|
-
invokerNode.focus();
|
|
114
|
-
invokerNode.click();
|
|
115
|
-
const input = /** @type {Element} */ el.querySelector('input');
|
|
116
|
-
expect(isActiveElement(input)).to.be.true;
|
|
117
|
-
});
|
|
118
|
-
it('with trapsKeyboardFocus set to false the focus stays on the invoker', async () => {
|
|
119
|
-
const el = /** @type {LionDialog} */ await fixture(html`
|
|
120
|
-
<lion-dialog
|
|
121
|
-
.config=${{
|
|
122
|
-
trapsKeyboardFocus: false,
|
|
123
|
-
}}
|
|
124
|
-
>
|
|
125
|
-
<button slot="invoker">invoker button</button>
|
|
126
|
-
<div slot="content">
|
|
127
|
-
<label for="myInput">Label</label>
|
|
128
|
-
<input id="myInput" autofocus />
|
|
129
|
-
</div>
|
|
130
|
-
</lion-dialog>
|
|
131
|
-
`);
|
|
132
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
133
|
-
const invokerNode = el._overlayInvokerNode;
|
|
134
|
-
invokerNode.focus();
|
|
135
|
-
invokerNode.click();
|
|
136
|
-
expect(isActiveElement(invokerNode)).to.be.true;
|
|
137
|
-
});
|
|
138
|
-
it('opened-changed event should send detail object with opened state', async () => {
|
|
139
|
-
const el = /** @type {LionDialog} */ await fixture(html`
|
|
140
|
-
<lion-dialog
|
|
141
|
-
.config=${{
|
|
142
|
-
trapsKeyboardFocus: false,
|
|
143
|
-
}}
|
|
144
|
-
>
|
|
145
|
-
<button slot="invoker">invoker button</button>
|
|
146
|
-
<div slot="content">
|
|
147
|
-
<label for="myInput">Label</label>
|
|
148
|
-
<input id="myInput" autofocus />
|
|
149
|
-
</div>
|
|
150
|
-
</lion-dialog>
|
|
151
|
-
`);
|
|
152
|
-
el.setAttribute('opened', '');
|
|
153
|
-
expect(el.opened).to.be.true;
|
|
154
|
-
el.addEventListener('opened-changed', (e) => {
|
|
155
|
-
// @ts-expect-error [allow-detail-since-custom-event]
|
|
156
|
-
expect(e.detail.opened).to.be.false;
|
|
157
|
-
});
|
|
158
|
-
el.removeAttribute('opened');
|
|
159
|
-
});
|
|
160
|
-
it("opened-changed event's target should point to lion-dialog", async () => {
|
|
161
|
-
const el = /** @type {LionDialog} */ await fixture(html`
|
|
162
|
-
<lion-dialog
|
|
163
|
-
.config=${{
|
|
164
|
-
trapsKeyboardFocus: false,
|
|
165
|
-
}}
|
|
166
|
-
>
|
|
167
|
-
<button slot="invoker">invoker button</button>
|
|
168
|
-
<div slot="content">
|
|
169
|
-
<label for="myInput">Label</label>
|
|
170
|
-
<input id="myInput" autofocus />
|
|
171
|
-
</div>
|
|
172
|
-
</lion-dialog>
|
|
173
|
-
`);
|
|
174
|
-
el.addEventListener('opened-changed', (e) => {
|
|
175
|
-
expect(e.target).to.equal(el);
|
|
176
|
-
});
|
|
177
|
-
el.setAttribute('opened', '');
|
|
178
|
-
});
|
|
179
|
-
});
|
|
180
|
-
describe('Accessibility', () => {
|
|
181
|
-
it('passes a11y audit', async () => {
|
|
182
|
-
const el = await fixture(html`
|
|
183
|
-
<lion-dialog>
|
|
184
|
-
<button slot="invoker">Invoker</button>
|
|
185
|
-
<div slot="content" class="dialog" aria-label="Dialog">Hey there</div>
|
|
186
|
-
</lion-dialog>
|
|
187
|
-
`);
|
|
188
|
-
await expect(el).to.be.accessible();
|
|
189
|
-
});
|
|
190
|
-
it('passes a11y audit when opened', async () => {
|
|
191
|
-
const el = await fixture(html`
|
|
192
|
-
<lion-dialog opened>
|
|
193
|
-
<button slot="invoker">Invoker</button>
|
|
194
|
-
<div slot="content" class="dialog" aria-label="Dialog">Hey there</div>
|
|
195
|
-
</lion-dialog>
|
|
196
|
-
`);
|
|
197
|
-
// error expected since we put role="none" on the dialog itself, which is valid but not recognized by Axe
|
|
198
|
-
await expect(el).to.be.accessible({
|
|
199
|
-
ignoredRules: ['aria-allowed-role'],
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
it('does not add [aria-expanded] to invoker button', async () => {
|
|
203
|
-
const el = await fixture(
|
|
204
|
-
html` <lion-dialog>
|
|
205
|
-
<div slot="content" class="dialog">Hey there</div>
|
|
206
|
-
<button slot="invoker">Popup button</button>
|
|
207
|
-
</lion-dialog>`,
|
|
208
|
-
);
|
|
209
|
-
const invokerButton = /** @type {HTMLElement} */ el.querySelector('[slot="invoker"]');
|
|
210
|
-
expect(invokerButton.getAttribute('aria-expanded')).to.equal(null);
|
|
211
|
-
await invokerButton.click();
|
|
212
|
-
await aTimeout(0);
|
|
213
|
-
expect(invokerButton.getAttribute('aria-expanded')).to.equal(null);
|
|
214
|
-
await invokerButton.click();
|
|
215
|
-
await aTimeout(0);
|
|
216
|
-
expect(invokerButton.getAttribute('aria-expanded')).to.equal(null);
|
|
217
|
-
});
|
|
218
|
-
it('has role="dialog" by default', async () => {
|
|
219
|
-
const el = await fixture(
|
|
220
|
-
html` <lion-dialog>
|
|
221
|
-
<div slot="content" class="dialog">Hey there</div>
|
|
222
|
-
<button slot="invoker">Popup button</button>
|
|
223
|
-
</lion-dialog>`,
|
|
224
|
-
);
|
|
225
|
-
const contentNode = /** @type {HTMLElement} */ el.querySelector('[slot="content"]');
|
|
226
|
-
expect(contentNode.getAttribute('role')).to.equal('dialog');
|
|
227
|
-
});
|
|
228
|
-
it('has role="alertdialog" by when "is-alert-dialog" is set', async () => {
|
|
229
|
-
const el = await fixture(
|
|
230
|
-
html` <lion-dialog is-alert-dialog>
|
|
231
|
-
<div slot="content" class="dialog">Hey there</div>
|
|
232
|
-
<button slot="invoker">Popup button</button>
|
|
233
|
-
</lion-dialog>`,
|
|
234
|
-
);
|
|
235
|
-
const contentNode = /** @type {HTMLElement} */ el.querySelector('[slot="content"]');
|
|
236
|
-
expect(contentNode.getAttribute('role')).to.equal('alertdialog');
|
|
237
|
-
});
|
|
238
|
-
it('passes a11y audit when opened and role="alertdialog"', async () => {
|
|
239
|
-
const el = await fixture(html`
|
|
240
|
-
<lion-dialog opened is-alert-dialog>
|
|
241
|
-
<button slot="invoker">Invoker</button>
|
|
242
|
-
<div slot="content" class="dialog" aria-label="Dialog">Hey there</div>
|
|
243
|
-
</lion-dialog>
|
|
244
|
-
`);
|
|
245
|
-
// error expected since we put role="none" on the dialog itself, which is valid but not recognized by Axe
|
|
246
|
-
await expect(el).to.be.accessible({
|
|
247
|
-
ignoredRules: ['aria-allowed-role'],
|
|
248
|
-
});
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
describe('Edge cases', () => {
|
|
252
|
-
it('does not lose click event handler when was detached and reattached', async () => {
|
|
253
|
-
const el = await fixture(html`
|
|
254
|
-
<test-router
|
|
255
|
-
.routingMap="${{
|
|
256
|
-
a: html`
|
|
257
|
-
<lion-dialog>
|
|
258
|
-
<div slot="content" class="dialog">Hey there</div>
|
|
259
|
-
<button slot="invoker">Popup button</button>
|
|
260
|
-
</lion-dialog>
|
|
261
|
-
`,
|
|
262
|
-
b: html` <div>B</div> `,
|
|
263
|
-
}}"
|
|
264
|
-
path="a"
|
|
265
|
-
></test-router>
|
|
266
|
-
`);
|
|
267
|
-
const getDialog = () => /** @type {LionDialog} */ el.shadowRoot?.querySelector('lion-dialog');
|
|
268
|
-
const getInvoker = () =>
|
|
269
|
-
/** @type {HTMLElement} */ getDialog().querySelector('[slot="invoker"]');
|
|
270
|
-
getInvoker().click();
|
|
271
|
-
const dialog = getDialog();
|
|
272
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
273
|
-
await dialog._overlayCtrl._showComplete;
|
|
274
|
-
expect(dialog.opened).to.be.true;
|
|
275
|
-
dialog.close();
|
|
276
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
277
|
-
await dialog._overlayCtrl._hideComplete;
|
|
278
|
-
expect(dialog.opened).to.be.false;
|
|
279
|
-
const buttonA = /** @type {HTMLElement} */ el.shadowRoot?.querySelector('#path-a');
|
|
280
|
-
const buttonB = /** @type {HTMLElement} */ el.shadowRoot?.querySelector('#path-b');
|
|
281
|
-
buttonB.click();
|
|
282
|
-
await el.updateComplete;
|
|
283
|
-
buttonA.click();
|
|
284
|
-
await el.updateComplete;
|
|
285
|
-
await el.updateComplete;
|
|
286
|
-
getInvoker().click();
|
|
287
|
-
const dialogAfterRouteChange = getDialog();
|
|
288
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
289
|
-
expect(dialogAfterRouteChange._overlayCtrl).not.to.be.undefined;
|
|
290
|
-
// @ts-expect-error [allow-protected-in-tests]
|
|
291
|
-
await dialogAfterRouteChange._overlayCtrl._showComplete;
|
|
292
|
-
expect(dialogAfterRouteChange.opened).to.be.true;
|
|
293
|
-
});
|
|
294
|
-
it('should close the popup dialog after rendered from cache', async () => {
|
|
295
|
-
/**
|
|
296
|
-
*
|
|
297
|
-
* @param {Event} e
|
|
298
|
-
* @returns
|
|
299
|
-
*/
|
|
300
|
-
const closeButtonHandler = (e) =>
|
|
301
|
-
e.target?.dispatchEvent(
|
|
302
|
-
new Event('close-overlay', {
|
|
303
|
-
bubbles: true,
|
|
304
|
-
}),
|
|
305
|
-
);
|
|
306
|
-
const dialog = html` <lion-dialog>
|
|
307
|
-
<button slot="invoker" class="invoker-button">Click me to open dialog</button>
|
|
308
|
-
<div slot="content" class="demo-dialog-content">
|
|
309
|
-
Hello! You can close this dialog here:
|
|
310
|
-
<button class="close-button" @click="${closeButtonHandler}">⨯</button>
|
|
311
|
-
</div>
|
|
312
|
-
</lion-dialog>`;
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* Note, inactive tab content is **destroyed** on every tab switch.
|
|
316
|
-
*/
|
|
317
|
-
class Wrapper extends LitElement {
|
|
318
|
-
static properties = {
|
|
319
|
-
...super.properties,
|
|
320
|
-
activeTabIndex: {
|
|
321
|
-
type: Number,
|
|
322
|
-
},
|
|
323
|
-
};
|
|
324
|
-
constructor() {
|
|
325
|
-
super();
|
|
326
|
-
this.activeTabIndex = 0;
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* @param {number} index
|
|
331
|
-
*/
|
|
332
|
-
changeActiveTabIndex(index) {
|
|
333
|
-
this.activeTabIndex = index;
|
|
334
|
-
}
|
|
335
|
-
render() {
|
|
336
|
-
const changeActiveTabIndexRef = this.changeActiveTabIndex.bind(this);
|
|
337
|
-
return html`
|
|
338
|
-
<lion-tabs>
|
|
339
|
-
<button slot="tab" class="first-button" @click=${() => changeActiveTabIndexRef(0)}>
|
|
340
|
-
First
|
|
341
|
-
</button>
|
|
342
|
-
<p slot="panel">${cache(this.activeTabIndex === 0 ? dialog : nothing)}</p>
|
|
343
|
-
<button slot="tab" class="second-button" @click=${() => changeActiveTabIndexRef(1)}>
|
|
344
|
-
Second
|
|
345
|
-
</button>
|
|
346
|
-
<p slot="panel">Info page with lots of information about us.</p>
|
|
347
|
-
</lion-tabs>
|
|
348
|
-
`;
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
const wrapperFixture = /** @type {(arg: TemplateResult) => Promise<Wrapper>} */ _fixture;
|
|
352
|
-
const tagString = defineCE(Wrapper);
|
|
353
|
-
const wrapperTag = unsafeStatic(tagString);
|
|
354
|
-
const wrapperElement =
|
|
355
|
-
/** @type {Wrapper} */
|
|
356
|
-
await wrapperFixture(html`<${wrapperTag}></${wrapperTag}>`);
|
|
357
|
-
await wrapperElement.updateComplete;
|
|
358
|
-
const wrapperElementShadowRoot = wrapperElement.shadowRoot;
|
|
359
|
-
/**
|
|
360
|
-
* @returns { HTMLElement | null | undefined }
|
|
361
|
-
*/
|
|
362
|
-
const getFirstButton = () => wrapperElementShadowRoot?.querySelector('.first-button');
|
|
363
|
-
/**
|
|
364
|
-
* @returns { HTMLElement | null | undefined }
|
|
365
|
-
*/
|
|
366
|
-
const getSecondButton = () => wrapperElementShadowRoot?.querySelector('.second-button');
|
|
367
|
-
/**
|
|
368
|
-
* @returns { HTMLElement | null | undefined }
|
|
369
|
-
*/
|
|
370
|
-
const getInvokerButton = () => wrapperElementShadowRoot?.querySelector('.invoker-button');
|
|
371
|
-
/**
|
|
372
|
-
* @returns { HTMLElement | null | undefined }
|
|
373
|
-
*/
|
|
374
|
-
const getCloseButton = () => wrapperElementShadowRoot?.querySelector('.close-button');
|
|
375
|
-
/**
|
|
376
|
-
* @returns { Element | null | undefined }
|
|
377
|
-
*/
|
|
378
|
-
const getDialog = () =>
|
|
379
|
-
wrapperElementShadowRoot?.querySelector('lion-dialog')?.shadowRoot?.querySelector('dialog');
|
|
380
|
-
// @ts-ignore
|
|
381
|
-
const isDialogVisible = () => getDialog()?.checkVisibility() === true;
|
|
382
|
-
const isDialogRendered = () =>
|
|
383
|
-
!!wrapperElement.shadowRoot?.querySelector('lion-dialog')?.shadowRoot?.childNodes.length;
|
|
384
|
-
getInvokerButton()?.click();
|
|
385
|
-
await waitUntil(isDialogVisible);
|
|
386
|
-
getCloseButton()?.click();
|
|
387
|
-
await waitUntil(() => !isDialogVisible());
|
|
388
|
-
getSecondButton()?.click();
|
|
389
|
-
await waitUntil(() => !isDialogRendered());
|
|
390
|
-
getFirstButton()?.click();
|
|
391
|
-
await waitUntil(isDialogRendered);
|
|
392
|
-
getInvokerButton()?.click();
|
|
393
|
-
await waitUntil(isDialogVisible);
|
|
394
|
-
getCloseButton()?.click();
|
|
395
|
-
await waitUntil(() => !isDialogVisible());
|
|
396
|
-
expect(isDialogVisible()).to.equal(false);
|
|
397
|
-
});
|
|
398
|
-
});
|
|
399
|
-
});
|
|
1
|
+
import { runDialogSuite } from '../test-suites/lion-dialog.suite.js';
|
|
2
|
+
runDialogSuite();
|