scb-wc 0.1.3 → 0.1.4
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 +194 -164
- package/all.js +91 -5
- package/blazor/CustomEvents.cs +83 -0
- package/blazor/ScbBlazorInteropBase.cs +4460 -1674
- package/blazor/scb-blazor-bridge.js +6827 -2805
- package/blazor/wrappers/ScbAccordion.razor +50 -0
- package/blazor/wrappers/ScbAppBar.razor +95 -0
- package/blazor/wrappers/ScbBreadcrumb.razor +59 -0
- package/blazor/wrappers/ScbCalendar.razor +100 -0
- package/blazor/wrappers/ScbCalendarCard.razor +189 -0
- package/blazor/wrappers/ScbCheckbox.razor +92 -0
- package/blazor/wrappers/ScbCollapse.razor +76 -0
- package/blazor/wrappers/ScbCookiesConsent.razor +106 -0
- package/blazor/wrappers/ScbDatepicker.razor +77 -0
- package/blazor/wrappers/ScbDialog.razor +72 -0
- package/blazor/wrappers/ScbDrawer.razor +64 -0
- package/blazor/wrappers/ScbDropZone.razor +168 -0
- package/blazor/wrappers/ScbDropdown.razor +76 -0
- package/blazor/wrappers/ScbHorizontalScroller.razor +137 -0
- package/blazor/wrappers/ScbList.razor +77 -0
- package/blazor/wrappers/ScbMenu.razor +71 -0
- package/blazor/wrappers/ScbNav.razor +92 -0
- package/blazor/wrappers/ScbNotificationCard.razor +122 -0
- package/blazor/wrappers/ScbOptionsMenu.razor +88 -0
- package/blazor/wrappers/ScbPagination.razor +80 -0
- package/blazor/wrappers/ScbRadioGroup.razor +94 -0
- package/blazor/wrappers/ScbSearch.razor +83 -0
- package/blazor/wrappers/ScbSegmentedButton.razor +85 -0
- package/blazor/wrappers/ScbSelect.razor +79 -0
- package/blazor/wrappers/ScbSlider.razor +96 -0
- package/blazor/wrappers/ScbSnackbar.razor +93 -0
- package/blazor/wrappers/ScbSwitch.razor +92 -0
- package/blazor/wrappers/ScbTable.razor +67 -0
- package/blazor/wrappers/ScbTableAdvanced.razor +78 -0
- package/blazor/wrappers/ScbTabs.razor +55 -0
- package/blazor/wrappers/ScbTextfield.razor +104 -0
- package/blazor/wrappers/ScbTooltip.razor +88 -0
- package/blazor/wrappers/ScbViz.razor +142 -0
- package/demo-data-preview.svg +12 -0
- package/dummy.png +0 -0
- package/fonts/inter/files/inter-latin-wght-italic.woff2 +0 -0
- package/fonts/inter/files/inter-latin-wght-normal.woff2 +0 -0
- package/fonts/material-symbols-outlined/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
- package/index.js +91 -1
- package/mvc/components/all.js +90 -1
- package/mvc/components/scb-accordion/scb-accordion-item.js +211 -0
- package/mvc/components/scb-accordion/scb-accordion.js +44 -0
- package/mvc/components/scb-app-bar/scb-app-bar.js +166 -0
- package/mvc/components/scb-avatar/scb-avatar.js +111 -0
- package/mvc/components/scb-badge/scb-badge.js +80 -0
- package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +14 -0
- package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +96 -0
- package/mvc/components/scb-button/scb-button.js +268 -0
- package/mvc/components/scb-calendar/scb-calendar-event.js +6 -0
- package/mvc/components/scb-calendar/scb-calendar.js +168 -0
- package/mvc/components/scb-calendar-card/scb-calendar-card.js +346 -0
- package/mvc/components/scb-card/scb-card.js +761 -0
- package/mvc/components/scb-checkbox/scb-checkbox-group.js +33 -0
- package/mvc/components/scb-checkbox/scb-checkbox.js +140 -0
- package/mvc/components/scb-chevron/scb-chevron.js +121 -0
- package/mvc/components/scb-chip/scb-chip.js +66 -0
- package/mvc/components/scb-collapse/scb-collapse.js +89 -0
- package/mvc/components/scb-cookies-consent/scb-cookies-consent.js +78 -0
- package/mvc/components/scb-datepicker/scb-datepicker.js +296 -0
- package/mvc/components/scb-dialog/scb-dialog.js +265 -0
- package/mvc/components/scb-divider/scb-divider.js +69 -0
- package/mvc/components/scb-drawer/scb-drawer.js +128 -0
- package/mvc/components/scb-drop-zone/scb-drop-zone.js +555 -0
- package/mvc/components/scb-dropdown/scb-dropdown.js +306 -0
- package/mvc/components/scb-fab/scb-fab.js +108 -0
- package/mvc/components/scb-fact-card/scb-fact-card-content.js +46 -0
- package/mvc/components/scb-fact-card/scb-fact-card.js +226 -0
- package/mvc/components/scb-footer/scb-footer-section.js +3 -0
- package/mvc/components/scb-footer/scb-footer.js +210 -0
- package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +131 -0
- package/mvc/components/scb-grid/scb-grid-item.js +11 -0
- package/mvc/components/scb-grid/scb-grid.js +98 -0
- package/mvc/components/scb-grid/scb-stack.js +33 -0
- package/mvc/components/scb-header/scb-header-menu-group.js +1 -0
- package/mvc/components/scb-header/scb-header-menu-item.js +5 -0
- package/mvc/components/scb-header/scb-header-tab.js +5 -0
- package/mvc/components/scb-header/scb-header-utility.js +1 -0
- package/mvc/components/scb-header/scb-header.js +681 -0
- package/mvc/components/scb-horizontal-scroller/scb-horizontal-scroller.js +196 -0
- package/mvc/components/scb-icon-button/scb-icon-button.js +171 -0
- package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +212 -0
- package/mvc/components/scb-link/scb-link.js +61 -0
- package/mvc/components/scb-list/scb-list-item.js +153 -0
- package/mvc/components/scb-list/scb-list.js +26 -0
- package/mvc/components/scb-menu/scb-menu-item.js +205 -0
- package/mvc/components/scb-menu/scb-menu-section.js +42 -0
- package/mvc/components/scb-menu/scb-menu.js +81 -0
- package/mvc/components/scb-menu/scb-sub-menu.js +10 -0
- package/mvc/components/scb-nav/scb-nav-item.js +28 -0
- package/mvc/components/scb-nav/scb-nav.js +104 -0
- package/mvc/components/scb-notification-card/scb-notification-card.js +358 -0
- package/mvc/components/scb-options-menu/scb-options-menu-item.js +66 -0
- package/mvc/components/scb-options-menu/scb-options-menu.js +88 -0
- package/mvc/components/scb-options-menu/scb-options-sub-menu.js +34 -0
- package/mvc/components/scb-overlay/scb-overlay.js +49 -0
- package/mvc/components/scb-pagination/scb-pagination.js +312 -0
- package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +87 -0
- package/mvc/components/scb-progress-stepper/scb-progress-step.js +147 -0
- package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +62 -0
- package/mvc/components/scb-radio-button/scb-radio-button.js +132 -0
- package/mvc/components/scb-radio-button/scb-radio-group.js +43 -0
- package/mvc/components/scb-scrollspy/scb-scrollspy.js +79 -0
- package/mvc/components/scb-search/scb-search.js +292 -0
- package/mvc/components/scb-segmented-button/scb-segmented-button.js +32 -0
- package/mvc/components/scb-segmented-button/scb-segmented-item.js +74 -0
- package/mvc/components/scb-select/scb-select-option.js +61 -0
- package/mvc/components/scb-select/scb-select.js +284 -0
- package/mvc/components/scb-skeleton/scb-skeleton.js +38 -0
- package/mvc/components/scb-slider/scb-slider.js +27 -0
- package/mvc/components/scb-snackbar/scb-snackbar.js +128 -0
- package/mvc/components/scb-status-pill/scb-status-pill.js +45 -0
- package/mvc/components/scb-stepper/scb-step.js +239 -0
- package/mvc/components/scb-stepper/scb-stepper.js +139 -0
- package/mvc/components/scb-switch/scb-switch.js +59 -0
- package/mvc/components/scb-table/scb-table.js +51 -0
- package/mvc/components/scb-table-advanced/scb-table-advanced.js +76 -0
- package/mvc/components/scb-tabs/scb-primary-tab.js +6 -0
- package/mvc/components/scb-tabs/scb-secondary-tab.js +6 -0
- package/mvc/components/scb-tabs/scb-tabs.js +28 -0
- package/mvc/components/scb-textfield/scb-textfield.js +595 -0
- package/mvc/components/scb-toc/scb-toc-item.js +303 -0
- package/mvc/components/scb-toc/scb-toc.js +19 -0
- package/mvc/components/scb-tooltip/scb-tooltip.js +196 -0
- package/mvc/components/scb-vignette/scb-vignette.js +37 -0
- package/mvc/components/scb-viz/scb-viz-actions-runtime.js +2 -0
- package/mvc/components/scb-viz/scb-viz-print-runtime.js +98 -0
- package/mvc/components/scb-viz/scb-viz-series-differentiation-registry.js +1 -0
- package/mvc/components/scb-viz/scb-viz-series-differentiation-runtime.js +1 -0
- package/mvc/components/scb-viz/scb-viz-table-runtime.js +1 -0
- package/mvc/components/scb-viz/scb-viz.js +1140 -0
- package/mvc/fonts/inter/files/inter-latin-wght-italic.woff2 +0 -0
- package/mvc/fonts/inter/files/inter-latin-wght-normal.woff2 +0 -0
- package/mvc/fonts/material-symbols-outlined/files/material-symbols-outlined-latin-wght-normal.woff2 +0 -0
- package/mvc/scb-blazor-bridge.js +6827 -2805
- package/mvc/scb-logo.svg +20 -20
- package/mvc/scb-typography.css +1 -1
- package/mvc/scb-wc.css +3 -2
- package/mvc/scb.svg +13 -13
- package/mvc/vendor/assertClassBrand.js +1 -0
- package/mvc/vendor/classPrivateFieldGet2.js +1 -0
- package/mvc/vendor/decorate.js +1 -0
- package/mvc/vendor/preload-helper.js +1 -0
- package/mvc/vendor/vendor-lit.js +1 -0
- package/mvc/vendor/vendor-material.js +364 -0
- package/mvc/vendor/vendor.js +4 -0
- package/package.json +420 -77
- package/scb-accordion/scb-accordion-item.js +340 -0
- package/scb-accordion/scb-accordion.js +151 -0
- package/scb-app-bar/scb-app-bar.js +317 -0
- package/scb-avatar/scb-avatar.js +197 -0
- package/scb-badge/scb-badge.js +165 -0
- package/scb-breadcrumb/scb-breadcrumb-item.js +62 -0
- package/scb-breadcrumb/scb-breadcrumb.js +255 -0
- package/scb-button/scb-button.js +398 -0
- package/scb-calendar/scb-calendar-event.js +48 -0
- package/scb-calendar/scb-calendar.js +700 -0
- package/scb-calendar-card/scb-calendar-card.js +505 -0
- package/scb-card/scb-card.js +1231 -0
- package/scb-checkbox/scb-checkbox-group.js +104 -0
- package/scb-checkbox/scb-checkbox.js +316 -0
- package/scb-chevron/scb-chevron.js +144 -0
- package/scb-chip/scb-chip.js +234 -0
- package/scb-collapse/scb-collapse.js +231 -0
- package/scb-cookies-consent/scb-cookies-consent.js +164 -0
- package/scb-datepicker/scb-datepicker.js +470 -0
- package/scb-dialog/scb-dialog.js +574 -0
- package/scb-divider/scb-divider.js +119 -0
- package/scb-drawer/scb-drawer.js +297 -0
- package/scb-drop-zone/scb-drop-zone.js +965 -0
- package/scb-dropdown/scb-dropdown.js +598 -0
- package/scb-fab/scb-fab.js +190 -0
- package/scb-fact-card/scb-fact-card-content.js +82 -0
- package/scb-fact-card/scb-fact-card.js +376 -0
- package/scb-footer/scb-footer-section.js +23 -0
- package/scb-footer/scb-footer.js +343 -0
- package/scb-gallery-grid/scb-gallery-grid.js +242 -0
- package/scb-grid/scb-grid-item.js +81 -0
- package/scb-grid/scb-grid.js +200 -0
- package/scb-grid/scb-stack.js +120 -0
- package/scb-header/scb-header-menu-group.js +21 -0
- package/scb-header/scb-header-menu-item.js +22 -0
- package/scb-header/scb-header-tab.js +25 -0
- package/scb-header/scb-header-utility.js +27 -0
- package/scb-header/scb-header.js +1358 -0
- package/scb-horizontal-scroller/scb-horizontal-scroller.js +353 -0
- package/scb-icon-button/scb-icon-button.js +335 -0
- package/scb-keyfigure-card/scb-keyfigure-card.js +340 -0
- package/scb-link/scb-link.js +136 -0
- package/scb-list/scb-list-item.js +297 -0
- package/scb-list/scb-list.js +119 -0
- package/scb-menu/scb-menu-item.js +330 -0
- package/scb-menu/scb-menu-section.js +60 -0
- package/scb-menu/scb-menu.js +154 -0
- package/scb-menu/scb-sub-menu.js +36 -0
- package/scb-nav/scb-nav-item.js +96 -0
- package/scb-nav/scb-nav.js +263 -0
- package/scb-notification-card/scb-notification-card.js +479 -0
- package/scb-options-menu/scb-options-menu-item.js +218 -0
- package/scb-options-menu/scb-options-menu.js +237 -0
- package/scb-options-menu/scb-options-sub-menu.js +69 -0
- package/scb-overlay/scb-overlay.js +144 -0
- package/scb-pagination/scb-pagination.js +438 -0
- package/scb-progress-indicator/scb-progress-indicator.js +199 -0
- package/scb-progress-stepper/scb-progress-step.js +213 -0
- package/scb-progress-stepper/scb-progress-stepper.js +132 -0
- package/scb-radio-button/scb-radio-button.js +249 -0
- package/scb-radio-button/scb-radio-group.js +216 -0
- package/scb-scrollspy/scb-scrollspy.js +670 -0
- package/scb-search/scb-search.js +643 -0
- package/scb-segmented-button/scb-segmented-button.js +215 -0
- package/scb-segmented-button/scb-segmented-item.js +133 -0
- package/scb-select/scb-select-option.js +88 -0
- package/scb-select/scb-select.js +517 -0
- package/scb-skeleton/scb-skeleton.js +92 -0
- package/scb-slider/scb-slider.js +98 -0
- package/scb-snackbar/scb-snackbar.js +223 -0
- package/scb-status-pill/scb-status-pill.js +100 -0
- package/scb-stepper/scb-step.js +311 -0
- package/scb-stepper/scb-stepper.js +325 -0
- package/scb-switch/scb-switch.js +182 -0
- package/scb-table/scb-table.js +202 -0
- package/scb-table-advanced/scb-table-advanced.js +327 -0
- package/scb-tabs/scb-primary-tab.js +68 -0
- package/scb-tabs/scb-secondary-tab.js +68 -0
- package/scb-tabs/scb-tabs.js +100 -0
- package/scb-test-components/index.d.ts +90 -0
- package/scb-test-components/scb-accordion/scb-accordion-item.d.ts +39 -0
- package/scb-test-components/scb-accordion/scb-accordion.d.ts +27 -0
- package/scb-test-components/scb-app-bar/scb-app-bar.d.ts +25 -0
- package/scb-test-components/scb-avatar/scb-avatar.d.ts +37 -0
- package/scb-test-components/scb-badge/scb-badge.d.ts +28 -0
- package/scb-test-components/scb-breadcrumb/scb-breadcrumb-item.d.ts +15 -0
- package/scb-test-components/scb-breadcrumb/scb-breadcrumb.d.ts +27 -0
- package/scb-test-components/scb-button/scb-button.d.ts +40 -0
- package/scb-test-components/scb-calendar/scb-calendar-event.d.ts +15 -0
- package/scb-test-components/scb-calendar/scb-calendar.d.ts +77 -0
- package/scb-test-components/scb-calendar-card/scb-calendar-card.d.ts +45 -0
- package/scb-test-components/scb-card/scb-card.d.ts +101 -0
- package/scb-test-components/scb-checkbox/scb-checkbox-group.d.ts +23 -0
- package/scb-test-components/scb-checkbox/scb-checkbox.d.ts +52 -0
- package/scb-test-components/scb-chevron/scb-chevron.d.ts +13 -0
- package/scb-test-components/scb-chip/scb-chip.d.ts +61 -0
- package/scb-test-components/scb-collapse/scb-collapse.d.ts +29 -0
- package/scb-test-components/scb-cookies-consent/scb-cookies-consent.d.ts +23 -0
- package/scb-test-components/scb-datepicker/scb-datepicker.d.ts +39 -0
- package/scb-test-components/scb-dialog/scb-dialog.d.ts +72 -0
- package/scb-test-components/scb-divider/scb-divider.d.ts +34 -0
- package/scb-test-components/scb-drawer/scb-drawer.d.ts +72 -0
- package/scb-test-components/scb-drop-zone/scb-drop-zone.d.ts +143 -0
- package/scb-test-components/scb-dropdown/scb-dropdown.d.ts +70 -0
- package/scb-test-components/scb-fab/scb-fab.d.ts +42 -0
- package/scb-test-components/scb-fact-card/scb-fact-card-content.d.ts +15 -0
- package/scb-test-components/scb-fact-card/scb-fact-card.d.ts +49 -0
- package/scb-test-components/scb-footer/scb-footer-section.d.ts +20 -0
- package/scb-test-components/scb-footer/scb-footer.d.ts +31 -0
- package/scb-test-components/scb-gallery-grid/scb-gallery-grid.d.ts +20 -0
- package/scb-test-components/scb-grid/scb-grid-item.d.ts +32 -0
- package/scb-test-components/scb-grid/scb-grid.d.ts +36 -0
- package/scb-test-components/scb-grid/scb-stack.d.ts +32 -0
- package/scb-test-components/scb-header/scb-header-menu-group.d.ts +12 -0
- package/scb-test-components/scb-header/scb-header-menu-item.d.ts +13 -0
- package/scb-test-components/scb-header/scb-header-tab.d.ts +13 -0
- package/scb-test-components/scb-header/scb-header-utility.d.ts +14 -0
- package/scb-test-components/scb-header/scb-header.d.ts +132 -0
- package/scb-test-components/scb-horizontal-scroller/scb-horizontal-scroller.d.ts +47 -0
- package/scb-test-components/scb-icon-button/scb-icon-button.d.ts +76 -0
- package/scb-test-components/scb-keyfigure-card/scb-keyfigure-card.d.ts +46 -0
- package/scb-test-components/scb-link/scb-link.d.ts +25 -0
- package/scb-test-components/scb-list/scb-list-item.d.ts +38 -0
- package/scb-test-components/scb-list/scb-list.d.ts +26 -0
- package/scb-test-components/scb-menu/scb-menu-item.d.ts +52 -0
- package/scb-test-components/scb-menu/scb-menu-section.d.ts +11 -0
- package/scb-test-components/scb-menu/scb-menu.d.ts +25 -0
- package/scb-test-components/scb-menu/scb-sub-menu.d.ts +14 -0
- package/scb-test-components/scb-nav/scb-nav-item.d.ts +20 -0
- package/scb-test-components/scb-nav/scb-nav.d.ts +50 -0
- package/scb-test-components/scb-notification-card/scb-notification-card.d.ts +46 -0
- package/scb-test-components/scb-options-menu/scb-options-menu-item.d.ts +29 -0
- package/scb-test-components/scb-options-menu/scb-options-menu.d.ts +35 -0
- package/scb-test-components/scb-options-menu/scb-options-sub-menu.d.ts +11 -0
- package/scb-test-components/scb-overlay/scb-overlay.d.ts +24 -0
- package/scb-test-components/scb-pagination/scb-pagination.d.ts +36 -0
- package/scb-test-components/scb-progress-indicator/scb-progress-indicator.d.ts +28 -0
- package/scb-test-components/scb-progress-stepper/scb-progress-step.d.ts +21 -0
- package/scb-test-components/scb-progress-stepper/scb-progress-stepper.d.ts +22 -0
- package/scb-test-components/scb-radio-button/scb-radio-button.d.ts +26 -0
- package/scb-test-components/scb-radio-button/scb-radio-group.d.ts +49 -0
- package/scb-test-components/scb-scrollspy/scb-scrollspy.d.ts +217 -0
- package/scb-test-components/scb-search/scb-search.d.ts +96 -0
- package/scb-test-components/scb-segmented-button/scb-segmented-button.d.ts +80 -0
- package/scb-test-components/scb-segmented-button/scb-segmented-item.d.ts +21 -0
- package/scb-test-components/scb-select/scb-select-option.d.ts +16 -0
- package/scb-test-components/scb-select/scb-select.d.ts +62 -0
- package/scb-test-components/scb-skeleton/scb-skeleton.d.ts +25 -0
- package/scb-test-components/scb-slider/scb-slider.d.ts +28 -0
- package/scb-test-components/scb-snackbar/scb-snackbar.d.ts +24 -0
- package/scb-test-components/scb-status-pill/scb-status-pill.d.ts +22 -0
- package/scb-test-components/scb-stepper/scb-step.d.ts +22 -0
- package/scb-test-components/scb-stepper/scb-stepper.d.ts +47 -0
- package/scb-test-components/scb-switch/scb-switch.d.ts +52 -0
- package/scb-test-components/scb-table/scb-table.d.ts +24 -0
- package/scb-test-components/scb-table-advanced/scb-table-advanced.d.ts +39 -0
- package/scb-test-components/scb-tabs/scb-primary-tab.d.ts +15 -0
- package/scb-test-components/scb-tabs/scb-secondary-tab.d.ts +15 -0
- package/scb-test-components/scb-tabs/scb-tabs.d.ts +21 -0
- package/scb-test-components/scb-textfield/scb-textfield.d.ts +75 -0
- package/scb-test-components/scb-toc/scb-toc-item.d.ts +38 -0
- package/scb-test-components/scb-toc/scb-toc.d.ts +27 -0
- package/scb-test-components/scb-tooltip/scb-tooltip.d.ts +51 -0
- package/scb-test-components/scb-vignette/scb-vignette.d.ts +20 -0
- package/scb-test-components/scb-viz/scb-viz-actions-runtime.d.ts +26 -0
- package/scb-test-components/scb-viz/scb-viz-print-runtime.d.ts +27 -0
- package/scb-test-components/scb-viz/scb-viz-series-differentiation-registry.d.ts +21 -0
- package/scb-test-components/scb-viz/scb-viz-series-differentiation-runtime.d.ts +42 -0
- package/scb-test-components/scb-viz/scb-viz-table-runtime.d.ts +28 -0
- package/scb-test-components/scb-viz/scb-viz.d.ts +207 -0
- package/scb-textfield/scb-textfield.js +827 -0
- package/scb-toc/scb-toc-item.js +477 -0
- package/scb-toc/scb-toc.js +101 -0
- package/scb-tooltip/scb-tooltip.js +402 -0
- package/scb-typography.css +1 -1
- package/scb-vignette/scb-vignette.js +88 -0
- package/scb-viz/scb-viz-actions-runtime.js +143 -0
- package/scb-viz/scb-viz-print-runtime.js +121 -0
- package/scb-viz/scb-viz-series-differentiation-registry.js +117 -0
- package/scb-viz/scb-viz-series-differentiation-runtime.js +126 -0
- package/scb-viz/scb-viz-table-runtime.js +86 -0
- package/scb-viz/scb-viz.js +2195 -0
- package/scb-wc-selfhost.css +29 -0
- package/scb-wc.bundle.js +12893 -1099
- package/scb-wc.css +3 -2
- package/scb-wc.d.ts +180 -0
- package/index.d.ts +0 -0
- package/mvc/components/index.js +0 -1
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import"../../vendor/vendor-material.js";import{_ as b,b as p,g as h,h as a,y as s}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as i}from"../../vendor/decorate.js";(function(){try{var n=typeof globalThis<"u"?globalThis:window;if(!n.__scb_ce_guard_installed__){n.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(o,d,m){try{customElements.get(o)||e(o,d,m)}catch(c){var r=String(c||"");if(r.indexOf("already been used")===-1&&r.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var l,t=(l=class extends b{constructor(...e){super(...e),this.label="",this.subLabel="",this.symbolVariant="number",this.number=0,this.active=!1,this.completed=!1,this.changeOnCompleted=!1,this.islast=!1,this.variant="horizontal",this.widthWeight=1,this.icon=""}updated(){!this.subLabel||this.subLabel.trim()===""?this.setAttribute("no-content",""):this.removeAttribute("no-content"),this.widthWeight>0?this.style.setProperty("--scb-step-width-weight",String(this.widthWeight)):this.style.removeProperty("--scb-step-width-weight")}handleKeyDown(e){e.key==="Enter"||e.key===" "?(e.preventDefault(),this.dispatchEvent(new MouseEvent("click",{bubbles:!0,composed:!0}))):(e.key==="ArrowRight"||e.key==="ArrowLeft")&&(this.dispatchEvent(new CustomEvent("scb-stepper-keynav",{detail:{key:e.key},bubbles:!0,composed:!0})),e.preventDefault())}render(){const e=this.active?"step":void 0,o=this.label?`${this.label}${this.subLabel?": "+this.subLabel:""}`:void 0;switch(this.symbolVariant){case"icon":return s`
|
|
2
|
+
<div
|
|
3
|
+
class="scb-step-content"
|
|
4
|
+
tabindex="0"
|
|
5
|
+
role="listitem"
|
|
6
|
+
aria-current=${e}
|
|
7
|
+
aria-label=${o}
|
|
8
|
+
@keydown=${this.handleKeyDown}
|
|
9
|
+
>
|
|
10
|
+
<md-ripple></md-ripple>
|
|
11
|
+
<div class="symbol">
|
|
12
|
+
${this.completed&&this.changeOnCompleted?s`<md-icon>check</md-icon>`:s`<md-icon>${this.icon}</md-icon>`}
|
|
13
|
+
</div>
|
|
14
|
+
<div class="content">
|
|
15
|
+
<div class="label" data-label="${this.label}"><span class="label-text">${this.label}</span></div>
|
|
16
|
+
<div class="sub-label" data-label="${this.subLabel}"><span class="sub-label-text">${this.subLabel}</span></div>
|
|
17
|
+
</div>
|
|
18
|
+
<md-focus-ring></md-focus-ring>
|
|
19
|
+
</div>
|
|
20
|
+
`;case"marker":return s`
|
|
21
|
+
<div
|
|
22
|
+
class="scb-step-content"
|
|
23
|
+
tabindex="0"
|
|
24
|
+
role="listitem"
|
|
25
|
+
aria-current=${e}
|
|
26
|
+
aria-label=${o}
|
|
27
|
+
@keydown=${this.handleKeyDown}
|
|
28
|
+
>
|
|
29
|
+
<md-ripple></md-ripple>
|
|
30
|
+
<div class="symbol">
|
|
31
|
+
${this.completed&&this.changeOnCompleted?s`<md-icon>check</md-icon>`:s``}
|
|
32
|
+
</div>
|
|
33
|
+
<div class="content">
|
|
34
|
+
<div class="label" data-label="${this.label}"><span class="label-text">${this.label}</span></div>
|
|
35
|
+
<div class="sub-label" data-label="${this.subLabel}"><span class="sub-label-text">${this.subLabel}</span></div>
|
|
36
|
+
</div>
|
|
37
|
+
<md-focus-ring></md-focus-ring>
|
|
38
|
+
</div>
|
|
39
|
+
`;default:return s`
|
|
40
|
+
<div
|
|
41
|
+
class="scb-step-content"
|
|
42
|
+
tabindex="0"
|
|
43
|
+
role="listitem"
|
|
44
|
+
aria-current=${e}
|
|
45
|
+
aria-label=${o}
|
|
46
|
+
@keydown=${this.handleKeyDown}
|
|
47
|
+
>
|
|
48
|
+
<md-ripple></md-ripple>
|
|
49
|
+
<div class="symbol">
|
|
50
|
+
${this.completed&&this.changeOnCompleted?s`<md-icon>check</md-icon>`:s`<span>${this.number}</span>`}
|
|
51
|
+
</div>
|
|
52
|
+
<div class="content">
|
|
53
|
+
<div class="label" data-label="${this.label}"><span class="label-text">${this.label}</span></div>
|
|
54
|
+
<div class="sub-label" data-label="${this.subLabel}"><span class="sub-label-text">${this.subLabel}</span></div>
|
|
55
|
+
</div>
|
|
56
|
+
<md-focus-ring></md-focus-ring>
|
|
57
|
+
</div>
|
|
58
|
+
`}}},l.styles=p`
|
|
59
|
+
:host {
|
|
60
|
+
font-family: var(--brand-font);
|
|
61
|
+
--scb-step-slide-from-x: 0px;
|
|
62
|
+
--scb-step-slide-from-y: 0px;
|
|
63
|
+
--scb-step-label-active-weight: 600;
|
|
64
|
+
}
|
|
65
|
+
.scb-step-content {
|
|
66
|
+
width: fit-content;
|
|
67
|
+
max-width: 100%;
|
|
68
|
+
min-width: 0;
|
|
69
|
+
min-height: 100%;
|
|
70
|
+
display: flex;
|
|
71
|
+
flex-direction: column;
|
|
72
|
+
align-items: center;
|
|
73
|
+
position: relative;
|
|
74
|
+
margin-inline: auto;
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
background: none;
|
|
77
|
+
box-sizing: border-box;
|
|
78
|
+
user-select: none;
|
|
79
|
+
padding-block: var(--spacing-1);
|
|
80
|
+
padding-inline: var(--spacing-4);
|
|
81
|
+
}
|
|
82
|
+
.scb-step-content:focus,
|
|
83
|
+
.scb-step-content:focus-visible {
|
|
84
|
+
outline: none ;
|
|
85
|
+
box-shadow: none ;
|
|
86
|
+
}
|
|
87
|
+
.symbol {
|
|
88
|
+
background-color: var(--md-sys-color-outline-variant);
|
|
89
|
+
color: var(--md-sys-color-on-primary);
|
|
90
|
+
border-radius: var(--md-sys-shape-corner-full);
|
|
91
|
+
min-width: var(--icon-size-medium);
|
|
92
|
+
height: var(--icon-size-medium);
|
|
93
|
+
display: flex;
|
|
94
|
+
align-items: center;
|
|
95
|
+
justify-content: center;
|
|
96
|
+
font-weight: var(--md-sys-typescale-label-small-weight);
|
|
97
|
+
font-size: var(--md-sys-typescale-label-small-size);
|
|
98
|
+
line-height: var(--md-sys-typescale-label-small-line-height);
|
|
99
|
+
letter-spacing: var(--md-sys-typescale-label-small-tracking);
|
|
100
|
+
position: relative;
|
|
101
|
+
z-index: 1;
|
|
102
|
+
will-change: transform, opacity;
|
|
103
|
+
transition:
|
|
104
|
+
background-color var(--motion-duration-short) var(--motion-easing-standard),
|
|
105
|
+
color var(--motion-duration-short) var(--motion-easing-standard),
|
|
106
|
+
transform var(--motion-duration-short) var(--motion-easing-emphasized);
|
|
107
|
+
padding: var(--spacing-3);
|
|
108
|
+
}
|
|
109
|
+
md-focus-ring {
|
|
110
|
+
border-radius: var(--md-sys-shape-corner-small);
|
|
111
|
+
}
|
|
112
|
+
md-icon {
|
|
113
|
+
font-size: 20px;
|
|
114
|
+
}
|
|
115
|
+
:host([active]) .symbol {
|
|
116
|
+
background-color: var(--md-sys-color-primary);
|
|
117
|
+
color: var(--md-sys-color-on-primary);
|
|
118
|
+
}
|
|
119
|
+
:host([completed]) .symbol {
|
|
120
|
+
background-color: var(--md-sys-color-primary);
|
|
121
|
+
color: var(--md-sys-color-on-primary);
|
|
122
|
+
}
|
|
123
|
+
.label {
|
|
124
|
+
margin-top: var(--spacing-3);
|
|
125
|
+
text-align: center;
|
|
126
|
+
font-size: var(--md-sys-typescale-label-medium-size);
|
|
127
|
+
line-height: var(--md-sys-typescale-label-medium-line-height);
|
|
128
|
+
letter-spacing: var(--md-sys-typescale-label-medium-tracking);
|
|
129
|
+
color: var(--md-sys-color-on-surface);
|
|
130
|
+
max-width: 90px;
|
|
131
|
+
word-break: break-word;
|
|
132
|
+
margin-bottom: var(--spacing-3);
|
|
133
|
+
display: grid;
|
|
134
|
+
justify-items: center;
|
|
135
|
+
}
|
|
136
|
+
.label::before {
|
|
137
|
+
content: attr(data-label);
|
|
138
|
+
font-weight: var(--scb-step-label-active-weight);
|
|
139
|
+
grid-area: 1 / 1;
|
|
140
|
+
height: 0;
|
|
141
|
+
overflow: hidden;
|
|
142
|
+
visibility: hidden;
|
|
143
|
+
white-space: inherit;
|
|
144
|
+
}
|
|
145
|
+
.label-text {
|
|
146
|
+
grid-area: 1 / 1;
|
|
147
|
+
}
|
|
148
|
+
.sub-label {
|
|
149
|
+
text-align: center;
|
|
150
|
+
display: grid;
|
|
151
|
+
justify-items: center;
|
|
152
|
+
}
|
|
153
|
+
.sub-label::before {
|
|
154
|
+
content: attr(data-label);
|
|
155
|
+
font-weight: var(--scb-step-label-active-weight);
|
|
156
|
+
grid-area: 1 / 1;
|
|
157
|
+
height: 0;
|
|
158
|
+
overflow: hidden;
|
|
159
|
+
visibility: hidden;
|
|
160
|
+
white-space: inherit;
|
|
161
|
+
}
|
|
162
|
+
.sub-label-text {
|
|
163
|
+
grid-area: 1 / 1;
|
|
164
|
+
}
|
|
165
|
+
:host([active]) .label, :host([active]) .sub-label {
|
|
166
|
+
font-weight: var(--scb-step-label-active-weight);
|
|
167
|
+
}
|
|
168
|
+
.content{
|
|
169
|
+
display: flex;
|
|
170
|
+
flex-direction: column;
|
|
171
|
+
align-items: center;
|
|
172
|
+
min-width: 0;
|
|
173
|
+
will-change: transform, opacity;
|
|
174
|
+
}
|
|
175
|
+
:host([variant="vertical"]) {
|
|
176
|
+
.scb-step-content {
|
|
177
|
+
width: 100%;
|
|
178
|
+
flex-direction: row;
|
|
179
|
+
align-items: flex-start;
|
|
180
|
+
gap: var(--spacing-5);
|
|
181
|
+
margin-inline: 0;
|
|
182
|
+
padding: var(--spacing-4);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
:host([no-content]) {
|
|
186
|
+
.scb-step-content {
|
|
187
|
+
align-items: center;
|
|
188
|
+
.label {
|
|
189
|
+
margin-bottom: 0px;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
:host([variant="vertical"]) .label{
|
|
194
|
+
margin-top: 0;
|
|
195
|
+
max-width: none;
|
|
196
|
+
text-align: left;
|
|
197
|
+
justify-items: start;
|
|
198
|
+
word-break: normal;
|
|
199
|
+
}
|
|
200
|
+
:host([variant="vertical"]) .sub-label{
|
|
201
|
+
text-align: left;
|
|
202
|
+
justify-items: start;
|
|
203
|
+
word-break: normal;
|
|
204
|
+
}
|
|
205
|
+
:host([variant="vertical"]) .content{
|
|
206
|
+
align-items: flex-start;
|
|
207
|
+
min-width: 0;
|
|
208
|
+
}
|
|
209
|
+
:host([symbol-variant="marker"]) .symbol {
|
|
210
|
+
min-width: 16px;
|
|
211
|
+
height: 16px;
|
|
212
|
+
}
|
|
213
|
+
:host([symbol-variant="marker"][completed][change-on-completed]) .symbol {
|
|
214
|
+
background-color: transparent;
|
|
215
|
+
color: var(--md-sys-color-primary);
|
|
216
|
+
md-icon{
|
|
217
|
+
font-size: var(--icon-size-small);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
:host([active]) .symbol {
|
|
222
|
+
--scb-kf-pulse-scale: 1.08;
|
|
223
|
+
animation-duration: var(--motion-duration-medium);
|
|
224
|
+
animation-timing-function: var(--motion-easing-emphasized);
|
|
225
|
+
animation-iteration-count: 1;
|
|
226
|
+
animation-fill-mode: both;
|
|
227
|
+
animation-name: var(--motion-keyframe-pulse, scb-kf-pulse);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
:host([completed]:not([active])) .symbol {
|
|
231
|
+
--scb-kf-pulse-scale: 1.04;
|
|
232
|
+
animation-duration: var(--motion-duration-short);
|
|
233
|
+
animation-timing-function: var(--motion-easing-standard);
|
|
234
|
+
animation-iteration-count: 1;
|
|
235
|
+
animation-fill-mode: both;
|
|
236
|
+
animation-name: var(--motion-keyframe-pulse, scb-kf-pulse);
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
`,l);i([a({type:String,reflect:!0})],t.prototype,"label",void 0);i([a({type:String,reflect:!0,attribute:"sub-label"})],t.prototype,"subLabel",void 0);i([a({type:String,reflect:!0,attribute:"symbol-variant"})],t.prototype,"symbolVariant",void 0);i([a({type:Number,reflect:!0})],t.prototype,"number",void 0);i([a({type:Boolean,reflect:!0})],t.prototype,"active",void 0);i([a({type:Boolean,reflect:!0})],t.prototype,"completed",void 0);i([a({type:Boolean,reflect:!0,attribute:"change-on-completed"})],t.prototype,"changeOnCompleted",void 0);i([a({type:Boolean,reflect:!0})],t.prototype,"islast",void 0);i([a({type:String,reflect:!0})],t.prototype,"variant",void 0);i([a({type:Number,reflect:!0,attribute:"width-weight"})],t.prototype,"widthWeight",void 0);i([a({type:String})],t.prototype,"icon",void 0);t=i([h("scb-step")],t);
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import{_,b as x,g as k,h as l,y as w}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as p}from"../../vendor/decorate.js";import{n as I,t as c}from"../../vendor/assertClassBrand.js";import{n as g,r as y,t as b}from"../../vendor/classPrivateFieldGet2.js";import"./scb-step.js";(function(){try{var n=typeof globalThis<"u"?globalThis:window;if(!n.__scb_ce_guard_installed__){n.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,s,r){try{customElements.get(e)||t(e,s,r)}catch(h){var i=String(h||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw h}}}}catch{}})();var v,d,a,u,o=(v=new WeakMap,d=new WeakMap,a=new WeakSet,u=class extends _{constructor(...t){super(...t),I(this,a),y(this,v,void 0),y(this,d,void 0),this.type="",this.label="",this.changeOnCompleted=!1,this.variant="horizontal",this.symbolVariant="number",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.activeIndex=0,g(d,this,0),this._onKeyNav=e=>{const s=this._getSteps(),r=this.activeIndex;let i=r;e.detail.key==="ArrowRight"?r<s.length-1?i=r+1:i=0:e.detail.key==="ArrowLeft"&&(r>0?i=r-1:i=s.length-1),i!==r&&(this._onStepClick(i),setTimeout(()=>{const h=s[i].shadowRoot?.querySelector(".scb-step-content");h&&"focus"in h&&typeof h.focus=="function"&&h.focus()},0))},this._onStepContainerClick=e=>{const s=this._getSteps(),r=e.composedPath(),i=s.findIndex(h=>r.includes(h));i!==-1&&this._onStepClick(i)},this._onSlotChange=()=>{const e=this._getSteps();if(e.length===0){this.activeIndex=0;return}this.activeIndex>e.length-1?this.activeIndex=e.length-1:this.activeIndex<0&&(this.activeIndex=0),this._updateSteps(),c(a,this,f).call(this)}}_onStepClick(t){const e=this.activeIndex;this.activeIndex=t,this._updateSteps(),this.dispatchEvent(new CustomEvent("step-change",{detail:{index:this.activeIndex,step:this._getSteps()[this.activeIndex]},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("stepchange",{detail:{index:this.activeIndex,step:this._getSteps()[this.activeIndex]},bubbles:!0,composed:!0})),t>e?(this.dispatchEvent(new CustomEvent("step-next",{detail:{from:e,to:t,step:this._getSteps()[t]},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("stepnext",{detail:{from:e,to:t,step:this._getSteps()[t]},bubbles:!0,composed:!0}))):t<e&&(this.dispatchEvent(new CustomEvent("step-prev",{detail:{from:e,to:t,step:this._getSteps()[t]},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("stepprev",{detail:{from:e,to:t,step:this._getSteps()[t]},bubbles:!0,composed:!0})))}nextStep(){const t=this._getSteps();this.activeIndex<t.length-1&&this._onStepClick(this.activeIndex+1)}prevStep(){this.activeIndex>0&&this._onStepClick(this.activeIndex-1)}getActiveIndex(){return this.activeIndex}_updateSteps(){const t=this._getSteps();this.style.setProperty("--scb-stepper-step-count",String(Math.max(1,t.length))),t.forEach((e,s)=>{e.active=s===this.activeIndex,e.completed=s<this.activeIndex,e.islast=!1,e.changeOnCompleted=this.changeOnCompleted,e.number=s+1,e.variant=this.variant,e.symbolVariant=this.symbolVariant}),t.length>0&&(t[t.length-1].islast=!0)}_getSteps(){return Array.from(this.querySelectorAll("scb-step"))}firstUpdated(t){this._updateSteps(),c(a,this,S).call(this),c(a,this,f).call(this)}updated(t){this._updateSteps(),(t.has("variant")||t.has("symbolVariant"))&&c(a,this,f).call(this),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&c(a,this,S).call(this)}render(){return w`
|
|
2
|
+
<div
|
|
3
|
+
class="steps"
|
|
4
|
+
role="list"
|
|
5
|
+
aria-label="Steg i processen"
|
|
6
|
+
@click=${this._onStepContainerClick}
|
|
7
|
+
@scb-stepper-keynav=${this._onKeyNav}
|
|
8
|
+
>
|
|
9
|
+
<slot @slotchange=${this._onSlotChange}></slot>
|
|
10
|
+
</div>
|
|
11
|
+
`}connectedCallback(){super.connectedCallback(),typeof ResizeObserver<"u"&&(g(v,this,new ResizeObserver(()=>{c(a,this,f).call(this)})),b(v,this).observe(this))}disconnectedCallback(){b(v,this)&&(b(v,this).disconnect(),g(v,this,void 0)),b(d,this)&&(cancelAnimationFrame(b(d,this)),g(d,this,0)),super.disconnectedCallback()}},u.styles=x`
|
|
12
|
+
:host {
|
|
13
|
+
--scb-stepper-width: 100%;
|
|
14
|
+
--scb-stepper-height: 100%;
|
|
15
|
+
--scb-stepper-step-count: 1;
|
|
16
|
+
--scb-stepper-connector-gap: var(--spacing-2);
|
|
17
|
+
--scb-stepper-symbol-size: var(--icon-size-medium);
|
|
18
|
+
display: block;
|
|
19
|
+
padding: var(--spacing-5) 0;
|
|
20
|
+
width: 100%;
|
|
21
|
+
color: var(--md-sys-color-on-surface);
|
|
22
|
+
font-family: var(--brand-font);
|
|
23
|
+
max-width: var(--scb-stepper-width);
|
|
24
|
+
height: var(--scb-stepper-height);
|
|
25
|
+
|
|
26
|
+
margin-block-start: var(--scb-stepper-spacing-block-start, 0);
|
|
27
|
+
margin-block-end: var(--scb-stepper-spacing-block-end, 0);
|
|
28
|
+
margin-inline-start: var(--scb-stepper-spacing-inline-start, 0);
|
|
29
|
+
margin-inline-end: var(--scb-stepper-spacing-inline-end, 0);
|
|
30
|
+
}
|
|
31
|
+
.steps {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-direction: row;
|
|
34
|
+
align-items: stretch;
|
|
35
|
+
justify-content: center;
|
|
36
|
+
position: relative;
|
|
37
|
+
width: 100%;
|
|
38
|
+
gap: 0;
|
|
39
|
+
height: 100%;
|
|
40
|
+
}
|
|
41
|
+
:host([variant='vertical']) .steps {
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
gap: var(--spacing-8);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
:host([symbol-variant='marker']) {
|
|
47
|
+
--scb-stepper-symbol-size: 16px;
|
|
48
|
+
}
|
|
49
|
+
::slotted(scb-step) {
|
|
50
|
+
position: relative;
|
|
51
|
+
z-index: 1;
|
|
52
|
+
width: 100%;
|
|
53
|
+
min-width: 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
:host([variant='horizontal']) ::slotted(scb-step) {
|
|
57
|
+
flex: var(--scb-step-width-weight, 1) 1 0;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* Horisontell connector
|
|
61
|
+
Bygger upp en linje per steg, med glapp både före och efter varje symbol.
|
|
62
|
+
Första steget ritar bara sin högra del och sista steget ritar bara sin vänstra del.
|
|
63
|
+
*/
|
|
64
|
+
:host([variant='horizontal']) ::slotted(scb-step)::before,
|
|
65
|
+
:host([variant='horizontal']) ::slotted(scb-step)::after {
|
|
66
|
+
content: '';
|
|
67
|
+
position: absolute;
|
|
68
|
+
top: calc(var(--spacing-4) + (var(--scb-stepper-symbol-size) / 2));
|
|
69
|
+
height: 1px;
|
|
70
|
+
background-color: var(--n-70);
|
|
71
|
+
transition: background-color var(--motion-duration-medium) var(--motion-easing-standard);
|
|
72
|
+
z-index: 0;
|
|
73
|
+
pointer-events: none;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
:host([variant='horizontal']) ::slotted(scb-step)::before {
|
|
77
|
+
left: 0;
|
|
78
|
+
right: calc(50% + (var(--scb-stepper-symbol-size) / 2) + var(--scb-stepper-connector-gap));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
:host([variant='horizontal']) ::slotted(scb-step)::after {
|
|
82
|
+
left: calc(50% + (var(--scb-stepper-symbol-size) / 2) + var(--scb-stepper-connector-gap));
|
|
83
|
+
right: 0;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
:host([variant='horizontal']) ::slotted(scb-step:first-child)::before {
|
|
87
|
+
display: none;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
:host([variant='horizontal']) ::slotted(scb-step:last-child)::after {
|
|
91
|
+
display: none;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
:host([variant='horizontal']) ::slotted(scb-step[completed])::before,
|
|
95
|
+
:host([variant='horizontal']) ::slotted(scb-step[completed])::after {
|
|
96
|
+
background-color: var(--md-sys-color-primary);
|
|
97
|
+
}
|
|
98
|
+
:host([variant='horizontal']) ::slotted(scb-step[active])::before {
|
|
99
|
+
background-color: var(--md-sys-color-primary);
|
|
100
|
+
}
|
|
101
|
+
/* Vertikal connector */
|
|
102
|
+
::slotted(scb-step[variant='vertical'][completed]:not(:last-child))::after {
|
|
103
|
+
background-color: var(--md-sys-color-primary);
|
|
104
|
+
}
|
|
105
|
+
::slotted(scb-step[variant='vertical'][symbol-variant='marker'][completed]:not(:last-child))::after {
|
|
106
|
+
background-color: var(--md-sys-color-primary);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
::slotted(scb-step[variant='vertical']:not(:first-child))::before {
|
|
110
|
+
display: none;
|
|
111
|
+
}
|
|
112
|
+
::slotted(scb-step[variant='vertical']:not(:last-child))::after {
|
|
113
|
+
content: '';
|
|
114
|
+
position: absolute;
|
|
115
|
+
left: 28px;
|
|
116
|
+
top: 52px;
|
|
117
|
+
width: 1px;
|
|
118
|
+
height: calc(100% - 16px);
|
|
119
|
+
background-color: var(--n-70);
|
|
120
|
+
transition: background-color var(--motion-duration-medium) var(--motion-easing-standard);
|
|
121
|
+
z-index: 0;
|
|
122
|
+
transform: translateX(-50%);
|
|
123
|
+
}
|
|
124
|
+
::slotted(scb-step[variant='vertical'][symbol-variant='marker']:not(:last-child))::after {
|
|
125
|
+
content: '';
|
|
126
|
+
position: absolute;
|
|
127
|
+
left: 20px;
|
|
128
|
+
top: 38px;
|
|
129
|
+
width: 1px;
|
|
130
|
+
height: calc(100% - 2px);
|
|
131
|
+
background-color: var(--n-70);
|
|
132
|
+
transition: background-color var(--motion-duration-medium) var(--motion-easing-standard);
|
|
133
|
+
z-index: 0;
|
|
134
|
+
transform: translateX(-50%);
|
|
135
|
+
}
|
|
136
|
+
::slotted(scb-step[symbol-variant='marker']:not(:first-child))::before {
|
|
137
|
+
top: 20px;
|
|
138
|
+
}
|
|
139
|
+
`,u);function S(){const n=c(a,this,m).call(this,this.spacing),t=c(a,this,m).call(this,this.spacingTop)??n,e=c(a,this,m).call(this,this.spacingBottom)??n,s=c(a,this,m).call(this,this.spacingLeft),r=c(a,this,m).call(this,this.spacingRight);t?this.style.setProperty("--scb-stepper-spacing-block-start",t):this.style.removeProperty("--scb-stepper-spacing-block-start"),e?this.style.setProperty("--scb-stepper-spacing-block-end",e):this.style.removeProperty("--scb-stepper-spacing-block-end"),s?this.style.setProperty("--scb-stepper-spacing-inline-start",s):this.style.removeProperty("--scb-stepper-spacing-inline-start"),r?this.style.setProperty("--scb-stepper-spacing-inline-end",r):this.style.removeProperty("--scb-stepper-spacing-inline-end")}function m(n){if(!n)return;const t=String(n).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}function f(){b(d,this)||g(d,this,requestAnimationFrame(()=>{g(d,this,0),c(a,this,C).call(this)}))}function C(){const n=this._getSteps();n.length!==0&&n.forEach(t=>{const e=t.shadowRoot;if(!e)return;const s=e.querySelector(".label"),r=e.querySelector(".scb-step-content");if(!s)return;if(this.variant!=="horizontal"){s.style.removeProperty("max-width"),s.style.removeProperty("white-space"),s.style.removeProperty("word-break"),s.style.removeProperty("overflow-wrap");return}s.style.maxWidth="none",s.style.whiteSpace="nowrap",s.style.wordBreak="normal",s.style.overflowWrap="normal";const i=r?.clientWidth??t.clientWidth;i>0&&s.scrollWidth>i&&(s.style.maxWidth="100%",s.style.whiteSpace="normal",s.style.wordBreak="break-word",s.style.overflowWrap="anywhere")})}p([l({type:String,reflect:!0})],o.prototype,"type",void 0);p([l({type:String,reflect:!0})],o.prototype,"label",void 0);p([l({type:Boolean,reflect:!0,attribute:"change-on-completed"})],o.prototype,"changeOnCompleted",void 0);p([l({type:String})],o.prototype,"variant",void 0);p([l({type:String,reflect:!0,attribute:"symbol-variant"})],o.prototype,"symbolVariant",void 0);p([l({type:String,reflect:!0})],o.prototype,"spacing",void 0);p([l({type:String,attribute:"spacing-top",reflect:!0})],o.prototype,"spacingTop",void 0);p([l({type:String,attribute:"spacing-bottom",reflect:!0})],o.prototype,"spacingBottom",void 0);p([l({type:String,attribute:"spacing-left",reflect:!0})],o.prototype,"spacingLeft",void 0);p([l({type:String,attribute:"spacing-right",reflect:!0})],o.prototype,"spacingRight",void 0);p([l({type:Number,reflect:!0,attribute:"active-index"})],o.prototype,"activeIndex",void 0);o=p([k("scb-stepper")],o);
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import"../../vendor/vendor-material.js";import{_ as y,b as m,g as _,h as s,v as f,y as g}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as i}from"../../vendor/decorate.js";import{n as v,t as o}from"../../vendor/assertClassBrand.js";(function(){try{var r=typeof globalThis<"u"?globalThis:window;if(!r.__scb_ce_guard_installed__){r.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(a,n,h){try{customElements.get(a)||t(a,n,h)}catch(u){var p=String(u||"");if(p.indexOf("already been used")===-1&&p.indexOf("NotSupportedError")===-1)throw u}}}}catch{}})();var l,d,e=(l=new WeakSet,d=class extends y{constructor(){super(),v(this,l),this._internals=null,this.label="",this.ariaLabel="",this.icons=!1,this.selected=!1,this.required=!1,this.disabled=!1,this.fullWidth=!1,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.name="",this.value="on",this._form=null,this._formResetHandler=null,this._initialSelected=!1,this._customValidationMessage="","attachInternals"in this&&(this._internals=this.attachInternals())}connectedCallback(){super.connectedCallback(),this._initialSelected=this.selected,this._form=this.closest("form"),this._form&&(this._formResetHandler=()=>{this.selected=this._initialSelected,this.__syncFormValue()},this._form.addEventListener("reset",this._formResetHandler,!0)),this.__syncFormValue()}disconnectedCallback(){this._form&&this._formResetHandler&&this._form.removeEventListener("reset",this._formResetHandler,!0),super.disconnectedCallback()}firstUpdated(){this.shadowRoot?.querySelector("md-switch")?.addEventListener("change",t=>{this.selected=t.target.selected,this.dispatchEvent(new CustomEvent("change",{detail:{selected:this.selected},bubbles:!0,composed:!0}))}),o(l,this,b).call(this)}updated(t){super.updated(t),t.has("disabled")&&this.toggleAttribute("aria-disabled",this.disabled),(t.has("selected")||t.has("disabled")||t.has("value"))&&this.__syncFormValue(),(t.has("selected")||t.has("disabled")||t.has("required"))&&this.__syncValidity(),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&o(l,this,b).call(this)}formDisabledCallback(t){this.disabled=t}__getValidationMessage(){return this._customValidationMessage?this._customValidationMessage:this.required&&!this.selected?"Aktivera det här valet.":""}__syncValidity(){const t=this.shadowRoot?.querySelector("md-switch"),a=this.disabled?"":this.__getValidationMessage();this._internals&&(a?this._internals.setValidity({valueMissing:!0},a,t??void 0):this._internals.setValidity({})),this.toggleAttribute("aria-invalid",!!a)}checkValidity(){return!this.__getValidationMessage()}reportValidity(){return this.__syncValidity(),this._internals?this._internals.reportValidity():this.checkValidity()}setCustomValidity(t){this._customValidationMessage=t,this.__syncValidity()}get validity(){return this._internals?.validity}get validationMessage(){return this._internals?.validationMessage??this.__getValidationMessage()}get willValidate(){return this._internals?.willValidate??!0}__syncFormValue(){if(!this._internals)return;const t=this.disabled||!this.selected?null:this.value;this._internals.setFormValue(t)}render(){const t=this.label.trim().length>0,a=t?f:this.ariaLabel||f,n=g`
|
|
2
|
+
<md-switch
|
|
3
|
+
?icons=${this.icons}
|
|
4
|
+
?selected=${this.selected}
|
|
5
|
+
?disabled=${this.disabled}
|
|
6
|
+
aria-required=${this.required?"true":"false"}
|
|
7
|
+
aria-label=${a}
|
|
8
|
+
></md-switch>
|
|
9
|
+
`;return t?g`
|
|
10
|
+
<label class="switch-container" ?disabled=${this.disabled}>
|
|
11
|
+
<span class="switch-label">${this.label}</span>
|
|
12
|
+
${n}
|
|
13
|
+
</label>
|
|
14
|
+
`:n}},d.formAssociated=!0,d.styles=m`
|
|
15
|
+
:host {
|
|
16
|
+
display: block;
|
|
17
|
+
/* Vertikalt avstånd styrs av spacing-attributen via CSS-variabler */
|
|
18
|
+
margin-block-start: var(--scb-switch-spacing-block-start, 0);
|
|
19
|
+
margin-block-end: var(--scb-switch-spacing-block-end, 0);
|
|
20
|
+
margin-inline-start: var(--scb-switch-spacing-inline-start, 0);
|
|
21
|
+
margin-inline-end: var(--scb-switch-spacing-inline-end, 0);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.switch-container {
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: center;
|
|
27
|
+
justify-content: flex-start;
|
|
28
|
+
width: auto;
|
|
29
|
+
|
|
30
|
+
/* Gap hämtas från spacing-tokens och följer density-lägen */
|
|
31
|
+
gap: var(--scb-switch-gap, var(--spacing-3, 8px));
|
|
32
|
+
|
|
33
|
+
cursor: pointer;
|
|
34
|
+
|
|
35
|
+
/* Basfärg för innehållet. Labeln ärver om inget annat anges. */
|
|
36
|
+
color: var(--md-sys-color-on-surface);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* När full-width är true, kör space-between + 100% bredd */
|
|
40
|
+
:host([full-width]) .switch-container {
|
|
41
|
+
justify-content: space-between;
|
|
42
|
+
width: 100%;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.switch-label {
|
|
46
|
+
/* liten vertikal justering kopplad till spacing-tokens */
|
|
47
|
+
transform: translateY(var(--scb-switch-label-offset-y, var(--spacing-1, 2px)));
|
|
48
|
+
|
|
49
|
+
/* Typografiska tokens*/
|
|
50
|
+
font-family: var(--brand-font, 'Inter', sans-serif);
|
|
51
|
+
font-size: var(--md-sys-typescale-title-medium-size, 18px);
|
|
52
|
+
line-height: var(--md-sys-typescale-title-medium-line-height, 26px);
|
|
53
|
+
font-weight: var(--md-sys-typescale-title-large-weight, 600);
|
|
54
|
+
letter-spacing: var(--md-sys-typescale-title-medium-tracking, -0.3px);
|
|
55
|
+
|
|
56
|
+
/* Ärver färg från container */
|
|
57
|
+
color: var(--scb-switch-label-color, inherit);
|
|
58
|
+
}
|
|
59
|
+
`,d);function b(){const r=o(l,this,c).call(this,this.spacing),t=o(l,this,c).call(this,this.spacingTop)??r,a=o(l,this,c).call(this,this.spacingBottom)??r,n=o(l,this,c).call(this,this.spacingLeft),h=o(l,this,c).call(this,this.spacingRight);t?this.style.setProperty("--scb-switch-spacing-block-start",t):this.style.removeProperty("--scb-switch-spacing-block-start"),a?this.style.setProperty("--scb-switch-spacing-block-end",a):this.style.removeProperty("--scb-switch-spacing-block-end"),n?this.style.setProperty("--scb-switch-spacing-inline-start",n):this.style.removeProperty("--scb-switch-spacing-inline-start"),h?this.style.setProperty("--scb-switch-spacing-inline-end",h):this.style.removeProperty("--scb-switch-spacing-inline-end")}function c(r){if(!r)return;const t=String(r).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}i([s({type:String})],e.prototype,"label",void 0);i([s({type:String,reflect:!0,attribute:"aria-label"})],e.prototype,"ariaLabel",void 0);i([s({type:Boolean,reflect:!0})],e.prototype,"icons",void 0);i([s({type:Boolean,reflect:!0})],e.prototype,"selected",void 0);i([s({type:Boolean,reflect:!0})],e.prototype,"required",void 0);i([s({type:Boolean,reflect:!0})],e.prototype,"disabled",void 0);i([s({type:Boolean,reflect:!0,attribute:"full-width"})],e.prototype,"fullWidth",void 0);i([s({type:String,reflect:!0})],e.prototype,"spacing",void 0);i([s({type:String,attribute:"spacing-top",reflect:!0})],e.prototype,"spacingTop",void 0);i([s({type:String,attribute:"spacing-bottom",reflect:!0})],e.prototype,"spacingBottom",void 0);i([s({type:String,attribute:"spacing-left",reflect:!0})],e.prototype,"spacingLeft",void 0);i([s({type:String,attribute:"spacing-right",reflect:!0})],e.prototype,"spacingRight",void 0);i([s({type:String})],e.prototype,"name",void 0);i([s({type:String})],e.prototype,"value",void 0);e=i([_("scb-switch")],e);export{e as ScbSwitch};
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import{_ as g,b as _,g as v,h as b,y as C}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as f}from"../../vendor/decorate.js";import"../scb-icon-button/scb-icon-button.js";(function(){try{var y=typeof globalThis<"u"?globalThis:window;if(!y.__scb_ce_guard_installed__){y.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(r,s,o){try{customElements.get(r)||e(r,s,o)}catch(i){var l=String(i||"");if(l.indexOf("already been used")===-1&&l.indexOf("NotSupportedError")===-1)throw i}}}}catch{}})();var p,m=(p=class extends g{constructor(...e){super(...e),this.dataSorting=!1,this.columnWidthMode="auto",this._sortedColumn=null,this._sortDirection="asc",this._columnWidthFrame=null,this._onSlotChange=()=>{this._attachThListeners()}}render(){return C`
|
|
2
|
+
<div class="scb-table-scroll-wrapper">
|
|
3
|
+
<slot @slotchange=${this._onSlotChange}></slot>
|
|
4
|
+
</div>
|
|
5
|
+
`}firstUpdated(){const e=this.shadowRoot?.querySelector("slot");e&&(e.addEventListener("slotchange",()=>this._attachThListeners()),this._attachThListeners())}updated(e){e.has("dataSorting")&&(this.dataSorting||(this._sortedColumn=null,this._sortDirection="asc"),this._attachThListeners()),e.has("columnWidthMode")&&this._queueColumnWidthUpdate()}disconnectedCallback(){super.disconnectedCallback(),this._columnWidthFrame!==null&&(cancelAnimationFrame(this._columnWidthFrame),this._columnWidthFrame=null)}_getTbody(){const e=this.shadowRoot?.querySelector("slot");if(!e)return null;const r=e.assignedNodes({flatten:!0});for(const s of r)if(s.nodeType===Node.ELEMENT_NODE){const o=s,l=o.tagName.toLowerCase()==="tbody"?o:o.querySelector("tbody");if(l)return l}return null}_getTables(){const e=this.shadowRoot?.querySelector("slot");if(!e)return[];const r=e.assignedNodes({flatten:!0}),s=[];return r.forEach(o=>{if(o.nodeType===Node.ELEMENT_NODE){const l=o;l.tagName.toLowerCase()==="table"&&s.push(l),s.push(...Array.from(l.querySelectorAll("table")))}}),s}_attachThListeners(){const e=this.shadowRoot?.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0}),s=[],o=[],l=[],i=[];r.forEach(t=>{t.nodeType===Node.ELEMENT_NODE&&(s.push(...t.querySelectorAll("thead")),o.push(...t.querySelectorAll("th")),l.push(...t.querySelectorAll("td")),i.push(...t.querySelectorAll("tr")))}),s.forEach(t=>{t.style.borderTop="1px solid var(--md-sys-color-on-surface)"}),o.forEach((t,c)=>{t.style.textAlign="left",t.style.padding="12px",t.style.position="relative",t.style.backgroundColor="var(--md-sys-color-surface)",t.style.fontFamily="var(--md-sys-typescale-label-medium-font)",t.style.fontSize="var(--md-sys-typescale-label-medium-size)",t.style.lineHeight="var(--md-sys-typescale-label-medium-line-height)",t.style.fontWeight=" var(--weight-bold)",t.style.letterSpacing="var(--md-sys-typescale-label-medium-tracking)",t.style.verticalAlign="bottom",t.style.borderRight="1px solid var(--md-sys-color-on-surface)",t.style.borderBottom="1px solid var(--md-sys-color-on-surface)";const d=(t.textContent??"").replace(/\s+/g," ").trim();for(;t.firstChild;)t.removeChild(t.firstChild);const a=document.createElement("p");if(a.textContent=d,a.style.margin="0",this.dataSorting){const n=document.createElement("scb-icon-button");n.className="scb-sort-icon",n.onclick=()=>this._onThClick(c),n.setAttribute("variant","standard"),n.setAttribute("size","small"),n.style.alignSelf="end",this._sortedColumn===c?(n.setAttribute("variant","filled-tonal"),n.setAttribute("icon",this._sortDirection==="asc"?"arrow_downward":"arrow_upward")):(n.setAttribute("icon","swap_horiz"),n.style.transform+=" rotate(90deg)");const u=document.createElement("div");u.style.display="flex",u.style.gap="8px",u.style.flexWrap="nowrap",u.style.alignItems="center",u.appendChild(a),u.appendChild(n),t.appendChild(u)}else t.appendChild(a)}),l.forEach(t=>{t.style.padding="12px",t.style.textAlign="left",t.style.borderTop="1px solid var(--md-sys-color-outline-variant)",t.style.verticalAlign="text-top",t.style.backgroundColor="var(--md-sys-color-surface)",t.style.fontFamily="var(--md-sys-typescale-body-medium-font)",t.style.fontSize="var(--md-sys-typescale-body-medium-size)",t.style.lineHeight="var(--md-sys-typescale-body-medium-line-height)",t.style.fontWeight="var(--md-sys-typescale-body-medium-weight)",t.style.letterSpacing="var(--md-sys-typescale-body-medium-tracking)",t.style.borderRight="1px solid var(--md-sys-color-on-surface)",t.style.borderBottom="1px solid var(--md-sys-color-on-surface)"}),i.forEach(t=>{const c=t.querySelectorAll("th");c.length>0&&c.forEach((a,n)=>{n===c.length-1&&(a.style.borderRight="none")});const d=t.querySelectorAll("td");d.length>0&&d.forEach((a,n)=>{n===d.length-1&&(a.style.borderRight="none")})});const h=this._getTbody();h&&Array.from(h.querySelectorAll("tr")).forEach((t,c)=>{const d=c%2===0?"var(--md-sys-color-surface-container)":"var(--md-sys-color-surface)";t.querySelectorAll("td").forEach(a=>{a.style.backgroundColor=d})}),this._queueColumnWidthUpdate()}_queueColumnWidthUpdate(){this._columnWidthFrame!==null&&cancelAnimationFrame(this._columnWidthFrame),this._columnWidthFrame=requestAnimationFrame(()=>{this._columnWidthFrame=null,this._applyColumnWidthMode()})}_applyColumnWidthMode(){this._getTables().forEach(e=>{if(this._removeGeneratedColGroup(e),e.style.tableLayout="",e.style.width="",e.style.minWidth="",e.style.maxWidth="",this.columnWidthMode!=="header")return;const r=Array.from(e.querySelectorAll("thead tr")),s=r[r.length-1];if(!s)return;const o=Array.from(s.cells).map(i=>`${Math.ceil(this._measureCellContentWidth(i))}px`),l=o.reduce((i,h)=>i+parseFloat(h),0);this._applyGeneratedColGroup(e,o),e.style.tableLayout="fixed",e.style.width=`${Math.ceil(l)}px`,e.style.minWidth=`${Math.ceil(l)}px`,e.style.maxWidth="none"})}_applyGeneratedColGroup(e,r){const s=document.createElement("colgroup");s.setAttribute("data-scb-generated-column-widths","true"),r.forEach(o=>{const l=document.createElement("col");l.style.width=o,l.style.minWidth=o,s.appendChild(l)}),e.insertBefore(s,e.firstChild)}_removeGeneratedColGroup(e){e.querySelector('colgroup[data-scb-generated-column-widths="true"]')?.remove()}_measureCellContentWidth(e){const r=e.firstElementChild?.cloneNode(!0)??document.createElement("span");e.firstElementChild||(r.textContent=e.textContent??"");const s=window.getComputedStyle(e),o=document.createElement("div");o.style.position="absolute",o.style.left="-99999px",o.style.top="0",o.style.visibility="hidden",o.style.pointerEvents="none",o.style.width="max-content",o.style.maxWidth="none",o.style.whiteSpace="nowrap",o.style.fontFamily=s.fontFamily,o.style.fontSize=s.fontSize,o.style.fontWeight=s.fontWeight,o.style.lineHeight=s.lineHeight,o.style.letterSpacing=s.letterSpacing,r instanceof HTMLElement&&(r.style.width="max-content",r.style.maxWidth="none",r.style.whiteSpace="nowrap"),o.appendChild(r),document.body.appendChild(o);const l=parseFloat(s.paddingLeft||"0"),i=parseFloat(s.paddingRight||"0"),h=o.getBoundingClientRect().width+l+i;return document.body.removeChild(o),h}_onThClick(e){this.dataSorting&&(this._sortedColumn===e?this._sortDirection=this._sortDirection==="asc"?"desc":"asc":(this._sortedColumn=e,this._sortDirection="asc"),this._sortTable(e,this._sortDirection),this._attachThListeners(),this.dispatchEvent(new CustomEvent("tablesortchange",{detail:{sortedColumn:this._sortedColumn,sortDirection:this._sortDirection},bubbles:!0,composed:!0})))}_sortTable(e,r){const s=this._getTbody();if(!s)return;const o=Array.from(s.querySelectorAll("tr"));o.sort((l,i)=>{const h=l.children[e]?.textContent?.trim()??"",t=i.children[e]?.textContent?.trim()??"",c=Date.parse(h.replace(/\s+/g," ")),d=Date.parse(t.replace(/\s+/g," "));if(!isNaN(c)&&!isNaN(d))return r==="asc"?c-d:d-c;const a=parseFloat(h.replace(",",".")),n=parseFloat(t.replace(",","."));if(!isNaN(a)&&!isNaN(n))return r==="asc"?a-n:n-a;const u=h.localeCompare(t,"sv");return r==="asc"?u:-u}),o.forEach(l=>s.appendChild(l))}},p.styles=_`
|
|
6
|
+
:host {
|
|
7
|
+
display: block;
|
|
8
|
+
color: var(--md-sys-color-on-surface);
|
|
9
|
+
font-family: var(--brand, Inter);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.scb-table-scroll-wrapper {
|
|
13
|
+
width: 100%;
|
|
14
|
+
overflow-x: auto;
|
|
15
|
+
overflow-y: auto;
|
|
16
|
+
max-width: 100%;
|
|
17
|
+
padding-bottom: 24px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.scb-table-scroll-wrapper::-webkit-scrollbar {
|
|
21
|
+
border-radius: var(--md-sys-shape-corner-large);
|
|
22
|
+
height: 8px;
|
|
23
|
+
width: 10px;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.scb-table-scroll-wrapper::-webkit-scrollbar-thumb {
|
|
27
|
+
background: var(--md-sys-color-on-surface);
|
|
28
|
+
border-radius: var(--md-sys-shape-corner-large);
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.scb-table-scroll-wrapper::-webkit-scrollbar-track {
|
|
33
|
+
background: var(--md-sys-color-secondary-container);
|
|
34
|
+
border-radius: var(--md-sys-shape-corner-large);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
::slotted(table) {
|
|
38
|
+
border-collapse: collapse;
|
|
39
|
+
border-spacing: 0;
|
|
40
|
+
min-width: 100%;
|
|
41
|
+
overflow: hidden;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
::slotted(th) .scb-sort-icon {
|
|
45
|
+
pointer-events: none;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
::slotted(th:hover) .scb-sort-icon {
|
|
49
|
+
pointer-events: auto;
|
|
50
|
+
}
|
|
51
|
+
`,p);f([b({type:Boolean,attribute:"data-sorting"})],m.prototype,"dataSorting",void 0);f([b({type:String,attribute:"column-width-mode"})],m.prototype,"columnWidthMode",void 0);m=f([v("scb-table")],m);
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import{_ as w,b as C,g as E,h as g,y as m}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as p}from"../../vendor/decorate.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-search/scb-search.js";import"../scb-pagination/scb-pagination.js";(function(){try{var v=typeof globalThis<"u"?globalThis:window;if(!v.__scb_ce_guard_installed__){v.__scb_ce_guard_installed__=!0;var e=customElements.define.bind(customElements);customElements.define=function(r,o,h){try{customElements.get(r)||e(r,o,h)}catch(t){var l=String(t||"");if(l.indexOf("already been used")===-1&&l.indexOf("NotSupportedError")===-1)throw t}}}}catch{}})();var T,u=(T=class extends w{constructor(...e){super(...e),this.searchTerm="",this.pagination=!1,this.filteringSearch=!1,this.noScroll=!1,this.pageSize=10,this.currentPage=1,this.totalRows=0,this._sortedColumn=null,this._sortDirection="asc",this._filteredRows=null,this._tbodyObserver=null,this._observedTbody=null,this._pendingTableRefresh=!1,this._suppressTbodyObserver=!1,this._onSlotChange=()=>{this._attachTbodyObserver(),this._refreshFromTableContent()},this._onPaginationChange=r=>{const o=r.detail;o&&typeof o.page=="number"&&this._changePage(o.page)}}disconnectedCallback(){super.disconnectedCallback(),this._disconnectTbodyObserver()}attributeChangedCallback(e,r,o){if(super.attributeChangedCallback(e,r,o),r!==o){if(e==="searchterm"){queueMicrotask(()=>{this.isConnected&&this._filterTable()});return}if(e==="currentpage"){queueMicrotask(()=>{this.isConnected&&this._paginateTable()});return}(e==="page-size"||e==="with-filtering-search"||e==="with-pagination")&&this._scheduleTableRefresh()}}render(){const e=Math.ceil(this.totalRows/this.pageSize);return m`
|
|
2
|
+
${this.filteringSearch?m`
|
|
3
|
+
<div style="margin-bottom: 12px;">
|
|
4
|
+
<scb-search
|
|
5
|
+
value=${this.searchTerm}
|
|
6
|
+
@input=${r=>this._onSearchInput(r)}
|
|
7
|
+
/>
|
|
8
|
+
</div>
|
|
9
|
+
`:""}
|
|
10
|
+
${this.noScroll?m`<slot @slotchange=${this._onSlotChange}></slot>`:m`
|
|
11
|
+
<div class="scb-table-scroll-wrapper">
|
|
12
|
+
<slot @slotchange=${this._onSlotChange}></slot>
|
|
13
|
+
</div>
|
|
14
|
+
`}
|
|
15
|
+
<div class="pagination">
|
|
16
|
+
${this.pagination&&e>1?m`
|
|
17
|
+
<scb-pagination
|
|
18
|
+
.page=${this.currentPage}
|
|
19
|
+
.totalPages=${e}
|
|
20
|
+
@page-change=${this._onPaginationChange}
|
|
21
|
+
variant="icon"
|
|
22
|
+
></scb-pagination>
|
|
23
|
+
`:""}
|
|
24
|
+
</div>
|
|
25
|
+
`}_onSearchInput(e){const r=e.target.value;this.searchTerm=r,this._filterTable(),this.dispatchEvent(new CustomEvent("tableadvancedchange",{detail:{searchTerm:this.searchTerm,currentPage:this.currentPage},bubbles:!0,composed:!0}))}_filterTable(){const e=this.shadowRoot.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0});let o=null;if(r.forEach(i=>{if(i.nodeType===Node.ELEMENT_NODE){const s=i.querySelector("tbody");s&&(o=s)}}),!o)return;const l=Array.from(o.querySelectorAll("tr")),t=this.searchTerm.trim().toLowerCase();if(!t)this._filteredRows=null,l.forEach(i=>i.style.display=""),this._updateTotalRows(),this._ensureCurrentPageWithinBounds(),this.pagination&&this._paginateTable(),this._sortedColumn!==null&&this._sortTable(this._sortedColumn,this._sortDirection);else{this._filteredRows=l.filter(s=>(s.textContent?.toLowerCase()??"").includes(t)),l.forEach(s=>s.style.display="none");let i=this._filteredRows;this._sortedColumn!==null&&(i=[...i],i.sort((s,c)=>{const n=s.children[this._sortedColumn]?.textContent?.trim()??"",a=c.children[this._sortedColumn]?.textContent?.trim()??"",d=Date.parse(n.replace(/\s+/g," ")),b=Date.parse(a.replace(/\s+/g," "));if(!isNaN(d)&&!isNaN(b))return this._sortDirection==="asc"?d-b:b-d;const f=parseFloat(n.replace(",",".")),y=parseFloat(a.replace(",","."));if(!isNaN(f)&&!isNaN(y))return this._sortDirection==="asc"?f-y:y-f;const _=n.localeCompare(a,"sv");return this._sortDirection==="asc"?_:-_}),this._filteredRows=i),this.totalRows=this._filteredRows.length,this._ensureCurrentPageWithinBounds(),this.pagination?this._paginateTable():this._filteredRows.forEach(s=>s.style.display="")}}firstUpdated(){const e=this.shadowRoot.querySelector("slot");e&&(e.addEventListener("slotchange",()=>this._attachThListeners()),this._attachThListeners(),this._attachTbodyObserver(),this._refreshFromTableContent())}updated(e){super.updated(e),(e.has("searchTerm")||e.has("currentPage")||e.has("pageSize")||e.has("filteringSearch")||e.has("pagination"))&&this.updateComplete.then(()=>{this.isConnected&&this._refreshFromTableContent()})}_disconnectTbodyObserver(){this._tbodyObserver&&(this._tbodyObserver.disconnect(),this._tbodyObserver=null),this._observedTbody=null}_attachTbodyObserver(){const e=this._getTbody();if(!e){this._disconnectTbodyObserver();return}this._observedTbody!==e&&(this._disconnectTbodyObserver(),this._observedTbody=e,this._tbodyObserver=new MutationObserver(()=>{this._suppressTbodyObserver||this._scheduleTableRefresh()}),this._tbodyObserver.observe(e,{childList:!0,subtree:!0,characterData:!0}))}_scheduleTableRefresh(){this._pendingTableRefresh||(this._pendingTableRefresh=!0,queueMicrotask(()=>{this._pendingTableRefresh=!1,this._refreshFromTableContent()}))}_refreshFromTableContent(){if(this._attachTbodyObserver(),this.filteringSearch){this._filterTable();return}if(this._updateTotalRows(),this._ensureCurrentPageWithinBounds(),this._sortedColumn!==null){this._sortTable(this._sortedColumn,this._sortDirection);return}this.pagination&&this._paginateTable()}_ensureCurrentPageWithinBounds(){const e=Math.max(1,Math.ceil(this.totalRows/this.pageSize)),r=Math.min(Math.max(1,this.currentPage),e);r!==this.currentPage&&(this.currentPage=r)}_getTbody(){const e=this.shadowRoot.querySelector("slot");if(!e)return null;const r=e.assignedNodes({flatten:!0});for(const o of r)if(o.nodeType===Node.ELEMENT_NODE){const h=o.querySelector("tbody");if(h)return h}return null}_attachThListeners(){const e=this.shadowRoot.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0}),o=[],h=[],l=[];r.forEach(t=>{t.nodeType===Node.ELEMENT_NODE&&(o.push(...t.querySelectorAll("th")),h.push(...t.querySelectorAll("td")),l.push(...t.querySelectorAll("tr")))}),o.forEach((t,i)=>{t.style.textAlign="left",t.style.padding="16px 0px 16px 32px",t.style.position="relative",t.style.backgroundColor="var(--md-sys-color-surface)",t.style.fontFamily="var(--md-sys-typescale-label-medium-font)",t.style.fontSize="var(--md-sys-typescale-label-medium-size)",t.style.lineHeight="var(--md-sys-typescale-label-medium-line-height)",t.style.fontWeight="var(--md-sys-typescale-label-medium-weight)",t.style.letterSpacing="var(--md-sys-typescale-label-medium-tracking)",t.style.verticalAlign="bottom";const s=t.firstChild;if(s&&s.nodeType===Node.TEXT_NODE&&s.textContent?.trim()||s&&s.nodeType===Node.ELEMENT_NODE&&s.tagName.toLowerCase()!=="p"){const n=document.createElement("p");n.textContent=s.textContent?s.textContent.trim():"",n.style.margin="0",t.replaceChild(n,s),t.querySelectorAll("scb-icon-button.scb-sort-icon").forEach(d=>d.remove());const a=document.createElement("scb-icon-button");a.className="scb-sort-icon",a.onclick=()=>this._onThClick(i),a.setAttribute("variant","standard"),a.setAttribute("size","small"),this._sortedColumn===i?(a.setAttribute("variant","filled-tonal"),a.setAttribute("icon",this._sortDirection==="asc"?"arrow_downward":"arrow_upward")):(a.setAttribute("icon","swap_horiz"),a.style.transform+=" rotate(90deg)",a.style.alignSelf="end");var c=document.createElement("div");c.style.display="flex",c.style.gap="8px",c.style.flexWrap="nowrap",c.style.alignItems="center",c.appendChild(n),c.appendChild(a),t.appendChild(c)}}),h.forEach(t=>{t.style.padding="16px 0px 16px 32px",t.style.textAlign="left",t.style.borderTop="1px solid var(--md-sys-color-outline-variant)",t.style.verticalAlign="text-top",t.style.backgroundColor="var(--md-sys-color-surface)",t.style.fontFamily="var(--md-sys-typescale-body-medium-font)",t.style.fontSize="var(--md-sys-typescale-body-medium-size)",t.style.lineHeight="var(--md-sys-typescale-body-medium-line-height)",t.style.fontWeight="var(--md-sys-typescale-body-medium-weight)",t.style.letterSpacing="var(--md-sys-typescale-body-medium-tracking)"}),l.forEach((t,i)=>{i%2===1&&t.querySelectorAll("td").forEach(n=>{n.style.backgroundColor="var(--scb-background-row)"});const s=t.querySelectorAll("th");s.length>0&&s.forEach((n,a)=>{a===0&&(n.style.paddingLeft="24px"),a===s.length-1?n.style.paddingRight="24px":n.style.paddingRight=""});const c=t.querySelectorAll("td");c.length>0&&c.forEach((n,a)=>{a===0&&(n.style.paddingLeft="24px"),a===c.length-1?n.style.paddingRight="24px":n.style.paddingRight=""})}),this.pagination&&this._paginateTable()}_onThClick(e){this._sortedColumn===e?this._sortDirection=this._sortDirection==="asc"?"desc":"asc":(this._sortedColumn=e,this._sortDirection="asc"),this._sortTable(e,this._sortDirection),this._attachThListeners()}_sortTable(e,r){const o=this.shadowRoot.querySelector("slot");if(!o)return;const h=o.assignedNodes({flatten:!0});let l=null;if(h.forEach(s=>{if(s.nodeType===Node.ELEMENT_NODE){const c=s.querySelector("tbody");c&&(l=c)}}),!l)return;let t;this._filteredRows?t=[...this._filteredRows]:t=Array.from(l.querySelectorAll("tr")),t.sort((s,c)=>{const n=s.children[e]?.textContent?.trim()??"",a=c.children[e]?.textContent?.trim()??"",d=Date.parse(n.replace(/\s+/g," ")),b=Date.parse(a.replace(/\s+/g," "));if(!isNaN(d)&&!isNaN(b))return r==="asc"?d-b:b-d;const f=parseFloat(n.replace(",",".")),y=parseFloat(a.replace(",","."));if(!isNaN(f)&&!isNaN(y))return r==="asc"?f-y:y-f;const _=n.localeCompare(a,"sv");return r==="asc"?_:-_});const i=this._tbodyObserver!==null;i&&this._disconnectTbodyObserver();try{t.forEach(s=>l.appendChild(s))}finally{i&&this._attachTbodyObserver()}this._filteredRows&&(this._filteredRows=t,this.totalRows=this._filteredRows.length),this.pagination&&this._paginateTable()}_updateTotalRows(){const e=this.shadowRoot.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0});let o=null;r.forEach(h=>{if(h.nodeType===Node.ELEMENT_NODE){const l=h.querySelector("tbody");l&&(o=l)}}),o&&(this.totalRows=o.querySelectorAll("tr").length,this._ensureCurrentPageWithinBounds())}_paginateTable(){const e=this.shadowRoot.querySelector("slot");if(!e)return;const r=e.assignedNodes({flatten:!0});let o=null;if(r.forEach(i=>{if(i.nodeType===Node.ELEMENT_NODE){const s=i.querySelector("tbody");s&&(o=s)}}),!o)return;let h;this._filteredRows?h=this._filteredRows:h=Array.from(o.querySelectorAll("tr")),Array.from(o.querySelectorAll("tr")).forEach(i=>i.style.display="none");const l=(this.currentPage-1)*this.pageSize,t=l+this.pageSize;h.slice(l,t).forEach(i=>i.style.display="")}_changePage(e){const r=Math.ceil(this.totalRows/this.pageSize);e<1||e>r||(this.currentPage=e,this._paginateTable(),this.dispatchEvent(new CustomEvent("tableadvancedchange",{detail:{searchTerm:this.searchTerm,currentPage:this.currentPage},bubbles:!0,composed:!0})),this.requestUpdate())}},T.styles=C`
|
|
26
|
+
:host {
|
|
27
|
+
display: block;
|
|
28
|
+
color: var(--md-sys-color-on-surface);
|
|
29
|
+
font-family: var(--brand, Inter);
|
|
30
|
+
--scb-background-row: var(--md-sys-color-surface);
|
|
31
|
+
}
|
|
32
|
+
scb-search{
|
|
33
|
+
max-width: 400px;
|
|
34
|
+
}
|
|
35
|
+
.scb-table-scroll-wrapper {
|
|
36
|
+
width: 100%;
|
|
37
|
+
overflow-x: auto;
|
|
38
|
+
overflow-y: auto;
|
|
39
|
+
max-width: 100%;
|
|
40
|
+
padding-bottom: 24px;
|
|
41
|
+
/* Optional: set max-height if you want vertical scroll */
|
|
42
|
+
}
|
|
43
|
+
.scb-table-scroll-wrapper::-webkit-scrollbar {
|
|
44
|
+
border-radius: var(--md-sys-shape-corner-large);
|
|
45
|
+
height: 8px;
|
|
46
|
+
width: 10px;
|
|
47
|
+
}
|
|
48
|
+
.scb-table-scroll-wrapper::-webkit-scrollbar-thumb {
|
|
49
|
+
background: var(--md-sys-color-on-surface);
|
|
50
|
+
border-radius: var(--md-sys-shape-corner-large);
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
}
|
|
53
|
+
.scb-table-scroll-wrapper::-webkit-scrollbar-track {
|
|
54
|
+
background: var(--md-sys-color-secondary-container);
|
|
55
|
+
border-radius: var(--md-sys-shape-corner-large);
|
|
56
|
+
}
|
|
57
|
+
::slotted(table) {
|
|
58
|
+
border-collapse: collapse;
|
|
59
|
+
border-spacing: 0;
|
|
60
|
+
border-radius: 24px;
|
|
61
|
+
min-width: 100%;
|
|
62
|
+
overflow: hidden;
|
|
63
|
+
/* Remove overflow: hidden to allow scroll */
|
|
64
|
+
}
|
|
65
|
+
.pagination {
|
|
66
|
+
margin-top: 16px;
|
|
67
|
+
display: flex;
|
|
68
|
+
justify-self: center;
|
|
69
|
+
}
|
|
70
|
+
::slotted(th) .scb-sort-icon {
|
|
71
|
+
pointer-events: none;
|
|
72
|
+
}
|
|
73
|
+
::slotted(th:hover) .scb-sort-icon {
|
|
74
|
+
pointer-events: auto;
|
|
75
|
+
}
|
|
76
|
+
`,T);p([g({type:String})],u.prototype,"searchTerm",void 0);p([g({type:Boolean,attribute:"with-pagination"})],u.prototype,"pagination",void 0);p([g({type:Boolean,attribute:"with-filtering-search"})],u.prototype,"filteringSearch",void 0);p([g({type:Boolean,attribute:"no-scroll"})],u.prototype,"noScroll",void 0);p([g({type:Number,attribute:"page-size"})],u.prototype,"pageSize",void 0);p([g({type:Number})],u.prototype,"currentPage",void 0);p([g({type:Number})],u.prototype,"totalRows",void 0);u=p([E("scb-table-advanced")],u);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{d as l}from"../../vendor/vendor-material.js";import{b as h,g as p,h as r}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as n}from"../../vendor/decorate.js";(function(){try{var o=typeof globalThis<"u"?globalThis:window;if(!o.__scb_ce_guard_installed__){o.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,d,u){try{customElements.get(e)||t(e,d,u)}catch(a){var c=String(a||"");if(c.indexOf("already been used")===-1&&c.indexOf("NotSupportedError")===-1)throw a}}}}catch{}})();var s,i=(s=class extends l{constructor(...t){super(...t),this.iconOnly=!1,this.inlineIcon=!1,this._onActivate=()=>{const e=this.textContent?.trim()??"";this.dispatchEvent(new CustomEvent("activate",{detail:{label:e},bubbles:!0,composed:!0}))}}connectedCallback(){super.connectedCallback(),this.setAttribute("role","tab")}get icon(){return this._icon}set icon(t){const e=this._icon;e!==t&&(this._icon=t,this.requestUpdate("icon",e),this.updateIconSlot())}firstUpdated(t){super.firstUpdated(t),this.addEventListener("click",this._onActivate),this._icon&&this.updateIconSlot()}updated(){if(super.updated(),this.setAttribute("aria-selected",this.active?"true":"false"),this.iconOnly&&!this.hasAttribute("aria-label")){const t=this.textContent?.trim()??"";t&&this.setAttribute("aria-label",t)}}updateIconSlot(){const t=this.querySelector('md-icon[slot="icon"]');if(!this._icon){t?.remove();return}if(t)t.textContent=this._icon;else{const e=document.createElement("md-icon");e.setAttribute("slot","icon"),e.textContent=this._icon,this.appendChild(e)}}},s.styles=[...l.styles,h`
|
|
2
|
+
/* Icon-only: dölj textslot */
|
|
3
|
+
:host([icon-only]) slot:not([name='icon']) {
|
|
4
|
+
display: none;
|
|
5
|
+
}
|
|
6
|
+
`],s);n([r({type:String})],i.prototype,"icon",null);n([r({type:Boolean,reflect:!0,attribute:"icon-only"})],i.prototype,"iconOnly",void 0);n([r({type:Boolean,reflect:!0,attribute:"inline-icon"})],i.prototype,"inlineIcon",void 0);i=n([p("scb-primary-tab")],i);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{u as r}from"../../vendor/vendor-material.js";import{b as h,g as b,h as l}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as s}from"../../vendor/decorate.js";(function(){try{var n=typeof globalThis<"u"?globalThis:window;if(!n.__scb_ce_guard_installed__){n.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,d,u){try{customElements.get(e)||t(e,d,u)}catch(a){var c=String(a||"");if(c.indexOf("already been used")===-1&&c.indexOf("NotSupportedError")===-1)throw a}}}}catch{}})();var o,i=(o=class extends r{constructor(...t){super(...t),this.iconOnly=!1,this._onActivate=()=>{const e=this.textContent?.trim()??"";this.dispatchEvent(new CustomEvent("activate",{detail:{label:e},bubbles:!0,composed:!0}))}}connectedCallback(){super.connectedCallback(),this.setAttribute("role","tab")}get icon(){return this._icon}set icon(t){const e=this._icon;e!==t&&(this._icon=t,this.requestUpdate("icon",e),this.updateIconSlot())}firstUpdated(t){if(super.firstUpdated(t),this.iconOnly&&!this.hasAttribute("aria-label")){const e=this.textContent?.trim()??"";e&&this.setAttribute("aria-label",e)}this.addEventListener("click",this._onActivate),this._icon&&this.updateIconSlot()}updated(){if(super.updated(),this.iconOnly&&!this.hasAttribute("aria-label")){const t=this.textContent?.trim()??"";t&&this.setAttribute("aria-label",t)}}updateIconSlot(){const t=this.querySelector('md-icon[slot="icon"]');if(!this._icon){t?.remove();return}if(t)t.textContent=this._icon;else{const e=document.createElement("md-icon");e.setAttribute("slot","icon"),e.textContent=this._icon,this.appendChild(e)}}},o.styles=[...r.styles,h`
|
|
2
|
+
/* Icon-only: göm all text utom slot="icon" */
|
|
3
|
+
:host([icon-only]) slot:not([name='icon']) {
|
|
4
|
+
display: none;
|
|
5
|
+
}
|
|
6
|
+
`],o);s([l({type:String})],i.prototype,"icon",null);s([l({type:Boolean,reflect:!0,attribute:"icon-only"})],i.prototype,"iconOnly",void 0);i=s([b("scb-secondary-tab")],i);
|