@skf-design-system/ui-components 1.0.0-alpha.34 → 1.0.0-alpha.35
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 +20 -27
- package/dist/components/accordion/accordion-item.component.d.ts +36 -0
- package/dist/components/accordion/accordion-item.component.js +98 -0
- package/dist/components/accordion/accordion-item.d.ts +3 -3
- package/dist/components/accordion/accordion-item.js +4 -5
- package/dist/components/accordion/accordion-item.styles.js +77 -0
- package/dist/components/accordion/accordion.component.d.ts +9 -13
- package/dist/components/accordion/accordion.component.js +8 -9
- package/dist/components/accordion/accordion.d.ts +0 -1
- package/dist/components/accordion/accordion.js +0 -2
- package/dist/components/alert/alert.component.d.ts +12 -12
- package/dist/components/alert/alert.component.js +57 -55
- package/dist/components/alert/alert.styles.js +50 -51
- package/dist/components/breadcrumb/breadcrumb-item.component.js +60 -0
- package/dist/components/{breadcrumb-item → breadcrumb}/breadcrumb-item.d.ts +2 -2
- package/dist/components/breadcrumb/breadcrumb-item.js +6 -0
- package/dist/components/breadcrumb/breadcrumb-item.styles.js +63 -0
- package/dist/components/breadcrumb/breadcrumb.component.d.ts +7 -4
- package/dist/components/breadcrumb/breadcrumb.component.js +65 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +2 -2
- package/dist/components/breadcrumb/breadcrumb.js +6 -0
- package/dist/components/breadcrumb/breadcrumb.styles.js +25 -0
- package/dist/components/button/button.component.d.ts +17 -14
- package/dist/components/button/button.component.js +73 -61
- package/dist/components/button/button.styles.d.ts +1 -2
- package/dist/components/button/button.styles.js +13 -3
- package/dist/components/card/card.component.d.ts +4 -1
- package/dist/components/card/card.component.js +46 -36
- package/dist/components/card/card.styles.js +36 -23
- package/dist/components/checkbox/checkbox.component.d.ts +17 -13
- package/dist/components/checkbox/checkbox.component.js +74 -61
- package/dist/components/checkbox/checkbox.styles.d.ts +1 -2
- package/dist/components/checkbox/checkbox.styles.js +1 -5
- package/dist/components/datepicker/datepicker-calendar.component.d.ts +80 -0
- package/dist/components/datepicker/datepicker-calendar.component.js +415 -0
- package/dist/components/datepicker/datepicker-calendar.d.ts +8 -0
- package/dist/components/datepicker/datepicker-calendar.js +6 -0
- package/dist/components/datepicker/datepicker-calendar.styles.js +202 -0
- package/dist/components/datepicker/datepicker-popup.component.d.ts +64 -0
- package/dist/components/datepicker/datepicker-popup.component.js +261 -0
- package/dist/components/datepicker/datepicker-popup.d.ts +8 -0
- package/dist/components/datepicker/datepicker-popup.helpers.d.ts +41 -0
- package/dist/components/datepicker/datepicker-popup.helpers.js +83 -0
- package/dist/components/datepicker/datepicker-popup.js +6 -0
- package/dist/components/datepicker/datepicker-popup.styles.js +87 -0
- package/dist/components/datepicker/datepicker.component.d.ts +121 -0
- package/dist/components/datepicker/datepicker.component.js +455 -0
- package/dist/components/datepicker/datepicker.d.ts +8 -0
- package/dist/components/datepicker/datepicker.helpers.d.ts +38 -0
- package/dist/components/datepicker/datepicker.helpers.js +31 -0
- package/dist/components/datepicker/datepicker.js +6 -0
- package/dist/components/datepicker/datepicker.styles.d.ts +1 -0
- package/dist/components/datepicker/datepicker.styles.js +18 -0
- package/dist/components/dialog/dialog.component.d.ts +20 -29
- package/dist/components/dialog/dialog.component.js +85 -75
- package/dist/components/dialog/dialog.d.ts +2 -2
- package/dist/components/dialog/dialog.styles.js +4 -4
- package/dist/components/divider/divider.component.d.ts +4 -8
- package/dist/components/divider/divider.component.js +24 -46
- package/dist/components/divider/divider.styles.js +34 -30
- package/dist/components/drawer/drawer.component.d.ts +61 -0
- package/dist/components/drawer/drawer.component.js +125 -0
- package/dist/components/drawer/drawer.d.ts +8 -0
- package/dist/components/drawer/drawer.js +6 -0
- package/dist/components/drawer/drawer.styles.js +71 -0
- package/dist/components/header/header.component.d.ts +46 -0
- package/dist/components/header/header.component.js +116 -0
- package/dist/components/header/header.d.ts +8 -0
- package/dist/components/header/header.js +6 -0
- package/dist/components/header/header.styles.js +68 -0
- package/dist/components/heading/heading.component.d.ts +8 -12
- package/dist/components/heading/heading.component.js +52 -24
- package/dist/components/heading/heading.styles.d.ts +1 -2
- package/dist/components/heading/heading.styles.js +35 -37
- package/dist/components/icon/icon.component.d.ts +19 -18
- package/dist/components/icon/icon.component.js +64 -43
- package/dist/components/icon/icon.styles.d.ts +1 -2
- package/dist/components/icon/icon.styles.js +61 -60
- package/dist/components/input/input.component.d.ts +31 -31
- package/dist/components/input/input.component.js +166 -146
- package/dist/components/input/input.controllers.d.ts +20 -6
- package/dist/components/input/input.controllers.js +14 -10
- package/dist/components/link/link.component.d.ts +12 -14
- package/dist/components/link/link.component.js +35 -34
- package/dist/components/link/link.styles.d.ts +1 -2
- package/dist/components/link/link.styles.js +24 -20
- package/dist/components/loader/loader.component.d.ts +1 -1
- package/dist/components/loader/loader.component.js +36 -40
- package/dist/components/loader/loader.styles.d.ts +1 -2
- package/dist/components/loader/loader.styles.js +40 -32
- package/dist/components/logo/logo.component.d.ts +8 -6
- package/dist/components/logo/logo.component.js +55 -51
- package/dist/components/logo/logo.styles.js +26 -16
- package/dist/components/menu/menu-item.component.d.ts +13 -0
- package/dist/components/{menu-item → menu}/menu-item.component.js +3 -3
- package/dist/components/{menu-item → menu}/menu-item.d.ts +2 -2
- package/dist/components/menu/menu.component.d.ts +10 -8
- package/dist/components/menu/menu.component.js +8 -10
- package/dist/components/menu/menu.d.ts +2 -2
- package/dist/components/nav/nav-item.component.d.ts +18 -0
- package/dist/components/nav/nav-item.component.js +38 -0
- package/dist/components/nav/nav-item.d.ts +8 -0
- package/dist/components/nav/nav-item.js +6 -0
- package/dist/components/nav/nav-item.styles.js +39 -0
- package/dist/components/nav/nav.component.d.ts +17 -0
- package/dist/components/nav/nav.component.js +34 -0
- package/dist/components/nav/nav.d.ts +8 -0
- package/dist/components/nav/nav.js +6 -0
- package/dist/components/nav/nav.styles.js +17 -0
- package/dist/components/popover/popover.component.d.ts +11 -8
- package/dist/components/popover/popover.component.js +24 -26
- package/dist/components/popover/popover.d.ts +2 -2
- package/dist/components/progress/progress.component.d.ts +2 -2
- package/dist/components/progress/progress.component.js +31 -37
- package/dist/components/progress/progress.d.ts +2 -2
- package/dist/components/progress/progress.styles.js +42 -35
- package/dist/components/radio/radio.component.d.ts +19 -13
- package/dist/components/radio/radio.component.js +12 -12
- package/dist/components/radio/radio.styles.d.ts +1 -2
- package/dist/components/radio/radio.styles.js +1 -1
- package/dist/components/segmented-button/segmented-button-item.component.d.ts +36 -0
- package/dist/components/segmented-button/segmented-button-item.component.js +56 -0
- package/dist/components/segmented-button/segmented-button-item.d.ts +8 -0
- package/dist/components/segmented-button/segmented-button-item.js +6 -0
- package/dist/components/segmented-button/segmented-button-item.styles.d.ts +1 -0
- package/dist/components/segmented-button/segmented-button-item.styles.js +62 -0
- package/dist/components/segmented-button/segmented-button.component.d.ts +30 -0
- package/dist/components/segmented-button/segmented-button.component.js +73 -0
- package/dist/components/segmented-button/segmented-button.d.ts +8 -0
- package/dist/components/segmented-button/segmented-button.js +6 -0
- package/dist/components/segmented-button/segmented-button.styles.d.ts +1 -0
- package/dist/components/segmented-button/segmented-button.styles.js +16 -0
- package/dist/components/{select-option-group → select}/select-option-group.component.js +1 -1
- package/dist/components/{select-option-group → select}/select-option-group.d.ts +2 -2
- package/dist/components/select/select-option-group.style.d.ts +1 -0
- package/dist/components/{select-option → select}/select-option.component.d.ts +9 -10
- package/dist/components/{select-option → select}/select-option.component.js +23 -23
- package/dist/components/select/select-option.controllers.d.ts +15 -0
- package/dist/components/select/select-option.styles.d.ts +1 -0
- package/dist/components/select/select.component.d.ts +18 -17
- package/dist/components/select/select.component.js +22 -23
- package/dist/components/select/select.controllers.d.ts +21 -10
- package/dist/components/select/select.controllers.js +27 -22
- package/dist/components/select/stories/select.stories.icons.d.ts +7 -0
- package/dist/components/{stepper-item → stepper}/stepper-item.component.js +48 -48
- package/dist/components/{stepper-item → stepper}/stepper-item.d.ts +2 -2
- package/dist/components/stepper/stepper-item.styles.d.ts +1 -0
- package/dist/components/stepper/stepper.component.d.ts +4 -3
- package/dist/components/stepper/stepper.component.js +15 -15
- package/dist/components/stepper/stepper.d.ts +2 -2
- package/dist/components/stepper/stepper.helpers.d.ts +1 -1
- package/dist/components/switch/switch.component.d.ts +7 -6
- package/dist/components/switch/switch.component.js +21 -21
- package/dist/components/switch/switch.d.ts +2 -2
- package/dist/components/{tab-panel → tabs}/tab-panel.component.js +1 -1
- package/dist/components/{tab-panel → tabs}/tab-panel.d.ts +2 -2
- package/dist/components/tabs/tab-panel.styles.d.ts +1 -0
- package/dist/components/{tab → tabs}/tab.component.d.ts +2 -2
- package/dist/components/{tab → tabs}/tab.component.js +1 -1
- package/dist/components/{tab → tabs}/tab.d.ts +2 -2
- package/dist/components/tabs/tab.styles.d.ts +1 -0
- package/dist/components/{tab-group/tab-group.component.d.ts → tabs/tabs.component.d.ts} +3 -4
- package/dist/components/{tab-group/tab-group.component.js → tabs/tabs.component.js} +36 -37
- package/dist/components/tabs/tabs.d.ts +8 -0
- package/dist/components/tabs/tabs.js +6 -0
- package/dist/components/tabs/tabs.styles.d.ts +1 -0
- package/dist/components/{tab-group/tab-group.styles.js → tabs/tabs.styles.js} +16 -16
- package/dist/components/tag/tag.component.d.ts +20 -17
- package/dist/components/tag/tag.component.js +68 -67
- package/dist/components/tag/tag.d.ts +2 -2
- package/dist/components/tag/tag.styles.js +63 -50
- package/dist/components/textarea/textarea.component.d.ts +10 -11
- package/dist/components/textarea/textarea.component.js +65 -67
- package/dist/components/{toast-item → toast}/toast-item.component.js +15 -15
- package/dist/components/{toast-item → toast}/toast-item.d.ts +2 -0
- package/dist/components/{toast-item → toast}/toast-item.js +4 -0
- package/dist/components/toast/toast-item.styles.js +18 -0
- package/dist/components/{toast-wrapper → toast}/toast-wrapper.component.js +1 -1
- package/dist/components/toast/toast-wrapper.styles.d.ts +1 -0
- package/dist/components/toast/toast.component.d.ts +9 -5
- package/dist/components/toast/toast.component.js +32 -28
- package/dist/components/toast/toast.singleton.d.ts +6 -11
- package/dist/components/toast/toast.singleton.js +23 -23
- package/dist/components/tooltip/tooltip.component.d.ts +7 -7
- package/dist/components/tooltip/tooltip.component.js +16 -11
- package/dist/components/tooltip/tooltip.d.ts +2 -2
- package/dist/custom-elements.json +4091 -2539
- package/dist/index.d.ts +22 -9
- package/dist/index.js +111 -74
- package/dist/internal/base-classes/popover/popover.base.d.ts +24 -9
- package/dist/internal/base-classes/popover/popover.base.js +138 -77
- package/dist/internal/base-classes/popover/popover.styles.js +14 -1
- package/dist/internal/components/hint/hint.component.d.ts +2 -2
- package/dist/internal/components/hint/hint.component.js +2 -2
- package/dist/internal/components/hint/hint.styles.d.ts +1 -2
- package/dist/internal/components/hint/hint.styles.js +1 -1
- package/dist/internal/components/skf-element.d.ts +1 -3
- package/dist/internal/components/skf-element.js +4 -9
- package/dist/internal/constants/iconSeverity.d.ts +3 -2
- package/dist/internal/constants/iconSeverity.js +2 -3
- package/dist/internal/controllers/elementOverflowController.d.ts +13 -0
- package/dist/internal/controllers/popover.controller.d.ts +12 -6
- package/dist/internal/controllers/popover.controller.js +9 -14
- package/dist/internal/helpers/dateFormatter.d.ts +2 -0
- package/dist/internal/helpers/hintSeverity.d.ts +2 -2
- package/dist/internal/helpers/hintSeverity.js +1 -1
- package/dist/internal/helpers/stateMap.d.ts +14 -0
- package/dist/internal/helpers/stateMap.js +68 -0
- package/dist/internal/helpers/utilityTypes.d.ts +22 -0
- package/dist/internal/helpers/uuid.d.ts +15 -0
- package/dist/internal/helpers/uuid.js +14 -0
- package/dist/internal/helpers/watch.d.ts +1 -1
- package/dist/internal/helpers/watch.js +12 -12
- package/dist/internal/storybook/styles.d.ts +1 -0
- package/dist/internal/types/formField.d.ts +1 -1
- package/dist/internal/types.d.ts +18 -0
- package/dist/styles/component.styles.d.ts +1 -2
- package/dist/styles/component.styles.js +38 -37
- package/dist/styles/form-field.styles.js +11 -6
- package/dist/styles/global-alt.css +1 -0
- package/dist/styles/global.css +1 -1
- package/dist/types/jsx/custom-element-jsx.d.ts +740 -1294
- package/dist/types/vue/index.d.ts +543 -322
- package/dist/vscode.html-custom-data.json +526 -1076
- package/dist/web-types.json +1237 -761
- package/package.json +45 -61
- package/dist/components/accordion/accordion.test.d.ts +0 -1
- package/dist/components/checkbox/checkbox.test.d.ts +0 -1
- package/dist/components/collapse/collapse.component.d.ts +0 -40
- package/dist/components/collapse/collapse.component.js +0 -86
- package/dist/components/collapse/collapse.d.ts +0 -8
- package/dist/components/collapse/collapse.js +0 -6
- package/dist/components/collapse/collapse.styles.d.ts +0 -2
- package/dist/components/collapse/collapse.styles.js +0 -77
- package/dist/components/collapse/collapse.test.d.ts +0 -1
- package/dist/components/input/input.test.d.ts +0 -1
- package/dist/components/menu-item/menu-item.component.d.ts +0 -25
- package/dist/components/radio/radio.test.d.ts +0 -1
- package/dist/components/select-option/select-option.controllers.d.ts +0 -9
- package/dist/components/switch/switch.test.d.ts +0 -1
- package/dist/components/tab-group/tab-group.d.ts +0 -8
- package/dist/components/tab-group/tab-group.js +0 -6
- package/dist/components/toast-item/toast-item.styles.js +0 -16
- package/dist/internal/constants/heading.d.ts +0 -2
- package/dist/internal/playwright/index.d.ts +0 -1
- package/dist/react/index.d.ts +0 -35
- package/dist/react/index.js +0 -35
- package/dist/react/skf-accordion/index.d.ts +0 -3
- package/dist/react/skf-accordion/index.js +0 -13
- package/dist/react/skf-alert/index.d.ts +0 -9
- package/dist/react/skf-alert/index.js +0 -17
- package/dist/react/skf-breadcrumb/index.d.ts +0 -9
- package/dist/react/skf-breadcrumb/index.js +0 -17
- package/dist/react/skf-breadcrumb-item/index.d.ts +0 -3
- package/dist/react/skf-breadcrumb-item/index.js +0 -13
- package/dist/react/skf-button/index.d.ts +0 -9
- package/dist/react/skf-button/index.js +0 -17
- package/dist/react/skf-card/index.d.ts +0 -3
- package/dist/react/skf-card/index.js +0 -13
- package/dist/react/skf-checkbox/index.d.ts +0 -9
- package/dist/react/skf-checkbox/index.js +0 -17
- package/dist/react/skf-collapse/index.d.ts +0 -9
- package/dist/react/skf-collapse/index.js +0 -17
- package/dist/react/skf-dialog/index.d.ts +0 -15
- package/dist/react/skf-dialog/index.js +0 -19
- package/dist/react/skf-divider/index.d.ts +0 -3
- package/dist/react/skf-divider/index.js +0 -13
- package/dist/react/skf-heading/index.d.ts +0 -3
- package/dist/react/skf-heading/index.js +0 -13
- package/dist/react/skf-icon/index.d.ts +0 -3
- package/dist/react/skf-icon/index.js +0 -13
- package/dist/react/skf-input/index.d.ts +0 -12
- package/dist/react/skf-input/index.js +0 -18
- package/dist/react/skf-link/index.d.ts +0 -3
- package/dist/react/skf-link/index.js +0 -13
- package/dist/react/skf-loader/index.d.ts +0 -3
- package/dist/react/skf-loader/index.js +0 -13
- package/dist/react/skf-logo/index.d.ts +0 -3
- package/dist/react/skf-logo/index.js +0 -13
- package/dist/react/skf-menu/index.d.ts +0 -12
- package/dist/react/skf-menu/index.js +0 -18
- package/dist/react/skf-menu-item/index.d.ts +0 -27
- package/dist/react/skf-menu-item/index.js +0 -23
- package/dist/react/skf-popover/index.d.ts +0 -12
- package/dist/react/skf-popover/index.js +0 -18
- package/dist/react/skf-progress/index.d.ts +0 -3
- package/dist/react/skf-progress/index.js +0 -13
- package/dist/react/skf-radio/index.d.ts +0 -9
- package/dist/react/skf-radio/index.js +0 -17
- package/dist/react/skf-select/index.d.ts +0 -21
- package/dist/react/skf-select/index.js +0 -21
- package/dist/react/skf-select-option/index.d.ts +0 -9
- package/dist/react/skf-select-option/index.js +0 -17
- package/dist/react/skf-select-option-group/index.d.ts +0 -3
- package/dist/react/skf-select-option-group/index.js +0 -13
- package/dist/react/skf-stepper/index.d.ts +0 -9
- package/dist/react/skf-stepper/index.js +0 -17
- package/dist/react/skf-stepper-item/index.d.ts +0 -9
- package/dist/react/skf-stepper-item/index.js +0 -17
- package/dist/react/skf-switch/index.d.ts +0 -3
- package/dist/react/skf-switch/index.js +0 -13
- package/dist/react/skf-tab/index.d.ts +0 -12
- package/dist/react/skf-tab/index.js +0 -18
- package/dist/react/skf-tab-group/index.d.ts +0 -3
- package/dist/react/skf-tab-group/index.js +0 -13
- package/dist/react/skf-tab-panel/index.d.ts +0 -3
- package/dist/react/skf-tab-panel/index.js +0 -13
- package/dist/react/skf-tag/index.d.ts +0 -3
- package/dist/react/skf-tag/index.js +0 -13
- package/dist/react/skf-textarea/index.d.ts +0 -12
- package/dist/react/skf-textarea/index.js +0 -18
- package/dist/react/skf-toast/index.d.ts +0 -3
- package/dist/react/skf-toast/index.js +0 -13
- package/dist/react/skf-toast-wrapper/index.d.ts +0 -3
- package/dist/react/skf-toast-wrapper/index.js +0 -13
- package/dist/react/skf-tooltip/index.d.ts +0 -12
- package/dist/react/skf-tooltip/index.js +0 -18
- /package/dist/components/{breadcrumb-item/breadcrumb-item.styles.d.ts → accordion/accordion-item.styles.d.ts} +0 -0
- /package/dist/components/{breadcrumb-item → breadcrumb}/breadcrumb-item.component.d.ts +0 -0
- /package/dist/components/{menu-item/menu-item.styles.d.ts → breadcrumb/breadcrumb-item.styles.d.ts} +0 -0
- /package/dist/components/{select-option-group/select-option-group.style.d.ts → datepicker/datepicker-calendar.styles.d.ts} +0 -0
- /package/dist/components/{select-option/select-option.styles.d.ts → datepicker/datepicker-popup.styles.d.ts} +0 -0
- /package/dist/components/{stepper-item/stepper-item.styles.d.ts → drawer/drawer.styles.d.ts} +0 -0
- /package/dist/components/{tab-group/tab-group.styles.d.ts → header/header.styles.d.ts} +0 -0
- /package/dist/components/{menu-item → menu}/menu-item.js +0 -0
- /package/dist/components/{tab-panel/tab-panel.styles.d.ts → menu/menu-item.styles.d.ts} +0 -0
- /package/dist/components/{menu-item → menu}/menu-item.styles.js +0 -0
- /package/dist/components/{tab/tab.styles.d.ts → nav/nav-item.styles.d.ts} +0 -0
- /package/dist/components/{toast-wrapper/toast-wrapper.styles.d.ts → nav/nav.styles.d.ts} +0 -0
- /package/dist/components/{select-option-group → select}/select-option-group.component.d.ts +0 -0
- /package/dist/components/{select-option-group → select}/select-option-group.js +0 -0
- /package/dist/components/{select-option-group → select}/select-option-group.style.js +0 -0
- /package/dist/components/{select-option → select}/select-option.d.ts +0 -0
- /package/dist/components/{select-option → select}/select-option.js +0 -0
- /package/dist/components/{select-option → select}/select-option.styles.js +0 -0
- /package/dist/components/{stepper-item → stepper}/stepper-item.component.d.ts +0 -0
- /package/dist/components/{stepper-item → stepper}/stepper-item.js +0 -0
- /package/dist/components/{stepper-item → stepper}/stepper-item.styles.js +0 -0
- /package/dist/components/{tab-panel → tabs}/tab-panel.component.d.ts +0 -0
- /package/dist/components/{tab-panel → tabs}/tab-panel.js +0 -0
- /package/dist/components/{tab-panel → tabs}/tab-panel.styles.js +0 -0
- /package/dist/components/{tab → tabs}/tab.js +0 -0
- /package/dist/components/{tab → tabs}/tab.styles.js +0 -0
- /package/dist/components/{toast-item → toast}/toast-item.component.d.ts +0 -0
- /package/dist/components/{toast-item → toast}/toast-item.styles.d.ts +0 -0
- /package/dist/components/{toast-wrapper → toast}/toast-wrapper.component.d.ts +0 -0
- /package/dist/components/{toast-wrapper → toast}/toast-wrapper.d.ts +0 -0
- /package/dist/components/{toast-wrapper → toast}/toast-wrapper.js +0 -0
- /package/dist/components/{toast-wrapper → toast}/toast-wrapper.styles.js +0 -0
@@ -1,10 +1,10 @@
|
|
1
|
+
import '../tag/tag.js';
|
1
2
|
import { FormBase } from '../../internal/components/formBase.js';
|
3
|
+
import '../../internal/components/hint/hint.js';
|
2
4
|
import { PopoverController } from '../../internal/controllers/popover.controller.js';
|
3
|
-
import type {
|
5
|
+
import type { FormFieldSeverity } from '../../internal/types.js';
|
4
6
|
import { type CSSResultGroup } from 'lit';
|
5
|
-
import '
|
6
|
-
import type { SelectOptionEvent, SkfSelectOption } from '../select-option/select-option.component.js';
|
7
|
-
import '../tag/tag';
|
7
|
+
import type { SelectOptionEvent, SkfSelectOption } from './select-option.component.js';
|
8
8
|
import { DeveloperFeedbackController, GlobalClickController, KeyboardNavigationController } from './select.controllers.js';
|
9
9
|
/**
|
10
10
|
* TODO: abstract the popover logic to a separate component/helper/partial, and use it in both select and in input[datalist], combobox etc
|
@@ -14,17 +14,18 @@ import { DeveloperFeedbackController, GlobalClickController, KeyboardNavigationC
|
|
14
14
|
/**
|
15
15
|
* The `<skf-select>` is a component that displays a list of actions or options. A click in the options list toggle the selected state of the option. Use it together with the ´skf-select-option` tag.
|
16
16
|
*
|
17
|
-
*
|
17
|
+
* See [zeroheight](https://zeroheight.com/853e936c9/p/91c9f0-select-and-combobox) for design principles
|
18
18
|
*
|
19
|
-
* @attribute {boolean} [disabled] - If true, the select is disabled
|
19
|
+
* @attribute {boolean} [disabled=false] - If true, the select is disabled
|
20
|
+
* @attribute {boolean} [required=false] - If true, the select is required
|
20
21
|
*
|
21
22
|
* @slot - The select's placeholder content
|
22
23
|
*
|
23
|
-
* @event change - Fired when the selected option(s) changes
|
24
|
-
* @event invalid - Fired when the select is invalid
|
25
|
-
* @event reset - Fired when the form is reset
|
26
|
-
* @event skf-select
|
27
|
-
* @event skf-select-option
|
24
|
+
* @event {Event} change - Fired when the selected option(s) changes
|
25
|
+
* @event {Event} invalid - Fired when the select is invalid
|
26
|
+
* @event {Event} reset - Fired when the form is reset
|
27
|
+
* @event {CustomEvent} skf-select-dropdown - {detail: {expanded: boolean}} Fired when the select dropdown is toggled
|
28
|
+
* @event {CustomEvent} skf-select-option-select - {detail: {value: string | null, option: SkfSelectOption}} Fired when the select dropdown is toggled
|
28
29
|
*
|
29
30
|
* @tagname skf-select
|
30
31
|
*/
|
@@ -39,9 +40,9 @@ export declare class SkfSelect extends FormBase {
|
|
39
40
|
/** If defined, forces component to invalid state until removed */
|
40
41
|
customInvalid?: string;
|
41
42
|
/** If true, hides the label visually */
|
42
|
-
hideLabel
|
43
|
+
hideLabel: boolean;
|
43
44
|
/** If true and mulltiple is true, no tags are displayed under the select */
|
44
|
-
hideTags
|
45
|
+
hideTags: boolean;
|
45
46
|
/** If defined, sets the hint text under the select component in the form */
|
46
47
|
hint?: string;
|
47
48
|
/** A readonly property that returns the selected value(s) in a array */
|
@@ -57,22 +58,22 @@ export declare class SkfSelect extends FormBase {
|
|
57
58
|
/** If defined, sets the minimum number of required options */
|
58
59
|
min?: number;
|
59
60
|
/** If true, allows for multiple options to be selected */
|
60
|
-
multiple
|
61
|
+
multiple: boolean;
|
61
62
|
/** If defined, set name of the component */
|
62
63
|
name?: string;
|
63
64
|
/** If defined, renders an alternative A11y text for the asterisk */
|
64
65
|
requiredLabel?: string;
|
65
66
|
/** If defined, displays provided severity state */
|
66
|
-
severity?:
|
67
|
+
severity?: FormFieldSeverity;
|
67
68
|
/** If true, displays valid state after interaction */
|
68
|
-
showValid
|
69
|
+
showValid: boolean;
|
69
70
|
/** Size of the Select */
|
70
71
|
size: 'sm' | 'md';
|
71
72
|
/** Read only, returns the selected value. (if multiple: in a comma separated string) */
|
72
73
|
set value(newValue: string);
|
73
74
|
get value(): string;
|
74
|
-
/** Stores the selected SkfSelectOption tag(s) in a array. Is the source of truth for the internal state. */
|
75
75
|
/** @internal */
|
76
|
+
/** Stores the selected SkfSelectOption tag(s) in a array. Is the source of truth for the internal state. */
|
76
77
|
private _selectedOptions;
|
77
78
|
/** @internal */
|
78
79
|
/** The selected options in an array. Treat it as a read only property. See selectedValues, slectedSlots for computed value arrays. */
|
@@ -1,28 +1,28 @@
|
|
1
|
+
import "../tag/tag.js";
|
1
2
|
import { computePosition as v, flip as f, shift as _, offset as g } from "@floating-ui/dom";
|
2
3
|
import { FormBase as b } from "../../internal/components/formBase.js";
|
4
|
+
import "../../internal/components/hint/hint.js";
|
3
5
|
import { PopoverController as y } from "../../internal/controllers/popover.controller.js";
|
4
6
|
import { findMatchingTags as O } from "../../internal/helpers/findMatchingTags.js";
|
5
7
|
import { hintSeverity as x } from "../../internal/helpers/hintSeverity.js";
|
6
8
|
import { raiseError as w } from "../../internal/helpers/raiseError.js";
|
7
9
|
import { watch as $ } from "../../internal/helpers/watch.js";
|
8
10
|
import { Asterisk as V } from "../../internal/templates/asterisk.js";
|
9
|
-
import S from "../../styles/component.styles.js";
|
10
|
-
import {
|
11
|
+
import { componentStyles as S } from "../../styles/component.styles.js";
|
12
|
+
import { nothing as C, html as n } from "lit";
|
11
13
|
import { property as o, state as h, query as p } from "lit/decorators.js";
|
12
14
|
import { classMap as E } from "lit/directives/class-map.js";
|
13
15
|
import { ifDefined as m } from "lit/directives/if-defined.js";
|
14
|
-
import "
|
15
|
-
import "../tag/tag.js";
|
16
|
-
import { GlobalClickController as k, KeyboardNavigationController as L, DeveloperFeedbackController as A } from "./select.controllers.js";
|
16
|
+
import { GlobalClickController as L, KeyboardNavigationController as k, DeveloperFeedbackController as A } from "./select.controllers.js";
|
17
17
|
import { styles as P } from "./select.styles.js";
|
18
18
|
var T = Object.defineProperty, D = Object.getOwnPropertyDescriptor, s = (u, t, e, l) => {
|
19
|
-
for (var
|
20
|
-
(d = u[
|
21
|
-
return l &&
|
19
|
+
for (var r = l > 1 ? void 0 : l ? D(t, e) : t, a = u.length - 1, d; a >= 0; a--)
|
20
|
+
(d = u[a]) && (r = (l ? d(t, e, r) : d(r)) || r);
|
21
|
+
return l && r && T(t, e, r), r;
|
22
22
|
};
|
23
23
|
const c = class c extends b {
|
24
24
|
constructor() {
|
25
|
-
super(), this.selectDelay = 200, this._optionsList = [], this.buttonLabel = "Select an option", this.size = "md", this._expanded = !1, this._invalid = !1, this.globalClickController = new
|
25
|
+
super(), this.selectDelay = 200, this._optionsList = [], this.buttonLabel = "Select an option", this.hideLabel = !1, this.hideTags = !1, this.multiple = !1, this.showValid = !1, this.size = "md", this._expanded = !1, this._invalid = !1, this.globalClickController = new L(this), this.keyboardNavController = new k(this), this.developerFeedbackController = new A(this), this.popoverController = new y(this), this._handleOptionSelected = (t) => {
|
26
26
|
this._pristine = !1;
|
27
27
|
const e = this._selectedOptions.length > 0;
|
28
28
|
this.setFormValue(e ? this.selectedValues.join(",") : null), this._updateState(t);
|
@@ -121,18 +121,18 @@ const c = class c extends b {
|
|
121
121
|
}
|
122
122
|
firstUpdated() {
|
123
123
|
var t;
|
124
|
-
this.addEventListener("skf-select-option
|
124
|
+
this.addEventListener("skf-select-option-select", this._handleOptionSelected), (t = this._internals.form) == null || t.addEventListener("reset", this._handleReset), this.onUpdateComplete(), this._validateInput();
|
125
125
|
}
|
126
126
|
handleExpandedChange() {
|
127
127
|
this._expanded ? (this.$popover.togglePopover(this._expanded), this.popoverController.start()) : (this.$popover.togglePopover(this._expanded), this.popoverController.stop().catch((t) => {
|
128
128
|
console.error(t);
|
129
|
-
})), this.emit("skf-select
|
129
|
+
})), this.emit("skf-select-dropdown", { detail: { expanded: this._expanded } });
|
130
130
|
}
|
131
131
|
attributeChangedCallback(t, e, l) {
|
132
132
|
if (super.attributeChangedCallback(t, e, l), t === "custom-invalid")
|
133
133
|
if (typeof l == "string") {
|
134
|
-
const
|
135
|
-
this._pristine = !1, this._invalid = !0, this.setValidity({ customError: !0 },
|
134
|
+
const a = this.withFallback(l);
|
135
|
+
this._pristine = !1, this._invalid = !0, this.setValidity({ customError: !0 }, a), this.checkValidity();
|
136
136
|
} else
|
137
137
|
this.setValidity({}), this._validateInput();
|
138
138
|
}
|
@@ -173,14 +173,14 @@ const c = class c extends b {
|
|
173
173
|
this._invalid = !0;
|
174
174
|
return;
|
175
175
|
} else if (t) {
|
176
|
-
const
|
177
|
-
this.setValidity({ valueMissing: !0 }, String(
|
176
|
+
const a = this.hasAttribute("data-valuemissing") ? this.getAttribute("data-valuemissing") : "Please select an option";
|
177
|
+
this.setValidity({ valueMissing: !0 }, String(a)), this._pristine || (this._invalid = !0);
|
178
178
|
} else if (e) {
|
179
|
-
const
|
180
|
-
this.setValidity({ rangeUnderflow: !0 }, String(
|
179
|
+
const a = this.hasAttribute("data-rangeunderflow") ? this.getAttribute("data-rangeunderflow") : `Please select minimum ${String(this.min)} options`;
|
180
|
+
this.setValidity({ rangeUnderflow: !0 }, String(a)), this._pristine || (this._invalid = !0);
|
181
181
|
} else if (l) {
|
182
|
-
const
|
183
|
-
this.setValidity({ rangeOverflow: !0 }, String(
|
182
|
+
const a = this.hasAttribute("data-rangeoverflow") ? this.getAttribute("data-rangeoverflow") : `Please select maximum ${String(this.max)} options`;
|
183
|
+
this.setValidity({ rangeOverflow: !0 }, String(a)), this._pristine || (this._invalid = !0);
|
184
184
|
} else
|
185
185
|
this.setValidity({}), !this._pristine && this.showValid && this.setAttribute("valid", "true");
|
186
186
|
}
|
@@ -199,7 +199,6 @@ const c = class c extends b {
|
|
199
199
|
aria-expanded=${this._expanded}
|
200
200
|
aria-invalid=${this._invalid}
|
201
201
|
aria-haspopup="listbox"
|
202
|
-
class="skf-icon-host"
|
203
202
|
id="select-button"
|
204
203
|
role="combobox"
|
205
204
|
>
|
@@ -208,7 +207,7 @@ const c = class c extends b {
|
|
208
207
|
class=${E({ "selected-value": !0, "contains-meta-info": !this.value })}>
|
209
208
|
${this._computeVisibleValue()}
|
210
209
|
</span>
|
211
|
-
<skf-icon class="arrow" name="chevronDown"></skf-icon>
|
210
|
+
<skf-icon class="arrow" data-color="custom" name="chevronDown"></skf-icon>
|
212
211
|
</button>
|
213
212
|
</label>
|
214
213
|
<div aria-multiselectable=${m(this.multiple && !0)} id="select-dropdown" popover role="listbox">
|
@@ -235,9 +234,9 @@ const c = class c extends b {
|
|
235
234
|
<skf-hint
|
236
235
|
aria-live=${this._invalid ? "assertive" : "polite"}
|
237
236
|
id="hint"
|
238
|
-
severity=${m(x(this.
|
237
|
+
severity=${m(x(this._invalid, this.severity))}
|
239
238
|
>
|
240
|
-
${this.customInvalid
|
239
|
+
${this.customInvalid ?? this.hint}
|
241
240
|
</skf-hint>
|
242
241
|
`}
|
243
242
|
</div>
|
@@ -1,10 +1,21 @@
|
|
1
|
-
import type {
|
2
|
-
import type {
|
3
|
-
|
4
|
-
|
1
|
+
import type { ReactiveController, ReactiveControllerHost } from 'lit';
|
2
|
+
import type { SkfSelectOption } from './select-option.component.js';
|
3
|
+
/**
|
4
|
+
* Workaround for storybook helper not being able to import types
|
5
|
+
* E.g type ControllerHost = SkfSelect;
|
6
|
+
*/
|
7
|
+
interface ControllerHostProps {
|
8
|
+
_expanded: boolean;
|
9
|
+
_optionsList: SkfSelectOption[];
|
10
|
+
localName: keyof HTMLElementTagNameMap;
|
11
|
+
min: number;
|
12
|
+
max: number;
|
13
|
+
multiple: boolean;
|
14
|
+
hideTags: boolean;
|
15
|
+
}
|
5
16
|
export declare class GlobalClickController implements ReactiveController {
|
6
|
-
host
|
7
|
-
constructor(host:
|
17
|
+
host?: ReactiveControllerHost & Partial<ControllerHostProps>;
|
18
|
+
constructor(host: ReactiveControllerHost);
|
8
19
|
hostDisconnected(): void;
|
9
20
|
hostUpdated(): void;
|
10
21
|
_globalClickHandler: (event: MouseEvent) => void;
|
@@ -12,9 +23,9 @@ export declare class GlobalClickController implements ReactiveController {
|
|
12
23
|
disableGlobalClickDetection(): void;
|
13
24
|
}
|
14
25
|
export declare class KeyboardNavigationController implements ReactiveController {
|
15
|
-
host
|
26
|
+
host?: ReactiveControllerHost & Partial<ControllerHostProps>;
|
16
27
|
_listenerActivated: boolean;
|
17
|
-
constructor(host:
|
28
|
+
constructor(host: ReactiveControllerHost);
|
18
29
|
hostDisconnected(): void;
|
19
30
|
hostUpdated(): void;
|
20
31
|
setupKeyboardListener(): void;
|
@@ -26,8 +37,8 @@ export declare class KeyboardNavigationController implements ReactiveController
|
|
26
37
|
get _selectableOptions(): SkfSelectOption[];
|
27
38
|
}
|
28
39
|
export declare class DeveloperFeedbackController implements ReactiveController {
|
29
|
-
host
|
30
|
-
constructor(host:
|
40
|
+
host?: ReactiveControllerHost & Partial<ControllerHostProps>;
|
41
|
+
constructor(host: ReactiveControllerHost);
|
31
42
|
hostConnected(): void;
|
32
43
|
_badAttributeCombinationWarning(): void;
|
33
44
|
}
|
@@ -1,9 +1,10 @@
|
|
1
|
-
import { raiseError as
|
1
|
+
import { raiseError as a } from "../../internal/helpers/raiseError.js";
|
2
2
|
class d {
|
3
3
|
constructor(t) {
|
4
4
|
this._globalClickHandler = (e) => {
|
5
|
-
|
6
|
-
|
5
|
+
var s;
|
6
|
+
!((s = this.host) != null && s.localName) || e.target.closest(this.host.localName) || (this.host._expanded = !1);
|
7
|
+
}, (this.host = t).addController(this);
|
7
8
|
}
|
8
9
|
// hostConnected() {
|
9
10
|
// this.enableGlobalClickDetection();
|
@@ -12,7 +13,8 @@ class d {
|
|
12
13
|
this.disableGlobalClickDetection();
|
13
14
|
}
|
14
15
|
hostUpdated() {
|
15
|
-
|
16
|
+
var t;
|
17
|
+
(t = this.host) != null && t._expanded ? this.enableGlobalClickDetection() : this.disableGlobalClickDetection();
|
16
18
|
}
|
17
19
|
enableGlobalClickDetection() {
|
18
20
|
document.addEventListener("click", this._globalClickHandler);
|
@@ -35,18 +37,19 @@ class p {
|
|
35
37
|
e.preventDefault(), this._selectFocusedOption(e.target);
|
36
38
|
break;
|
37
39
|
case "Escape":
|
38
|
-
e.preventDefault(), this.host._expanded = !1, setTimeout(() => {
|
40
|
+
e.preventDefault(), this.host && (this.host._expanded = !1), setTimeout(() => {
|
39
41
|
this.host.focus();
|
40
42
|
});
|
41
43
|
break;
|
42
44
|
}
|
43
|
-
}, this.host = t
|
45
|
+
}, (this.host = t).addController(this), this._listenerActivated = !1;
|
44
46
|
}
|
45
47
|
hostDisconnected() {
|
46
48
|
this.removeKeyboardListener();
|
47
49
|
}
|
48
50
|
hostUpdated() {
|
49
|
-
|
51
|
+
var t, e;
|
52
|
+
(t = this.host) != null && t._expanded && !this._listenerActivated && this.setupKeyboardListener(), !((e = this.host) != null && e._expanded) && this._listenerActivated && this.removeKeyboardListener();
|
50
53
|
}
|
51
54
|
setupKeyboardListener() {
|
52
55
|
this._listenerActivated = !0, this.host.addEventListener("keydown", this._handleKeyDown);
|
@@ -61,47 +64,49 @@ class p {
|
|
61
64
|
});
|
62
65
|
}
|
63
66
|
_focusSiblingOption(t) {
|
64
|
-
const e = (
|
65
|
-
if (!
|
67
|
+
const e = (l) => l === document.activeElement, i = this._selectableOptions.find((l) => e(l));
|
68
|
+
if (!i) {
|
66
69
|
this._focusFirstOption();
|
67
70
|
return;
|
68
71
|
}
|
69
|
-
const
|
70
|
-
let
|
71
|
-
|
72
|
-
const h = this._selectableOptions[t === "next" ?
|
73
|
-
|
72
|
+
const s = this._selectableOptions.indexOf(i);
|
73
|
+
let o = s - 1, n = s + 1;
|
74
|
+
o < 0 && (o = this._selectableOptions.length - 1), n >= this._selectableOptions.length && (n = 0);
|
75
|
+
const h = this._selectableOptions[t === "next" ? n : o];
|
76
|
+
i.blur(), h.focus();
|
74
77
|
}
|
75
78
|
_selectFocusedOption(t) {
|
76
79
|
t.selected = !0;
|
77
80
|
}
|
78
81
|
get _selectableOptions() {
|
79
|
-
return this.host._optionsList.filter((t) => !t.disabled);
|
82
|
+
return !this.host || !this.host._optionsList ? [] : this.host._optionsList.filter((t) => !t.disabled);
|
80
83
|
}
|
81
84
|
}
|
82
85
|
class b {
|
83
86
|
constructor(t) {
|
84
|
-
this.host = t
|
87
|
+
(this.host = t).addController(this);
|
85
88
|
}
|
86
89
|
hostConnected() {
|
87
90
|
this._badAttributeCombinationWarning();
|
88
91
|
}
|
89
92
|
_badAttributeCombinationWarning() {
|
90
|
-
|
93
|
+
if (!this.host) return;
|
94
|
+
const t = this.host.localName ?? "never";
|
95
|
+
a({
|
91
96
|
assert: (this.host.min ?? 0) <= (this.host.max ?? 1 / 0),
|
92
97
|
reason: "attribute-mismatch",
|
93
|
-
replaceStrings: [
|
94
|
-
}),
|
98
|
+
replaceStrings: [t, "min", "smaller than max"]
|
99
|
+
}), a({
|
95
100
|
assert: (
|
96
101
|
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
97
102
|
(this.host.min || this.host.max) && this.host.multiple || !(this.host.min && this.host.max)
|
98
103
|
),
|
99
104
|
reason: "attribute-mismatch",
|
100
|
-
replaceStrings: [
|
101
|
-
}),
|
105
|
+
replaceStrings: [t, "min or max", "together with multiple"]
|
106
|
+
}), a({
|
102
107
|
assert: (this.host.hideTags && this.host.multiple) ?? !this.host.hideTags,
|
103
108
|
reason: "attribute-mismatch",
|
104
|
-
replaceStrings: [
|
109
|
+
replaceStrings: [t, "hide-tags", "together with multiple"]
|
105
110
|
});
|
106
111
|
}
|
107
112
|
}
|
@@ -2,34 +2,34 @@ var v = (e) => {
|
|
2
2
|
throw TypeError(e);
|
3
3
|
};
|
4
4
|
var u = (e, i, t) => i.has(e) || v("Cannot " + t);
|
5
|
-
var d = (e, i, t) => (u(e, i, "read from private field"), t ? t.call(e) : i.get(e)), _ = (e, i, t) => i.has(e) ? v("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(e) : i.set(e, t), r = (e, i, t,
|
5
|
+
var d = (e, i, t) => (u(e, i, "read from private field"), t ? t.call(e) : i.get(e)), _ = (e, i, t) => i.has(e) ? v("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(e) : i.set(e, t), r = (e, i, t, a) => (u(e, i, "write to private field"), a ? a.call(e, t) : i.set(e, t), t);
|
6
6
|
import "../icon/icon.js";
|
7
|
-
import { SkfElement as
|
8
|
-
import { watch as
|
9
|
-
import
|
7
|
+
import { SkfElement as g } from "../../internal/components/skf-element.js";
|
8
|
+
import { watch as C } from "../../internal/helpers/watch.js";
|
9
|
+
import { componentStyles as x } from "../../styles/component.styles.js";
|
10
10
|
import "lit";
|
11
|
-
import { property as
|
11
|
+
import { property as b, state as c } from "lit/decorators.js";
|
12
12
|
import { classMap as $ } from "lit/directives/class-map.js";
|
13
|
-
import { ifDefined as
|
14
|
-
import { literal as
|
15
|
-
import { styles as
|
16
|
-
var
|
17
|
-
for (var p =
|
18
|
-
(m = e[h]) && (p = (
|
19
|
-
return
|
20
|
-
},
|
21
|
-
const f = class f extends
|
13
|
+
import { ifDefined as w } from "lit/directives/if-defined.js";
|
14
|
+
import { literal as S, html as y } from "lit/static-html.js";
|
15
|
+
import { styles as U } from "./stepper-item.styles.js";
|
16
|
+
var I = Object.defineProperty, O = Object.getOwnPropertyDescriptor, o = (e, i, t, a) => {
|
17
|
+
for (var p = a > 1 ? void 0 : a ? O(i, t) : i, h = e.length - 1, m; h >= 0; h--)
|
18
|
+
(m = e[h]) && (p = (a ? m(i, t, p) : m(p)) || p);
|
19
|
+
return a && p && I(i, t, p), p;
|
20
|
+
}, l, n;
|
21
|
+
const f = class f extends g {
|
22
22
|
constructor() {
|
23
23
|
super();
|
24
|
-
_(this,
|
24
|
+
_(this, l);
|
25
25
|
_(this, n);
|
26
|
-
r(this,
|
26
|
+
r(this, l, !1), r(this, n, !1), this.completed = !1, this._index = 0, this._linear = !1, this._handleClick = () => {
|
27
27
|
this._linear || (this.state = "active");
|
28
28
|
}, this.role = "listitem";
|
29
29
|
}
|
30
30
|
set _setInternalState(t) {
|
31
|
-
r(this,
|
32
|
-
r(this,
|
31
|
+
r(this, l, !0), this._uiState = t, t === "active" || t === "activeCompleted" ? this.state = t === "active" ? "active" : "completed" : this.state = void 0, setTimeout(() => {
|
32
|
+
r(this, l, !1);
|
33
33
|
});
|
34
34
|
}
|
35
35
|
get _setInternalState() {
|
@@ -44,8 +44,8 @@ const f = class f extends b {
|
|
44
44
|
this._setInternalState = "activeCompleted";
|
45
45
|
return;
|
46
46
|
}
|
47
|
-
if (d(this,
|
48
|
-
r(this,
|
47
|
+
if (d(this, l)) {
|
48
|
+
r(this, l, !1);
|
49
49
|
return;
|
50
50
|
}
|
51
51
|
r(this, n, ["active", "completed"].includes(String(this.state)) && !["active", "activeCompleted"].includes(String(this._uiState))), this._emitUpdate();
|
@@ -60,9 +60,9 @@ const f = class f extends b {
|
|
60
60
|
}), r(this, n, !1);
|
61
61
|
}
|
62
62
|
render() {
|
63
|
-
const t = this._linear ?
|
64
|
-
return
|
65
|
-
<${
|
63
|
+
const t = this._linear ? S`div` : S`button`;
|
64
|
+
return y`
|
65
|
+
<${t}
|
66
66
|
@click=${this._handleClick}
|
67
67
|
?disabled=${this._disabled}
|
68
68
|
class=${$({
|
@@ -72,42 +72,42 @@ const f = class f extends b {
|
|
72
72
|
"stepper-item--completed": this._uiState === "completed",
|
73
73
|
"stepper-item--enabled": this._uiState === "enabled"
|
74
74
|
})}
|
75
|
-
type=${
|
75
|
+
type=${w(this._linear ? void 0 : "button")}
|
76
76
|
>
|
77
77
|
<div class="stepper-item__circle">
|
78
|
-
${this._uiState === "activeCompleted" ?
|
78
|
+
${this._uiState === "activeCompleted" ? y`<skf-icon color="inverse" name="check"></skf-icon>` : this._index}
|
79
79
|
</div>
|
80
80
|
<slot class="stepper-item__label"></slot>
|
81
|
-
</${
|
81
|
+
</${t}>
|
82
82
|
`;
|
83
83
|
}
|
84
84
|
};
|
85
|
-
|
86
|
-
let
|
87
|
-
|
88
|
-
|
89
|
-
],
|
90
|
-
|
91
|
-
|
92
|
-
],
|
93
|
-
|
85
|
+
l = new WeakMap(), n = new WeakMap(), f.styles = [x, U];
|
86
|
+
let s = f;
|
87
|
+
o([
|
88
|
+
b({ reflect: !0 })
|
89
|
+
], s.prototype, "state", 2);
|
90
|
+
o([
|
91
|
+
b({ type: Boolean })
|
92
|
+
], s.prototype, "completed", 2);
|
93
|
+
o([
|
94
94
|
c()
|
95
|
-
],
|
96
|
-
|
95
|
+
], s.prototype, "_disabled", 2);
|
96
|
+
o([
|
97
97
|
c()
|
98
|
-
],
|
99
|
-
|
98
|
+
], s.prototype, "_index", 2);
|
99
|
+
o([
|
100
100
|
c()
|
101
|
-
],
|
102
|
-
|
101
|
+
], s.prototype, "_linear", 2);
|
102
|
+
o([
|
103
103
|
c()
|
104
|
-
],
|
105
|
-
|
104
|
+
], s.prototype, "_uiState", 2);
|
105
|
+
o([
|
106
106
|
c()
|
107
|
-
],
|
108
|
-
|
109
|
-
|
110
|
-
],
|
107
|
+
], s.prototype, "_setInternalState", 1);
|
108
|
+
o([
|
109
|
+
C("state")
|
110
|
+
], s.prototype, "_handleState", 1);
|
111
111
|
export {
|
112
|
-
|
112
|
+
s as SkfStepperItem
|
113
113
|
};
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { SkfStepperItem } from './stepper-item.component';
|
2
|
-
export * from './stepper-item.component';
|
1
|
+
import { SkfStepperItem } from './stepper-item.component.js';
|
2
|
+
export * from './stepper-item.component.js';
|
3
3
|
export default SkfStepperItem;
|
4
4
|
declare global {
|
5
5
|
interface HTMLElementTagNameMap {
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
@@ -1,14 +1,14 @@
|
|
1
|
-
import type { SkfStepperItem } from '../stepper-item/stepper-item.component.js';
|
2
1
|
import { SkfElement } from '../../internal/components/skf-element';
|
3
2
|
import { type CSSResultGroup } from 'lit';
|
3
|
+
import type { SkfStepperItem } from './stepper-item.component.js';
|
4
4
|
/**
|
5
5
|
* The `<skf-stepper>` is a component that displays a list of actions or options.
|
6
6
|
*
|
7
|
-
* @documentation See [zeroheight](https://zeroheight.com
|
7
|
+
* @documentation See [zeroheight](https://zeroheight.com/853e936c9/p/842a0a-stepper) for design principles
|
8
8
|
*
|
9
9
|
* @slot - One or more `<skf-stepper-item>`
|
10
10
|
*
|
11
|
-
* @event skf-stepper-item-select - Dispatched when the stepper item is selected
|
11
|
+
* @event {CustomEvent} skf-stepper-item-select - Dispatched when the stepper item is selected
|
12
12
|
*
|
13
13
|
* @tagname skf-stepper
|
14
14
|
*/
|
@@ -27,6 +27,7 @@ export declare class SkfStepper extends SkfElement {
|
|
27
27
|
_handleActiveIndexChanged(): void;
|
28
28
|
/** @internal */
|
29
29
|
_handleLinearMode(): void;
|
30
|
+
/** @internal */
|
30
31
|
private _handleSelected;
|
31
32
|
/** @internal */
|
32
33
|
private _resetActive;
|
@@ -2,30 +2,30 @@ var p = (t) => {
|
|
2
2
|
throw TypeError(t);
|
3
3
|
};
|
4
4
|
var m = (t, i, e) => i.has(t) || p("Cannot " + e);
|
5
|
-
var _ = (t, i, e) => (m(t, i, "read from private field"), e ? e.call(t) : i.get(t)),
|
5
|
+
var _ = (t, i, e) => (m(t, i, "read from private field"), e ? e.call(t) : i.get(t)), v = (t, i, e) => i.has(t) ? p("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(t) : i.set(t, e), l = (t, i, e, s) => (m(t, i, "write to private field"), s ? s.call(t, e) : i.set(t, e), e);
|
6
6
|
import { SkfElement as I } from "../../internal/components/skf-element.js";
|
7
|
-
import { watch as
|
8
|
-
import u from "../../styles/component.styles.js";
|
7
|
+
import { watch as f } from "../../internal/helpers/watch.js";
|
8
|
+
import { componentStyles as u } from "../../styles/component.styles.js";
|
9
9
|
import { html as g } from "lit";
|
10
10
|
import { property as x, queryAssignedElements as y } from "lit/decorators.js";
|
11
11
|
import { classMap as A } from "lit/directives/class-map.js";
|
12
12
|
import { stepperState as C } from "./stepper.helpers.js";
|
13
13
|
import { styles as b } from "./stepper.styles.js";
|
14
14
|
var E = Object.defineProperty, S = Object.getOwnPropertyDescriptor, h = (t, i, e, s) => {
|
15
|
-
for (var n = s > 1 ? void 0 : s ? S(i, e) : i, r = t.length - 1,
|
16
|
-
(
|
15
|
+
for (var n = s > 1 ? void 0 : s ? S(i, e) : i, r = t.length - 1, o; r >= 0; r--)
|
16
|
+
(o = t[r]) && (n = (s ? o(i, e, n) : o(n)) || n);
|
17
17
|
return s && n && E(i, e, n), n;
|
18
|
-
},
|
18
|
+
}, d;
|
19
19
|
const c = class c extends I {
|
20
20
|
constructor() {
|
21
21
|
super();
|
22
|
-
|
23
|
-
l(this,
|
24
|
-
if (!_(this,
|
25
|
-
const { item: s, triggerActiveIndexUpdate: n } = e.detail, r = [...this._items ?? []].findIndex((
|
22
|
+
v(this, d);
|
23
|
+
l(this, d, !1), this.activeIndex = -1, this.linear = !1, this._handleSelected = (e) => {
|
24
|
+
if (!_(this, d)) return;
|
25
|
+
const { item: s, triggerActiveIndexUpdate: n } = e.detail, r = [...this._items ?? []].findIndex((o) => o === s);
|
26
26
|
r === this.activeIndex ? this._handleActiveIndexChanged() : (n && this._resetActive(r), this.activeIndex = r);
|
27
27
|
}, this._handleSlotChanged = () => {
|
28
|
-
l(this,
|
28
|
+
l(this, d, !0), this.activeIndex = this._getCurrentActiveIndex();
|
29
29
|
}, this.addEventListener("skf-stepper-item-select", this._handleSelected);
|
30
30
|
}
|
31
31
|
firstUpdated() {
|
@@ -69,10 +69,10 @@ const c = class c extends I {
|
|
69
69
|
`;
|
70
70
|
}
|
71
71
|
};
|
72
|
-
|
72
|
+
d = new WeakMap(), c.styles = [u, b];
|
73
73
|
let a = c;
|
74
74
|
h([
|
75
|
-
x({ type: Number })
|
75
|
+
x({ type: Number, attribute: "active-index" })
|
76
76
|
], a.prototype, "activeIndex", 2);
|
77
77
|
h([
|
78
78
|
x({ type: Boolean })
|
@@ -81,10 +81,10 @@ h([
|
|
81
81
|
y()
|
82
82
|
], a.prototype, "_items", 2);
|
83
83
|
h([
|
84
|
-
|
84
|
+
f("activeIndex")
|
85
85
|
], a.prototype, "_handleActiveIndexChanged", 1);
|
86
86
|
h([
|
87
|
-
|
87
|
+
f("linear")
|
88
88
|
], a.prototype, "_handleLinearMode", 1);
|
89
89
|
export {
|
90
90
|
a as SkfStepper
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { SkfStepper } from './stepper.component';
|
2
|
-
export * from './stepper.component';
|
1
|
+
import { SkfStepper } from './stepper.component.js';
|
2
|
+
export * from './stepper.component.js';
|
3
3
|
export default SkfStepper;
|
4
4
|
declare global {
|
5
5
|
interface HTMLElementTagNameMap {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { SkfStepperItem, SkfStepperItemState } from '
|
1
|
+
import type { SkfStepperItem, SkfStepperItemState } from './stepper-item.component.js';
|
2
2
|
import type { SkfStepper } from './stepper.component.js';
|
3
3
|
interface StepperStateProps extends Pick<SkfStepper, '_items' | 'linear'>, Pick<SkfStepperItem, 'state'> {
|
4
4
|
items: SkfStepperItem[];
|