scb-wc 0.1.16 → 0.1.18
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/all.js +1 -4
- package/blazor/ScbBlazorInteropBase.cs +5 -69
- package/blazor/scb-blazor-bridge.js +19 -168
- package/blazor/wrappers/ScbAppBar.razor +1 -1
- package/blazor/wrappers/ScbCalendar.razor +2 -5
- package/blazor/wrappers/ScbCalendarCard.razor +2 -18
- package/blazor/wrappers/ScbCookiesConsent.razor +4 -10
- package/blazor/wrappers/ScbNav.razor +2 -5
- package/blazor/wrappers/ScbNotificationCard.razor +2 -42
- package/index.js +62 -62
- package/mvc/components/all.js +0 -3
- package/mvc/components/scb-accordion/scb-accordion-item.js +1 -1
- package/mvc/components/scb-breadcrumb/scb-breadcrumb-item.js +4 -4
- package/mvc/components/scb-breadcrumb/scb-breadcrumb.js +1 -1
- package/mvc/components/scb-button/scb-button.js +13 -7
- package/mvc/components/scb-calendar/scb-calendar.js +10 -10
- package/mvc/components/scb-calendar-card/scb-calendar-card.js +36 -18
- package/mvc/components/scb-card/scb-card.js +209 -143
- package/mvc/components/scb-checkbox/scb-checkbox.js +11 -9
- package/mvc/components/scb-chip/scb-chip.js +44 -5
- package/mvc/components/scb-cookies-consent/scb-cookies-consent.js +11 -11
- package/mvc/components/scb-dialog/scb-dialog.js +8 -8
- package/mvc/components/scb-drawer/scb-drawer.js +6 -6
- package/mvc/components/scb-dropdown/scb-dropdown.js +8 -3
- package/mvc/components/scb-fact-card/scb-fact-card-content.js +27 -8
- package/mvc/components/scb-fact-card/scb-fact-card.js +13 -5
- package/mvc/components/scb-footer/scb-footer.js +33 -15
- package/mvc/components/scb-gallery-grid/scb-gallery-grid.js +3 -3
- package/mvc/components/scb-grid/scb-grid-item.js +2 -2
- package/mvc/components/scb-grid/scb-stack.js +2 -2
- package/mvc/components/scb-header/scb-header.js +6 -6
- package/mvc/components/scb-keyfigure-card/scb-keyfigure-card.js +31 -14
- package/mvc/components/scb-menu/scb-menu-item.js +1 -1
- package/mvc/components/scb-nav/scb-nav.js +2 -2
- package/mvc/components/scb-notification-card/scb-notification-card.js +59 -35
- package/mvc/components/scb-progress-indicator/scb-progress-indicator.js +5 -5
- package/mvc/components/scb-progress-stepper/scb-progress-stepper.js +1 -1
- package/mvc/components/scb-radio-button/scb-radio-button.js +14 -13
- package/mvc/components/scb-scrollspy/scb-scrollspy.js +1 -1
- package/mvc/components/scb-segmented-button/scb-segmented-item.js +6 -6
- package/mvc/components/scb-select/scb-select.js +1 -1
- package/mvc/components/scb-table/scb-table.js +3 -3
- package/mvc/components/scb-table-advanced/scb-table-advanced.js +8 -8
- package/mvc/components/scb-textfield/scb-textfield.js +319 -24
- package/mvc/components/scb-toc/scb-toc-item.js +1 -1
- package/mvc/components/scb-tooltip/scb-tooltip.js +3 -3
- package/mvc/scb-blazor-bridge.js +19 -168
- package/mvc/vendor/scb-chevron.js +41 -0
- package/package.json +3 -10
- package/profile-image-dummy.svg +16 -0
- package/scb-breadcrumb/scb-breadcrumb-item.js +6 -2
- package/scb-breadcrumb/scb-breadcrumb.js +4 -1
- package/scb-button/scb-button.js +19 -9
- package/scb-calendar/scb-calendar.js +23 -16
- package/scb-calendar-card/scb-calendar-card.js +89 -51
- package/scb-card/scb-card.js +350 -224
- package/scb-checkbox/scb-checkbox.js +9 -7
- package/scb-chevron/scb-chevron.js +13 -96
- package/scb-chip/scb-chip.js +56 -7
- package/scb-components/scb-breadcrumb/scb-breadcrumb-item.d.ts +1 -0
- package/scb-components/scb-button/scb-button.d.ts +2 -0
- package/scb-components/scb-calendar-card/scb-calendar-card.d.ts +3 -1
- package/scb-components/scb-card/scb-card.d.ts +31 -3
- package/scb-components/scb-chip/scb-chip.d.ts +2 -1
- package/scb-components/scb-dialog/scb-dialog.d.ts +2 -0
- package/scb-components/scb-fact-card/scb-fact-card-content.d.ts +7 -0
- package/scb-components/scb-fact-card/scb-fact-card.d.ts +4 -1
- package/scb-components/scb-keyfigure-card/scb-keyfigure-card.d.ts +3 -1
- package/scb-components/scb-notification-card/scb-notification-card.d.ts +9 -1
- package/scb-components/scb-segmented-button/scb-segmented-item.d.ts +3 -2
- package/scb-components/scb-select/scb-select.d.ts +1 -0
- package/scb-components/scb-table/scb-table.d.ts +2 -0
- package/scb-components/scb-table-advanced/scb-table-advanced.d.ts +2 -0
- package/scb-components/scb-tooltip/scb-tooltip.d.ts +2 -0
- package/scb-cookies-consent/scb-cookies-consent.js +42 -25
- package/scb-dialog/scb-dialog.js +43 -33
- package/scb-drawer/scb-drawer.js +30 -18
- package/scb-dropdown/scb-dropdown.js +7 -2
- package/scb-fact-card/scb-fact-card-content.js +55 -13
- package/scb-fact-card/scb-fact-card.js +50 -32
- package/scb-footer/scb-footer.js +43 -21
- package/scb-gallery-grid/scb-gallery-grid.js +13 -5
- package/scb-grid/scb-grid-item.js +19 -14
- package/scb-grid/scb-stack.js +18 -12
- package/scb-header/scb-header.js +13 -4
- package/scb-keyfigure-card/scb-keyfigure-card.js +53 -26
- package/scb-nav/scb-nav.js +18 -15
- package/scb-notification-card/scb-notification-card.js +110 -59
- package/scb-progress-indicator/scb-progress-indicator.js +15 -12
- package/scb-progress-stepper/scb-progress-stepper.js +1 -2
- package/scb-radio-button/scb-radio-button.js +9 -8
- package/scb-scrollspy/scb-scrollspy.js +2 -1
- package/scb-segmented-button/scb-segmented-item.js +6 -3
- package/scb-select/scb-select.js +5 -2
- package/scb-table/scb-table.js +17 -7
- package/scb-table-advanced/scb-table-advanced.js +19 -13
- package/scb-tooltip/scb-tooltip.js +21 -15
- package/scb-wc.bundle.js +1176 -1069
- package/bin/scb-wc.mjs +0 -159
- package/mvc/components/scb-chevron/scb-chevron.js +0 -121
- package/mvc/components/scb-datepicker/scb-datepicker.js +0 -296
- package/mvc/components/scb-vignette/scb-vignette.js +0 -37
- package/scb-components/index.d.ts +0 -90
- package/scb-components/scb-chevron/scb-chevron.d.ts +0 -13
- package/scb-components/scb-datepicker/scb-datepicker.d.ts +0 -39
- package/scb-components/scb-vignette/scb-vignette.d.ts +0 -20
- package/scb-vignette/scb-vignette.js +0 -87
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
<scb-notification-card @attributes="BuildAttributes()"
|
|
7
7
|
@onopenchange="HandleOpenChange"
|
|
8
8
|
>
|
|
9
|
+
@ChildContent
|
|
9
10
|
</scb-notification-card>
|
|
10
11
|
|
|
11
12
|
@code {
|
|
@@ -13,16 +14,10 @@
|
|
|
13
14
|
[Parameter] public string? Variant { get; set; }
|
|
14
15
|
[Parameter] public string? Direction { get; set; }
|
|
15
16
|
[Parameter] public string? Size { get; set; }
|
|
16
|
-
[Parameter] public string? Title { get; set; }
|
|
17
|
-
[Parameter] public string? Subtitle { get; set; }
|
|
18
|
-
[Parameter] public string? SupportingText { get; set; }
|
|
19
|
-
[Parameter] public string? LinkText { get; set; }
|
|
20
|
-
[Parameter] public string? LinkHref { get; set; }
|
|
21
17
|
[Parameter] public bool Open { get; set; }
|
|
22
18
|
[Parameter] public bool ShowIcon { get; set; }
|
|
23
19
|
[Parameter] public bool ShowCloseButton { get; set; }
|
|
24
|
-
[Parameter] public
|
|
25
|
-
[Parameter] public bool FullWidth { get; set; }
|
|
20
|
+
[Parameter] public RenderFragment? ChildContent { get; set; }
|
|
26
21
|
[Parameter] public EventCallback<bool> OpenChanged { get; set; }
|
|
27
22
|
[Parameter] public EventCallback<ScbCustomEventArgs> OnOpenChange { get; set; }
|
|
28
23
|
|
|
@@ -53,31 +48,6 @@
|
|
|
53
48
|
attributes["size"] = Size!;
|
|
54
49
|
}
|
|
55
50
|
|
|
56
|
-
if (!string.IsNullOrWhiteSpace(Title))
|
|
57
|
-
{
|
|
58
|
-
attributes["title"] = Title!;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if (!string.IsNullOrWhiteSpace(Subtitle))
|
|
62
|
-
{
|
|
63
|
-
attributes["subtitle"] = Subtitle!;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (!string.IsNullOrWhiteSpace(SupportingText))
|
|
67
|
-
{
|
|
68
|
-
attributes["supporting-text"] = SupportingText!;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (!string.IsNullOrWhiteSpace(LinkText))
|
|
72
|
-
{
|
|
73
|
-
attributes["link-text"] = LinkText!;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
if (!string.IsNullOrWhiteSpace(LinkHref))
|
|
77
|
-
{
|
|
78
|
-
attributes["link-href"] = LinkHref!;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
51
|
if (Open)
|
|
82
52
|
{
|
|
83
53
|
attributes["open"] = string.Empty;
|
|
@@ -92,16 +62,6 @@
|
|
|
92
62
|
{
|
|
93
63
|
attributes["show-close-button"] = string.Empty;
|
|
94
64
|
}
|
|
95
|
-
|
|
96
|
-
if (FullHeight)
|
|
97
|
-
{
|
|
98
|
-
attributes["full-height"] = string.Empty;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
if (FullWidth)
|
|
102
|
-
{
|
|
103
|
-
attributes["full-width"] = string.Empty;
|
|
104
|
-
}
|
|
105
65
|
|
|
106
66
|
if (AdditionalAttributes is not null)
|
|
107
67
|
{
|
package/index.js
CHANGED
|
@@ -24,65 +24,65 @@ import { ScbDialog as S } from "./scb-dialog/scb-dialog.js";
|
|
|
24
24
|
import { ScbCalendar as C } from "./scb-calendar/scb-calendar.js";
|
|
25
25
|
import { ScbCalendarCard as w } from "./scb-calendar-card/scb-calendar-card.js";
|
|
26
26
|
import { ScbTooltip as T } from "./scb-tooltip/scb-tooltip.js";
|
|
27
|
-
import {
|
|
28
|
-
import { ScbCollapse as
|
|
29
|
-
import { ScbCookiesConsent as
|
|
30
|
-
import { ScbDrawer as
|
|
31
|
-
import { ScbDropZone as
|
|
32
|
-
import { ScbOptionsMenuItem as
|
|
33
|
-
import { ScbOptionsSubMenu as
|
|
34
|
-
import { ScbOptionsMenu as
|
|
35
|
-
import { ScbDropdown as
|
|
36
|
-
import { ScbFab as
|
|
37
|
-
import { ScbFactCardContent as
|
|
38
|
-
import { ScbFactCard as
|
|
39
|
-
import { ScbFooterSection as
|
|
40
|
-
import { ScbGridItem as
|
|
41
|
-
import { ScbStack as
|
|
42
|
-
import { ScbGrid as
|
|
43
|
-
import { ScbFooter as
|
|
44
|
-
import { ScbHorizontalScroller as
|
|
45
|
-
import { ScbOverlay as
|
|
46
|
-
import { ScbGalleryGrid as
|
|
47
|
-
import { ScbHeaderMenuGroup as
|
|
48
|
-
import { ScbHeaderMenuItem as
|
|
49
|
-
import { ScbHeaderTab as
|
|
50
|
-
import { ScbHeaderUtility as
|
|
51
|
-
import { ScbMenuItem as
|
|
52
|
-
import { ScbmenuSection as
|
|
53
|
-
import { ScbSubmenu as
|
|
54
|
-
import { ScbMenu as
|
|
55
|
-
import { ScbSkeleton as
|
|
56
|
-
import { ScbHeader as
|
|
57
|
-
import { ScbKeyFigureCard as
|
|
58
|
-
import { ScbNavItem as
|
|
59
|
-
import { ScbNav as
|
|
60
|
-
import { ScbNotificationCard as
|
|
61
|
-
import { ScbPagination as
|
|
62
|
-
import { ScbProgressIndicator as
|
|
63
|
-
import { ScbProgressStep as
|
|
64
|
-
import { ScbProgressStepper as
|
|
65
|
-
import { ScbScrollspy as
|
|
66
|
-
import { ScbSegmentedItem as
|
|
67
|
-
import { ScbSegmentedButton as
|
|
68
|
-
import { ScbSelectOption as
|
|
69
|
-
import { ScbSelect as
|
|
70
|
-
import { ScbSlider as
|
|
71
|
-
import { ScbSnackbar as
|
|
72
|
-
import { ScbStatusPill as
|
|
73
|
-
import { ScbStep as
|
|
74
|
-
import { ScbStepper as
|
|
75
|
-
import { ScbTable as
|
|
76
|
-
import { ScbTableAdvanced as
|
|
77
|
-
import { ScbPrimaryTab as
|
|
78
|
-
import { ScbSecondaryTab as
|
|
79
|
-
import { ScbTabs as
|
|
80
|
-
import { ScbTocItem as
|
|
81
|
-
import { ScbToc as
|
|
82
|
-
import { buildScbVizExportFileName as
|
|
83
|
-
import { buildScbVizPrintDocumentHtml as
|
|
84
|
-
import { appendScbVizSeriesDifferentiationPatternMarks as
|
|
85
|
-
import { clearScbVizSeriesDifferentiationColorClass as
|
|
86
|
-
import { buildScbVizResolvedTableView as
|
|
87
|
-
import { ScbViz as
|
|
88
|
-
export { f as SCBBreadcrumb, d as SCBBreadcrumbItem, n as ScbAccordion, e as ScbAccordionItem, c as ScbAppBar, s as ScbAvatar, l as ScbBadge, t as ScbButton, C as ScbCalendar, w as ScbCalendarCard, p as ScbCalendarEvent,
|
|
27
|
+
import { ScbActionCard as E, ScbCard as D, ScbContainerCard as O, ScbLinkCard as k, ScbListCard as A, ScbSocialCard as j } from "./scb-card/scb-card.js";
|
|
28
|
+
import { ScbCollapse as M } from "./scb-collapse/scb-collapse.js";
|
|
29
|
+
import { ScbCookiesConsent as N } from "./scb-cookies-consent/scb-cookies-consent.js";
|
|
30
|
+
import { ScbDrawer as P } from "./scb-drawer/scb-drawer.js";
|
|
31
|
+
import { ScbDropZone as F } from "./scb-drop-zone/scb-drop-zone.js";
|
|
32
|
+
import { ScbOptionsMenuItem as I } from "./scb-options-menu/scb-options-menu-item.js";
|
|
33
|
+
import { ScbOptionsSubMenu as L } from "./scb-options-menu/scb-options-sub-menu.js";
|
|
34
|
+
import { ScbOptionsMenu as R } from "./scb-options-menu/scb-options-menu.js";
|
|
35
|
+
import { ScbDropdown as z } from "./scb-dropdown/scb-dropdown.js";
|
|
36
|
+
import { ScbFab as B } from "./scb-fab/scb-fab.js";
|
|
37
|
+
import { ScbFactCardContent as V } from "./scb-fact-card/scb-fact-card-content.js";
|
|
38
|
+
import { ScbFactCard as H } from "./scb-fact-card/scb-fact-card.js";
|
|
39
|
+
import { ScbFooterSection as U } from "./scb-footer/scb-footer-section.js";
|
|
40
|
+
import { ScbGridItem as W } from "./scb-grid/scb-grid-item.js";
|
|
41
|
+
import { ScbStack as G } from "./scb-grid/scb-stack.js";
|
|
42
|
+
import { ScbGrid as K } from "./scb-grid/scb-grid.js";
|
|
43
|
+
import { ScbFooter as q } from "./scb-footer/scb-footer.js";
|
|
44
|
+
import { ScbHorizontalScroller as J } from "./scb-horizontal-scroller/scb-horizontal-scroller.js";
|
|
45
|
+
import { ScbOverlay as Y } from "./scb-overlay/scb-overlay.js";
|
|
46
|
+
import { ScbGalleryGrid as X } from "./scb-gallery-grid/scb-gallery-grid.js";
|
|
47
|
+
import { ScbHeaderMenuGroup as Z } from "./scb-header/scb-header-menu-group.js";
|
|
48
|
+
import { ScbHeaderMenuItem as Q } from "./scb-header/scb-header-menu-item.js";
|
|
49
|
+
import { ScbHeaderTab as $ } from "./scb-header/scb-header-tab.js";
|
|
50
|
+
import { ScbHeaderUtility as ee } from "./scb-header/scb-header-utility.js";
|
|
51
|
+
import { ScbMenuItem as te } from "./scb-menu/scb-menu-item.js";
|
|
52
|
+
import { ScbmenuSection as ne } from "./scb-menu/scb-menu-section.js";
|
|
53
|
+
import { ScbSubmenu as re } from "./scb-menu/scb-sub-menu.js";
|
|
54
|
+
import { ScbMenu as ie } from "./scb-menu/scb-menu.js";
|
|
55
|
+
import { ScbSkeleton as ae } from "./scb-skeleton/scb-skeleton.js";
|
|
56
|
+
import { ScbHeader as oe } from "./scb-header/scb-header.js";
|
|
57
|
+
import { ScbKeyFigureCard as se } from "./scb-keyfigure-card/scb-keyfigure-card.js";
|
|
58
|
+
import { ScbNavItem as ce } from "./scb-nav/scb-nav-item.js";
|
|
59
|
+
import { ScbNav as le } from "./scb-nav/scb-nav.js";
|
|
60
|
+
import { ScbNotificationCard as ue } from "./scb-notification-card/scb-notification-card.js";
|
|
61
|
+
import { ScbPagination as de } from "./scb-pagination/scb-pagination.js";
|
|
62
|
+
import { ScbProgressIndicator as fe } from "./scb-progress-indicator/scb-progress-indicator.js";
|
|
63
|
+
import { ScbProgressStep as pe } from "./scb-progress-stepper/scb-progress-step.js";
|
|
64
|
+
import { ScbProgressStepper as me } from "./scb-progress-stepper/scb-progress-stepper.js";
|
|
65
|
+
import { ScbScrollspy as he } from "./scb-scrollspy/scb-scrollspy.js";
|
|
66
|
+
import { ScbSegmentedItem as ge } from "./scb-segmented-button/scb-segmented-item.js";
|
|
67
|
+
import { ScbSegmentedButton as _e } from "./scb-segmented-button/scb-segmented-button.js";
|
|
68
|
+
import { ScbSelectOption as ve } from "./scb-select/scb-select-option.js";
|
|
69
|
+
import { ScbSelect as ye } from "./scb-select/scb-select.js";
|
|
70
|
+
import { ScbSlider as be } from "./scb-slider/scb-slider.js";
|
|
71
|
+
import { ScbSnackbar as xe } from "./scb-snackbar/scb-snackbar.js";
|
|
72
|
+
import { ScbStatusPill as Se } from "./scb-status-pill/scb-status-pill.js";
|
|
73
|
+
import { ScbStep as Ce } from "./scb-stepper/scb-step.js";
|
|
74
|
+
import { ScbStepper as we } from "./scb-stepper/scb-stepper.js";
|
|
75
|
+
import { ScbTable as Te } from "./scb-table/scb-table.js";
|
|
76
|
+
import { ScbTableAdvanced as Ee } from "./scb-table-advanced/scb-table-advanced.js";
|
|
77
|
+
import { ScbPrimaryTab as De } from "./scb-tabs/scb-primary-tab.js";
|
|
78
|
+
import { ScbSecondaryTab as Oe } from "./scb-tabs/scb-secondary-tab.js";
|
|
79
|
+
import { ScbTabs as ke } from "./scb-tabs/scb-tabs.js";
|
|
80
|
+
import { ScbTocItem as Ae } from "./scb-toc/scb-toc-item.js";
|
|
81
|
+
import { ScbToc as je } from "./scb-toc/scb-toc.js";
|
|
82
|
+
import { buildScbVizExportFileName as Me, createScbVizCsvBlob as Ne, createScbVizRasterBlobFromElement as Pe, createScbVizRasterDataUrlFromElement as Fe, downloadScbVizBlob as Ie, getScbVizCurrentFullscreenElement as Le, getScbVizExportBaseFileName as Re, getScbVizFullscreenDocument as ze, isScbVizFullscreenSupported as Be, openScbVizPrintFrame as Ve, runWithScbVizForcedPrintLightMode as He, toggleScbVizFullscreen as Ue } from "./scb-viz/scb-viz-actions-runtime.js";
|
|
83
|
+
import { buildScbVizPrintDocumentHtml as We, buildScbVizPrintableFooterHtml as Ge, buildScbVizPrintableTableHtml as Ke } from "./scb-viz/scb-viz-print-runtime.js";
|
|
84
|
+
import { appendScbVizSeriesDifferentiationPatternMarks as qe, getScbVizSeriesDifferentiationPatternDefinition as Je, getScbVizSeriesDifferentiationPatternKinds as Ye, getScbVizSeriesDifferentiationRegistry as Xe, getScbVizSeriesDifferentiationVariant as Ze, scbVizSeriesDifferentiationRegistry as Qe } from "./scb-viz/scb-viz-series-differentiation-registry.js";
|
|
85
|
+
import { clearScbVizSeriesDifferentiationColorClass as $e, clearScbVizSeriesDifferentiationMetadata as et, ensureScbVizGroupedSeriesDifferentiationStore as tt, ensureScbVizStyledModeSeriesPattern as nt, getScbVizGroupedSeriesDifferentiationKey as rt, getScbVizGroupedSeriesDifferentiationVariant as it, getScbVizGroupedSeriesDifferentiationVariantIndex as at, getScbVizHighchartsColorClassName as ot, getScbVizHighchartsSvgElement as st, getScbVizHighchartsSvgRoot as ct, getScbVizLegendSeriesDifferentiationTargets as lt, getScbVizSeriesDifferentiationColorIndex as ut, getScbVizSeriesDifferentiationVariantByIndex as dt, isScbVizGroupedSeriesDifferentiationChart as ft, isScbVizHighchartsStyledMode as pt, setScbVizSeriesDifferentiationColorClass as mt, setScbVizSeriesDifferentiationMetadata as ht, shouldShowScbVizSeriesDifferentiationAction as gt, usesScbVizGroupedPointDifferentiation as _t } from "./scb-viz/scb-viz-series-differentiation-runtime.js";
|
|
86
|
+
import { buildScbVizResolvedTableView as vt, createScbVizCsvRows as yt, inferScbVizTableAlignments as bt, normalizeScbVizRenderableCell as xt, readScbVizTableDataFromSlot as St } from "./scb-viz/scb-viz-table-runtime.js";
|
|
87
|
+
import { ScbViz as Ct } from "./scb-viz/scb-viz.js";
|
|
88
|
+
export { f as SCBBreadcrumb, d as SCBBreadcrumbItem, n as ScbAccordion, e as ScbAccordionItem, E as ScbActionCard, c as ScbAppBar, s as ScbAvatar, l as ScbBadge, t as ScbButton, C as ScbCalendar, w as ScbCalendarCard, p as ScbCalendarEvent, D as ScbCard, _ as ScbCheckbox, g as ScbCheckboxGroup, x as ScbChip, M as ScbCollapse, O as ScbContainerCard, N as ScbCookiesConsent, S as ScbDialog, m as ScbDivider, P as ScbDrawer, F as ScbDropZone, z as ScbDropdown, B as ScbFab, H as ScbFactCard, V as ScbFactCardContent, q as ScbFooter, U as ScbFooterSection, X as ScbGalleryGrid, K as ScbGrid, W as ScbGridItem, oe as ScbHeader, Z as ScbHeaderMenuGroup, Q as ScbHeaderMenuItem, $ as ScbHeaderTab, ee as ScbHeaderUtility, J as ScbHorizontalScroller, r as ScbIconButton, se as ScbKeyFigureCard, u as ScbLink, k as ScbLinkCard, a as ScbList, A as ScbListCard, i as ScbListItem, ie as ScbMenu, te as ScbMenuItem, le as ScbNav, ce as ScbNavItem, ue as ScbNotificationCard, R as ScbOptionsMenu, I as ScbOptionsMenuItem, L as ScbOptionsSubMenu, Y as ScbOverlay, de as ScbPagination, De as ScbPrimaryTab, fe as ScbProgressIndicator, pe as ScbProgressStep, me as ScbProgressStepper, y as ScbRadioButton, v as ScbRadioGroup, he as ScbScrollspy, o as ScbSearch, Oe as ScbSecondaryTab, _e as ScbSegmentedButton, ge as ScbSegmentedItem, ye as ScbSelect, ve as ScbSelectOption, ae as ScbSkeleton, be as ScbSlider, xe as ScbSnackbar, j as ScbSocialCard, G as ScbStack, Se as ScbStatusPill, Ce as ScbStep, we as ScbStepper, re as ScbSubmenu, b as ScbSwitch, Te as ScbTable, Ee as ScbTableAdvanced, ke as ScbTabs, h as ScbTextField, je as ScbToc, Ae as ScbTocItem, T as ScbTooltip, Ct as ScbViz, ne as ScbmenuSection, qe as appendScbVizSeriesDifferentiationPatternMarks, Me as buildScbVizExportFileName, We as buildScbVizPrintDocumentHtml, Ge as buildScbVizPrintableFooterHtml, Ke as buildScbVizPrintableTableHtml, vt as buildScbVizResolvedTableView, $e as clearScbVizSeriesDifferentiationColorClass, et as clearScbVizSeriesDifferentiationMetadata, Ne as createScbVizCsvBlob, yt as createScbVizCsvRows, Pe as createScbVizRasterBlobFromElement, Fe as createScbVizRasterDataUrlFromElement, Ie as downloadScbVizBlob, tt as ensureScbVizGroupedSeriesDifferentiationStore, nt as ensureScbVizStyledModeSeriesPattern, Le as getScbVizCurrentFullscreenElement, Re as getScbVizExportBaseFileName, ze as getScbVizFullscreenDocument, rt as getScbVizGroupedSeriesDifferentiationKey, it as getScbVizGroupedSeriesDifferentiationVariant, at as getScbVizGroupedSeriesDifferentiationVariantIndex, ot as getScbVizHighchartsColorClassName, st as getScbVizHighchartsSvgElement, ct as getScbVizHighchartsSvgRoot, lt as getScbVizLegendSeriesDifferentiationTargets, ut as getScbVizSeriesDifferentiationColorIndex, Je as getScbVizSeriesDifferentiationPatternDefinition, Ye as getScbVizSeriesDifferentiationPatternKinds, Xe as getScbVizSeriesDifferentiationRegistry, Ze as getScbVizSeriesDifferentiationVariant, dt as getScbVizSeriesDifferentiationVariantByIndex, bt as inferScbVizTableAlignments, Be as isScbVizFullscreenSupported, ft as isScbVizGroupedSeriesDifferentiationChart, pt as isScbVizHighchartsStyledMode, xt as normalizeScbVizRenderableCell, Ve as openScbVizPrintFrame, St as readScbVizTableDataFromSlot, He as runWithScbVizForcedPrintLightMode, Qe as scbVizSeriesDifferentiationRegistry, mt as setScbVizSeriesDifferentiationColorClass, ht as setScbVizSeriesDifferentiationMetadata, gt as shouldShowScbVizSeriesDifferentiationAction, Ue as toggleScbVizFullscreen, _t as usesScbVizGroupedPointDifferentiation };
|
package/mvc/components/all.js
CHANGED
|
@@ -12,11 +12,9 @@ import './scb-calendar/scb-calendar-event.js';
|
|
|
12
12
|
import './scb-card/scb-card.js';
|
|
13
13
|
import './scb-checkbox/scb-checkbox.js';
|
|
14
14
|
import './scb-checkbox/scb-checkbox-group.js';
|
|
15
|
-
import './scb-chevron/scb-chevron.js';
|
|
16
15
|
import './scb-chip/scb-chip.js';
|
|
17
16
|
import './scb-collapse/scb-collapse.js';
|
|
18
17
|
import './scb-cookies-consent/scb-cookies-consent.js';
|
|
19
|
-
import './scb-datepicker/scb-datepicker.js';
|
|
20
18
|
import './scb-dialog/scb-dialog.js';
|
|
21
19
|
import './scb-divider/scb-divider.js';
|
|
22
20
|
import './scb-drawer/scb-drawer.js';
|
|
@@ -81,7 +79,6 @@ import './scb-textfield/scb-textfield.js';
|
|
|
81
79
|
import './scb-toc/scb-toc.js';
|
|
82
80
|
import './scb-toc/scb-toc-item.js';
|
|
83
81
|
import './scb-tooltip/scb-tooltip.js';
|
|
84
|
-
import './scb-vignette/scb-vignette.js';
|
|
85
82
|
import './scb-viz/scb-viz.js';
|
|
86
83
|
import './scb-viz/scb-viz-actions-runtime.js';
|
|
87
84
|
import './scb-viz/scb-viz-print-runtime.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../vendor/vendor-material.js";import{_ as b,b as m,g as h,h as o,v as l,y as s}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as r}from"../../vendor/decorate.js";import"
|
|
1
|
+
import"../../vendor/vendor-material.js";import{_ as b,b as m,g as h,h as o,v as l,y as s}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as r}from"../../vendor/decorate.js";import"../../vendor/scb-chevron.js";(function(){try{var g=typeof globalThis<"u"?globalThis:window;if(!g.__scb_ce_guard_installed__){g.__scb_ce_guard_installed__=!0;var i=customElements.define.bind(customElements);customElements.define=function(t,e,v){try{customElements.get(t)||i(t,e,v)}catch(c){var n=String(c||"");if(n.indexOf("already been used")===-1&&n.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var d,p,a=(d=class extends b{constructor(...i){super(...i),this.open=!1,this.title="",this.content="",this.overline="",this.supportingText="",this.leading=!1,this.leadingVariant="",this.leadingIcon="",this.imgHrefImage="",this.avatarLabel="",this.avatarAlt="",this.avatarVariant="icon",this.avatarSrc="",this.density=0,this._unique=p._uid(),this._ignoreNextNativeTitleAttrChange=!1,this._onSummaryClick=t=>{t.preventDefault();const e=!this.open;this.closest("scb-accordion")?.onItemToggled?.(this,e),this.setOpen(e)},this._onToggle=t=>{const e=t.currentTarget;e.open||(e.open=!0),this._applyInertByOpen()}}static _uid(){return globalThis.crypto?.randomUUID?.()??`${p._uidPrefix}-${++p._uidSeq}`}static get observedAttributes(){const i=super.observedAttributes||[];return i.includes("title")?i:[...i,"title"]}attributeChangedCallback(i,t,e){if(i==="title"&&this._ignoreNextNativeTitleAttrChange){this._ignoreNextNativeTitleAttrChange=!1;return}super.attributeChangedCallback(i,t,e),i==="title"&&e!==null&&(this._ignoreNextNativeTitleAttrChange=!0,this.removeAttribute("title"))}firstUpdated(){this._applyInertByOpen()}_applyInertByOpen(){const i=this.renderRoot.querySelector(".scb-accordion-bottom");i&&(this.open?(i.removeAttribute("inert"),i.setAttribute("aria-hidden","false")):(i.setAttribute("inert",""),i.setAttribute("aria-hidden","true")))}_onKeyDown(i){const t=this.closest("scb-accordion"),e=Array.from(t?.querySelectorAll("scb-accordion-item")||[]).map(c=>c.renderRoot.querySelector("details")?.querySelector(".scb-accordion-top")||null).filter(c=>!!c),v=i.currentTarget,n=e.indexOf(v);switch(i.key){case"ArrowDown":i.preventDefault(),n<e.length-1&&e[n+1].focus();break;case"ArrowUp":i.preventDefault(),n>0&&e[n-1].focus();break;case"Home":i.preventDefault(),e.length&&e[0].focus();break;case"End":i.preventDefault(),e.length&&e[e.length-1].focus();break}}setOpen(i){this.open=!!i;const t=this.renderRoot.querySelector("details");t&&!t.open&&(t.open=!0),this._applyInertByOpen()}updated(i){if(i.has("open")){const t=this.renderRoot.querySelector("details");t&&!t.open&&(t.open=!0),this._applyInertByOpen(),this.dispatchEvent(new CustomEvent("open-changed",{detail:{open:this.open,title:this.title},bubbles:!0,composed:!0}))}}render(){const i=`bottom-${this._unique}`,t=`header-${this._unique}`,e=this.leading?this.leadingVariant==="image"&&this.imgHrefImage?s`<img part="leading-image" class="img" src="${this.imgHrefImage}" alt="" />`:this.leadingVariant==="avatar"?s`
|
|
2
2
|
<scb-avatar
|
|
3
3
|
label=${this.avatarLabel}
|
|
4
4
|
alt=${this.avatarAlt}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as
|
|
1
|
+
import{_ as d,b,g as h,h as a,y as n}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as r}from"../../vendor/decorate.js";import"../scb-link/scb-link.js";(function(){try{var s=typeof globalThis<"u"?globalThis:window;if(!s.__scb_ce_guard_installed__){s.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(i,o,l){try{customElements.get(i)||t(i,o,l)}catch(c){var u=String(c||"");if(u.indexOf("already been used")===-1&&u.indexOf("NotSupportedError")===-1)throw c}}}}catch{}})();var e=class extends d{constructor(...t){super(...t),this.label="",this.isCurrent=!1,this.href=""}connectedCallback(){if(super.connectedCallback(),this.hasAttribute("current")&&!this.hasAttribute("is-current")&&(this.isCurrent=!0),!this.href){const t=this.getAttribute("href");t&&(this.href=t)}}static get styles(){return b`
|
|
2
2
|
.breadcrumb-separator {
|
|
3
3
|
margin: var(--spacing-0) var(--spacing-3);
|
|
4
4
|
color: var(--md-sys-color-on-surface);
|
|
@@ -8,7 +8,7 @@ import{_ as l,b as h,g as b,h as a,y as c}from"../../vendor/vendor.js";import"..
|
|
|
8
8
|
color: var(--md-sys-color-on-surface);
|
|
9
9
|
font-family: var(--brand-font, var(--brand, "Inter"), sans-serif);
|
|
10
10
|
}
|
|
11
|
-
`}updated(t){t.has("isCurrent")&&(this.dispatchEvent(new CustomEvent("current-changed",{detail:{isCurrent:this.isCurrent},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("currentchanged",{detail:{isCurrent:this.isCurrent,value:this.isCurrent},bubbles:!0,composed:!0})))}render(){return!0===this.isCurrent?
|
|
12
|
-
<scb-link href="${this.href||this.getAttribute("href")||""}">${
|
|
11
|
+
`}getLabelContent(){return this.label||n`<slot></slot>`}updated(t){t.has("isCurrent")&&(this.dispatchEvent(new CustomEvent("current-changed",{detail:{isCurrent:this.isCurrent},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("currentchanged",{detail:{isCurrent:this.isCurrent,value:this.isCurrent},bubbles:!0,composed:!0})))}render(){const t=this.getLabelContent();return!0===this.isCurrent?n`<span class="breadcrumb-current">${t}</span>`:n`
|
|
12
|
+
<scb-link href="${this.href||this.getAttribute("href")||""}">${t}</scb-link>
|
|
13
13
|
<span class="breadcrumb-separator">/</span>
|
|
14
|
-
`}};r([a({type:String})],e.prototype,"label",void 0);r([a({type:Boolean,attribute:"is-current",reflect:!0})],e.prototype,"isCurrent",void 0);r([a({type:String,attribute:"item-href"})],e.prototype,"href",void 0);e=r([
|
|
14
|
+
`}};r([a({type:String})],e.prototype,"label",void 0);r([a({type:Boolean,attribute:"is-current",reflect:!0})],e.prototype,"isCurrent",void 0);r([a({type:String,attribute:"item-href"})],e.prototype,"href",void 0);e=r([h("scb-breadcrumb-item")],e);
|
|
@@ -66,7 +66,7 @@ import"../../vendor/vendor-material.js";import{_ as v,b as k,g as _,h as p,y as
|
|
|
66
66
|
transform: translateY(0);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
|
-
`}connectedCallback(){super.connectedCallback(),this._observer=new MutationObserver(()=>{this.requestUpdate()}),this._observer.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["label","item-href","href","is-current","current"]})}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}firstUpdated(){g(m,this,y).call(this)}updated(e){e.has("showAll")&&(this.dispatchEvent(new CustomEvent("show-all-changed",{detail:{showAll:this.showAll},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("showallchanged",{detail:{showAll:this.showAll,value:this.showAll},bubbles:!0,composed:!0}))),(e.has("spacing")||e.has("spacingTop")||e.has("spacingBottom")||e.has("spacingLeft")||e.has("spacingRight"))&&g(m,this,y).call(this)}mapSpacingToken(e){if(!e)return;const t=String(e).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}_onEllipsisClick(){this.showAll?this.showAll=!1:(this.showAll=!0,this.updateComplete.then(()=>{const e=this.shadowRoot?.querySelectorAll(".scb-breadcrumb.expanded .breadcrumb-item");e&&(e.forEach((t,s)=>{t.classList.add("breadcrumb-animate"),t.style.animationDelay=`${s*60}ms`}),setTimeout(()=>{e.forEach(t=>{t.classList.remove("breadcrumb-animate"),t.style.animationDelay=""})},600))}))}getItemLabel(e){const t=e.label;
|
|
69
|
+
`}connectedCallback(){super.connectedCallback(),this._observer=new MutationObserver(()=>{this.requestUpdate()}),this._observer.observe(this,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:["label","item-href","href","is-current","current"]})}disconnectedCallback(){super.disconnectedCallback(),this._observer?.disconnect()}firstUpdated(){g(m,this,y).call(this)}updated(e){e.has("showAll")&&(this.dispatchEvent(new CustomEvent("show-all-changed",{detail:{showAll:this.showAll},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("showallchanged",{detail:{showAll:this.showAll,value:this.showAll},bubbles:!0,composed:!0}))),(e.has("spacing")||e.has("spacingTop")||e.has("spacingBottom")||e.has("spacingLeft")||e.has("spacingRight"))&&g(m,this,y).call(this)}mapSpacingToken(e){if(!e)return;const t=String(e).trim();if(t)return/^\d+$/.test(t)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(t,10)))})`:t}_onEllipsisClick(){this.showAll?this.showAll=!1:(this.showAll=!0,this.updateComplete.then(()=>{const e=this.shadowRoot?.querySelectorAll(".scb-breadcrumb.expanded .breadcrumb-item");e&&(e.forEach((t,s)=>{t.classList.add("breadcrumb-animate"),t.style.animationDelay=`${s*60}ms`}),setTimeout(()=>{e.forEach(t=>{t.classList.remove("breadcrumb-animate"),t.style.animationDelay=""})},600))}))}getItemLabel(e){const t=e.label;if(typeof t=="string"&&t.trim())return t;const s=e.getAttribute("label");return s?.trim()?s:e.textContent?.trim()??""}getItemHref(e){const t=e;return typeof t.itemHref=="string"?t.itemHref:typeof t.href=="string"?t.href:e.getAttribute("item-href")??e.getAttribute("href")??""}render(){const e=Array.from(this.children).filter(r=>r.tagName.toLowerCase()==="scb-breadcrumb-item"),t=Math.max(0,e.length-1);let s=t;if(e.length>0){const r=typeof this.currentIndex=="number"&&!Number.isNaN(this.currentIndex)?Math.trunc(this.currentIndex):void 0;if(typeof r=="number"&&r>=0&&r<e.length)s=r;else for(let i=e.length-1;i>=0;i--){const a=e[i];if(typeof a.isCurrent=="boolean"?a.isCurrent:e[i].hasAttribute("is-current")||e[i].hasAttribute("current")){s=i;break}}e.forEach((i,a)=>{i.toggleAttribute("is-current",a===s)})}const l=e.length>6&&!this.showAll&&s===t,o=[];if(l){const r=e.slice(0,3),i=e.slice(-3);r.forEach((a,u)=>{o.push({type:"item",item:a,isCurrent:u===s})}),o.push({type:"ellipsis"}),i.forEach((a,u)=>{const h=e.length-3+u;o.push({type:"item",item:a,isCurrent:h===s})})}else e.forEach((r,i)=>{o.push({type:"item",item:r,isCurrent:i===s})});return d`
|
|
70
70
|
<div class="scb-breadcrumb ${l?"collapsed":"expanded"}">
|
|
71
71
|
${o.map((r,i)=>{const a=i===0?d``:d`<span class="breadcrumb-separator">/</span>`;if(r.type==="ellipsis")return d`
|
|
72
72
|
${a}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import"../../vendor/vendor-material.js";import{_ as z,b as
|
|
1
|
+
import"../../vendor/vendor-material.js";import{_ as z,b as S,g as A,h as l,v as i,y as b}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as a}from"../../vendor/decorate.js";import{n as I,t as _}from"../../vendor/assertClassBrand.js";(function(){try{var u=typeof globalThis<"u"?globalThis:window;if(!u.__scb_ce_guard_installed__){u.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,o,s){try{customElements.get(e)||t(e,o,s)}catch(m){var r=String(m||"");if(r.indexOf("already been used")===-1&&r.indexOf("NotSupportedError")===-1)throw m}}}}catch{}})();var h,n=(h=new WeakSet,class extends z{constructor(...t){super(...t),I(this,h),this.variant="filled",this.size="medium",this.type="button",this.label="Button",this.trailingIcon=!1,this.icon="",this.iconFilled=!1,this.disabled=!1,this.fullWidth=!1,this.href="",this.target="",this.rel="",this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this.__hasDefaultSlotContent=!1}__getMdHost(){return this.renderRoot.querySelector("md-filled-button, md-outlined-button, md-filled-tonal-button, md-text-button")}__getInnerNativeButton(t){return t?.shadowRoot?.querySelector("button")??null}__handleDefaultSlotChange(t){const e=t.target.assignedNodes({flatten:!0}).some(o=>o.nodeType===Node.TEXT_NODE?!!o.textContent?.trim():o.nodeType===Node.ELEMENT_NODE);this.__hasDefaultSlotContent!==e&&(this.__hasDefaultSlotContent=e,this.requestUpdate()),this.updateComplete.then(()=>this.__syncAriaToInner())}__syncAriaToInner(){const t=this.__getMdHost(),e=this.__getInnerNativeButton(t);if(!t||!e)return;const o=(this.getAttribute("aria-label")||"").trim(),s=(t.getAttribute("aria-label")||"").trim(),r=this.label.trim()===""&&!this.__hasDefaultSlotContent?(this.icon||"").trim():"",m=o||s||r;m?e.setAttribute("aria-label",m):e.removeAttribute("aria-label");const f=this.getAttribute("aria-controls");f!==null?e.setAttribute("aria-controls",f):e.removeAttribute("aria-controls");const y=this.getAttribute("aria-expanded");y!==null?e.setAttribute("aria-expanded",y):e.removeAttribute("aria-expanded"),t.removeAttribute("aria-label"),t.removeAttribute("aria-controls"),t.removeAttribute("aria-expanded"),this.removeAttribute("aria-expanded"),this.__ariaObserver?.disconnect(),this.__ariaObserver=new MutationObserver($=>{const d=this.__getMdHost(),p=this.__getInnerNativeButton(d);if(!(!d||!p)){for(const g of $){if(g.type!=="attributes"||!g.attributeName)continue;const c=g.attributeName,v=this.getAttribute(c);if(c==="aria-label"){const w=(d.getAttribute("aria-label")||"").trim(),x=(v||w||(this.label.trim()===""&&!this.__hasDefaultSlotContent?(this.icon||"").trim():"")).trim();x?p.setAttribute("aria-label",x):p.removeAttribute("aria-label"),d.removeAttribute("aria-label")}else(c==="aria-controls"||c==="aria-expanded")&&(v===null?p.removeAttribute(c):p.setAttribute(c,v),c==="aria-expanded"&&this.removeAttribute("aria-expanded"))}d.removeAttribute("aria-label"),d.removeAttribute("aria-controls"),d.removeAttribute("aria-expanded")}}),this.__ariaObserver.observe(this,{attributes:!0,attributeFilter:["aria-label","aria-controls","aria-expanded"]})}firstUpdated(){(this.type==="submit"||this.type==="reset")&&this.addEventListener("click",()=>{if(!this.disabled){const t=this.closest("form");t&&(this.type==="submit"&&t.requestSubmit(),this.type==="reset"&&t.reset())}}),this.__syncAriaToInner(),_(h,this,k).call(this)}updated(t){(t.has("variant")||t.has("label")||t.has("icon"))&&this.__syncAriaToInner(),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&_(h,this,k).call(this)}disconnectedCallback(){this.__ariaObserver?.disconnect(),super.disconnectedCallback()}mapSpacingToken(t){if(!t)return;const e=String(t).trim();if(e)return/^\d+$/.test(e)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(e,10)))})`:e}static get styles(){return S`
|
|
2
2
|
/* Gör hosten stretchbar i t.ex. flex/grid */
|
|
3
3
|
:host {
|
|
4
4
|
display: inline-flex;
|
|
@@ -205,7 +205,13 @@ import"../../vendor/vendor-material.js";import{_ as z,b as A,g as S,h as l,v as
|
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
*/
|
|
208
|
-
`}render(){const t=!!this.icon?.trim(),e=t?b`<md-icon slot="icon" part="icon" ?filled=${this.iconFilled} aria-hidden="true">${this.icon}</md-icon>`:i,o=i,s=this.label.trim()===""?this.icon:void 0
|
|
208
|
+
`}render(){const t=!!this.icon?.trim(),e=t?b`<md-icon slot="icon" part="icon" ?filled=${this.iconFilled} aria-hidden="true">${this.icon}</md-icon>`:i,o=i,s=this.label.trim()===""&&!this.__hasDefaultSlotContent?this.icon:void 0,r=b`
|
|
209
|
+
<slot
|
|
210
|
+
@slotchange=${this.__handleDefaultSlotChange}
|
|
211
|
+
style=${this.__hasDefaultSlotContent?i:"display: none"}
|
|
212
|
+
></slot>
|
|
213
|
+
${this.__hasDefaultSlotContent?i:this.label}
|
|
214
|
+
`;switch(this.variant){case"filled":return b`
|
|
209
215
|
<md-filled-button
|
|
210
216
|
type=${this.type}
|
|
211
217
|
variant=${o}
|
|
@@ -217,7 +223,7 @@ import"../../vendor/vendor-material.js";import{_ as z,b as A,g as S,h as l,v as
|
|
|
217
223
|
rel=${this.rel||i}
|
|
218
224
|
>
|
|
219
225
|
${t&&!this.trailingIcon?e:i}
|
|
220
|
-
${
|
|
226
|
+
${r}
|
|
221
227
|
${t&&this.trailingIcon?e:i}
|
|
222
228
|
</md-filled-button>
|
|
223
229
|
`;case"outlined":return b`
|
|
@@ -232,7 +238,7 @@ import"../../vendor/vendor-material.js";import{_ as z,b as A,g as S,h as l,v as
|
|
|
232
238
|
rel=${this.rel||i}
|
|
233
239
|
>
|
|
234
240
|
${t&&!this.trailingIcon?e:i}
|
|
235
|
-
${
|
|
241
|
+
${r}
|
|
236
242
|
${t&&this.trailingIcon?e:i}
|
|
237
243
|
</md-outlined-button>
|
|
238
244
|
`;case"filled-tonal":return b`
|
|
@@ -247,7 +253,7 @@ import"../../vendor/vendor-material.js";import{_ as z,b as A,g as S,h as l,v as
|
|
|
247
253
|
rel=${this.rel||i}
|
|
248
254
|
>
|
|
249
255
|
${t&&!this.trailingIcon?e:i}
|
|
250
|
-
${
|
|
256
|
+
${r}
|
|
251
257
|
${t&&this.trailingIcon?e:i}
|
|
252
258
|
</md-filled-tonal-button>
|
|
253
259
|
`;case"text":return b`
|
|
@@ -262,7 +268,7 @@ import"../../vendor/vendor-material.js";import{_ as z,b as A,g as S,h as l,v as
|
|
|
262
268
|
rel=${this.rel||i}
|
|
263
269
|
>
|
|
264
270
|
${t&&!this.trailingIcon?e:i}
|
|
265
|
-
${
|
|
271
|
+
${r}
|
|
266
272
|
${t&&this.trailingIcon?e:i}
|
|
267
273
|
</md-text-button>
|
|
268
|
-
`;default:return b``}}});function
|
|
274
|
+
`;default:return b``}}});function k(){const u=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??u,e=this.mapSpacingToken(this.spacingBottom)??u,o=this.mapSpacingToken(this.spacingLeft),s=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-button-spacing-block-start",t):this.style.removeProperty("--scb-button-spacing-block-start"),e?this.style.setProperty("--scb-button-spacing-block-end",e):this.style.removeProperty("--scb-button-spacing-block-end"),o?this.style.setProperty("--scb-button-spacing-inline-start",o):this.style.removeProperty("--scb-button-spacing-inline-start"),s?this.style.setProperty("--scb-button-spacing-inline-end",s):this.style.removeProperty("--scb-button-spacing-inline-end")}a([l({type:String,reflect:!0})],n.prototype,"variant",void 0);a([l({type:String,reflect:!0})],n.prototype,"size",void 0);a([l({type:String,reflect:!0})],n.prototype,"type",void 0);a([l({type:String})],n.prototype,"label",void 0);a([l({type:Boolean,attribute:"trailing-icon"})],n.prototype,"trailingIcon",void 0);a([l({type:String})],n.prototype,"icon",void 0);a([l({type:Boolean,attribute:"icon-filled",reflect:!0})],n.prototype,"iconFilled",void 0);a([l({type:Boolean,reflect:!0})],n.prototype,"disabled",void 0);a([l({type:Boolean,attribute:"full-width",reflect:!0})],n.prototype,"fullWidth",void 0);a([l({type:String})],n.prototype,"href",void 0);a([l({type:String})],n.prototype,"target",void 0);a([l({type:String})],n.prototype,"rel",void 0);a([l({type:String,reflect:!0})],n.prototype,"spacing",void 0);a([l({type:String,attribute:"spacing-top",reflect:!0})],n.prototype,"spacingTop",void 0);a([l({type:String,attribute:"spacing-bottom",reflect:!0})],n.prototype,"spacingBottom",void 0);a([l({type:String,attribute:"spacing-left",reflect:!0})],n.prototype,"spacingLeft",void 0);a([l({type:String,attribute:"spacing-right",reflect:!0})],n.prototype,"spacingRight",void 0);n=a([A("scb-button")],n);
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import"../../vendor/vendor-material.js";import{_ as q,b as H,g as W,h as _,y as T}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as v}from"../../vendor/decorate.js";import{n as P,t as Y}from"../../vendor/assertClassBrand.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-list/scb-list.js";import"./scb-calendar-event.js";import"../scb-dialog/scb-dialog.js";(function(){try{var x=typeof globalThis<"u"?globalThis:window;if(!x.__scb_ce_guard_installed__){x.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,s,a){try{customElements.get(e)||t(e,s,a)}catch(n){var i=String(n||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var F,J,m=(F=new WeakSet,J=class extends q{constructor(...t){super(...t),P(this,F),this._lastActiveDay=null,this.lang="sv",this.disableWeekend=!1,this.publicHolidays=!0,this.displayYear=new Date().getFullYear(),this.displayMonth=new Date().getMonth()+1,this.selectedDate="",this.eventsJson=void 0,this._eventsFromJson=null,this._eventsJsonLast=void 0,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this._mutationObserver=null,this._syncingDisplay=!1,this._onCalendarKeyDown=e=>{const s=Array.from(this.shadowRoot?.querySelectorAll(".calendar-day.has-event")??[]),a=this.shadowRoot?.activeElement,i=a&&s.includes(a)?a:document.activeElement,n=s.indexOf(i);if(n===-1)return;let d=n;const l=this.disableWeekend?5:7;switch(e.key){case"ArrowRight":d=n+1<s.length?n+1:n;break;case"ArrowLeft":d=n-1>=0?n-1:n;break;case"ArrowDown":d=n+l<s.length?n+l:n;break;case"ArrowUp":d=n-l>=0?n-l:n;break;default:return}d!==n&&(e.preventDefault(),s[d].focus())},this._onEventChanged=()=>{this.requestUpdate()},this._today=new Date,this._current=new Date,this._popupEvent=null,this._handleDialogClose=()=>{this._popupEvent=null,this.requestUpdate(),this._restoreDayFocus()},this._restoreDayFocus=()=>{this._lastActiveDay&&setTimeout(()=>{this._lastActiveDay?.focus(),this._lastActiveDay=null},0)},this._easterDateCalculated={}}get value(){return this.selectedDate}set value(t){const e=(t??"")+"";e!==this.selectedDate&&(this.selectedDate=e)}static get observedAttributes(){return[...super.observedAttributes??[],"value"]}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),t==="value"&&(this.value=s??"")}connectedCallback(){super.connectedCallback(),Y(F,this,I).call(this);const t=Number(this.displayYear),e=Number(this.displayMonth);!Number.isNaN(t)&&!Number.isNaN(e)&&e>=1&&e<=12&&(this._current=new Date(t,e-1,1)),this._syncDisplayFromCurrent(!1),this.addEventListener("change",this._onEventChanged),this._mutationObserver=new MutationObserver(()=>{this.requestUpdate()}),this._mutationObserver.observe(this,{childList:!0}),this.addEventListener("keydown",this._onCalendarKeyDown)}disconnectedCallback(){this.removeEventListener("change",this._onEventChanged),super.disconnectedCallback(),this._mutationObserver&&(this._mutationObserver.disconnect(),this._mutationObserver=null),this.removeEventListener("keydown",this._onCalendarKeyDown)}mapSpacingToken(t){if(!t)return;const e=String(t).trim();if(e)return/^\d+$/.test(e)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(e,10)))})`:e}updated(t){if(super.updated?.(t),t.has("eventsJson")&&(this._eventsJsonLast=void 0,this._eventsFromJson=null),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&Y(F,this,I).call(this),!this._syncingDisplay&&(t.has("displayYear")||t.has("displayMonth"))){const e=Number(this.displayYear),s=Number(this.displayMonth);if(!Number.isNaN(e)&&!Number.isNaN(s)&&s>=1&&s<=12){const a=this._current.getFullYear(),i=this._current.getMonth()+1;(a!==e||i!==s)&&(this._current=new Date(e,s-1,1),this._dispatchMonthChange(e,s),this.requestUpdate())}}}_ensureEventsFromJson(){const t=(this.eventsJson??"").trim();if(!t){this._eventsFromJson=null,this._eventsJsonLast=t;return}if(!(this._eventsJsonLast===t&&this._eventsFromJson!==null)){this._eventsJsonLast=t;try{const e=JSON.parse(t);Array.isArray(e)?this._eventsFromJson=e:this._eventsFromJson=[]}catch{this._eventsFromJson=[]}}}_getEventInputs(){return Array.isArray(this.events)?this.events:(this._ensureEventsFromJson(),this._eventsFromJson!==null?this._eventsFromJson:null)}_normalizeEventInput(t){const e=t.title??"",s=t.description??"",a=t.href??"",i=t.startDate??t["start-date"]??t.start??t.date??"",n=t.endDate??t["end-date"]??t.end??"";return{title:e+"",description:s?s+"":void 0,href:a?a+"":void 0,start:i?i+"":void 0,end:n?n+"":void 0}}_toLocalEventDate(t,e){const s=(t??"").trim();if(!s)return null;if(!s.includes("T")){const i=s.split("-").map(c=>Number(c));if(i.length!==3||i.some(c=>Number.isNaN(c)))return null;const[n,d,l]=i;return e?new Date(n,d-1,l,23,59,59,999):new Date(n,d-1,l,0,0,0,0)}const a=new Date(s);return Number.isNaN(a.getTime())?null:a}_toDateKey(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}_buildEventMapFromInputs(t){const e=new Map;for(const s of t){const a=this._normalizeEventInput(s),i=a.start||"",n=a.end||"";if(!(!i||!a.title))if(i&&n){const d=this._toLocalEventDate(i,!1),l=this._toLocalEventDate(n,!0);if(!d||!l)continue;if(l<d){const c=i.split("T")[0],y=e.get(c)||[];y.push({title:a.title,description:a.description,href:a.href,start:i,end:n}),e.set(c,y);continue}for(let c=new Date(d);c<=l;c.setDate(c.getDate()+1)){const y=this._toDateKey(c),E=e.get(y)||[];E.push({title:a.title,description:a.description,href:a.href,start:i,end:n}),e.set(y,E)}}else{const d=i.split("T")[0],l=e.get(d)||[];l.push({title:a.title,description:a.description,href:a.href,start:i}),e.set(d,l)}}return e}_buildEventMapFromChildren(){const t=Array.from(this.querySelectorAll("scb-calendar-event")),e=new Map;for(const s of t){const a=s,i=(a.startDate??a.date??"")+""||s.getAttribute("start-date")||s.getAttribute("date")||"",n=(a.endDate??"")+""||s.getAttribute("end-date")||"";if(i&&n){const d=this._toLocalEventDate(i,!1),l=this._toLocalEventDate(n,!0);if(!d||!l)continue;if(l<d){const c=i.split("T")[0],y=e.get(c)||[];y.push({title:s.title??"",description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i,end:n}),e.set(c,y);continue}for(let c=new Date(d);c<=l;c.setDate(c.getDate()+1)){const y=this._toDateKey(c),E=e.get(y)||[];E.push({title:s.title??"",description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i,end:n}),e.set(y,E)}}else if(i&&s.title){const d=i.split("T")[0],l=e.get(d)||[];l.push({title:s.title,description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i}),e.set(d,l)}}return e}_syncDisplayFromCurrent(t=!0){const e=this._current.getFullYear(),s=this._current.getMonth()+1;this._syncingDisplay=!0;try{this.displayYear=e,this.displayMonth=s}finally{this._syncingDisplay=!1}t&&this._dispatchMonthChange(e,s)}_dispatchMonthChange(t,e){const s={displayYear:t,displayMonth:e};this.dispatchEvent(new CustomEvent("scb-calendar-month-change",{bubbles:!0,composed:!0,detail:s})),this.dispatchEvent(new CustomEvent("scbcalendarmonthchange",{bubbles:!0,composed:!0,detail:s}))}_dispatchSelect(t){const e={selectedDate:t};this.dispatchEvent(new CustomEvent("scb-calendar-select",{bubbles:!0,composed:!0,detail:e})),this.dispatchEvent(new CustomEvent("scbcalendarselect",{bubbles:!0,composed:!0,detail:e}))}_daysInMonth(t,e){return new Date(t,e+1,0).getDate()}_firstDayOfWeek(t,e){const s=new Date(t,e,1).getDay();return s===0?6:s-1}_prevMonth(){this._current=new Date(this._current.getFullYear(),this._current.getMonth()-1,1),this.selectedDate="",this._popupEvent=null,this._syncDisplayFromCurrent(),this.requestUpdate()}_nextMonth(){this._current=new Date(this._current.getFullYear(),this._current.getMonth()+1,1),this.selectedDate="",this._popupEvent=null,this._syncDisplayFromCurrent(),this.requestUpdate()}_showEventPopup(t){this._popupEvent=t,this.selectedDate=t.date,this._dispatchSelect(t.date),this._lastActiveDay=this.shadowRoot?.activeElement||document.activeElement,this.requestUpdate(),this.updateComplete.then(()=>{const e=this.shadowRoot?.querySelector("scb-dialog");e&&(document.activeElement&&(e.__lastTriggerEl=document.activeElement),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.open=!0})}),e.addEventListener("close",this._handleDialogClose,{once:!0}))})}_addDays(t,e){const s=new Date(t.valueOf());return s.setDate(s.getDate()+e),s}_easterDay(t){if(typeof this._easterDateCalculated["Ar"+t]<"u")return new Date(this._easterDateCalculated["Ar"+t]);let e=t;e<100&&(e=e+1900),e<1950&&(e=e+100);const s=e%19,a=e%4,i=e%7,n=(19*s+24)%30,d=(2*a+4*i+6*n+5)%7;let l=22+n+d,c=0;l==57&&(l-=7),l==56&&n==28&&d==6&&s>10&&(l-=7),l>31?(l-=31,c=4):c=3;const y=new Date(e,c-1,l);return this._easterDateCalculated["Ar"+t]=y,new Date(this._easterDateCalculated["Ar"+t])}_swedishHolidayName(t){const e=t.getMonth();if(e===1||e===6||e===7||e===8)return null;const s=t.getMonth()+1,a=t.getDate(),i=t.getFullYear(),n=this._easterDay(i),d=this.lang==="en",l=[["Nyårsdagen","New Year's Day",s===1&&a===1],["Trettondedag jul","Epiphany",s===1&&a===6],["Långfredag","Good Friday",+t==+this._addDays(n,-2)],["Påskdagen","Easter Sunday",+t==+n],["Annandag påsk","Easter Monday",+t==+this._addDays(n,1)],["Kristi himmelsfärdsdag","Ascension Day",+t==+this._addDays(n,39)],["Pingstdagen","Pentecost",+t==+this._addDays(n,50)&&i<2005],["Första maj","May Day",s===5&&a===1],["Nationaldagen","National Day",s===6&&a===6&&i>=2005],["Midsommarafton","Midsummer's Eve",s===6&&a>=19&&a<=25&&t.getDay()===5],["Midsommardagen","Midsummer's Day",s===6&&a>=20&&a<=26&&t.getDay()===6],["Julafton","Christmas Eve",s===12&&a===24],["Juldagen","Christmas Day",s===12&&a===25],["Annandag jul","Boxing Day",s===12&&a===26],["Alla helgons dag","All Saints' Day",s===10&&a>=31&&t.getDay()===6||s===11&&a<=6&&t.getDay()===6]];for(const c of l){const[y,E,A]=c;if(A)return d?E:y}return null}render(){const t=this._current.getFullYear(),e=this._current.getMonth(),s=this._daysInMonth(t,e),a=this._firstDayOfWeek(t,e),i=this._today,n=this.lang==="en",d=n?["January","February","March","April","May","June","July","August","September","October","November","December"]:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"];let l=n?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]:["Mån","Tis","Ons","Tor","Fre","Lör","Sön"];this.disableWeekend&&(l=l.slice(0,5));const c=this._getEventInputs(),y=c?this._buildEventMapFromInputs(c):this._buildEventMapFromChildren(),E=[];let A=1;for(let r=0;r<6;r++){const h=[],f=this.disableWeekend?[0,1,2,3,4]:[0,1,2,3,4,5,6];let p=A;for(let D=0;D<f.length;D++){const w=f[D];if(r===0&&w<a){if(!this.disableWeekend||w<5){const k=e===0?11:e-1,N=e===0?t-1:t,b=this._daysInMonth(N,k)-(a-w-1);h.push(T`
|
|
1
|
+
import"../../vendor/vendor-material.js";import{_ as H,b as W,g as P,h as _,y as T}from"../../vendor/vendor.js";import"../../vendor/vendor-lit.js";import{t as v}from"../../vendor/decorate.js";import{n as z,t as Y}from"../../vendor/assertClassBrand.js";import"../scb-icon-button/scb-icon-button.js";import"../scb-list/scb-list.js";import"./scb-calendar-event.js";import"../scb-dialog/scb-dialog.js";(function(){try{var k=typeof globalThis<"u"?globalThis:window;if(!k.__scb_ce_guard_installed__){k.__scb_ce_guard_installed__=!0;var t=customElements.define.bind(customElements);customElements.define=function(e,s,a){try{customElements.get(e)||t(e,s,a)}catch(n){var i=String(n||"");if(i.indexOf("already been used")===-1&&i.indexOf("NotSupportedError")===-1)throw n}}}}catch{}})();var F,J,K={fromAttribute(k){if(k===null)return!1;const t=k.trim().toLowerCase();return t!=="false"&&t!=="0"&&t!=="no"}},m=(F=new WeakSet,J=class extends H{constructor(...t){super(...t),z(this,F),this._lastActiveDay=null,this.lang="sv",this.disableWeekend=!1,this.publicHolidays=!0,this.displayYear=new Date().getFullYear(),this.displayMonth=new Date().getMonth()+1,this.selectedDate="",this.eventsJson=void 0,this._eventsFromJson=null,this._eventsJsonLast=void 0,this.spacing=void 0,this.spacingTop=void 0,this.spacingBottom=void 0,this.spacingLeft=void 0,this.spacingRight=void 0,this._mutationObserver=null,this._syncingDisplay=!1,this._onCalendarKeyDown=e=>{const s=Array.from(this.shadowRoot?.querySelectorAll(".calendar-day.has-event")??[]),a=this.shadowRoot?.activeElement,i=a&&s.includes(a)?a:document.activeElement,n=s.indexOf(i);if(n===-1)return;let d=n;const l=this.disableWeekend?5:7;switch(e.key){case"ArrowRight":d=n+1<s.length?n+1:n;break;case"ArrowLeft":d=n-1>=0?n-1:n;break;case"ArrowDown":d=n+l<s.length?n+l:n;break;case"ArrowUp":d=n-l>=0?n-l:n;break;default:return}d!==n&&(e.preventDefault(),s[d].focus())},this._onEventChanged=()=>{this.requestUpdate()},this._today=new Date,this._current=new Date,this._popupEvent=null,this._handleDialogClose=()=>{this._popupEvent=null,this.requestUpdate(),this._restoreDayFocus()},this._restoreDayFocus=()=>{this._lastActiveDay&&setTimeout(()=>{this._lastActiveDay?.focus(),this._lastActiveDay=null},0)},this._easterDateCalculated={}}get value(){return this.selectedDate}set value(t){const e=(t??"")+"";e!==this.selectedDate&&(this.selectedDate=e)}static get observedAttributes(){return[...super.observedAttributes??[],"value"]}attributeChangedCallback(t,e,s){super.attributeChangedCallback(t,e,s),t==="value"&&(this.value=s??"")}connectedCallback(){super.connectedCallback(),Y(F,this,I).call(this);const t=Number(this.displayYear),e=Number(this.displayMonth);!Number.isNaN(t)&&!Number.isNaN(e)&&e>=1&&e<=12&&(this._current=new Date(t,e-1,1)),this._syncDisplayFromCurrent(!1),this.addEventListener("change",this._onEventChanged),this._mutationObserver=new MutationObserver(()=>{this.requestUpdate()}),this._mutationObserver.observe(this,{childList:!0}),this.addEventListener("keydown",this._onCalendarKeyDown)}disconnectedCallback(){this.removeEventListener("change",this._onEventChanged),super.disconnectedCallback(),this._mutationObserver&&(this._mutationObserver.disconnect(),this._mutationObserver=null),this.removeEventListener("keydown",this._onCalendarKeyDown)}mapSpacingToken(t){if(!t)return;const e=String(t).trim();if(e)return/^\d+$/.test(e)?`var(--spacing-${Math.max(0,Math.min(14,parseInt(e,10)))})`:e}updated(t){if(super.updated?.(t),t.has("eventsJson")&&(this._eventsJsonLast=void 0,this._eventsFromJson=null),(t.has("spacing")||t.has("spacingTop")||t.has("spacingBottom")||t.has("spacingLeft")||t.has("spacingRight"))&&Y(F,this,I).call(this),!this._syncingDisplay&&(t.has("displayYear")||t.has("displayMonth"))){const e=Number(this.displayYear),s=Number(this.displayMonth);if(!Number.isNaN(e)&&!Number.isNaN(s)&&s>=1&&s<=12){const a=this._current.getFullYear(),i=this._current.getMonth()+1;(a!==e||i!==s)&&(this._current=new Date(e,s-1,1),this._dispatchMonthChange(e,s),this.requestUpdate())}}}_ensureEventsFromJson(){const t=(this.eventsJson??"").trim();if(!t){this._eventsFromJson=null,this._eventsJsonLast=t;return}if(!(this._eventsJsonLast===t&&this._eventsFromJson!==null)){this._eventsJsonLast=t;try{const e=JSON.parse(t);Array.isArray(e)?this._eventsFromJson=e:this._eventsFromJson=[]}catch{this._eventsFromJson=[]}}}_getEventInputs(){return Array.isArray(this.events)?this.events:(this._ensureEventsFromJson(),this._eventsFromJson!==null?this._eventsFromJson:null)}_normalizeEventInput(t){const e=t.title??"",s=t.description??"",a=t.href??"",i=t.startDate??t["start-date"]??t.start??t.date??"",n=t.endDate??t["end-date"]??t.end??"";return{title:e+"",description:s?s+"":void 0,href:a?a+"":void 0,start:i?i+"":void 0,end:n?n+"":void 0}}_toLocalEventDate(t,e){const s=(t??"").trim();if(!s)return null;if(!s.includes("T")){const i=s.split("-").map(c=>Number(c));if(i.length!==3||i.some(c=>Number.isNaN(c)))return null;const[n,d,l]=i;return e?new Date(n,d-1,l,23,59,59,999):new Date(n,d-1,l,0,0,0,0)}const a=new Date(s);return Number.isNaN(a.getTime())?null:a}_toDateKey(t){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}_buildEventMapFromInputs(t){const e=new Map;for(const s of t){const a=this._normalizeEventInput(s),i=a.start||"",n=a.end||"";if(!(!i||!a.title))if(i&&n){const d=this._toLocalEventDate(i,!1),l=this._toLocalEventDate(n,!0);if(!d||!l)continue;if(l<d){const c=i.split("T")[0],y=e.get(c)||[];y.push({title:a.title,description:a.description,href:a.href,start:i,end:n}),e.set(c,y);continue}for(let c=new Date(d);c<=l;c.setDate(c.getDate()+1)){const y=this._toDateKey(c),E=e.get(y)||[];E.push({title:a.title,description:a.description,href:a.href,start:i,end:n}),e.set(y,E)}}else{const d=i.split("T")[0],l=e.get(d)||[];l.push({title:a.title,description:a.description,href:a.href,start:i}),e.set(d,l)}}return e}_buildEventMapFromChildren(){const t=Array.from(this.querySelectorAll("scb-calendar-event")),e=new Map;for(const s of t){const a=s,i=(a.startDate??a.date??"")+""||s.getAttribute("start-date")||s.getAttribute("date")||"",n=(a.endDate??"")+""||s.getAttribute("end-date")||"";if(i&&n){const d=this._toLocalEventDate(i,!1),l=this._toLocalEventDate(n,!0);if(!d||!l)continue;if(l<d){const c=i.split("T")[0],y=e.get(c)||[];y.push({title:s.title??"",description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i,end:n}),e.set(c,y);continue}for(let c=new Date(d);c<=l;c.setDate(c.getDate()+1)){const y=this._toDateKey(c),E=e.get(y)||[];E.push({title:s.title??"",description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i,end:n}),e.set(y,E)}}else if(i&&s.title){const d=i.split("T")[0],l=e.get(d)||[];l.push({title:s.title,description:s.description,href:a.href||s.getAttribute("href")||void 0,start:i}),e.set(d,l)}}return e}_syncDisplayFromCurrent(t=!0){const e=this._current.getFullYear(),s=this._current.getMonth()+1;this._syncingDisplay=!0;try{this.displayYear=e,this.displayMonth=s}finally{this._syncingDisplay=!1}t&&this._dispatchMonthChange(e,s)}_dispatchMonthChange(t,e){const s={displayYear:t,displayMonth:e};this.dispatchEvent(new CustomEvent("scb-calendar-month-change",{bubbles:!0,composed:!0,detail:s})),this.dispatchEvent(new CustomEvent("scbcalendarmonthchange",{bubbles:!0,composed:!0,detail:s}))}_dispatchSelect(t){const e={selectedDate:t};this.dispatchEvent(new CustomEvent("scb-calendar-select",{bubbles:!0,composed:!0,detail:e})),this.dispatchEvent(new CustomEvent("scbcalendarselect",{bubbles:!0,composed:!0,detail:e}))}_daysInMonth(t,e){return new Date(t,e+1,0).getDate()}_firstDayOfWeek(t,e){const s=new Date(t,e,1).getDay();return s===0?6:s-1}_prevMonth(){this._current=new Date(this._current.getFullYear(),this._current.getMonth()-1,1),this.selectedDate="",this._popupEvent=null,this._syncDisplayFromCurrent(),this.requestUpdate()}_nextMonth(){this._current=new Date(this._current.getFullYear(),this._current.getMonth()+1,1),this.selectedDate="",this._popupEvent=null,this._syncDisplayFromCurrent(),this.requestUpdate()}_showEventPopup(t){this._popupEvent=t,this.selectedDate=t.date,this._dispatchSelect(t.date),this._lastActiveDay=this.shadowRoot?.activeElement||document.activeElement,this.requestUpdate(),this.updateComplete.then(()=>{const e=this.shadowRoot?.querySelector("scb-dialog");e&&(document.activeElement&&(e.__lastTriggerEl=document.activeElement),requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.open=!0})}),e.addEventListener("close",this._handleDialogClose,{once:!0}))})}_addDays(t,e){const s=new Date(t.valueOf());return s.setDate(s.getDate()+e),s}_easterDay(t){if(typeof this._easterDateCalculated["Ar"+t]<"u")return new Date(this._easterDateCalculated["Ar"+t]);let e=t;e<100&&(e=e+1900),e<1950&&(e=e+100);const s=e%19,a=e%4,i=e%7,n=(19*s+24)%30,d=(2*a+4*i+6*n+5)%7;let l=22+n+d,c=0;l==57&&(l-=7),l==56&&n==28&&d==6&&s>10&&(l-=7),l>31?(l-=31,c=4):c=3;const y=new Date(e,c-1,l);return this._easterDateCalculated["Ar"+t]=y,new Date(this._easterDateCalculated["Ar"+t])}_swedishHolidayName(t){const e=t.getMonth();if(e===1||e===6||e===7||e===8)return null;const s=t.getMonth()+1,a=t.getDate(),i=t.getFullYear(),n=this._easterDay(i),d=this.lang==="en",l=[["Nyårsdagen","New Year's Day",s===1&&a===1],["Trettondedag jul","Epiphany",s===1&&a===6],["Långfredag","Good Friday",+t==+this._addDays(n,-2)],["Påskdagen","Easter Sunday",+t==+n],["Annandag påsk","Easter Monday",+t==+this._addDays(n,1)],["Kristi himmelsfärdsdag","Ascension Day",+t==+this._addDays(n,39)],["Pingstdagen","Pentecost",+t==+this._addDays(n,50)&&i<2005],["Första maj","May Day",s===5&&a===1],["Nationaldagen","National Day",s===6&&a===6&&i>=2005],["Midsommarafton","Midsummer's Eve",s===6&&a>=19&&a<=25&&t.getDay()===5],["Midsommardagen","Midsummer's Day",s===6&&a>=20&&a<=26&&t.getDay()===6],["Julafton","Christmas Eve",s===12&&a===24],["Juldagen","Christmas Day",s===12&&a===25],["Annandag jul","Boxing Day",s===12&&a===26],["Alla helgons dag","All Saints' Day",s===10&&a>=31&&t.getDay()===6||s===11&&a<=6&&t.getDay()===6]];for(const c of l){const[y,E,x]=c;if(x)return d?E:y}return null}render(){const t=this._current.getFullYear(),e=this._current.getMonth(),s=this._daysInMonth(t,e),a=this._firstDayOfWeek(t,e),i=this._today,n=this.lang==="en",d=n?["January","February","March","April","May","June","July","August","September","October","November","December"]:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"];let l=n?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]:["Mån","Tis","Ons","Tor","Fre","Lör","Sön"];this.disableWeekend&&(l=l.slice(0,5));const c=this._getEventInputs(),y=c?this._buildEventMapFromInputs(c):this._buildEventMapFromChildren(),E=[];let x=1;for(let r=0;r<6;r++){const h=[],f=this.disableWeekend?[0,1,2,3,4]:[0,1,2,3,4,5,6];let p=x;for(let D=0;D<f.length;D++){const w=f[D];if(r===0&&w<a){if(!this.disableWeekend||w<5){const M=e===0?11:e-1,N=e===0?t-1:t,b=this._daysInMonth(N,M)-(a-w-1);h.push(T`
|
|
2
2
|
<div class="calendar-day calendar-day--other">
|
|
3
3
|
<span class="calendar-day-number">${b}</span>
|
|
4
4
|
</div>
|
|
5
|
-
`)}}else if(p>s)h.push(T`<div></div>`);else{let
|
|
5
|
+
`)}}else if(p>s)h.push(T`<div></div>`);else{let M=new Date(t,e,p);if(this.disableWeekend)for(;M.getDay()===0||M.getDay()===6;)p++,M=new Date(t,e,p);if(p>s){h.push(T`<div></div>`);continue}const N=i.getFullYear()===t&&i.getMonth()===e&&i.getDate()===p,b=`${t}-${String(e+1).padStart(2,"0")}-${String(p).padStart(2,"0")}`,j=new Date(t,e,p);let L=!1,$=null;this.publicHolidays&&($=this._swedishHolidayName(j),L=!!$);let u=y.get(b)||[];u=[...u].sort((o,g)=>{const C=o.start&&b===o.start.split("T")[0]?o.start:o.end&&b===o.end.split("T")[0]?o.end:"",S=g.start&&b===g.start.split("T")[0]?g.start:g.end&&g.end.split("T")[0]?g.end:"",A=C&&C.includes("T"),O=S&&S.includes("T");return A&&O?C.localeCompare(S):A?-1:O?1:o.title.localeCompare(g.title)});const q=[...u].map(o=>{let g="",C="";if(o.start&&o.end){const S=o.start.split("T")[0],A=o.end.split("T")[0];b===S&&b===A&&o.start.includes("T")&&o.end.includes("T")?g=o.start.split("T")[1].substring(0,5)+"–"+o.end.split("T")[1].substring(0,5):b===S&&o.start.includes("T")?g=o.start.split("T")[1].substring(0,5):b===A&&o.end.includes("T")&&S!==A?(g=o.end.split("T")[1].substring(0,5),C=n?"cont. ":"fort. "):b===A&&o.end.includes("T")?g=o.end.split("T")[1].substring(0,5):b!==S&&(g="",C=n?"cont. ":"fort. ")}else o.start&&o.start.includes("T")&&(g=o.start.split("T")[1].substring(0,5));return{...o,time:g,prefix:C}});h.push(T`
|
|
6
6
|
<div
|
|
7
7
|
class="calendar-day${N?" today":""}${u.length?" has-event":""}${L?" calendar-day--holiday":""}"
|
|
8
8
|
tabindex=${u.length?"0":void 0}
|
|
9
9
|
@click=${u.length?(()=>this._showEventPopup({date:b,events:u})):null}
|
|
10
10
|
@keydown=${u.length?(o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),this._showEventPopup({date:b,events:u}))}):null}
|
|
11
|
-
title=${
|
|
11
|
+
title=${$||(u.length===1?u[0].title:u.length>1?u.map(o=>o.title).join(", "):"")}
|
|
12
12
|
role=${u.length?"button":void 0}
|
|
13
|
-
aria-label=${
|
|
13
|
+
aria-label=${$||(u.length?u.length===1?u[0].title:u.map(o=>o.title).join(", "):void 0)}
|
|
14
14
|
>
|
|
15
15
|
<md-focus-ring inward></md-focus-ring>
|
|
16
|
-
<span class="calendar-day-number">${p} ${
|
|
16
|
+
<span class="calendar-day-number">${p} ${$?T`<span class="calendar-day-holiday-name">${$}</span>`:""}</span>
|
|
17
17
|
<div class="calendar-titles-wrapper">
|
|
18
|
-
${
|
|
18
|
+
${q.map(o=>T`<span class="calendar-day-event-title">${o.prefix||""}${o.title}</span>`)}
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
|
-
`),p++}}if(
|
|
21
|
+
`),p++}}if(x=p,E.push(T`<div class="calendar-grid">${h}</div>`),x>s)break}return T`
|
|
22
22
|
<div class="calendar-header">
|
|
23
23
|
<scb-icon-button @click=${this._prevMonth} icon="chevron_left" aria-label="${n?"Previous month":"Föregående månad"}"></scb-icon-button>
|
|
24
24
|
<span>${d[e]} ${t}</span>
|
|
@@ -33,7 +33,7 @@ import"../../vendor/vendor-material.js";import{_ as q,b as H,g as W,h as _,y as
|
|
|
33
33
|
${this._popupEvent&&Array.isArray(this._popupEvent.events)?T`
|
|
34
34
|
<scb-dialog variant="floating" open label="${n?"Events":"Händelser"} ${this._popupEvent.date}">
|
|
35
35
|
<scb-list>
|
|
36
|
-
${[...this._popupEvent.events].sort((r,h)=>{const f=r.start&&r.start.includes("T")?r.start:r.end&&r.end.includes("T")?r.end:"",p=h.start&&h.start.includes("T")?h.start:h.end&&h.end.includes("T")?h.end:"",D=f&&f.includes("T"),w=p&&p.includes("T");return D&&w?f.localeCompare(p):D?-1:w?1:r.title.localeCompare(h.title)}).map(r=>{const h=this._popupEvent?.date??"";let f="",p="",D="";if(r.start&&r.end){const w=r.start.split("T")[0],
|
|
36
|
+
${[...this._popupEvent.events].sort((r,h)=>{const f=r.start&&r.start.includes("T")?r.start:r.end&&r.end.includes("T")?r.end:"",p=h.start&&h.start.includes("T")?h.start:h.end&&h.end.includes("T")?h.end:"",D=f&&f.includes("T"),w=p&&p.includes("T");return D&&w?f.localeCompare(p):D?-1:w?1:r.title.localeCompare(h.title)}).map(r=>{const h=this._popupEvent?.date??"";let f="",p="",D="";if(r.start&&r.end){const w=r.start.split("T")[0],M=r.end.split("T")[0];w===M&&r.start.includes("T")&&r.end.includes("T")?f=r.start.split("T")[1].substring(0,5)+" – "+r.end.split("T")[1].substring(0,5):h===w&&r.start.includes("T")&&(f="Start: "+r.start.split("T")[1].substring(0,5)+(n?" (Extended event) ":" (Flerdagsevenemang) ")),h===M&&r.end.includes("T")&&w!==M&&(D=(n?"End: ":"Slut: ")+r.end.split("T")[1].substring(0,5)),h!==w&&(p=n?"cont. ":"fort. ")}else r.start&&r.start.includes("T")&&(f=r.start.split("T")[1].substring(0,5));return r.href?T`
|
|
37
37
|
<scb-list-item
|
|
38
38
|
type="link"
|
|
39
39
|
item-href="${r.href}"
|
|
@@ -51,7 +51,7 @@ import"../../vendor/vendor-material.js";import{_ as q,b as H,g as W,h as _,y as
|
|
|
51
51
|
</scb-list>
|
|
52
52
|
</scb-dialog>
|
|
53
53
|
`:""}
|
|
54
|
-
`}},J.styles=
|
|
54
|
+
`}},J.styles=W`
|
|
55
55
|
:host {
|
|
56
56
|
display: block;
|
|
57
57
|
margin-block-start: var(--scb-calendar-spacing-block-start, 0);
|
|
@@ -165,4 +165,4 @@ import"../../vendor/vendor-material.js";import{_ as q,b as H,g as W,h as _,y as
|
|
|
165
165
|
gap: var(--spacing-4);
|
|
166
166
|
}
|
|
167
167
|
|
|
168
|
-
`,J);function I(){const
|
|
168
|
+
`,J);function I(){const k=this.mapSpacingToken(this.spacing),t=this.mapSpacingToken(this.spacingTop)??k,e=this.mapSpacingToken(this.spacingBottom)??k,s=this.mapSpacingToken(this.spacingLeft),a=this.mapSpacingToken(this.spacingRight);t?this.style.setProperty("--scb-calendar-spacing-block-start",t):this.style.removeProperty("--scb-calendar-spacing-block-start"),e?this.style.setProperty("--scb-calendar-spacing-block-end",e):this.style.removeProperty("--scb-calendar-spacing-block-end"),s?this.style.setProperty("--scb-calendar-spacing-inline-start",s):this.style.removeProperty("--scb-calendar-spacing-inline-start"),a?this.style.setProperty("--scb-calendar-spacing-inline-end",a):this.style.removeProperty("--scb-calendar-spacing-inline-end")}v([_({type:String})],m.prototype,"lang",void 0);v([_({type:Boolean,attribute:"disable-weekend",reflect:!0,converter:K})],m.prototype,"disableWeekend",void 0);v([_({type:Boolean,attribute:"public-holidays",converter:K})],m.prototype,"publicHolidays",void 0);v([_({type:Number,attribute:"display-year",reflect:!0})],m.prototype,"displayYear",void 0);v([_({type:Number,attribute:"display-month",reflect:!0})],m.prototype,"displayMonth",void 0);v([_({type:String,attribute:"selected-date",reflect:!0})],m.prototype,"selectedDate",void 0);v([_({attribute:!1})],m.prototype,"events",void 0);v([_({type:String,attribute:"events-json"})],m.prototype,"eventsJson",void 0);v([_({type:String,reflect:!0})],m.prototype,"spacing",void 0);v([_({type:String,attribute:"spacing-top",reflect:!0})],m.prototype,"spacingTop",void 0);v([_({type:String,attribute:"spacing-bottom",reflect:!0})],m.prototype,"spacingBottom",void 0);v([_({type:String,attribute:"spacing-left",reflect:!0})],m.prototype,"spacingLeft",void 0);v([_({type:String,attribute:"spacing-right",reflect:!0})],m.prototype,"spacingRight",void 0);m=v([P("scb-calendar")],m);
|