@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
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
parts:
|
|
3
|
-
- How To
|
|
4
|
-
- Create a custom field
|
|
5
|
-
title: 'Create a custom field'
|
|
6
|
-
eleventyNavigation:
|
|
7
|
-
key: 'How To: Create a custom field'
|
|
8
|
-
order: 20
|
|
9
|
-
parent: How To
|
|
10
|
-
title: Create a custom field
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Create a custom field
|
|
14
|
-
|
|
15
|
-
```js script
|
|
16
|
-
import { html, css, LitElement } from '@mdjs/mdjs-preview';
|
|
17
|
-
import { LionField } from '@lion/ui/form-core.js';
|
|
18
|
-
import '@lion/ui/define/lion-field.js';
|
|
19
|
-
import '@lion/ui/define/lion-validation-feedback.js';
|
|
20
|
-
|
|
21
|
-
import '../../fundamentals/systems/form/assets/h-output.js';
|
|
22
|
-
|
|
23
|
-
// A) the custom [slot=input] or 'HTMLElementWithValue'
|
|
24
|
-
class DummySlider extends LitElement {
|
|
25
|
-
// A1) it should have a .value property of type 'string'
|
|
26
|
-
static properties = { value: String, reflect: true };
|
|
27
|
-
|
|
28
|
-
static styles = [
|
|
29
|
-
css`
|
|
30
|
-
:host {
|
|
31
|
-
display: block;
|
|
32
|
-
padding-top: 16px;
|
|
33
|
-
padding-bottom: 16px;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
[part='rail'] {
|
|
37
|
-
position: relative;
|
|
38
|
-
display: block;
|
|
39
|
-
background: #eee;
|
|
40
|
-
height: 8px;
|
|
41
|
-
border-radius: 8px;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
[part='thumb'] {
|
|
45
|
-
position: absolute;
|
|
46
|
-
display: flex;
|
|
47
|
-
align-items: center;
|
|
48
|
-
justify-content: center;
|
|
49
|
-
font-size: 10px;
|
|
50
|
-
background: black;
|
|
51
|
-
color: white;
|
|
52
|
-
border-radius: 50%;
|
|
53
|
-
height: 24px;
|
|
54
|
-
width: 24px;
|
|
55
|
-
top: 50%;
|
|
56
|
-
transform: translateY(-50%) translateX(-50%);
|
|
57
|
-
transition: left 0.5s ease 0s;
|
|
58
|
-
}
|
|
59
|
-
`,
|
|
60
|
-
];
|
|
61
|
-
|
|
62
|
-
constructor() {
|
|
63
|
-
super();
|
|
64
|
-
this.value = '0';
|
|
65
|
-
this.addEventListener('click', ev => {
|
|
66
|
-
this.value = `${Math.round(
|
|
67
|
-
((ev.clientX - this.getClientRects()[0].x) / this.offsetWidth) * 5,
|
|
68
|
-
)}`;
|
|
69
|
-
// A2) it should have a way to tell LionField its value changed
|
|
70
|
-
this.dispatchEvent(new Event('dummy-slider-changed', { bubbles: true }));
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
connectedCallback() {
|
|
75
|
-
super.connectedCallback();
|
|
76
|
-
this.setAttribute('tabindex', 0);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
render() {
|
|
80
|
-
return html` <div part="rail">
|
|
81
|
-
<span part="thumb" style="left:${Number(this.value) * 20}%;">${this.value}</span>
|
|
82
|
-
</div>`;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
if (!customElements.get('dummy-slider')) {
|
|
86
|
-
customElements.define('dummy-slider', DummySlider);
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
Custom Fields can be created in just a few steps. All you need is an interaction element (like for instance a slider, a listbox or a combobox) and connect it to the [LionField](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/components/input/overview.md).
|
|
91
|
-
|
|
92
|
-
> In case you want to extend a native element, follow [Extend a native Input](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/how-to/extend-a-native-input.md).
|
|
93
|
-
|
|
94
|
-
## A) an interaction element
|
|
95
|
-
|
|
96
|
-
An interaction element (.\_inputNode) provides the means for the end user to enter a certain value,
|
|
97
|
-
just like native elements provide in this (think of input, textarea and select).
|
|
98
|
-
An example of a non native element is the [slider design pattern](https://www.w3.org/TR/wai-aria-practices-1.1/#slider) described here.
|
|
99
|
-
|
|
100
|
-
For this tutorial, we create a dummy component 'dummy-slider' that exposes its value via
|
|
101
|
-
property `.value` and sends an event `dummy-slider-changed` on every value change.
|
|
102
|
-
To make it focusable, it has a tabindex=“0” applied.
|
|
103
|
-
|
|
104
|
-
```js preview-story
|
|
105
|
-
export const createAnInteractiveElement = () => {
|
|
106
|
-
// A) the custom [slot=input] or 'HTMLElementWithValue'
|
|
107
|
-
class DummySlider extends LitElement {
|
|
108
|
-
// A1) it should have a .value property of type 'string'
|
|
109
|
-
static properties = { value: String };
|
|
110
|
-
|
|
111
|
-
constructor() {
|
|
112
|
-
super();
|
|
113
|
-
this.value = 0;
|
|
114
|
-
this.addEventListener('click', ev => {
|
|
115
|
-
this.value = `${Math.round(
|
|
116
|
-
((ev.clientX - this.getClientRects()[0].x) / this.offsetWidth) * 5,
|
|
117
|
-
)}`;
|
|
118
|
-
// A2) it should have a way to tell LionField its value changed
|
|
119
|
-
this.dispatchEvent(new Event('dummy-slider-changed', { bubbles: true }));
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
connectedCallback() {
|
|
124
|
-
super.connectedCallback();
|
|
125
|
-
this.setAttribute('tabindex', 0);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
render() {
|
|
129
|
-
return html` <div part="rail">
|
|
130
|
-
<span part="thumb" style="left:${Number(this.value) * 20}%;">${this.value}</span>
|
|
131
|
-
</div>`;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return html`<dummy-slider></dummy-slider>`;
|
|
135
|
-
};
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## B) your LionField extension
|
|
139
|
-
|
|
140
|
-
Now we want to integrate the slider in our form system to enrich the user interface, get
|
|
141
|
-
validation support and all other [benefits of LionField](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/components/input/overview.md).
|
|
142
|
-
We start by creating a component `<slider-field>` that extends from `LionField`.
|
|
143
|
-
Then we follow the steps below:
|
|
144
|
-
|
|
145
|
-
- **Add your interaction element**
|
|
146
|
-
|
|
147
|
-
Here you return the element the user interacts with. By configuring it as a slot, it will end up in
|
|
148
|
-
light DOM, ensuring the best accessibility for the end user.
|
|
149
|
-
|
|
150
|
-
- **Connect modelValue**
|
|
151
|
-
|
|
152
|
-
The `user-input-changed` event is listened to by the FormatMixin: it should be regarded as the
|
|
153
|
-
equivalent of the `input` event of the platform, but for custom built interaction elements.
|
|
154
|
-
You now synchronized [modelValue](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/fundamentals/systems/form/model-value.md), which can be regarded as
|
|
155
|
-
the glue to integrate all other functionality like parsing/formatting/serializing, validating,
|
|
156
|
-
tracking interaction states etc.
|
|
157
|
-
|
|
158
|
-
> N.B. Make sure you never override other property getters than the one mentioned in this tutorial,
|
|
159
|
-
> because those properties will lose their reactivity (they won't be considered anymore in the
|
|
160
|
-
> update loop of LitElement).
|
|
161
|
-
> Whenever a .modelValue/.formattedValue/.serializedValue needs to be computed, use
|
|
162
|
-
> [parser/formatter/serializer](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/fundamentals/systems/form/formatting-and-parsing.md)
|
|
163
|
-
|
|
164
|
-
Implement with the following code:
|
|
165
|
-
|
|
166
|
-
```js preview-story
|
|
167
|
-
export const createAField = () => {
|
|
168
|
-
// B) your extension with all the Field goodness...
|
|
169
|
-
class SliderField extends LionField {
|
|
170
|
-
// B1) Add your interaction element as ‘input slot'
|
|
171
|
-
get slots() {
|
|
172
|
-
return {
|
|
173
|
-
...super.slots,
|
|
174
|
-
input: () => document.createElement('dummy-slider'),
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// B2) Connect modelValue
|
|
179
|
-
constructor() {
|
|
180
|
-
super();
|
|
181
|
-
this.addEventListener('dummy-slider-changed', ev => {
|
|
182
|
-
ev.stopPropagation();
|
|
183
|
-
this.dispatchEvent(new Event('user-input-changed'));
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
get value() {
|
|
188
|
-
// Remember we should always return type 'string' here
|
|
189
|
-
return this._inputNode.value;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
set value(newV) {
|
|
193
|
-
this._inputNode.value = newV;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
customElements.define('slider-field', SliderField);
|
|
197
|
-
|
|
198
|
-
return html`<slider-field
|
|
199
|
-
label="SliderField"
|
|
200
|
-
help-text="Press to see how modelValue is synchronized"
|
|
201
|
-
></slider-field>
|
|
202
|
-
<h-output .show="${['modelValue', 'touched', 'dirty', 'focused']}"></h-output>`;
|
|
203
|
-
};
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
That was all!
|
|
207
|
-
Now that your .modelValue is connected your component is fully compatible with our form system
|
|
208
|
-
|
|
209
|
-
> Is your `.modelValue` still undefined? Please make sure your `.value` is of type 'string'.
|
|
210
|
-
|
|
211
|
-
Now you can enhance your slider by writing custom Validators for it or by
|
|
212
|
-
writing a parser to get a custom modelValue type.
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
parts:
|
|
3
|
-
- How To
|
|
4
|
-
- Create a form
|
|
5
|
-
title: 'Create a form'
|
|
6
|
-
eleventyNavigation:
|
|
7
|
-
key: 'How To: Create a form'
|
|
8
|
-
order: 15
|
|
9
|
-
parent: How To
|
|
10
|
-
title: Create a form
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Create a form
|
|
14
|
-
|
|
15
|
-
Creating your own forms as an Application Developer is really simple. Only two rules need to be followed.
|
|
16
|
-
|
|
17
|
-
This guide is written for Application Developers that work with a fully styled and configured extension of Lion.
|
|
18
|
-
Say for instance we have a 'Wolf' extension layer with a set of styled/configured Lion form components:
|
|
19
|
-
|
|
20
|
-
- wolf-form
|
|
21
|
-
- wolf-fieldset
|
|
22
|
-
- wolf-input
|
|
23
|
-
- wolf-textarea
|
|
24
|
-
- ...and all other form components
|
|
25
|
-
|
|
26
|
-
## Two simple rules
|
|
27
|
-
|
|
28
|
-
When building a form, keep these things in mind:
|
|
29
|
-
|
|
30
|
-
- avoid shadow roots inside your form
|
|
31
|
-
- do not extend form components
|
|
32
|
-
|
|
33
|
-
## Avoiding shadow roots
|
|
34
|
-
|
|
35
|
-
Large or complex forms might need to be split up into multiple files. This composition could be achieved via:
|
|
36
|
-
|
|
37
|
-
- shared templates
|
|
38
|
-
- (web) components
|
|
39
|
-
|
|
40
|
-
In the latter case: make sure that your components don't have a shadow root. This can be achieved by rendering into Light DOM. The form registration mechanism relies on light dom by design: as soon as you do start to use shadow roots, you will notice that your form components won't register themselves anymore to their parents.
|
|
41
|
-
|
|
42
|
-
> Today, rendering to light dom is the only way to [stay accessible](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/fundamentals/rationales/accessibility.md#shadow-roots-and-accessibility).
|
|
43
|
-
|
|
44
|
-
### Example of a component that renders into Light DOM
|
|
45
|
-
|
|
46
|
-
Rendering into Light DOM can be achieved in LitElement by providing the host as render root:
|
|
47
|
-
|
|
48
|
-
```js
|
|
49
|
-
class MySubForm extends LitElement {
|
|
50
|
-
// This will make sure the component does not have a shadow root
|
|
51
|
-
createRenderRoot() {
|
|
52
|
-
return this;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
render() {
|
|
56
|
-
return html`
|
|
57
|
-
<wolf-fieldset name="my-fieldset">
|
|
58
|
-
<wolf-input name="my-input"></wolf-input>
|
|
59
|
-
<wolf-texarea name="my-texarea"></wolf-texarea>
|
|
60
|
-
</wolf-fieldset>
|
|
61
|
-
`;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
customElements.define('my-sub-form', MySubForm);
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
Our component can be used in our form like this:
|
|
68
|
-
|
|
69
|
-
```js
|
|
70
|
-
class MyForm extends LitElement {
|
|
71
|
-
render() {
|
|
72
|
-
return html`
|
|
73
|
-
<wolf-form>
|
|
74
|
-
<form>
|
|
75
|
-
<my-sub-form></my-sub-form>
|
|
76
|
-
</form>
|
|
77
|
-
</wolf-form>
|
|
78
|
-
`;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
## Extending form components
|
|
84
|
-
|
|
85
|
-
Extending form components is not recommended for Application Developers: it should be left to the team that creates a Design System (Subclassers).
|
|
86
|
-
This team will add the styling and default configuration needed to make it fit the particular Design System.
|
|
87
|
-
|
|
88
|
-
With the toolbox provided by the team that creates your Design System, you should be able to build all your forms. Only if you have a really good reason, look into
|
|
89
|
-
[exceptional cases](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/how-to/#exceptional-cases) below.
|
|
90
|
-
|
|
91
|
-
### Exceptional cases
|
|
92
|
-
|
|
93
|
-
If the form component you need is still missing, you have two options:
|
|
94
|
-
|
|
95
|
-
- is it a generic primitive that should be part of Lion? Request it in [Lion discussions](https://github.com/ing-bank/lion/discussions)
|
|
96
|
-
- is it a non generic component that is unique to your app?
|
|
97
|
-
- follow [create a custom field](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/how-to/create-a-custom-field.md)
|
|
98
|
-
- follow [extend a native input](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/how-to/extend-a-native-input.md)
|
|
99
|
-
|
|
100
|
-
It's also possible to extend other components, like LionListbox or LionCombobox. You need to be aware that you're building on top of protected apis.
|
|
101
|
-
Changing/overriding functionality is only recommended if the source code in `form-core` is fully understood.
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
parts:
|
|
3
|
-
- How To
|
|
4
|
-
- Extend a native input
|
|
5
|
-
title: 'Extend a native input'
|
|
6
|
-
eleventyNavigation:
|
|
7
|
-
key: 'How To: Extend a native input'
|
|
8
|
-
order: 20
|
|
9
|
-
parent: How To
|
|
10
|
-
title: Extend a native input
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Extend a native input
|
|
14
|
-
|
|
15
|
-
```js script
|
|
16
|
-
import { html } from '@mdjs/mdjs-preview';
|
|
17
|
-
import { LionInput } from '@lion/ui/input.js';
|
|
18
|
-
import { LionInputDate } from '@lion/ui/input-date.js';
|
|
19
|
-
import { loadDefaultFeedbackMessages } from '@lion/ui/validate-messages.js';
|
|
20
|
-
import '@lion/ui/define/lion-input.js';
|
|
21
|
-
import '../../fundamentals/systems/form/assets/h-output.js';
|
|
22
|
-
|
|
23
|
-
loadDefaultFeedbackMessages();
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Input fields can be created by extending [LionInput](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/components/input/overview.md).
|
|
27
|
-
|
|
28
|
-
> In case you want to wrap a custom form element, follow [Create a custom Field](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/how-to/create-a-custom-field.md).
|
|
29
|
-
|
|
30
|
-
For this tutorial, we create an input that wraps native `input[type=datetime-local]`.
|
|
31
|
-
This is as simple as adding a type:
|
|
32
|
-
|
|
33
|
-
```js preview-story
|
|
34
|
-
export const extendLionInput = () => {
|
|
35
|
-
class LionInputDatetime extends LionInput {
|
|
36
|
-
constructor() {
|
|
37
|
-
super();
|
|
38
|
-
this.type = 'datetime-local';
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
customElements.define('lion-input-datetime', LionInputDatetime);
|
|
42
|
-
|
|
43
|
-
return html`<lion-input-datetime label="With Date string"></lion-input-datetime>
|
|
44
|
-
<h-output .show="${['modelValue', 'touched', 'dirty', 'focused']}"></h-output>`;
|
|
45
|
-
};
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
However, we might want to have a more advanced modelValue. In the example above, our modelValue is
|
|
49
|
-
a serialized datetime string.
|
|
50
|
-
If we want our modelValue to be of type Date, we should do the following:
|
|
51
|
-
|
|
52
|
-
```js preview-story
|
|
53
|
-
export const extendLionInputDate = () => {
|
|
54
|
-
function toIsoDatetime(d) {
|
|
55
|
-
return d && new Date(d.getTime() - d.getTimezoneOffset() * 60000).toISOString().split('.')[0];
|
|
56
|
-
}
|
|
57
|
-
function fromIsoDatetime(value) {
|
|
58
|
-
return new Date(value);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
class LionInputDatetimeWithObject extends LionInputDate {
|
|
62
|
-
constructor() {
|
|
63
|
-
super();
|
|
64
|
-
this.type = 'datetime-local';
|
|
65
|
-
this.parser = fromIsoDatetime;
|
|
66
|
-
this.deserializer = fromIsoDatetime;
|
|
67
|
-
this.serializer = toIsoDatetime;
|
|
68
|
-
this.formatter = toIsoDatetime;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
customElements.define('lion-input-datetime-with-object', LionInputDatetimeWithObject);
|
|
72
|
-
|
|
73
|
-
return html`<lion-input-datetime-with-object
|
|
74
|
-
label="With Date object"
|
|
75
|
-
></lion-input-datetime-with-object>
|
|
76
|
-
<h-output .show="${['modelValue', 'touched', 'dirty', 'focused']}"></h-output>`;
|
|
77
|
-
};
|
|
78
|
-
```
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
parts:
|
|
3
|
-
- How To
|
|
4
|
-
- Get Started
|
|
5
|
-
title: 'Get Started'
|
|
6
|
-
eleventyNavigation:
|
|
7
|
-
key: 'How To: Get Started'
|
|
8
|
-
order: 10
|
|
9
|
-
parent: How To
|
|
10
|
-
title: Get Started
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Get Started
|
|
14
|
-
|
|
15
|
-
## Technologies Used
|
|
16
|
-
|
|
17
|
-
Lion Web Components aims to be future proof and use well-supported proven technology. The stack we have chosen should reflect this.
|
|
18
|
-
|
|
19
|
-
Checkout the documentation of our main stack.
|
|
20
|
-
|
|
21
|
-
- [lit](https://lit.dev/) - Building on top of the Web Components standards, Lit adds just what you need to be happy and productive: reactivity, declarative templates and a handful of thoughtful features to reduce boilerplate and make your job easier.
|
|
22
|
-
- [modern-web](https://modern-web.dev) - Guides, tools and libraries for modern web development.
|
|
23
|
-
- [open-wc](https://open-wc.org) - Open Web Components provides guides, tools and libraries for developing web components.
|
|
24
|
-
|
|
25
|
-
## How to get started
|
|
26
|
-
|
|
27
|
-
Make sure you have `npm`, if you don't have it yet: [get npm](https://www.npmjs.com/get-npm).
|
|
28
|
-
|
|
29
|
-
And create a repo, we suggest to use [the generator from open-wc](https://open-wc.org/docs/development/generator/):
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
npm init @open-wc
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Install lion packages
|
|
36
|
-
|
|
37
|
-
To get started with consuming lion's UI components install package `@lion/ui` as follows:
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
npm i @lion/ui
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
You can install lion's ajax package with:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
npm i @lion/ajax
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
You can install lion's singleton-manager package with:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
npm i --save singleton-manager
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### Extend a Web Component
|
|
56
|
-
|
|
57
|
-
**This is the main use case for lion**. To import component classes, and extend them for your own design system's components.
|
|
58
|
-
|
|
59
|
-
```js
|
|
60
|
-
import { css } from 'lit';
|
|
61
|
-
import { LionInput } from '@lion/ui/input.js';
|
|
62
|
-
|
|
63
|
-
class MyInput extends LionInput {
|
|
64
|
-
static get styles() {
|
|
65
|
-
return [
|
|
66
|
-
...super.styles,
|
|
67
|
-
css`
|
|
68
|
-
/* your styles here */
|
|
69
|
-
`,
|
|
70
|
-
];
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
customElements.define('my-input', MyInput);
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Use a JavaScript system
|
|
77
|
-
|
|
78
|
-
There's a couple of "systems" in lion which have a JavaScript API. Examples are `localize`, `overlays`, `ajax`, etc.
|
|
79
|
-
|
|
80
|
-
```html
|
|
81
|
-
<script type="module">
|
|
82
|
-
import { ajax } from '@lion/ajax';
|
|
83
|
-
|
|
84
|
-
ajax
|
|
85
|
-
.fetch('data.json')
|
|
86
|
-
.then(response => response.json())
|
|
87
|
-
.then(data => {
|
|
88
|
-
// do something with the data
|
|
89
|
-
});
|
|
90
|
-
</script>
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Use a Web Component
|
|
94
|
-
|
|
95
|
-
You can also use the lion elements directly, although this is likely not a common use case.
|
|
96
|
-
|
|
97
|
-
```html
|
|
98
|
-
<script type="module">
|
|
99
|
-
import '@lion/ui/define/lion-input.js';
|
|
100
|
-
</script>
|
|
101
|
-
|
|
102
|
-
<lion-input name="firstName" label="First name"></lion-input>
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### Code Completion for VS Code
|
|
106
|
-
|
|
107
|
-
The @lion/ui package includes a file named vscode.html-custom-data.json that allows you to define custom elements to be recognized by Visual Studio Code. This enables code completion for @lion/ui components. To activate this feature, follow these steps after having installed `@lion/ui`:
|
|
108
|
-
|
|
109
|
-
1. Navigate to the root of your project
|
|
110
|
-
2. Add the following to root level of object in file `.vscode/settings.json` (create file if it doesn't exist):
|
|
111
|
-
|
|
112
|
-
```json
|
|
113
|
-
"html.customData": ["./node_modules/@lion/ui/vscode.html-custom-data.json"]
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
3. Restart your Visual Studio Code for the changes to take effect.
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
parts:
|
|
3
|
-
- How To
|
|
4
|
-
title: How To
|
|
5
|
-
eleventyNavigation:
|
|
6
|
-
key: How To
|
|
7
|
-
order: 20
|
|
8
|
-
title: How To
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# How To
|
|
12
|
-
|
|
13
|
-
Welcome to the How To section. Here you'll find practical, step-by-step guides for common tasks when working with Lion Web Components.
|
|
14
|
-
|
|
15
|
-
Whether you're just getting started with Lion, building your first form, extending existing components, or creating custom fields, this section provides clear instructions and best practices to help you succeed. Each guide is designed to walk you through the process with real-world examples and code samples.
|
|
16
|
-
|
|
17
|
-
**Browse the guides below to:**
|
|
18
|
-
|
|
19
|
-
- Set up your development environment and get started with Lion
|
|
20
|
-
- Learn how to create accessible and well-structured forms
|
|
21
|
-
- Discover how to extend native input components
|
|
22
|
-
- Build custom form fields tailored to your needs
|
|
23
|
-
- Follow proven patterns and best practices used by the Lion community
|
|
24
|
-
|
|
25
|
-
If you can't find what you're looking for, check out our [Fundamentals](../../fundamentals/) section for deeper conceptual knowledge, or visit our [Components](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/components) documentation for detailed API references.
|
package/docs/guides/index.md
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
parts:
|
|
3
|
-
- Guides
|
|
4
|
-
title: Guides
|
|
5
|
-
eleventyNavigation:
|
|
6
|
-
key: Guides
|
|
7
|
-
order: 30
|
|
8
|
-
title: Guides
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Guides
|
|
12
|
-
|
|
13
|
-
Lion is a set of white label Web Components that can be extended to your own styled layer of components.
|
|
14
|
-
|
|
15
|
-
We know from experience that making high quality, accessible UI components is hard and time consuming: it takes many iterations, a lot of development time and a lot of testing to get a generic component that works in every context, supports many edge cases and is accessible in all relevant screen readers.
|
|
16
|
-
|
|
17
|
-
Lion aims to do the heavy lifting for you. This means you only have to apply your own Design System: by delivering styles, configuring components and adding a minimal set of custom logic on top.
|
|
18
|
-
|
|
19
|
-
## Consuming Developer
|
|
20
|
-
|
|
21
|
-
Developers consuming our web components inside an application (not extending them).
|
|
22
|
-
`Application Developers` are only allowed to interact with `public` properties and methods.
|
|
23
|
-
Can be abbreviated as `AD`. Sometimes also called `Consuming Developer`.
|
|
24
|
-
|
|
25
|
-
- [Definitions and Terms](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/principles/definitions-and-terms.md)
|
|
26
|
-
- [Styling](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/principles/styling.md)
|
|
27
|
-
- [Scoped Elements](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/principles/scoped-elements.md)
|
|
28
|
-
|
|
29
|
-
## Extending Developer
|
|
30
|
-
|
|
31
|
-
Developers extending our web components, for instance: `class MaterialInput extends LionInput` are called `subclassers`. Subclassers have access to protected methods (prefixed with an underscore or marked as protected), but not to private methods.
|
|
32
|
-
|
|
33
|
-
Especially for subclassers we have some extra documentation:
|
|
34
|
-
|
|
35
|
-
- [Subclasser APIs](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/principles/subclasser-apis.md)
|
|
36
|
-
- [Extend documentation](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/blog/extending-documentation.md)
|
|
37
|
-
|
|
38
|
-
## How To
|
|
39
|
-
|
|
40
|
-
Next to that we have some specific "How To" documentations.
|
|
41
|
-
|
|
42
|
-
- [Get started](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/how-to/get-started.md)
|
|
43
|
-
- [Create a custom field](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/how-to/create-a-custom-field.md)
|
|
44
|
-
- [Extend a native input](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/how-to/extend-a-native-input.md)
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
parts:
|
|
3
|
-
- Principles
|
|
4
|
-
- Definitions and Terms
|
|
5
|
-
title: 'Definitions and Terms'
|
|
6
|
-
eleventyNavigation:
|
|
7
|
-
key: 'Principles: Definitions and Terms'
|
|
8
|
-
order: 20
|
|
9
|
-
parent: Principles
|
|
10
|
-
title: Definitions and Terms
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# Definitions and Terms
|
|
14
|
-
|
|
15
|
-
Below you will find a list of definitions and terms that will be used throughout our code
|
|
16
|
-
documentation.
|
|
17
|
-
|
|
18
|
-
## Public
|
|
19
|
-
|
|
20
|
-
Methods and properties are public when they are not prefixed by an underscore.
|
|
21
|
-
They can be used by Application Developers.
|
|
22
|
-
|
|
23
|
-
```js
|
|
24
|
-
class SoccerPlayer {
|
|
25
|
-
kickBall() {
|
|
26
|
-
// Soccer player can kick a ball
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Protected
|
|
32
|
-
|
|
33
|
-
Methods and properties are protected when they contain one underscore or are explicitly marked as protected in the code. They can be used by Subclassers.
|
|
34
|
-
|
|
35
|
-
```js
|
|
36
|
-
class SoccerPlayer {
|
|
37
|
-
_catchBall() {
|
|
38
|
-
// Soccer player usually does not need to catch a ball (with their hands)
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Private
|
|
44
|
-
|
|
45
|
-
Methods and properties are private when they contain two underscores or are explicitly marked as private in the code. They can be only used within the class where they are defined (developers of Lion components).
|
|
46
|
-
|
|
47
|
-
```js
|
|
48
|
-
class SoccerPlayer {
|
|
49
|
-
__score() {
|
|
50
|
-
// internally save how many goals have been made
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
```
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
parts:
|
|
3
|
-
- Principles
|
|
4
|
-
title: Principles
|
|
5
|
-
eleventyNavigation:
|
|
6
|
-
key: Principles
|
|
7
|
-
order: 10
|
|
8
|
-
title: Principles
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# Principles
|
|
12
|
-
|
|
13
|
-
Lion is a set of white label Web Components that can be extended to your own styled layer of components.
|
|
14
|
-
|
|
15
|
-
We know from experience that making high quality, accessible UI components is hard and time consuming: it takes many iterations, a lot of development time and a lot of testing to get a generic component that works in every context, supports many edge cases and is accessible in all relevant screen readers.
|
|
16
|
-
|
|
17
|
-
Lion aims to do the heavy lifting for you. This means you only have to apply your own Design System: by delivering styles, configuring components and adding a minimal set of custom logic on top.
|
|
18
|
-
|
|
19
|
-
## Consuming Developer
|
|
20
|
-
|
|
21
|
-
Developers consuming our web components inside an application (not extending them).
|
|
22
|
-
`Application Developers` are only allowed to interact with `public` properties and methods.
|
|
23
|
-
Can be abbreviated as `AD`. Sometimes also called `Consuming Developer`.
|
|
24
|
-
|
|
25
|
-
- [Definitions and Terms](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/principles/definitions-and-terms.md)
|
|
26
|
-
- [Styling](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/principles/styling.md)
|
|
27
|
-
- [Scoped Elements](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/principles/scoped-elements.md)
|
|
28
|
-
|
|
29
|
-
## Extending Developer
|
|
30
|
-
|
|
31
|
-
Developers extending our web components, for instance: `class MaterialInput extends LionInput` are called `subclassers`. Subclassers have access to protected methods (prefixed with an underscore or marked as protected), but not to private methods.
|
|
32
|
-
|
|
33
|
-
Especially for subclassers we have some extra documentation:
|
|
34
|
-
|
|
35
|
-
- [Subclasser APIs](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/guides/principles/subclasser-apis.md)
|
|
36
|
-
- [Extend documentation](https://github.com/ing-bank/lion/blob/bc7530702f41df90a4ca3059cfb9edb08e27f742/docs/blog/extending-documentation.md)
|