@skf-design-system/ui-components 1.0.0-alpha.33 → 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 +7 -7
- package/dist/components/accordion/accordion.d.ts +0 -1
- package/dist/components/alert/alert.component.d.ts +12 -12
- package/dist/components/alert/alert.component.js +57 -54
- package/dist/components/alert/alert.styles.js +50 -51
- package/dist/components/breadcrumb/breadcrumb-item.component.d.ts +25 -0
- package/dist/components/breadcrumb/breadcrumb-item.component.js +60 -0
- package/dist/components/breadcrumb/breadcrumb-item.d.ts +8 -0
- 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 +32 -0
- package/dist/components/breadcrumb/breadcrumb.component.js +65 -0
- package/dist/components/breadcrumb/breadcrumb.d.ts +8 -0
- 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 +74 -60
- 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 +75 -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 -30
- package/dist/components/dialog/dialog.component.js +89 -78
- 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 +60 -40
- 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 +167 -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 +36 -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.d.ts +1 -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.d.ts +1 -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 +13 -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 -22
- 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 -22
- 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 +50 -49
- 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} +31 -31
- 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 +69 -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 +66 -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 +4450 -2753
- 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 +3 -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 +7 -11
- 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 +767 -1282
- package/dist/types/vue/index.d.ts +572 -310
- package/dist/vscode.html-custom-data.json +547 -1068
- package/dist/web-types.json +1314 -769
- package/package.json +48 -64
- 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 -85
- 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 -33
- package/dist/react/index.js +0 -33
- 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-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/{menu-item/menu-item.styles.d.ts → accordion/accordion-item.styles.d.ts} +0 -0
- /package/dist/components/{select-option-group/select-option-group.style.d.ts → breadcrumb/breadcrumb-item.styles.d.ts} +0 -0
- /package/dist/components/{select-option/select-option.styles.d.ts → breadcrumb/breadcrumb.styles.d.ts} +0 -0
- /package/dist/components/{stepper-item/stepper-item.styles.d.ts → datepicker/datepicker-calendar.styles.d.ts} +0 -0
- /package/dist/components/{tab-group/tab-group.styles.d.ts → datepicker/datepicker-popup.styles.d.ts} +0 -0
- /package/dist/components/{tab-panel/tab-panel.styles.d.ts → drawer/drawer.styles.d.ts} +0 -0
- /package/dist/components/{tab/tab.styles.d.ts → header/header.styles.d.ts} +0 -0
- /package/dist/components/{menu-item → menu}/menu-item.js +0 -0
- /package/dist/components/{toast-wrapper/toast-wrapper.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/{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,16 +1,17 @@
|
|
1
1
|
import '../icon/icon.js';
|
2
2
|
import { FormBase } from '../../internal/components/formBase.js';
|
3
|
+
import type { FormFieldSeverity } from '../../internal/types.js';
|
3
4
|
import type { FormFieldBaseProps } from '../../internal/types/formField.js';
|
4
5
|
import { type CSSResultGroup } from 'lit';
|
5
6
|
/**
|
6
7
|
* The `<skf-radio>` component is used to create a radio input
|
7
8
|
*
|
8
|
-
*
|
9
|
+
* See [zeroheight](https://zeroheight.com/853e936c9/p/78d5dd-radio-button) for design principles
|
9
10
|
*
|
10
|
-
* @attribute {boolean} disabled - If true, sets disabled state
|
11
|
-
* @attribute {boolean} required - If true, value is required or must be checked for the form to be submittable
|
11
|
+
* @attribute {boolean} [disabled=false] - If true, sets disabled state
|
12
|
+
* @attribute {boolean} [required=false] - If true, value is required or must be checked for the form to be submittable
|
12
13
|
*
|
13
|
-
* @event
|
14
|
+
* @event {Event} change - When the value of the input changes
|
14
15
|
*
|
15
16
|
* @slot - The radios label. Alternatively, you can use the `label` attribute.
|
16
17
|
*
|
@@ -18,13 +19,17 @@ import { type CSSResultGroup } from 'lit';
|
|
18
19
|
*/
|
19
20
|
export declare class SkfRadio extends FormBase implements FormFieldBaseProps {
|
20
21
|
static styles: CSSResultGroup;
|
22
|
+
/**
|
23
|
+
* @internal
|
24
|
+
* Initial state saved here as default for form resets.
|
25
|
+
*/
|
21
26
|
private _initialChecked;
|
22
27
|
/** If true, outputs helping hints in console */
|
23
|
-
debug
|
28
|
+
debug: boolean;
|
24
29
|
/** If true, outputs helping hints in console */
|
25
|
-
checked
|
30
|
+
checked: boolean;
|
26
31
|
/** If true, forces component to invalid state until removed */
|
27
|
-
customInvalid
|
32
|
+
customInvalid: boolean;
|
28
33
|
/** If defined, sets the input's label unless the default slot is used. Alternatively, you can use the `label` attribute. */
|
29
34
|
label?: string;
|
30
35
|
/** If defined, adds name to the input-element */
|
@@ -33,13 +38,10 @@ export declare class SkfRadio extends FormBase implements FormFieldBaseProps {
|
|
33
38
|
requiredLabel?: string;
|
34
39
|
/** Size of the Radio */
|
35
40
|
size: 'sm' | 'md';
|
36
|
-
/**
|
37
|
-
|
38
|
-
* @type {"success" | "info" | "warning" | "alert"}
|
39
|
-
*/
|
40
|
-
severity?: FormFieldBaseProps['severity'];
|
41
|
+
/** If defined, displays provided severity state */
|
42
|
+
severity?: FormFieldSeverity;
|
41
43
|
/** If true, displays valid state after interaction */
|
42
|
-
showValid
|
44
|
+
showValid: boolean;
|
43
45
|
/** The current value of the input field */
|
44
46
|
value: string;
|
45
47
|
/** @internal */
|
@@ -49,9 +51,13 @@ export declare class SkfRadio extends FormBase implements FormFieldBaseProps {
|
|
49
51
|
private $input?;
|
50
52
|
connectedCallback(): void;
|
51
53
|
protected firstUpdated(): void;
|
54
|
+
/** @internal */
|
52
55
|
handleInvalidChange(): void;
|
56
|
+
/** @internal */
|
53
57
|
handleDebugInvalid(): void;
|
58
|
+
/** @internal */
|
54
59
|
handleCheckedChanged(): void;
|
60
|
+
/** @internal */
|
55
61
|
handleCustomInvalidChange(): void;
|
56
62
|
/** @internal */
|
57
63
|
private _resetValue;
|
@@ -1,20 +1,21 @@
|
|
1
|
+
import "../icon/icon.js";
|
1
2
|
import { FormBase as c } from "../../internal/components/formBase.js";
|
2
3
|
import { watch as n } from "../../internal/helpers/watch.js";
|
3
4
|
import { Asterisk as p } from "../../internal/templates/asterisk.js";
|
4
|
-
import v from "../../styles/component.styles.js";
|
5
|
+
import { componentStyles as v } from "../../styles/component.styles.js";
|
5
6
|
import { html as m } from "lit";
|
6
7
|
import { property as r, state as f, query as y } from "lit/decorators.js";
|
7
8
|
import { ifDefined as b } from "lit/directives/if-defined.js";
|
8
9
|
import { live as _ } from "lit/directives/live.js";
|
9
|
-
import g from "./radio.styles.js";
|
10
|
-
var k = Object.defineProperty, C = Object.getOwnPropertyDescriptor, i = (u, e, s,
|
11
|
-
for (var a =
|
12
|
-
(h = u[
|
13
|
-
return
|
10
|
+
import { styles as g } from "./radio.styles.js";
|
11
|
+
var k = Object.defineProperty, C = Object.getOwnPropertyDescriptor, i = (u, e, s, l) => {
|
12
|
+
for (var a = l > 1 ? void 0 : l ? C(e, s) : e, o = u.length - 1, h; o >= 0; o--)
|
13
|
+
(h = u[o]) && (a = (l ? h(e, s, a) : h(a)) || a);
|
14
|
+
return l && a && k(e, s, a), a;
|
14
15
|
};
|
15
16
|
const d = class d extends c {
|
16
17
|
constructor() {
|
17
|
-
super(...arguments), this._initialChecked = !1, this.size = "md", this.value = "", this._invalid = !1, this._resetValue = (e) => {
|
18
|
+
super(...arguments), this._initialChecked = !1, this.debug = !1, this.checked = !1, this.customInvalid = !1, this.size = "md", this.showValid = !1, this.value = "", this._invalid = !1, this._resetValue = (e) => {
|
18
19
|
e.stopPropagation(), this.checked = this._initialChecked, this.$input && (this.$input.checked = !!this._initialChecked), this.setFormValue(this.checked ? this.value : "");
|
19
20
|
};
|
20
21
|
}
|
@@ -24,8 +25,8 @@ const d = class d extends c {
|
|
24
25
|
firstUpdated() {
|
25
26
|
var e;
|
26
27
|
(e = this.$input) == null || e.addEventListener("change", (s) => {
|
27
|
-
var
|
28
|
-
s.stopPropagation(), this.pristine = !1, this.checked = (
|
28
|
+
var l;
|
29
|
+
s.stopPropagation(), this.pristine = !1, this.checked = ((l = this.$input) == null ? void 0 : l.checked) ?? !1, this._validateInput(), this.checked ? this.setFormValue(this.value) : this.setFormValue(""), this.emitEvent("change");
|
29
30
|
}), this.addEventListener("invalid", (s) => {
|
30
31
|
this.pristine = !1, this._invalid = !0, this.customErrorDisplay && s.preventDefault();
|
31
32
|
}), this._initialChecked = this.checked, this.addEventListener("reset", this._resetValue);
|
@@ -54,8 +55,8 @@ const d = class d extends c {
|
|
54
55
|
const e = this.name;
|
55
56
|
if (!e) return;
|
56
57
|
(this.form ?? document).querySelectorAll(`skf-radio[name="${e}"]`).forEach((a) => {
|
57
|
-
const
|
58
|
-
a !== this && (
|
58
|
+
const o = this.form === a.form, h = !this.form && !a.form;
|
59
|
+
a !== this && (o || h) && (a.checked = !1);
|
59
60
|
});
|
60
61
|
}
|
61
62
|
/** @internal */
|
@@ -80,7 +81,7 @@ const d = class d extends c {
|
|
80
81
|
<input
|
81
82
|
?disabled=${this.disabled}
|
82
83
|
?required=${this.required}
|
83
|
-
.checked=${_(
|
84
|
+
.checked=${_(this.checked)}
|
84
85
|
aria-invalid=${!!this._invalid}
|
85
86
|
name=${b(this.name)}
|
86
87
|
type="radio"
|
@@ -1,2 +1 @@
|
|
1
|
-
declare const
|
2
|
-
export default _default;
|
1
|
+
export declare const styles: import("lit").CSSResult[];
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import '../icon/icon.js';
|
2
|
+
import { SkfElement } from '../../internal/components/skf-element';
|
3
|
+
import { type CSSResultGroup } from 'lit';
|
4
|
+
export interface SkfSegmentedButtonItemEvent {
|
5
|
+
item: SkfSegmentedButtonItem;
|
6
|
+
}
|
7
|
+
/**
|
8
|
+
* The `<skf-segmented-button-item>` is used in conjunction with the `<skf-segmented-button>` component
|
9
|
+
*
|
10
|
+
* @event {CustomEvent} skf-segmented-button-item-select - Fired when selected
|
11
|
+
*
|
12
|
+
* @slot - Label for the button
|
13
|
+
*
|
14
|
+
* @tagname skf-segmented-button-item
|
15
|
+
*/
|
16
|
+
export declare class SkfSegmentedButtonItem extends SkfElement {
|
17
|
+
static styles: CSSResultGroup;
|
18
|
+
static shadowRootOptions: {
|
19
|
+
delegatesFocus: boolean;
|
20
|
+
mode: ShadowRootMode;
|
21
|
+
serializable?: boolean;
|
22
|
+
slotAssignment?: SlotAssignmentMode;
|
23
|
+
};
|
24
|
+
/** If true, items is marked as disabled */
|
25
|
+
disabled: boolean;
|
26
|
+
/** If true, items is marked as selected */
|
27
|
+
selected: boolean;
|
28
|
+
/** Sets the item value */
|
29
|
+
value: string;
|
30
|
+
constructor();
|
31
|
+
/** @internal */
|
32
|
+
isMultiple: boolean;
|
33
|
+
/** @internal */
|
34
|
+
private _handleClick;
|
35
|
+
render(): import("lit").TemplateResult<1>;
|
36
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import "../icon/icon.js";
|
2
|
+
import { SkfElement as n } from "../../internal/components/skf-element.js";
|
3
|
+
import { componentStyles as f } from "../../styles/component.styles.js";
|
4
|
+
import { LitElement as u, nothing as m, html as c } from "lit";
|
5
|
+
import { property as r, state as v } from "lit/decorators.js";
|
6
|
+
import { ifDefined as l } from "lit/directives/if-defined.js";
|
7
|
+
import { styles as y } from "./segmented-button-item.styles.js";
|
8
|
+
var b = Object.defineProperty, i = (a, p, d, k) => {
|
9
|
+
for (var e = void 0, o = a.length - 1, h; o >= 0; o--)
|
10
|
+
(h = a[o]) && (e = h(p, d, e) || e);
|
11
|
+
return e && b(p, d, e), e;
|
12
|
+
};
|
13
|
+
const s = class s extends n {
|
14
|
+
constructor() {
|
15
|
+
super(), this.disabled = !1, this.selected = !1, this.value = "", this.isMultiple = !1, this._handleClick = () => {
|
16
|
+
this.emit("skf-segmented-button-item-select", {
|
17
|
+
detail: {
|
18
|
+
item: this
|
19
|
+
}
|
20
|
+
});
|
21
|
+
}, this.addEventListener("click", this._handleClick);
|
22
|
+
}
|
23
|
+
render() {
|
24
|
+
return c`
|
25
|
+
<button
|
26
|
+
?disabled=${this.disabled}
|
27
|
+
aria-checked=${l(this.isMultiple ? void 0 : this.selected ? "true" : "false")}
|
28
|
+
aria-pressed=${l(this.isMultiple ? this.selected ? "true" : "false" : void 0)}
|
29
|
+
id="root"
|
30
|
+
role=${l(this.isMultiple ? void 0 : "radio")}
|
31
|
+
type="button"
|
32
|
+
value=${this.value}
|
33
|
+
>
|
34
|
+
${this.selected ? c`<skf-icon color="emphasised" name="check" size="sm"></skf-icon>` : m}
|
35
|
+
<slot></slot>
|
36
|
+
</button>
|
37
|
+
`;
|
38
|
+
}
|
39
|
+
};
|
40
|
+
s.styles = [f, y], s.shadowRootOptions = { ...u.shadowRootOptions, delegatesFocus: !0 };
|
41
|
+
let t = s;
|
42
|
+
i([
|
43
|
+
r({ type: Boolean, reflect: !0 })
|
44
|
+
], t.prototype, "disabled");
|
45
|
+
i([
|
46
|
+
r({ type: Boolean, reflect: !0 })
|
47
|
+
], t.prototype, "selected");
|
48
|
+
i([
|
49
|
+
r({ reflect: !0 })
|
50
|
+
], t.prototype, "value");
|
51
|
+
i([
|
52
|
+
v()
|
53
|
+
], t.prototype, "isMultiple");
|
54
|
+
export {
|
55
|
+
t as SkfSegmentedButtonItem
|
56
|
+
};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { SkfSegmentedButtonItem } from './segmented-button-item.component.js';
|
2
|
+
export * from './segmented-button-item.component.js';
|
3
|
+
export default SkfSegmentedButtonItem;
|
4
|
+
declare global {
|
5
|
+
interface HTMLElementTagNameMap {
|
6
|
+
'skf-segmented-button-item': SkfSegmentedButtonItem;
|
7
|
+
}
|
8
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
@@ -0,0 +1,62 @@
|
|
1
|
+
import { css as e } from "lit";
|
2
|
+
const o = e`
|
3
|
+
@layer components {
|
4
|
+
:host {
|
5
|
+
display: contents;
|
6
|
+
}
|
7
|
+
|
8
|
+
#root {
|
9
|
+
align-items: center;
|
10
|
+
background-color: var(--_skf-segmented-button-item-bg, transparent);
|
11
|
+
border: var(--skf-border-width-md) solid var(--_skf-segmented-button-item-border, transparent);
|
12
|
+
border-radius: 4px; /* TODO: Missing token */
|
13
|
+
display: flex;
|
14
|
+
flex: 1;
|
15
|
+
font-size: var(--skf-font-size-75);
|
16
|
+
font-weight: var(--skf-font-weight-bold);
|
17
|
+
gap: var(--skf-spacing-25);
|
18
|
+
justify-content: center;
|
19
|
+
min-inline-size: 0;
|
20
|
+
padding-inline: var(--skf-spacing-50);
|
21
|
+
position: relative;
|
22
|
+
|
23
|
+
:host(:not(:last-of-type)) &::after {
|
24
|
+
background-color: var(--skf-border-color-primary);
|
25
|
+
block-size: calc(100% - 5px);
|
26
|
+
content: '';
|
27
|
+
inline-size: 1px;
|
28
|
+
|
29
|
+
/* inset-inline-end: calc((var(--skf-spacing-75) + 2px + var(--skf-border-width-md) * 2) / -2); */
|
30
|
+
inset-inline-end: -9px;
|
31
|
+
position: absolute;
|
32
|
+
}
|
33
|
+
|
34
|
+
&:disabled {
|
35
|
+
color: var(--skf-interactive-text-color-disabled);
|
36
|
+
font-weight: 500;
|
37
|
+
}
|
38
|
+
|
39
|
+
&:is([aria-checked='true'], [aria-pressed='true']) {
|
40
|
+
--_skf-segmented-button-item-border: var(--skf-border-color-emphasised);
|
41
|
+
}
|
42
|
+
|
43
|
+
&:hover:not(:disabled) {
|
44
|
+
--_skf-segmented-button-item-bg: var(--skf-interactive-bg-color-secondary-hover);
|
45
|
+
}
|
46
|
+
|
47
|
+
&:is(:focus, :active):not(:disabled) {
|
48
|
+
--_skf-segmented-button-item-bg: var(--skf-interactive-bg-color-secondary-active);
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
slot {
|
53
|
+
display: block;
|
54
|
+
overflow: hidden;
|
55
|
+
text-overflow: ellipsis;
|
56
|
+
white-space: nowrap;
|
57
|
+
}
|
58
|
+
}
|
59
|
+
`;
|
60
|
+
export {
|
61
|
+
o as styles
|
62
|
+
};
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { SkfElement } from '../../internal/components/skf-element';
|
2
|
+
import { type CSSResultGroup } from 'lit';
|
3
|
+
/**
|
4
|
+
* The `<skf-segmented-button>` component consists of multiple `<skf-segmented-button-item>`, working together.
|
5
|
+
*
|
6
|
+
* See [zeroheight](https://zeroheight.com/853e936c9/p/68ff54-segmented-buttons) for design principles
|
7
|
+
*
|
8
|
+
* @slot - One or more `<skf-segmented-button-item>`
|
9
|
+
*
|
10
|
+
* @tagname skf-segmented-button
|
11
|
+
*/
|
12
|
+
export declare class SkfSegmentedButton extends SkfElement {
|
13
|
+
static styles: CSSResultGroup;
|
14
|
+
/** If true, allowes multiple items to be selected */
|
15
|
+
multiple: boolean;
|
16
|
+
/** @internal */
|
17
|
+
value: string;
|
18
|
+
/** @internal */
|
19
|
+
private items;
|
20
|
+
firstUpdated(): void;
|
21
|
+
/** @internal */
|
22
|
+
private _handleSegmentedButtonItemSelected;
|
23
|
+
/** @internal */
|
24
|
+
private _handleSlotChange;
|
25
|
+
/** @internal */
|
26
|
+
private _handleKeyDown;
|
27
|
+
/** @internal */
|
28
|
+
private _getKeyDownNextItem;
|
29
|
+
render(): import("lit").TemplateResult<1>;
|
30
|
+
}
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import { SkfElement as d } from "../../internal/components/skf-element.js";
|
2
|
+
import { componentStyles as m } from "../../styles/component.styles.js";
|
3
|
+
import { html as c } from "lit";
|
4
|
+
import { property as u, state as f, queryAssignedElements as p } from "lit/decorators.js";
|
5
|
+
import { ifDefined as g } from "lit/directives/if-defined.js";
|
6
|
+
import { styles as y } from "./segmented-button.styles.js";
|
7
|
+
var v = Object.defineProperty, n = (a, s, e, i) => {
|
8
|
+
for (var t = void 0, o = a.length - 1, r; o >= 0; o--)
|
9
|
+
(r = a[o]) && (t = r(s, e, t) || t);
|
10
|
+
return t && v(s, e, t), t;
|
11
|
+
};
|
12
|
+
const h = class h extends d {
|
13
|
+
constructor() {
|
14
|
+
super(...arguments), this.multiple = !1, this.value = "", this._handleSegmentedButtonItemSelected = (s) => {
|
15
|
+
const e = s.detail.item;
|
16
|
+
this.multiple && (e.selected = !e.selected), this.value = "";
|
17
|
+
let i = [];
|
18
|
+
this.items.forEach((t) => {
|
19
|
+
this.multiple ? t.selected && (i = [...i, t.value], this.value = i.join()) : t !== e ? t.selected = !1 : (t.selected = !0, this.value = t.value);
|
20
|
+
});
|
21
|
+
}, this._handleSlotChange = () => {
|
22
|
+
this.items.forEach((s) => {
|
23
|
+
if (s.isMultiple = this.multiple, !this.multiple) {
|
24
|
+
const e = this.items.filter((i) => i.selected);
|
25
|
+
e.length > 1 && e.slice(0, -1).forEach((i) => i.selected = !1);
|
26
|
+
}
|
27
|
+
});
|
28
|
+
}, this._handleKeyDown = (s) => {
|
29
|
+
if (["ArrowLeft", "ArrowRight"].includes(s.key)) {
|
30
|
+
const e = this._getKeyDownNextItem(s.key);
|
31
|
+
e == null || e.focus({ preventScroll: !0 });
|
32
|
+
}
|
33
|
+
};
|
34
|
+
}
|
35
|
+
firstUpdated() {
|
36
|
+
this.addEventListener(
|
37
|
+
"skf-segmented-button-item-select",
|
38
|
+
this._handleSegmentedButtonItemSelected
|
39
|
+
);
|
40
|
+
}
|
41
|
+
/** @internal */
|
42
|
+
_getKeyDownNextItem(s) {
|
43
|
+
const e = this.items.findIndex((r) => r === document.activeElement);
|
44
|
+
if (e === -1) return;
|
45
|
+
const t = (e + (s === "ArrowRight" ? 1 : -1)) % this.items.length;
|
46
|
+
return this.items[t < 0 ? this.items.length - 1 : t];
|
47
|
+
}
|
48
|
+
render() {
|
49
|
+
return c`
|
50
|
+
<slot
|
51
|
+
@keydown=${this._handleKeyDown}
|
52
|
+
@slotchange=${this._handleSlotChange}
|
53
|
+
aria-label=${g(this.ariaLabel ?? "Segmented button label")}
|
54
|
+
id="root"
|
55
|
+
role=${this.multiple ? "group" : "radiogroup"}
|
56
|
+
></slot>
|
57
|
+
`;
|
58
|
+
}
|
59
|
+
};
|
60
|
+
h.styles = [m, y];
|
61
|
+
let l = h;
|
62
|
+
n([
|
63
|
+
u({ type: Boolean })
|
64
|
+
], l.prototype, "multiple");
|
65
|
+
n([
|
66
|
+
f()
|
67
|
+
], l.prototype, "value");
|
68
|
+
n([
|
69
|
+
p()
|
70
|
+
], l.prototype, "items");
|
71
|
+
export {
|
72
|
+
l as SkfSegmentedButton
|
73
|
+
};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { SkfSegmentedButton } from './segmented-button.component.js';
|
2
|
+
export * from './segmented-button.component.js';
|
3
|
+
export default SkfSegmentedButton;
|
4
|
+
declare global {
|
5
|
+
interface HTMLElementTagNameMap {
|
6
|
+
'skf-segmented-button': SkfSegmentedButton;
|
7
|
+
}
|
8
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { css as r } from "lit";
|
2
|
+
const o = r`
|
3
|
+
@layer components {
|
4
|
+
#root {
|
5
|
+
block-size: var(--skf-size-44);
|
6
|
+
border: var(--skf-border-width-sm) solid var(--skf-border-color-primary);
|
7
|
+
border-radius: 6px; /* TODO: Missing token */
|
8
|
+
display: flex;
|
9
|
+
gap: var(--skf-spacing-75);
|
10
|
+
padding: var(--skf-spacing-25);
|
11
|
+
}
|
12
|
+
}
|
13
|
+
`;
|
14
|
+
export {
|
15
|
+
o as styles
|
16
|
+
};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { SkfElement as a } from "../../internal/components/skf-element.js";
|
2
|
-
import f from "../../styles/component.styles.js";
|
2
|
+
import { componentStyles as f } from "../../styles/component.styles.js";
|
3
3
|
import { html as p } from "lit";
|
4
4
|
import { property as d } from "lit/decorators.js";
|
5
5
|
import { styles as n } from "./select-option-group.style.js";
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { SkfSelectOptionGroup } from './select-option-group.component';
|
2
|
-
export * from './select-option-group.component';
|
1
|
+
import { SkfSelectOptionGroup } from './select-option-group.component.js';
|
2
|
+
export * from './select-option-group.component.js';
|
3
3
|
export default SkfSelectOptionGroup;
|
4
4
|
declare global {
|
5
5
|
interface HTMLElementTagNameMap {
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
@@ -1,9 +1,8 @@
|
|
1
|
+
import '../icon/icon.js';
|
1
2
|
import { SkfElement } from '../../internal/components/skf-element.js';
|
2
|
-
import type {
|
3
|
+
import type { Icon, IconColor } from '../../internal/types.js';
|
3
4
|
import { type CSSResultGroup } from 'lit';
|
4
|
-
import '
|
5
|
-
import { SkfIcon } from '../icon/icon';
|
6
|
-
import type { SkfSelect } from '../select/select.component.js';
|
5
|
+
import type { SkfSelect } from './select.component.js';
|
7
6
|
export interface SelectOptionEvent {
|
8
7
|
value: string | null;
|
9
8
|
option: SkfSelectOption;
|
@@ -16,7 +15,7 @@ export interface SelectOptionEvent {
|
|
16
15
|
* @slot - The option's text content
|
17
16
|
* @slot icon - The option's slot for icon or custom meta information (svg).
|
18
17
|
*
|
19
|
-
* @event skf-select-option
|
18
|
+
* @event skf-select-option-select - {detail: { value: string | null, option: SkfSelectOption }} Fires when the option is selected/deselected.
|
20
19
|
*
|
21
20
|
* @tagname skf-select-option
|
22
21
|
*/
|
@@ -37,15 +36,15 @@ export declare class SkfSelectOption extends SkfElement {
|
|
37
36
|
* Do not use directly, instead use `setSelectedDiscrete`.
|
38
37
|
* If true, instantly sets/unsets the selected property, without engaging ui feedback. Primarily for unselecting previous option in single select.
|
39
38
|
*/
|
40
|
-
_shortcutUpdate
|
39
|
+
_shortcutUpdate: boolean;
|
41
40
|
/** If true, prevents interaction with the option */
|
42
|
-
disabled
|
41
|
+
disabled: boolean;
|
43
42
|
/** If defined, set an icon */
|
44
|
-
icon?:
|
43
|
+
icon?: Icon;
|
45
44
|
/** If defined, sets provided color on the icon */
|
46
|
-
iconColor?:
|
45
|
+
iconColor?: IconColor;
|
47
46
|
/** If true, sets the option as selected */
|
48
|
-
selected
|
47
|
+
selected: boolean;
|
49
48
|
/** If defined, sets a short label */
|
50
49
|
shortLabel?: string;
|
51
50
|
/** The option's label text (equivalent to the tags textContent) */
|
@@ -1,17 +1,18 @@
|
|
1
|
+
import "../icon/icon.js";
|
1
2
|
import { SkfElement as u } from "../../internal/components/skf-element.js";
|
2
|
-
import f from "../../styles/component.styles.js";
|
3
|
-
import { LitElement as m, html as
|
4
|
-
import { property as
|
3
|
+
import { componentStyles as f } from "../../styles/component.styles.js";
|
4
|
+
import { LitElement as m, html as d } from "lit";
|
5
|
+
import { property as l, queryAssignedNodes as _ } from "lit/decorators.js";
|
5
6
|
import { ifDefined as p } from "lit/directives/if-defined.js";
|
6
7
|
import { styles as y } from "./select-option.styles.js";
|
7
|
-
var v = Object.defineProperty, b = Object.getOwnPropertyDescriptor, o = (
|
8
|
-
for (var r = i > 1 ? void 0 : i ? b(t, s) : t, a =
|
9
|
-
(c =
|
8
|
+
var v = Object.defineProperty, b = Object.getOwnPropertyDescriptor, o = (h, t, s, i) => {
|
9
|
+
for (var r = i > 1 ? void 0 : i ? b(t, s) : t, a = h.length - 1, c; a >= 0; a--)
|
10
|
+
(c = h[a]) && (r = (i ? c(t, s, r) : c(r)) || r);
|
10
11
|
return i && r && v(t, s, r), r;
|
11
12
|
};
|
12
|
-
const
|
13
|
+
const n = class n extends u {
|
13
14
|
constructor() {
|
14
|
-
super(), this._handleClick = (s) => {
|
15
|
+
super(), this._shortcutUpdate = !1, this.disabled = !1, this.selected = !1, this._handleClick = (s) => {
|
15
16
|
s.stopPropagation(), this.selected = !this.selected;
|
16
17
|
};
|
17
18
|
const t = this.attachInternals();
|
@@ -32,7 +33,7 @@ const l = class l extends u {
|
|
32
33
|
return !this._value && this._slotContainsOnlyText ? this._getSlottedContent().trim() : ((t = this._value) == null ? void 0 : t.trim()) ?? this.text;
|
33
34
|
}
|
34
35
|
updated(t) {
|
35
|
-
super.updated(t), t.has("selected") && !this._shortcutUpdate && this.emit("skf-select-option
|
36
|
+
super.updated(t), t.has("selected") && !this._shortcutUpdate && this.emit("skf-select-option-select", {
|
36
37
|
detail: {
|
37
38
|
value: this.selected ? this.value : null,
|
38
39
|
option: this
|
@@ -66,7 +67,7 @@ const l = class l extends u {
|
|
66
67
|
) : "";
|
67
68
|
}
|
68
69
|
render() {
|
69
|
-
return
|
70
|
+
return d`
|
70
71
|
<button
|
71
72
|
?disabled=${this.disabled}
|
72
73
|
@click=${this._handleClick}
|
@@ -77,42 +78,42 @@ const l = class l extends u {
|
|
77
78
|
<slot>${this.text}</slot>
|
78
79
|
<div id="adornments">
|
79
80
|
<slot name="icon">
|
80
|
-
${this.icon &&
|
81
|
+
${this.icon && d`
|
81
82
|
<skf-icon
|
82
|
-
class=${p((this.disabled ?? !this.iconColor) && "skf-icon-host")}
|
83
83
|
color=${p(this.iconColor)}
|
84
|
+
data-color=${p((this.disabled || !this.iconColor) && "custom")}
|
84
85
|
name=${this.icon}
|
85
86
|
></skf-icon>
|
86
87
|
`}
|
87
88
|
</slot>
|
88
|
-
${this.shortLabel &&
|
89
|
+
${this.shortLabel && d`<div id="short-label">${this.shortLabel}</div>`}
|
89
90
|
</div>
|
90
91
|
</button>
|
91
92
|
`;
|
92
93
|
}
|
93
94
|
};
|
94
|
-
|
95
|
-
let e =
|
95
|
+
n.styles = [f, y], n.shadowRootOptions = { ...m.shadowRootOptions, delegatesFocus: !0 };
|
96
|
+
let e = n;
|
96
97
|
o([
|
97
|
-
|
98
|
+
l({ type: Boolean, reflect: !0 })
|
98
99
|
], e.prototype, "disabled", 2);
|
99
100
|
o([
|
100
|
-
|
101
|
+
l({ reflect: !0 })
|
101
102
|
], e.prototype, "icon", 2);
|
102
103
|
o([
|
103
|
-
|
104
|
+
l({ reflect: !0, attribute: "icon-color" })
|
104
105
|
], e.prototype, "iconColor", 2);
|
105
106
|
o([
|
106
|
-
|
107
|
+
l({ type: Boolean, reflect: !0 })
|
107
108
|
], e.prototype, "selected", 2);
|
108
109
|
o([
|
109
|
-
|
110
|
+
l({ reflect: !0, attribute: "short-label" })
|
110
111
|
], e.prototype, "shortLabel", 2);
|
111
112
|
o([
|
112
|
-
|
113
|
+
l({ attribute: !1 })
|
113
114
|
], e.prototype, "text", 1);
|
114
115
|
o([
|
115
|
-
|
116
|
+
l({ reflect: !0 })
|
116
117
|
], e.prototype, "value", 1);
|
117
118
|
o([
|
118
119
|
_({ flatten: !0 })
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import type { ReactiveController, ReactiveControllerHost } from 'lit';
|
2
|
+
/**
|
3
|
+
* Workaround for storybook helper not being able to import types
|
4
|
+
* E.g type ControllerHost = SkfSelectOption;
|
5
|
+
*/
|
6
|
+
interface ControllerHostProps {
|
7
|
+
localName: keyof HTMLElementTagNameMap;
|
8
|
+
_parent: HTMLElement | null;
|
9
|
+
}
|
10
|
+
export declare class DeveloperFeedbackController implements ReactiveController {
|
11
|
+
host?: ReactiveControllerHost & Partial<ControllerHostProps>;
|
12
|
+
constructor(host: ReactiveControllerHost);
|
13
|
+
hostUpdated(): void;
|
14
|
+
}
|
15
|
+
export {};
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|