@designsystem-se/af 39.2.2 → 39.2.3
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/components/digi-expandable-accordion.js +18 -11
- package/components/digi-expandable-faq-item.js +21 -14
- package/components/digi-info-card.js +3 -3
- package/custom-elements.json +1 -1
- package/dist/cjs/badge-notification-shape.enum-CEyEo2G5.js +8 -0
- package/dist/cjs/button-size.enum-DgyvMkwE.js +7 -0
- package/dist/cjs/{button-variation.enum-ngMqFLdW.js → button-variation.enum-DkUalo9f.js} +0 -6
- package/dist/cjs/{calendar-week-view-heading-level.enum-BI2f9bbk.js → calendar-week-view-heading-level.enum-NEkm5SUq.js} +0 -7
- package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
- package/dist/cjs/digi-badge-notification.cjs.entry.js +65 -0
- package/dist/cjs/digi-button.cjs.entry.js +131 -0
- package/dist/cjs/{digi-badge-notification_8.cjs.entry.js → digi-calendar-week-view.cjs.entry.js} +72 -645
- package/dist/cjs/{digi-calendar-datepicker.cjs.entry.js → digi-calendar_19.cjs.entry.js} +1613 -56
- package/dist/cjs/digi-code-block_3.cjs.entry.js +8 -13
- package/dist/cjs/digi-code-example.cjs.entry.js +4 -3
- package/dist/cjs/digi-dialog.cjs.entry.js +8 -13
- package/dist/cjs/digi-footer.cjs.entry.js +7 -12
- package/dist/cjs/digi-form-error-list.cjs.entry.js +7 -12
- package/dist/cjs/digi-form-file-upload.cjs.entry.js +9 -10
- package/dist/cjs/digi-form-input-search.cjs.entry.js +5 -6
- package/dist/cjs/digi-form-receipt.cjs.entry.js +7 -12
- package/dist/cjs/digi-form-select-filter.cjs.entry.js +8 -13
- package/dist/cjs/digi-header-navigation.cjs.entry.js +7 -12
- package/dist/cjs/digi-header.cjs.entry.js +7 -12
- package/dist/cjs/digi-info-card.cjs.entry.js +3 -3
- package/dist/cjs/digi-navigation-pagination.cjs.entry.js +7 -12
- package/dist/cjs/digi-notification-alert.cjs.entry.js +7 -12
- package/dist/cjs/digi-notification-error-page.cjs.entry.js +7 -12
- package/dist/cjs/digi-tablist-panel.cjs.entry.js +20 -0
- package/dist/cjs/digi-tablist.cjs.entry.js +312 -0
- package/dist/cjs/digi-title-logo.cjs.entry.js +7 -12
- package/dist/cjs/digi-tools-feedback.cjs.entry.js +9 -14
- package/dist/cjs/{form-input-type.enum-DvF_MTHK.js → form-input-type.enum-CCCcY8gv.js} +7 -0
- package/dist/cjs/{form-file-upload-variation.enum-xcEOoggr.js → form-validation-message-variation.enum-DgkifAnP.js} +7 -0
- package/dist/cjs/index-Cn1hHaSy.js +16 -40
- package/dist/cjs/{index-Bdlw-Iuy.js → index-DUQtADgG.js} +189 -19
- package/dist/cjs/index.cjs.js +64 -69
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{typography-variation.enum-BDSt7CVI.js → typography-variation.enum-CVUvogxJ.js} +86 -0
- package/dist/collection/components/_expandable/expandable-accordion/expandable-accordion.js +18 -11
- package/dist/collection/components/_expandable/expandable-faq-item/expandable-faq-item.js +21 -14
- package/dist/collection/components/_info-card/info-card/info-card.js +5 -5
- package/dist/collection/design-tokens/components/_logo.variables.scss +0 -2
- package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
- package/dist/digi-arbetsformedlingen/index.esm.js +1 -1
- package/dist/digi-arbetsformedlingen/p-0230ec9b.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-0394e694.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-04bbbd14.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-0cf25433.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-17824a0b.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-25815f15.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-3d4ac22e.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-4aefce1e.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-5ee5766d.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-870a00f8.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-88dc2ed4.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-9n7Okhf1.js +1 -0
- package/dist/digi-arbetsformedlingen/p-C6S1HfeA.js +1 -0
- package/dist/digi-arbetsformedlingen/p-C7xgnp99.js +1 -0
- package/dist/digi-arbetsformedlingen/p-CKoZU0-H.js +1 -0
- package/dist/digi-arbetsformedlingen/p-Cnyfh_8_.js +1 -0
- package/dist/digi-arbetsformedlingen/{p-DwNlf6Sh.js → p-DH_-wpLB.js} +1 -1
- package/dist/digi-arbetsformedlingen/p-Zivp2NJB.js +1 -0
- package/dist/digi-arbetsformedlingen/p-a29b6fff.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/{p-375ea6f8.entry.js → p-ace2e5fd.entry.js} +1 -1
- package/dist/digi-arbetsformedlingen/p-b411a549.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-b7712996.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-bfccf413.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-cdd65abb.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-d4406627.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-dd95c75e.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-e5396b1e.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-e7c10f6a.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-f91295ac.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-ffb4fac6.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-y5Nm4oWF.js +1 -0
- package/dist/esm/badge-notification-shape.enum-CKoZU0-H.js +8 -0
- package/dist/esm/button-size.enum-C7xgnp99.js +7 -0
- package/dist/esm/{button-variation.enum-BMQm4N5I.js → button-variation.enum-y5Nm4oWF.js} +1 -7
- package/dist/esm/{calendar-week-view-heading-level.enum-BBOpiDGx.js → calendar-week-view-heading-level.enum-DH_-wpLB.js} +1 -8
- package/dist/esm/digi-arbetsformedlingen.js +1 -1
- package/dist/esm/digi-badge-notification.entry.js +63 -0
- package/dist/esm/digi-button.entry.js +129 -0
- package/dist/esm/{digi-badge-notification_8.entry.js → digi-calendar-week-view.entry.js} +6 -572
- package/dist/esm/{digi-calendar-datepicker.entry.js → digi-calendar_19.entry.js} +1557 -18
- package/dist/esm/digi-code-block_3.entry.js +7 -12
- package/dist/esm/digi-code-example.entry.js +2 -1
- package/dist/esm/digi-dialog.entry.js +7 -12
- package/dist/esm/digi-footer.entry.js +7 -12
- package/dist/esm/digi-form-error-list.entry.js +7 -12
- package/dist/esm/digi-form-file-upload.entry.js +1 -2
- package/dist/esm/digi-form-input-search.entry.js +1 -2
- package/dist/esm/digi-form-receipt.entry.js +7 -12
- package/dist/esm/digi-form-select-filter.entry.js +7 -12
- package/dist/esm/digi-header-navigation.entry.js +7 -12
- package/dist/esm/digi-header.entry.js +7 -12
- package/dist/esm/digi-info-card.entry.js +3 -3
- package/dist/esm/digi-navigation-pagination.entry.js +7 -12
- package/dist/esm/digi-notification-alert.entry.js +7 -12
- package/dist/esm/digi-notification-error-page.entry.js +7 -12
- package/dist/esm/digi-tablist-panel.entry.js +18 -0
- package/dist/esm/digi-tablist.entry.js +310 -0
- package/dist/esm/digi-title-logo.entry.js +7 -12
- package/dist/esm/digi-tools-feedback.entry.js +7 -12
- package/dist/esm/{form-input-type.enum-BSJH8Lpg.js → form-input-type.enum-C6S1HfeA.js} +8 -1
- package/dist/esm/{form-file-upload-variation.enum-BfyJgcLA.js → form-validation-message-variation.enum-9n7Okhf1.js} +8 -1
- package/dist/esm/index-BnKuq1L7.js +16 -40
- package/dist/esm/{index-B1Je6g2n.js → index-Cnyfh_8_.js} +170 -3
- package/dist/esm/index.js +7 -12
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{typography-variation.enum-4smNltRI.js → typography-variation.enum-Zivp2NJB.js} +87 -1
- package/dist/types/components/_info-card/info-card/info-card.d.ts +2 -2
- package/dist/types/components.d.ts +4 -4
- package/hydrate/index.js +42 -28
- package/hydrate/index.mjs +42 -28
- package/package.json +1 -1
- package/dist/cjs/digi-calendar_2.cjs.entry.js +0 -490
- package/dist/cjs/digi-expandable-accordion.cjs.entry.js +0 -121
- package/dist/cjs/digi-expandable-faq-item.cjs.entry.js +0 -119
- package/dist/cjs/digi-form-input.cjs.entry.js +0 -205
- package/dist/cjs/digi-form-label_3.cjs.entry.js +0 -147
- package/dist/cjs/digi-form-select_2.cjs.entry.js +0 -201
- package/dist/cjs/digi-icon-chevron-down.cjs.entry.js +0 -28
- package/dist/cjs/digi-icon-validation-error_2.cjs.entry.js +0 -51
- package/dist/cjs/digi-typography-heading-jumbo.cjs.entry.js +0 -46
- package/dist/cjs/digi-util-keydown-handler.cjs.entry.js +0 -81
- package/dist/cjs/expandable-accordion-header-level.enum-CjL9V3Kt.js +0 -11
- package/dist/cjs/expandable-faq-item-variation.enum-aKkYAQgd.js +0 -18
- package/dist/cjs/form-input-search-variation.enum-VVfvlVeM.js +0 -8
- package/dist/cjs/form-input-variation.enum-kpoXNUuI.js +0 -29
- package/dist/cjs/form-select-variation.enum-e6wjWyaS.js +0 -16
- package/dist/cjs/form-validation-message-variation.enum-BA5nmCiw.js +0 -8
- package/dist/cjs/index-Snltmefx.js +0 -174
- package/dist/cjs/index-r0sb9TCr.js +0 -66
- package/dist/cjs/typography-heading-jumbo-variation.enum-Di1Jeh0G.js +0 -17
- package/dist/digi-arbetsformedlingen/p-037a35bd.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-0f7e995a.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-26f6a310.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-3239fb1a.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-3b42582a.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-3c1f9629.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-4384644b.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-4ddcae7b.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-4smNltRI.js +0 -1
- package/dist/digi-arbetsformedlingen/p-569c628c.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-668d38d9.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-66f34ca5.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-6931825c.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-6cb1c6ea.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-71a8478d.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-7688502e.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-91265ee0.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-9a4eecde.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-9df345c4.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-B8hpiXmh.js +0 -1
- package/dist/digi-arbetsformedlingen/p-BBOpiDGx.js +0 -1
- package/dist/digi-arbetsformedlingen/p-BMQm4N5I.js +0 -1
- package/dist/digi-arbetsformedlingen/p-BSJH8Lpg.js +0 -1
- package/dist/digi-arbetsformedlingen/p-BfyJgcLA.js +0 -1
- package/dist/digi-arbetsformedlingen/p-BixPaBHw.js +0 -1
- package/dist/digi-arbetsformedlingen/p-BvWKyXb_.js +0 -1
- package/dist/digi-arbetsformedlingen/p-C6B2KRZo.js +0 -1
- package/dist/digi-arbetsformedlingen/p-CgSR-RTl.js +0 -1
- package/dist/digi-arbetsformedlingen/p-DCS1KcvC.js +0 -1
- package/dist/digi-arbetsformedlingen/p-DNjGvZvz.js +0 -1
- package/dist/digi-arbetsformedlingen/p-DfWZa2Wv.js +0 -1
- package/dist/digi-arbetsformedlingen/p-a9a1bf57.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-beebbc90.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-c7ade486.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-d065e751.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-d07a1377.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-d0b3c35b.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-d150094c.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-df8efa59.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-e2b0b070.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-e7b311da.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-xwICssEK.js +0 -1
- package/dist/esm/digi-calendar_2.entry.js +0 -487
- package/dist/esm/digi-expandable-accordion.entry.js +0 -119
- package/dist/esm/digi-expandable-faq-item.entry.js +0 -117
- package/dist/esm/digi-form-input.entry.js +0 -203
- package/dist/esm/digi-form-label_3.entry.js +0 -143
- package/dist/esm/digi-form-select_2.entry.js +0 -198
- package/dist/esm/digi-icon-chevron-down.entry.js +0 -26
- package/dist/esm/digi-icon-validation-error_2.entry.js +0 -48
- package/dist/esm/digi-typography-heading-jumbo.entry.js +0 -44
- package/dist/esm/digi-util-keydown-handler.entry.js +0 -79
- package/dist/esm/expandable-accordion-header-level.enum-DwNlf6Sh.js +0 -11
- package/dist/esm/expandable-faq-item-variation.enum-C6B2KRZo.js +0 -18
- package/dist/esm/form-input-search-variation.enum-BvWKyXb_.js +0 -8
- package/dist/esm/form-input-variation.enum-DfWZa2Wv.js +0 -29
- package/dist/esm/form-select-variation.enum-DCS1KcvC.js +0 -16
- package/dist/esm/form-validation-message-variation.enum-B8hpiXmh.js +0 -8
- package/dist/esm/index-BixPaBHw.js +0 -170
- package/dist/esm/index-BsIL3T_0.js +0 -63
- package/dist/esm/typography-heading-jumbo-variation.enum-DNjGvZvz.js +0 -17
|
@@ -1,194 +1,10 @@
|
|
|
1
|
-
import { r as registerInstance,
|
|
2
|
-
import { B as BadgeNotificationShape, C as CalendarWeekViewHeadingLevel } from './calendar-week-view-heading-level.enum-BBOpiDGx.js';
|
|
3
|
-
import { r as randomIdGenerator } from './randomIdGenerator.util-BGaIliX6.js';
|
|
4
|
-
import { B as ButtonSize, a as ButtonVariation } from './button-variation.enum-BMQm4N5I.js';
|
|
5
|
-
import { B as ButtonType } from './button-type.enum-DShzaNrQ.js';
|
|
1
|
+
import { r as registerInstance, c as createEvent, h, d as getElement } from './index-BnKuq1L7.js';
|
|
6
2
|
import { _ as _t } from './text-DsO1BTml.js';
|
|
7
|
-
import { t as toInteger, g as getUTCISOWeek,
|
|
3
|
+
import { r as requiredArgs, t as toDate, a as toInteger, g as getUTCISOWeek, b as getUTCWeek, n as getUTCISOWeekYear, d as getUTCWeekYear, l as locale$1, m as isValid, k as getTimezoneOffsetInMilliseconds, j as subMilliseconds, e as longFormatters, i as isProtectedWeekYearToken, f as throwProtectedError, h as isProtectedDayOfYearToken, o as buildFormatLongFn, p as buildLocalizeFn, q as buildMatchFn, u as buildMatchPatternFn } from './index-Cnyfh_8_.js';
|
|
4
|
+
import { r as randomIdGenerator } from './randomIdGenerator.util-BGaIliX6.js';
|
|
8
5
|
import { l as logger } from './logger.util-DdB9j8uV.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
const badgeNotificationCss = () => `.sc-digi-badge-notification-h{--digi--badge-notification--color--text:var(--digi--color--text--secondary);--digi--badge-notification--color--border:var(--digi--color--border--notification);--digi--badge-notification--background-color:var(--digi--color--background--notification);--digi--badge-notification--font-weight:var(--digi--global--typography--font-weight--semibold)}.sc-digi-badge-notification-h .digi-badge-notification.sc-digi-badge-notification{font-size:0.75rem;font-weight:var(--digi--badge-notification--font-weight);border-width:var(--digi--border-width--secondary);border-style:solid;color:var(--digi--badge-notification--color--text);background-color:var(--digi--badge-notification--background-color);border-color:var(--BORDER-COLOR)}.sc-digi-badge-notification-h .digi-badge-notification--circle.sc-digi-badge-notification{--BORDER-COLOR:var(--digi--badge-notification--color--border);display:flex;justify-content:center;align-items:center;white-space:nowrap;text-align:center;border-radius:50%;height:1.25rem;width:1.25rem}.sc-digi-badge-notification-h .digi-badge-notification--oval.sc-digi-badge-notification{--BORDER-COLOR:var(--digi--badge-notification--color--border);display:flex;justify-content:center;align-items:center;white-space:nowrap;text-align:center;border-radius:0.75rem;height:1.125rem;width:1.5625rem;padding-left:0.25rem;padding-right:0.25rem}.sc-digi-badge-notification-h .digi-badge-notification--pill.sc-digi-badge-notification{--BORDER-COLOR:var(--digi--badge-notification--color--border);display:inline-block;padding-left:0.5rem;padding-right:0.5rem;border-radius:0.75rem;height:1.125rem}`;
|
|
13
|
-
|
|
14
|
-
const BadgeNotification = class {
|
|
15
|
-
constructor(hostRef) {
|
|
16
|
-
registerInstance(this, hostRef);
|
|
17
|
-
this.afShape = BadgeNotificationShape.PILL;
|
|
18
|
-
/**
|
|
19
|
-
* Värdet som ska skrivas ut i notifieringen.
|
|
20
|
-
* @en The value to be displayed in the badge.
|
|
21
|
-
*/
|
|
22
|
-
this.afValue = '';
|
|
23
|
-
}
|
|
24
|
-
afValueChangeHandler() {
|
|
25
|
-
this.checkProps();
|
|
26
|
-
}
|
|
27
|
-
get cssModifiers() {
|
|
28
|
-
return {
|
|
29
|
-
'digi-badge-notification--circle': this.afShape === BadgeNotificationShape.CIRCLE,
|
|
30
|
-
'digi-badge-notification--oval': this.afShape === BadgeNotificationShape.OVAL,
|
|
31
|
-
'digi-badge-notification--pill': this.afShape === BadgeNotificationShape.PILL
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
componentWillLoad() {
|
|
35
|
-
this.checkProps();
|
|
36
|
-
}
|
|
37
|
-
checkProps() {
|
|
38
|
-
let valueAsNumber;
|
|
39
|
-
if (this.afValue !== null &&
|
|
40
|
-
this.afValue !== undefined &&
|
|
41
|
-
this.afValue !== '') {
|
|
42
|
-
valueAsNumber = Number(this.afValue);
|
|
43
|
-
}
|
|
44
|
-
if (!isNaN(valueAsNumber)) {
|
|
45
|
-
if (valueAsNumber >= 100) {
|
|
46
|
-
this.afValue = '+99';
|
|
47
|
-
this.afShape = BadgeNotificationShape.PILL;
|
|
48
|
-
}
|
|
49
|
-
else if (valueAsNumber < 100 && valueAsNumber >= 10) {
|
|
50
|
-
this.afShape = BadgeNotificationShape.OVAL;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.afShape = BadgeNotificationShape.CIRCLE;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
this.afShape = BadgeNotificationShape.PILL;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
render() {
|
|
61
|
-
return (h(Host, { key: '2a3f82fe0bf3d3b43ee858a0184fb7d0045656f7' }, h("div", { key: 'f652cc5b76bdc72b4778fd16a1a9d270fe2400ea', class: Object.assign({ 'digi-badge-notification': true }, this.cssModifiers), "aria-label": this.afAriaLabel }, h("div", { key: 'ece907bc0004e24eafd221ead41300f7acd803ea', class: `${this.afShape}` }, h("span", { key: 'c83210ebbbcad768073095e52b601adc80a0645d' }, this.afValue)))));
|
|
62
|
-
}
|
|
63
|
-
static get watchers() { return {
|
|
64
|
-
"afValue": [{
|
|
65
|
-
"afValueChangeHandler": 0
|
|
66
|
-
}]
|
|
67
|
-
}; }
|
|
68
|
-
};
|
|
69
|
-
BadgeNotification.style = badgeNotificationCss();
|
|
70
|
-
|
|
71
|
-
const buttonCss = () => `@charset "UTF-8";.sc-digi-button-h{--digi--button--color--background--primary--default:var(--digi--color--background--interactive--default--primary);--digi--button--color--background--primary--hover:var(--digi--color--background--interactive--hover--primary);--digi--button--color--background--primary--focus:var(--digi--color--background--interactive--hover--primary);--digi--button--color--background--primary--active:var(--digi--color--background--interactive--hover--primary);--digi--button--color--background--secondary--default:var(--digi--color--background--interactive--default--secondary);--digi--button--color--background--secondary--hover:var(--digi--color--background--interactive--hover--secondary);--digi--button--color--background--secondary--focus:var(--digi--color--background--interactive--hover--secondary);--digi--button--color--background--secondary--active:var(--digi--color--background--interactive--hover--secondary);--digi--button--color--background--function--default:transparent;--digi--button--color--background--function--hover:transparent;--digi--button--color--background--function--focus:transparent;--digi--button--color--background--function--active:transparent;--digi--button--color--text--primary--default:var(--digi--color--text--interactive--secondary);--digi--button--color--text--primary--hover:var(--digi--color--text--interactive--secondary);--digi--button--color--text--primary--focus:var(--digi--color--text--interactive--secondary);--digi--button--color--text--primary--active:var(--digi--color--text--interactive--secondary);--digi--button--color--text--secondary--default:var(--digi--color--text--interactive--brand-primary);--digi--button--color--text--secondary--hover:var(--digi--color--text--interactive--brand-primary);--digi--button--color--text--secondary--focus:var(--digi--color--text--interactive--brand-primary);--digi--button--color--text--secondary--active:var(--digi--color--text--interactive--brand-primary);--digi--button--color--text--function--default:var(--digi--color--text--interactive--primary);--digi--button--color--text--function--hover:var(--digi--color--text--interactive--primary);--digi--button--color--text--function--focus:var(--digi--color--text--interactive--primary);--digi--button--color--text--function--active:var(--digi--color--text--interactive--primary);--digi--button--color--border--primary--default:var(--digi--color--background--interactive--default--primary);--digi--button--color--border--primary--hover:var(--digi--color--background--interactive--hover--primary);--digi--button--color--border--primary--focus:var(--digi--color--background--interactive--default--primary);--digi--button--color--border--primary--active:var(--digi--color--background--interactive--default--primary);--digi--button--color--border--secondary--default:var(--digi--color--border--interactive--default--primary);--digi--button--color--border--secondary--hover:var(--digi--color--border--interactive--hover--secondary);--digi--button--color--border--secondary--focus:var(--digi--color--border--interactive--default--primary);--digi--button--color--border--secondary--active:var(--digi--color--border--interactive--default--primary);--digi--button--color--border--function--default:initial;--digi--button--color--border--function--hover:initial;--digi--button--color--border--function--focus:initial;--digi--button--color--border--function--active:initial;--digi--button--color--icon--primary--default:var(--digi--color--icon--secondary);--digi--button--color--icon--primary--hover:var(--digi--color--icon--secondary);--digi--button--color--icon--primary--focus:var(--digi--color--icon--secondary);--digi--button--color--icon--primary--active:var(--digi--color--icon--secondary);--digi--button--color--icon--secondary--default:var(--digi--color--icon--brand-primary);--digi--button--color--icon--secondary--hover:var(--digi--color--icon--brand-primary);--digi--button--color--icon--secondary--focus:var(--digi--color--icon--brand-primary);--digi--button--color--icon--secondary--active:var(--digi--color--icon--brand-primary);--digi--button--color--icon--function--default:var(--digi--color--icon--cta);--digi--button--color--icon--function--hover:var(--digi--color--icon--cta);--digi--button--color--icon--function--focus:var(--digi--color--icon--cta);--digi--button--color--icon--function--active:var(--digi--color--icon--cta);--digi--button--border-width--primary--default:var(--digi--border-width--primary);--digi--button--border-width--primary--hover:var(--digi--border-width--primary);--digi--button--border-width--secondary--default:var(--digi--border-width--primary);--digi--button--border-width--secondary--hover:var(--digi--border-width--primary);--digi--button--border-width--function--default:initial;--digi--button--border-width--function--hover:initial;--digi--button--border-style--primary--default:var(--digi--border-style--primary);--digi--button--border-style--primary--hover:var(--digi--border-style--primary);--digi--button--border-style--primary--focus:var(--digi--border-style--primary);--digi--button--border-style--primary--active:var(--digi--border-style--primary);--digi--button--border-style--secondary--default:var(--digi--border-style--primary);--digi--button--border-style--secondary--hover:var(--digi--border-style--primary);--digi--button--border-style--secondary--focus:var(--digi--border-style--primary);--digi--button--border-style--secondary--active:var(--digi--border-style--primary);--digi--button--border-style--function--default:var(--digi--border-style--secondary);--digi--button--border-style--function--hover:var(--digi--border-style--secondary);--digi--button--border-style--function--focus:var(--digi--border-style--secondary);--digi--button--border-style--function--active:var(--digi--border-style--secondary);--digi--button--border-radius--primary--default:var(--digi--border-radius--secondary);--digi--button--border-radius--primary--hover:var(--digi--border-radius--secondary);--digi--button--border-radius--primary--focus:var(--digi--border-radius--secondary);--digi--button--border-radius--primary--active:var(--digi--border-radius--secondary);--digi--button--border-radius--secondary--default:var(--digi--border-radius--secondary);--digi--button--border-radius--secondary--hover:var(--digi--border-radius--secondary);--digi--button--border-radius--secondary--focus:var(--digi--border-radius--secondary);--digi--button--border-radius--secondary--active:var(--digi--border-radius--secondary);--digi--button--border-radius--function--default:initial;--digi--button--border-radius--function--hover:initial;--digi--button--border-radius--function--focus:initial;--digi--button--border-radius--function--active:initial;--digi--button--padding--small:var(--digi--gutter--button-block-small) var(--digi--gutter--button-inline-small);--digi--button--padding--medium:var(--digi--gutter--button-block-medium) var(--digi--gutter--button-inline-medium);--digi--button--padding--large:var(--digi--gutter--button-block-large) var(--digi--gutter--button-inline-large);--digi--button--font-size--small:var(--digi--global--typography--font-size--interaction-small);--digi--button--font-size--medium:var(--digi--global--typography--font-size--interaction-medium);--digi--button--font-family:var(--digi--global--typography--font-family--default);--digi--button--font-weight--default:var(--digi--typography--button--font-weight--desktop);--digi--button--font-weight--function:var(--digi--typography--label--font-weight--desktop);--digi--button--width:initial;--digi--button--display:initial;--digi--button--justify-content--default:initial;--digi--button--justify-content--full-width:center;--digi--button--align-items:center;--digi--button--text-align--default:initial;--digi--button--text-align--full-width:center;--digi--button--outline--default:initial;--digi--button--outline--focus:initial;--digi--button--box-shadow:none;--digi--button--cursor:pointer;--digi--button--icon--spacing:var(--digi--gutter--large);--digi--button--min-height--small:unset}.sc-digi-button-h .digi-button--variation-primary.sc-digi-button{--COLOR--BACKGROUND--DEFAULT:var(--digi--button--color--background--primary--default);--COLOR--BACKGROUND--HOVER:var(--digi--button--color--background--primary--hover);--COLOR--BACKGROUND--FOCUS:var(--digi--button--color--background--primary--focus);--COLOR--BACKGROUND--ACTIVE:var(--digi--button--color--background--primary--active);--COLOR--TEXT--DEFAULT:var(--digi--button--color--text--primary--default);--COLOR--TEXT--HOVER:var(--digi--button--color--text--primary--hover);--COLOR--TEXT--FOCUS:var(--digi--button--color--text--primary--focus);--COLOR--TEXT--ACTIVE:var(--digi--button--color--text--primary--active);--COLOR--ICON--DEFAULT:var(--digi--button--color--icon--primary--default);--COLOR--ICON--HOVER:var(--digi--button--color--icon--primary--hover);--COLOR--ICON--FOCUS:var(--digi--button--color--icon--primary--focus);--COLOR--ICON--ACTIVE:var(--digi--button--color--icon--primary--active);--COLOR--BORDER--DEFAULT:var(--digi--button--color--border--primary--default);--COLOR--BORDER--HOVER:var(--digi--button--color--border--primary--hover);--COLOR--BORDER--FOCUS:var(--digi--button--color--border--primary--focus);--COLOR--BORDER--ACTIVE:var(--digi--button--color--border--primary--active);--BORDER-RADIUS--DEFAULT:var(--digi--button--border-radius--primary--default);--BORDER-RADIUS--HOVER:var(--digi--button--border-radius--primary--hover);--BORDER-RADIUS--FOCUS:var(--digi--button--border-radius--primary--focus);--BORDER-RADIUS--ACTIVE:var(--digi--button--border-radius--primary--active);--BORDER-WIDTH--DEFAULT:var(--digi--button--border-width--primary--default);--BORDER-WIDTH--HOVER:var(--digi--button--border-width--primary--hover);--BORDER-WIDTH--FOCUS:var(--digi--button--border-width--primary--focus);--BORDER-WIDTH--ACTIVE:var(--digi--button--border-width--primary--active);--BORDER-STYLE--DEFAULT:var(--digi--button--border-style--primary--default);--BORDER-STYLE--HOVER:var(--digi--button--border-style--primary--hover);--BORDER-STYLE--FOCUS:var(--digi--button--border-style--primary--focus);--BORDER-STYLE--ACTIVE:var(--digi--button--border-style--primary--active);--FONT-WEIGHT:var(--digi--button--font-weight--default)}.sc-digi-button-h .digi-button--variation-secondary.sc-digi-button{--COLOR--BACKGROUND--DEFAULT:var(--digi--button--color--background--secondary--default);--COLOR--BACKGROUND--HOVER:var(--digi--button--color--background--secondary--hover);--COLOR--BACKGROUND--FOCUS:var(--digi--button--color--background--secondary--focus);--COLOR--BACKGROUND--ACTIVE:var(--digi--button--color--background--secondary--active);--COLOR--TEXT--DEFAULT:var(--digi--button--color--text--secondary--default);--COLOR--TEXT--HOVER:var(--digi--button--color--text--secondary--hover);--COLOR--TEXT--FOCUS:var(--digi--button--color--text--secondary--focus);--COLOR--TEXT--ACTIVE:var(--digi--button--color--text--secondary--active);--COLOR--ICON--DEFAULT:var(--digi--button--color--icon--secondary--default);--COLOR--ICON--HOVER:var(--digi--button--color--icon--secondary--hover);--COLOR--ICON--FOCUS:var(--digi--button--color--icon--secondary--focus);--COLOR--ICON--ACTIVE:var(--digi--button--color--icon--secondary--active);--COLOR--BORDER--DEFAULT:var(--digi--button--color--border--secondary--default);--COLOR--BORDER--HOVER:var(--digi--button--color--border--secondary--hover);--COLOR--BORDER--FOCUS:var(--digi--button--color--border--secondary--focus);--COLOR--BORDER--ACTIVE:var(--digi--button--color--border--secondary--active);--BORDER-RADIUS--DEFAULT:var(--digi--button--border-radius--secondary--default);--BORDER-RADIUS--HOVER:var(--digi--button--border-radius--secondary--hover);--BORDER-RADIUS--FOCUS:var(--digi--button--border-radius--secondary--focus);--BORDER-RADIUS--ACTIVE:var(--digi--button--border-radius--secondary--active);--BORDER-WIDTH--DEFAULT:var(--digi--button--border-width--secondary--default);--BORDER-WIDTH--HOVER:var(--digi--button--border-width--secondary--hover);--BORDER-WIDTH--FOCUS:var(--digi--button--border-width--secondary--focus);--BORDER-WIDTH--ACTIVE:var(--digi--button--border-width--secondary--active);--BORDER-STYLE--DEFAULT:var(--digi--button--border-style--secondary--default);--BORDER-STYLE--HOVER:var(--digi--button--border-style--secondary--hover);--BORDER-STYLE--FOCUS:var(--digi--button--border-style--secondary--focus);--BORDER-STYLE--ACTIVE:var(--digi--button--border-style--secondary--active);--FONT-WEIGHT:var(--digi--button--font-weight--default)}.sc-digi-button-h .digi-button--variation-function.sc-digi-button{--COLOR--BACKGROUND--DEFAULT:var(--digi--button--color--background--function--default);--COLOR--BACKGROUND--HOVER:var(--digi--button--color--background--function--hover);--COLOR--BACKGROUND--FOCUS:var(--digi--button--color--background--function--focus);--COLOR--BACKGROUND--ACTIVE:var(--digi--button--color--background--function--active);--COLOR--TEXT--DEFAULT:var(--digi--button--color--text--function--default);--COLOR--TEXT--HOVER:var(--digi--button--color--text--function--hover);--COLOR--TEXT--FOCUS:var(--digi--button--color--text--function--focus);--COLOR--TEXT--ACTIVE:var(--digi--button--color--text--function--active);--COLOR--ICON--DEFAULT:var(--digi--button--color--icon--function--default);--COLOR--ICON--HOVER:var(--digi--button--color--icon--function--hover);--COLOR--ICON--FOCUS:var(--digi--button--color--icon--function--focus);--COLOR--ICON--ACTIVE:var(--digi--button--color--icon--function--active);--COLOR--BORDER--DEFAULT:var(--digi--button--color--border--function--default);--COLOR--BORDER--HOVER:var(--digi--button--color--border--function--hover);--COLOR--BORDER--FOCUS:var(--digi--button--color--border--function--focus);--COLOR--BORDER--ACTIVE:var(--digi--button--color--border--function--active);--BORDER-RADIUS--DEFAULT:var(--digi--button--border-radius--function--default);--BORDER-RADIUS--HOVER:var(--digi--button--border-radius--function--hover);--BORDER-RADIUS--FOCUS:var(--digi--button--border-radius--function--focus);--BORDER-RADIUS--ACTIVE:var(--digi--button--border-radius--function--active);--BORDER-WIDTH--DEFAULT:var(--digi--button--border-width--function--default);--BORDER-WIDTH--HOVER:var(--digi--button--border-width--function--hover);--BORDER-WIDTH--FOCUS:var(--digi--button--border-width--function--focus);--BORDER-WIDTH--ACTIVE:var(--digi--button--border-width--function--active);--BORDER-STYLE--DEFAULT:var(--digi--button--border-style--function--default);--BORDER-STYLE--HOVER:var(--digi--button--border-style--function--hover);--BORDER-STYLE--FOCUS:var(--digi--button--border-style--function--focus);--BORDER-STYLE--ACTIVE:var(--digi--button--border-style--function--active);--FONT-WEIGHT:var(--digi--button--font-weight--function)}.sc-digi-button-h .digi-button--variation-function.sc-digi-button:hover,.sc-digi-button-h .digi-button--variation-function.sc-digi-button:focus{text-decoration:underline}.sc-digi-button-h .digi-button--size-small.sc-digi-button{--FONT-SIZE:var(--digi--button--font-size--small);--PADDING:var(--digi--button--padding--small);--MIN-HEIGHT:var(--digi--button--min-height--small)}.sc-digi-button-h .digi-button--size-medium.sc-digi-button{--FONT-SIZE:var(--digi--button--font-size--medium);--PADDING:var(--digi--button--padding--medium);--MIN-HEIGHT:var(--digi--button--min-height--small)}.sc-digi-button-h .digi-button--size-large.sc-digi-button{--FONT-SIZE:var(--digi--button--font-size--large);--PADDING:var(--digi--button--padding--large);--MIN-HEIGHT:var(--digi--button--min-height--small)}.sc-digi-button-h .digi-button.sc-digi-button-s>[slot^=icon],.sc-digi-button-h .digi-button .sc-digi-button-s>[slot^=icon]{--digi--icon--height:1em;--digi--icon--width:1em;--digi--icon--color:var(--COLOR--ICON--DEFAULT);min-height:0}.sc-digi-button-h .digi-button.sc-digi-button{font-family:var(--digi--button--font-family);background:var(--COLOR--BACKGROUND--DEFAULT);color:var(--COLOR--TEXT--DEFAULT);padding:var(--PADDING);border-radius:var(--BORDER-RADIUS--DEFAULT);border-width:var(--BORDER-WIDTH--DEFAULT);border-style:var(--BORDER-STYLE--DEFAULT);border-color:var(--COLOR--BORDER--DEFAULT);font-weight:var(--FONT-WEIGHT);font-size:var(--FONT-SIZE);outline:var(--digi--button--outline--default);box-shadow:var(--digi--button--box-shadow);text-align:var(--digi--button--text-align--default);width:var(--digi--button--width);display:var(--digi--button--display);justify-content:var(--digi--button--justify-content--default);cursor:var(--digi--button--cursor);min-height:var(--MIN-HEIGHT);align-items:var(--digi--button--align-items);white-space:nowrap}@media (any-hover: hover){.sc-digi-button-h .digi-button.sc-digi-button:hover{background:var(--COLOR--BACKGROUND--HOVER);border-radius:var(--BORDER-RADIUS--HOVER);border-width:var(--BORDER-WIDTH--HOVER);border-style:var(--BORDER-STYLE--HOVER);border-color:var(--COLOR--BORDER--HOVER);color:var(--COLOR--TEXT--HOVER)}.sc-digi-button-h .digi-button:hover.sc-digi-button-s>[slot^=icon],.sc-digi-button-h .digi-button:hover .sc-digi-button-s>[slot^=icon]{--digi--icon--color:var(--COLOR--ICON--HOVER)}}.sc-digi-button-h .digi-button.sc-digi-button:focus-visible{background:var(--COLOR--BACKGROUND--FOCUS);color:var(--COLOR--TEXT--FOCUS);border-style:var(--BORDER-STYLE--FOCUS);border-color:var(--COLOR--BORDER--FOCUS);outline:2px solid black;outline-offset:2px;box-shadow:0px 0px 0px 5px white}.sc-digi-button-h .digi-button:focus-visible.sc-digi-button-s>[slot^=icon],.sc-digi-button-h .digi-button:focus-visible .sc-digi-button-s>[slot^=icon]{--digi--icon--color:var(--COLOR--ICON--FOCUS)}.sc-digi-button-h .digi-button.sc-digi-button:active{background:var(--COLOR--BACKGROUND--ACTIVE);color:var(--COLOR--TEXT--ACTIVE)}.sc-digi-button-h .digi-button:active.sc-digi-button-s>[slot^=icon],.sc-digi-button-h .digi-button:active .sc-digi-button-s>[slot^=icon]{--digi--icon--color:var(--COLOR--ICON--ACTIVE)}.sc-digi-button-h .digi-button--icon.sc-digi-button,.sc-digi-button-h .digi-button--icon-secondary.sc-digi-button{--digi--button--display:flex;align-items:center;justify-content:var(--digi--button--justify-content--default);gap:var(--digi--button--icon--spacing)}.sc-digi-button-h .digi-button--full-width.sc-digi-button{--digi--button--width:100%;--digi--button--text-align--default:var(--digi--button--text-align--full-width);--digi--button--justify-content--default:var(--digi--button--justify-content--full-width)}`;
|
|
72
|
-
|
|
73
|
-
const Button = class {
|
|
74
|
-
constructor(hostRef) {
|
|
75
|
-
registerInstance(this, hostRef);
|
|
76
|
-
this.afOnClick = createEvent(this, "afOnClick", 7);
|
|
77
|
-
this.afOnFocus = createEvent(this, "afOnFocus", 7);
|
|
78
|
-
this.afOnBlur = createEvent(this, "afOnBlur", 7);
|
|
79
|
-
this.afOnReady = createEvent(this, "afOnReady", 3);
|
|
80
|
-
/**
|
|
81
|
-
* Sätter knappens storlek. 'medium' är förvalt.
|
|
82
|
-
* @en Set button size. Defaults to medium size.
|
|
83
|
-
*/
|
|
84
|
-
this.afSize = ButtonSize.MEDIUM;
|
|
85
|
-
/**
|
|
86
|
-
* Sätt variant. Om varianten är 'tertiary' så krävs även en ikon.
|
|
87
|
-
* @en Set button variation. If set to FUNCTION, the button also needs an icon.
|
|
88
|
-
*/
|
|
89
|
-
this.afVariation = ButtonVariation.PRIMARY;
|
|
90
|
-
/**
|
|
91
|
-
* Sätt attributet 'type'.
|
|
92
|
-
* @en Set button `type` attribute.
|
|
93
|
-
*/
|
|
94
|
-
this.afType = ButtonType.BUTTON;
|
|
95
|
-
/**
|
|
96
|
-
* Sätter attributet 'id'. Om inget väljs så skapas ett slumpmässigt id.
|
|
97
|
-
* @en Input id attribute. Defaults to random string.
|
|
98
|
-
*/
|
|
99
|
-
this.afId = randomIdGenerator('digi-button');
|
|
100
|
-
/**
|
|
101
|
-
* Sätter knappens bredd till 100%.
|
|
102
|
-
* @en Set button width to 100%.
|
|
103
|
-
*/
|
|
104
|
-
this.afFullWidth = false;
|
|
105
|
-
}
|
|
106
|
-
fullWidthHandler() {
|
|
107
|
-
this.isFullSize = this.afFullWidth;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Hämta en referens till buttonelementet. Bra för att t.ex. sätta fokus programmatiskt.
|
|
111
|
-
* @en Returns a reference to the button element. Handy for setting focus programmatically.
|
|
112
|
-
*/
|
|
113
|
-
async afMGetButtonElement() {
|
|
114
|
-
return this._button;
|
|
115
|
-
}
|
|
116
|
-
componentWillLoad() {
|
|
117
|
-
this.setHasIcon();
|
|
118
|
-
this.fullWidthHandler();
|
|
119
|
-
}
|
|
120
|
-
componentWillUpdate() {
|
|
121
|
-
this.setHasIcon();
|
|
122
|
-
}
|
|
123
|
-
componentDidLoad() {
|
|
124
|
-
this.afOnReady.emit();
|
|
125
|
-
}
|
|
126
|
-
setHasIcon() {
|
|
127
|
-
const icon = !!this.hostElement.querySelector('[slot="icon"]');
|
|
128
|
-
const iconSecondary = !!this.hostElement.querySelector('[slot="icon-secondary"]');
|
|
129
|
-
if (icon) {
|
|
130
|
-
this.hasIcon = icon;
|
|
131
|
-
}
|
|
132
|
-
if (iconSecondary) {
|
|
133
|
-
this.hasIconSecondary = iconSecondary;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
get cssModifiers() {
|
|
137
|
-
return {
|
|
138
|
-
[`digi-button--variation-${this.afVariation}`]: !!this.afVariation,
|
|
139
|
-
[`digi-button--size-${this.afSize}`]: !!this.afSize,
|
|
140
|
-
'digi-button--icon': this.hasIcon,
|
|
141
|
-
'digi-button--icon-secondary': this.hasIconSecondary,
|
|
142
|
-
'digi-button--full-width': this.isFullSize
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
get pressedState() {
|
|
146
|
-
if (this.afAriaPressed === null || this.afAriaPressed === undefined) {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
return this.afAriaPressed ? 'true' : 'false';
|
|
150
|
-
}
|
|
151
|
-
get expandedState() {
|
|
152
|
-
if (this.afAriaExpanded === null || this.afAriaExpanded === undefined) {
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
return this.afAriaExpanded ? 'true' : 'false';
|
|
156
|
-
}
|
|
157
|
-
get hasPopup() {
|
|
158
|
-
if (this.afAriaHaspopup === null || this.afAriaHaspopup === undefined) {
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
return this.afAriaHaspopup ? 'true' : 'false';
|
|
162
|
-
}
|
|
163
|
-
clickHandler(e) {
|
|
164
|
-
this.afOnClick.emit(e);
|
|
165
|
-
}
|
|
166
|
-
focusHandler(e) {
|
|
167
|
-
this.afOnFocus.emit(e);
|
|
168
|
-
}
|
|
169
|
-
blurHandler(e) {
|
|
170
|
-
this.afOnBlur.emit(e);
|
|
171
|
-
}
|
|
172
|
-
render() {
|
|
173
|
-
return (h(Host, { key: '3a398d75ad83e3caa9ec54928544d5bf8315d30f' }, h("button", { key: '2159552d7e8064acbb6da5c02c28ead3d4985e85', class: Object.assign({ 'digi-button': true }, this.cssModifiers), type: this.afType, role: this.afRole, ref: (el) => {
|
|
174
|
-
var _a, _b, _c;
|
|
175
|
-
this._button = el;
|
|
176
|
-
(_a = this === null || this === void 0 ? void 0 : this.afInputRef) === null || _a === void 0 ? void 0 : _a.call(this, el);
|
|
177
|
-
// Stencil has a bug wiith form attribute so we need to set it like this
|
|
178
|
-
// https://github.com/ionic-team/stencil/issues/2703
|
|
179
|
-
this.afForm
|
|
180
|
-
? (_b = this._button) === null || _b === void 0 ? void 0 : _b.setAttribute('form', this.afForm)
|
|
181
|
-
: (_c = this._button) === null || _c === void 0 ? void 0 : _c.removeAttribute('form');
|
|
182
|
-
}, id: this.afId, tabindex: this.afTabindex, "aria-label": this.afAriaLabel, "aria-labelledby": this.afAriaLabelledby, "aria-controls": this.afAriaControls, "aria-pressed": this.pressedState, "aria-expanded": this.expandedState, "aria-haspopup": this.hasPopup, "aria-current": this.afAriaCurrent, "aria-checked": this.afAriaChecked, onClick: (e) => this.clickHandler(e), onFocus: (e) => this.focusHandler(e), onBlur: (e) => this.blurHandler(e), autoFocus: this.afAutofocus ? this.afAutofocus : null, form: this.afForm, lang: this.afLang, dir: this.afDir }, this.hasIcon && (h("span", { key: '1188d5cb005a51e4e065b70663d06877db3a1477', class: "digi-button__icon" }, h("slot", { key: 'f90319563c18e1f82fa13f478b4d4d13ce3e9bf7', name: "icon" }))), h("span", { key: '17dce8eed2e845ca6166cf85a1c0252c2c0b8037', class: "digi-button__text" }, h("slot", { key: '2f637e48b837ecd0f0f2333349f328c497aee650' })), this.hasIconSecondary && (h("span", { key: '49ffd3361b0cc00c074e1ce332dab2de33127fcc', class: "digi-button__icon digi-button__icon--secondary" }, h("slot", { key: '367d3ba37e2fd0b7e83d600f35d02d4df303c1c0', name: "icon-secondary" }))))));
|
|
183
|
-
}
|
|
184
|
-
get hostElement() { return getElement(this); }
|
|
185
|
-
static get watchers() { return {
|
|
186
|
-
"afFullWidth": [{
|
|
187
|
-
"fullWidthHandler": 0
|
|
188
|
-
}]
|
|
189
|
-
}; }
|
|
190
|
-
};
|
|
191
|
-
Button.style = buttonCss();
|
|
6
|
+
import { B as ButtonVariation } from './button-variation.enum-y5Nm4oWF.js';
|
|
7
|
+
import { C as CalendarWeekViewHeadingLevel } from './calendar-week-view-heading-level.enum-DH_-wpLB.js';
|
|
192
8
|
|
|
193
9
|
/**
|
|
194
10
|
* @name addDays
|
|
@@ -2502,386 +2318,4 @@ const CalendarWeekView = class {
|
|
|
2502
2318
|
};
|
|
2503
2319
|
CalendarWeekView.style = calendarWeekViewCss();
|
|
2504
2320
|
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
const IconChevronLeft = class {
|
|
2508
|
-
constructor(hostRef) {
|
|
2509
|
-
registerInstance(this, hostRef);
|
|
2510
|
-
/**
|
|
2511
|
-
* För att dölja ikonen för skärmläsare. Default är satt till true.
|
|
2512
|
-
* @en Hides the icon for screen readers. Default is set to true.
|
|
2513
|
-
*/
|
|
2514
|
-
this.afSvgAriaHidden = true;
|
|
2515
|
-
this.titleId = randomIdGenerator('icontitle');
|
|
2516
|
-
}
|
|
2517
|
-
render() {
|
|
2518
|
-
return (h("svg", { key: 'def846a254699c1487c6650595a307d69570b03b', class: "digi-icon-chevron-left", width: "9", height: "14", viewBox: "0 0 9 14", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": this.afSvgAriaHidden ? 'true' : 'false', "aria-labelledby": this.afSvgAriaLabelledby
|
|
2519
|
-
? this.afSvgAriaLabelledby
|
|
2520
|
-
: this.afTitle
|
|
2521
|
-
? this.titleId
|
|
2522
|
-
: undefined }, this.afTitle && h("title", { key: '07e54926302b1524b1040b2a807060670448c0f8', id: this.titleId }, this.afTitle), this.afDesc && h("desc", { key: 'af3cae8cfe1b8451e4698e1ec43aeb52122d0f81' }, this.afDesc), h("path", { key: 'd98281b3481fbbc3853c5a34d1fdd35f58b0056c', class: "digi-icon-chevron-left__shape", d: "M8 13L2 6.926 7.853 1", stroke: "currentColor", "stroke-width": "2", fill: "none", "fill-rule": "evenodd" })));
|
|
2523
|
-
}
|
|
2524
|
-
};
|
|
2525
|
-
IconChevronLeft.style = iconChevronLeftCss();
|
|
2526
|
-
|
|
2527
|
-
const iconChevronRightCss = () => `.sc-digi-icon-chevron-right-h{--digi--icon--color:var(--digi--color--icon--primary);--digi--icon--width:initial;--digi--icon--height:auto;display:flex;min-height:1.4em;align-items:center}.sc-digi-icon-chevron-right-h svg.sc-digi-icon-chevron-right{color:var(--digi--icon--color);max-width:var(--digi--icon--width);max-height:var(--digi--icon--height);width:var(--digi--icon--width, auto);height:var(--digi--icon--height, auto)}`;
|
|
2528
|
-
|
|
2529
|
-
const IconChevronRight = class {
|
|
2530
|
-
constructor(hostRef) {
|
|
2531
|
-
registerInstance(this, hostRef);
|
|
2532
|
-
/**
|
|
2533
|
-
* För att dölja ikonen för skärmläsare. Default är satt till true.
|
|
2534
|
-
* @en Hides the icon for screen readers. Default is set to true.
|
|
2535
|
-
*/
|
|
2536
|
-
this.afSvgAriaHidden = true;
|
|
2537
|
-
this.titleId = randomIdGenerator('icontitle');
|
|
2538
|
-
}
|
|
2539
|
-
render() {
|
|
2540
|
-
return (h("svg", { key: '8a7349c8865c737830b6af0e3ea9aa7c6bd50f6f', class: "digi-icon-chevron-right", width: "9", height: "14", viewBox: "0 0 9 14", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": this.afSvgAriaHidden ? 'true' : 'false', "aria-labelledby": this.afSvgAriaLabelledby
|
|
2541
|
-
? this.afSvgAriaLabelledby
|
|
2542
|
-
: this.afTitle
|
|
2543
|
-
? this.titleId
|
|
2544
|
-
: undefined }, this.afTitle && h("title", { key: '83176271f8248b1ad42e1e5baf2f31ddc244cb0a', id: this.titleId }, this.afTitle), this.afDesc && h("desc", { key: 'c22c051704141e87412e98ab3733afab36bf0bf3' }, this.afDesc), h("path", { key: '5f3f04a5512ca21c49e25797401bf68ac726c9d7', class: "digi-icon-chevron-right__shape", d: "M1 13l6-6.074L1.147 1", stroke: "currentColor", "stroke-width": "2", fill: "none", "fill-rule": "evenodd" })));
|
|
2545
|
-
}
|
|
2546
|
-
};
|
|
2547
|
-
IconChevronRight.style = iconChevronRightCss();
|
|
2548
|
-
|
|
2549
|
-
const navigationTablistCss = () => `.sc-digi-tablist-h{--tab-active-border-color:var(--digi--color--marking--navigation--selected);--tab-text-color:var(--digi--color--text--primary);--tab-icon-primary--color:var(--digi--color--icon--primary);--tab-icon-primary--color-hover:var(--digi--color--icon--primary);--tab-icon-primary--color-active:var(--digi--color--icon--primary)}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist{font-family:var(--digi--global--typography--font-family--default);color:var(--digi--color--text--primary);position:relative;display:flex;gap:1rem;background-color:var(--digi--color--background--primary);margin-bottom:2.875rem;border-bottom:1px solid var(--digi--color--divider--secondary)}.sc-digi-tablist-h .digi-tablist--overflow-scroll.sc-digi-tablist .control-wrapper.sc-digi-tablist{display:none !important}.sc-digi-tablist-h .digi-tablist--overflow-scroll.sc-digi-tablist [role=tablist].sc-digi-tablist{overflow-x:auto}.sc-digi-tablist-h .digi-tablist--overflow-controls.sc-digi-tablist [role=tablist].sc-digi-tablist{overflow-x:hidden}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist button.sc-digi-tablist{background:none;border:none;padding:0;font-family:inherit}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist [role=tablist].sc-digi-tablist{display:flex;font-weight:bold;flex-grow:1;width:100%}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .control-wrapper.sc-digi-tablist{position:absolute;z-index:20;display:flex;align-items:center;justify-content:center;height:100%}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .control-wrapper.sc-digi-tablist .tab-control-button.sc-digi-tablist{display:flex;align-items:center;justify-content:center;background-color:var(--digi--color--background--interactive--default--tertiary);border-radius:6px;min-height:auto;padding:0.75rem;aspect-ratio:1;cursor:pointer}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .control-wrapper.sc-digi-tablist .tab-control-button.sc-digi-tablist digi-icon-chevron-right.sc-digi-tablist,.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .control-wrapper.sc-digi-tablist .tab-control-button.sc-digi-tablist digi-icon-chevron-left.sc-digi-tablist{--digi--icon--color:var(--digi--color--icon--cta)}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist{cursor:pointer;white-space:nowrap}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist .content-wrapper.sc-digi-tablist{position:relative;height:2.75rem;display:flex;flex-direction:column;transition:background-color 0.1s linear}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist .tablist-content.sc-digi-tablist{flex:1;display:flex;padding-right:0.75rem;padding-left:0.75rem}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist [class*=digi-icon-].sc-digi-tablist:not(svg){--digi--icon--width:1rem;--digi--icon--color:var(--tab-icon-primary--color);padding-right:var(--digi--gutter--smaller)}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist digi-badge-notification.sc-digi-tablist{margin-left:-0.125rem}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist .title.sc-digi-tablist{font-size:1rem;flex-direction:column;display:flex;align-items:center;justify-content:center;font-weight:normal;color:var(--tab-text-color)}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist .title.sc-digi-tablist::after{content:attr(data-text);content:attr(data-text)/"";height:0;visibility:hidden;overflow:hidden;user-select:none;pointer-events:none;font-weight:bold}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist .indicator.sc-digi-tablist{height:0.25rem;width:100%;visibility:hidden;background-color:var(--tab-active-border-color)}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist:focus{outline:none;box-shadow:none}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist:focus-visible{z-index:10;outline:2px solid black;outline-offset:-3px;box-shadow:0px 0px 0px 5px inset white}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist:hover:not(.is-active) .title.sc-digi-tablist{color:var(--digi--color--text--interactive--primary);text-decoration:underline}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.sc-digi-tablist:hover:not(.is-active) [class*=digi-icon-].sc-digi-tablist:not(svg){--tab-icon-primary--color:var(--tab-icon-primary--color-hover)}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.is-active.sc-digi-tablist .title.sc-digi-tablist{font-weight:bold}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.is-active.sc-digi-tablist svg.sc-digi-tablist{transform:translateX(-0.125rem)}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.is-active.sc-digi-tablist [class*=digi-icon-].sc-digi-tablist:not(svg){--tab-icon-primary--color:var(--tab-icon-primary--color-active)}.sc-digi-tablist-h .digi-tablist.sc-digi-tablist .digi-tab.is-active.sc-digi-tablist .indicator.sc-digi-tablist{visibility:visible}`;
|
|
2550
|
-
|
|
2551
|
-
const NavigationTablist = class {
|
|
2552
|
-
constructor(hostRef) {
|
|
2553
|
-
registerInstance(this, hostRef);
|
|
2554
|
-
this.afTabChange = createEvent(this, "afTabChange", 7);
|
|
2555
|
-
this.afTabFocusChange = createEvent(this, "afTabFocusChange", 7);
|
|
2556
|
-
this.tabRefs = {};
|
|
2557
|
-
this.activeTab = 0;
|
|
2558
|
-
this.selectedTab = 0;
|
|
2559
|
-
this.windowTab = 0;
|
|
2560
|
-
this.tabs = [];
|
|
2561
|
-
this.listOverflows = false;
|
|
2562
|
-
this.showPrev = false;
|
|
2563
|
-
this.showNext = false;
|
|
2564
|
-
/**
|
|
2565
|
-
* Bestämmer beteende då flikar överflödar
|
|
2566
|
-
* * @en Set overflow behaviour
|
|
2567
|
-
*/
|
|
2568
|
-
this.afOverflowMode = OverflowMode.Controls;
|
|
2569
|
-
this.handleResize = () => {
|
|
2570
|
-
if (!this.tablistRef)
|
|
2571
|
-
return;
|
|
2572
|
-
// Ensure we measure after any layout/paint from the resize
|
|
2573
|
-
if (this._requestAnimationFrame)
|
|
2574
|
-
cancelAnimationFrame(this._requestAnimationFrame);
|
|
2575
|
-
this._requestAnimationFrame = requestAnimationFrame(() => {
|
|
2576
|
-
var _a, _b;
|
|
2577
|
-
const el = this.tablistRef;
|
|
2578
|
-
const containerWidth = el.clientWidth;
|
|
2579
|
-
const contentWidth = el.scrollWidth;
|
|
2580
|
-
// Tolerance ≈ 1 physical pixel to absorb zoom/subpixel jitter
|
|
2581
|
-
const tolerance = 1 / ((window === null || window === void 0 ? void 0 : window.devicePixelRatio) || 1);
|
|
2582
|
-
// Guard against div-by-zero
|
|
2583
|
-
const tabsCount = Math.max((_b = (_a = this.tabs) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0, 1);
|
|
2584
|
-
const avgTabWidth = contentWidth / tabsCount;
|
|
2585
|
-
// How many whole tabs fit? Nudge by tolerance to avoid off-by-one at zoom edges
|
|
2586
|
-
const tabsPerWindow = Math.floor((containerWidth + tolerance) / avgTabWidth);
|
|
2587
|
-
this.tabsPerWindow = Math.max(1, Math.min(tabsPerWindow, tabsCount));
|
|
2588
|
-
// Ensure windowTab stays within valid bounds after resize
|
|
2589
|
-
const maxValidWindowTab = Math.max(0, tabsCount - this.tabsPerWindow);
|
|
2590
|
-
if (this.windowTab > maxValidWindowTab) {
|
|
2591
|
-
this.windowTab = maxValidWindowTab;
|
|
2592
|
-
}
|
|
2593
|
-
// Overflow check with tolerance
|
|
2594
|
-
this.listOverflows = contentWidth - containerWidth > tolerance;
|
|
2595
|
-
// (Optional) if you have left/right “handles”, compute visibility too:
|
|
2596
|
-
this.showPrev = el.scrollLeft > tolerance;
|
|
2597
|
-
this.showNext =
|
|
2598
|
-
el.scrollLeft + el.clientWidth < el.scrollWidth - tolerance;
|
|
2599
|
-
});
|
|
2600
|
-
};
|
|
2601
|
-
}
|
|
2602
|
-
handleKey(e) {
|
|
2603
|
-
if (this.focusCaptured()) {
|
|
2604
|
-
let captureKey = true;
|
|
2605
|
-
switch (e.key) {
|
|
2606
|
-
case ' ':
|
|
2607
|
-
case 'Enter':
|
|
2608
|
-
return this.setActiveTabAndFocus(this.selectedTab);
|
|
2609
|
-
case 'ArrowLeft':
|
|
2610
|
-
if (e.shiftKey) {
|
|
2611
|
-
this.handleTabControl(Direction.Previous);
|
|
2612
|
-
}
|
|
2613
|
-
else {
|
|
2614
|
-
this.focusTab(this.selectedTab - 1);
|
|
2615
|
-
}
|
|
2616
|
-
break;
|
|
2617
|
-
case 'ArrowRight':
|
|
2618
|
-
if (e.shiftKey) {
|
|
2619
|
-
this.handleTabControl(Direction.Next);
|
|
2620
|
-
}
|
|
2621
|
-
else {
|
|
2622
|
-
this.focusTab(this.selectedTab + 1);
|
|
2623
|
-
}
|
|
2624
|
-
break;
|
|
2625
|
-
case 'Home':
|
|
2626
|
-
if (e.shiftKey) {
|
|
2627
|
-
return this.focusTab(0);
|
|
2628
|
-
}
|
|
2629
|
-
else {
|
|
2630
|
-
return this.moveWindow(0);
|
|
2631
|
-
}
|
|
2632
|
-
case 'End':
|
|
2633
|
-
if (e.shiftKey) {
|
|
2634
|
-
return this.focusTab(this.tabs.length - 1);
|
|
2635
|
-
}
|
|
2636
|
-
else {
|
|
2637
|
-
return this.moveWindow(this.tabs.length - 1);
|
|
2638
|
-
}
|
|
2639
|
-
default:
|
|
2640
|
-
captureKey = false;
|
|
2641
|
-
}
|
|
2642
|
-
if (captureKey) {
|
|
2643
|
-
e.preventDefault();
|
|
2644
|
-
}
|
|
2645
|
-
}
|
|
2646
|
-
}
|
|
2647
|
-
syncPanels() {
|
|
2648
|
-
var _a;
|
|
2649
|
-
const activeId = (_a = this.tabs[this.activeTab]) === null || _a === void 0 ? void 0 : _a.id;
|
|
2650
|
-
for (const panel of this.getSlottedPanels()) {
|
|
2651
|
-
panel.isVisible = panel.tab === activeId;
|
|
2652
|
-
}
|
|
2653
|
-
}
|
|
2654
|
-
handleTabPropChange(tabId) {
|
|
2655
|
-
this.setActiveTabById(tabId);
|
|
2656
|
-
}
|
|
2657
|
-
syncControls() {
|
|
2658
|
-
const tabGroup = Math.floor(this.windowTab / this.tabsPerWindow);
|
|
2659
|
-
const numberOfGroups = Math.ceil(this.tabs.length / this.tabsPerWindow);
|
|
2660
|
-
this.showPrev = tabGroup > 0;
|
|
2661
|
-
this.showNext = tabGroup < numberOfGroups - 1;
|
|
2662
|
-
}
|
|
2663
|
-
syncWindow(tabIdx) {
|
|
2664
|
-
const tab = this.tabs[tabIdx];
|
|
2665
|
-
const tabRef = this.tabRefs[tab.id];
|
|
2666
|
-
const listBox = this.tablistRef.getBoundingClientRect();
|
|
2667
|
-
const tabBox = tabRef.getBoundingClientRect();
|
|
2668
|
-
const centeredOffset = tabRef.offsetLeft - listBox.width / 2 + tabBox.width / 2;
|
|
2669
|
-
const maxLeft = this.tablistRef.scrollWidth - listBox.width;
|
|
2670
|
-
const left = Math.max(Math.min(centeredOffset, maxLeft), 0);
|
|
2671
|
-
this.tablistRef.scrollTo({
|
|
2672
|
-
left,
|
|
2673
|
-
behavior: 'smooth'
|
|
2674
|
-
});
|
|
2675
|
-
}
|
|
2676
|
-
syncFocus(tabIdx) {
|
|
2677
|
-
const tabRef = this.tabRefs[this.tabs[tabIdx].id];
|
|
2678
|
-
tabRef.focus({ preventScroll: true });
|
|
2679
|
-
this.windowTab = tabIdx;
|
|
2680
|
-
}
|
|
2681
|
-
setupTabs(tabs) {
|
|
2682
|
-
// Angular/React can connect the element before afTabs is set.
|
|
2683
|
-
if (tabs == null || tabs === '') {
|
|
2684
|
-
return;
|
|
2685
|
-
}
|
|
2686
|
-
const hadTabs = this.tabs.length > 0;
|
|
2687
|
-
if (typeof tabs === 'string') {
|
|
2688
|
-
this.tabs = JSON.parse(tabs);
|
|
2689
|
-
}
|
|
2690
|
-
else if (Array.isArray(tabs)) {
|
|
2691
|
-
this.tabs = tabs;
|
|
2692
|
-
}
|
|
2693
|
-
else {
|
|
2694
|
-
throw new Error('Invalid format or no tabs supplied');
|
|
2695
|
-
}
|
|
2696
|
-
if (!hadTabs) {
|
|
2697
|
-
this.setupInitialTab();
|
|
2698
|
-
}
|
|
2699
|
-
this.syncPanels();
|
|
2700
|
-
}
|
|
2701
|
-
getSlottedPanels() {
|
|
2702
|
-
return Array.from(this.hostElement.querySelectorAll('digi-tablist-panel')).filter((panel) => panel.closest('digi-tablist') === this.hostElement);
|
|
2703
|
-
}
|
|
2704
|
-
setActiveTabById(id) {
|
|
2705
|
-
const tabIdx = this.tabs.findIndex((tab) => tab.id === id);
|
|
2706
|
-
if (tabIdx > -1) {
|
|
2707
|
-
this.activeTab = tabIdx;
|
|
2708
|
-
}
|
|
2709
|
-
}
|
|
2710
|
-
setupInitialTab() {
|
|
2711
|
-
if (this.afActiveTab != null) {
|
|
2712
|
-
return this.setActiveTabById(this.afActiveTab);
|
|
2713
|
-
}
|
|
2714
|
-
else if (this.afInitialTab != null) {
|
|
2715
|
-
return this.setActiveTabById(this.afInitialTab);
|
|
2716
|
-
}
|
|
2717
|
-
}
|
|
2718
|
-
setupResizeHandler() {
|
|
2719
|
-
this.resizeObserver = new ResizeObserver(() => this.handleResize());
|
|
2720
|
-
this.resizeObserver.observe(this.tablistRef);
|
|
2721
|
-
}
|
|
2722
|
-
handleTabChange(tab) {
|
|
2723
|
-
const idx = this.tabs.findIndex(({ id }) => id === tab.id);
|
|
2724
|
-
this.setActiveTabAndFocus(idx);
|
|
2725
|
-
this.afTabChange.emit(tab);
|
|
2726
|
-
}
|
|
2727
|
-
handleTabControl(direction) {
|
|
2728
|
-
// Calculate the current window group
|
|
2729
|
-
const currentGroup = Math.floor(this.windowTab / this.tabsPerWindow);
|
|
2730
|
-
const totalGroups = Math.ceil(this.tabs.length / this.tabsPerWindow);
|
|
2731
|
-
let newGroup;
|
|
2732
|
-
if (direction === Direction.Next) {
|
|
2733
|
-
newGroup = Math.min(currentGroup + 1, totalGroups - 1);
|
|
2734
|
-
}
|
|
2735
|
-
else {
|
|
2736
|
-
newGroup = Math.max(currentGroup - 1, 0);
|
|
2737
|
-
}
|
|
2738
|
-
// Move to the first tab of the target group
|
|
2739
|
-
const newWindowTab = newGroup * this.tabsPerWindow;
|
|
2740
|
-
this.moveWindow(newWindowTab);
|
|
2741
|
-
}
|
|
2742
|
-
setActiveTabAndFocus(tabIdx) {
|
|
2743
|
-
this.activeTab = tabIdx;
|
|
2744
|
-
this.focusTab(tabIdx);
|
|
2745
|
-
}
|
|
2746
|
-
focusTab(tabIdx) {
|
|
2747
|
-
this.selectedTab = this.nextTabIdx(tabIdx);
|
|
2748
|
-
const currentTab = this.tabs[this.selectedTab];
|
|
2749
|
-
this.afTabFocusChange.emit(currentTab);
|
|
2750
|
-
}
|
|
2751
|
-
moveWindow(tabIdx) {
|
|
2752
|
-
tabIdx = Math.max(0, Math.min(tabIdx, this.tabs.length - 1));
|
|
2753
|
-
this.windowTab = tabIdx;
|
|
2754
|
-
}
|
|
2755
|
-
nextTabIdx(tabIdx) {
|
|
2756
|
-
if (tabIdx >= this.tabs.length) {
|
|
2757
|
-
return 0;
|
|
2758
|
-
}
|
|
2759
|
-
else if (tabIdx < 0) {
|
|
2760
|
-
return this.tabs.length - 1;
|
|
2761
|
-
}
|
|
2762
|
-
return tabIdx;
|
|
2763
|
-
}
|
|
2764
|
-
focusCaptured() {
|
|
2765
|
-
return this.tabs.some((tab) => this.tabRefs[tab.id] === document.activeElement);
|
|
2766
|
-
}
|
|
2767
|
-
componentWillLoad() {
|
|
2768
|
-
this.setupTabs(this.afTabs);
|
|
2769
|
-
this.setupInitialTab();
|
|
2770
|
-
// Angular attaches the host first and binds `[afTabs]` on the next frame
|
|
2771
|
-
// (Stencil 4.36+). @Watch skips that first assignment, so if tabs are not
|
|
2772
|
-
// here yet, wait one frame. React/vanilla that already set the prop skip
|
|
2773
|
-
// the delay.
|
|
2774
|
-
if (this.tabs.length === 0) {
|
|
2775
|
-
return new Promise((resolve) => {
|
|
2776
|
-
requestAnimationFrame(() => {
|
|
2777
|
-
this.setupTabs(this.afTabs);
|
|
2778
|
-
this.setupInitialTab();
|
|
2779
|
-
resolve();
|
|
2780
|
-
});
|
|
2781
|
-
});
|
|
2782
|
-
}
|
|
2783
|
-
}
|
|
2784
|
-
componentDidLoad() {
|
|
2785
|
-
var _a, _b, _c;
|
|
2786
|
-
this.setupTabs(this.afTabs);
|
|
2787
|
-
// Also listen to window resize for viewport zoom changes
|
|
2788
|
-
if (window) {
|
|
2789
|
-
window.addEventListener('resize', this.handleResize, { passive: true });
|
|
2790
|
-
}
|
|
2791
|
-
// Recalculate once fonts finish loading (text width changes with webfonts)
|
|
2792
|
-
(_c = (_b = (_a = document.fonts) === null || _a === void 0 ? void 0 : _a.ready) === null || _b === void 0 ? void 0 : _b.then) === null || _c === void 0 ? void 0 : _c.call(_b, () => this.handleResize());
|
|
2793
|
-
this.setupResizeHandler();
|
|
2794
|
-
this.handleResize();
|
|
2795
|
-
this.syncPanels();
|
|
2796
|
-
this.syncControls();
|
|
2797
|
-
}
|
|
2798
|
-
disconnectedCallback() {
|
|
2799
|
-
var _a;
|
|
2800
|
-
if (window) {
|
|
2801
|
-
window.removeEventListener('resize', this.handleResize);
|
|
2802
|
-
}
|
|
2803
|
-
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
2804
|
-
if (this._requestAnimationFrame)
|
|
2805
|
-
cancelAnimationFrame(this._requestAnimationFrame);
|
|
2806
|
-
}
|
|
2807
|
-
render() {
|
|
2808
|
-
return (h(Host, { key: 'b2d71ff4b3f2c2fa22feffbc298360c1b3202b1d' }, h("div", { key: 'df48ffc9fdabfca380675c7232af5fef80c445b9', class: {
|
|
2809
|
-
'digi-tablist': true,
|
|
2810
|
-
'digi-tablist--overflow-scroll': this.afOverflowMode === OverflowMode.Scroll,
|
|
2811
|
-
'digi-tablist--overflow-controls': this.afOverflowMode === OverflowMode.Controls
|
|
2812
|
-
} }, h("div", { key: '797f70a00aa1e3dd8a3b54d43808b9515259723c', class: "control-wrapper", style: {
|
|
2813
|
-
left: '0',
|
|
2814
|
-
visibility: this.showPrev ? 'visible' : 'hidden'
|
|
2815
|
-
} }, h("button", { key: '415237740bc65dd5cfdb0e57eb44307c9d838670', tabIndex: -1, type: "button", "aria-hidden": "true", class: { 'tab-control-button': true }, onClick: () => this.handleTabControl(Direction.Previous) }, h("digi-icon-chevron-left", { key: '59f2d43ba38c7d4ebdd85a575b2e89c0fec62381' }))), h("div", { key: '01602338cbd7a63f48cdcf541629e76bac46dd4c', role: "tablist", ref: (ref) => (this.tablistRef = ref), "aria-labelledby": this.afAriaLabelledby, "aria-label": this.afAriaLabel }, this.tabs.map((tab) => {
|
|
2816
|
-
const focusable = tab.id === this.tabs[this.selectedTab].id;
|
|
2817
|
-
const isActive = tab.id === this.tabs[this.activeTab].id;
|
|
2818
|
-
const Icon = `digi-icon-${tab.icon}`;
|
|
2819
|
-
const badgeValue = tab.badgeValue;
|
|
2820
|
-
return (h("button", { ref: (ref) => (this.tabRefs[tab.id] = ref), class: {
|
|
2821
|
-
'digi-tab': true,
|
|
2822
|
-
'is-active': isActive
|
|
2823
|
-
}, id: `tab-${tab.id}`, role: "tab", type: "button", tabindex: focusable ? '0' : '-1', "aria-label": tab.ariaLabel, "aria-selected": isActive.toString(), "aria-controls": `tabpanel-${tab.id}`, onClick: () => this.handleTabChange(tab) }, h("div", { class: "content-wrapper" }, h("span", { class: "tablist-content" }, tab.icon && h(Icon, { "aria-hidden": "true" }), h("span", { class: "title", "data-text": tab.title }, tab.title), tab.badgeValue && (h("digi-badge-notification", { afValue: badgeValue, "aria-hidden": "true" }))), h("div", { class: "indicator" }))));
|
|
2824
|
-
})), h("div", { key: 'db28ea61c349d7aaf057e84b607c4f851b3f6712', class: "control-wrapper", style: {
|
|
2825
|
-
right: '0',
|
|
2826
|
-
visibility: this.showNext ? 'visible' : 'hidden'
|
|
2827
|
-
} }, h("button", { key: '83513f2d64cc0578155d305f21dfb1ca4a412cc6', tabIndex: -1, type: "button", "aria-hidden": "true", class: { 'tab-control-button': true }, onClick: () => this.handleTabControl(Direction.Next) }, h("digi-icon-chevron-right", { key: '9263e864c21ea5358f301214fbadda6ed7d3c74a' })))), h("div", { key: '205efbbb3aab40f51f9f85f8d74a4026970c7144', role: "presentation" }, h("slot", { key: 'e753d718f852072745f5c2a49f6189fb62f3645b', onSlotchange: () => this.syncPanels() }))));
|
|
2828
|
-
}
|
|
2829
|
-
get hostElement() { return getElement(this); }
|
|
2830
|
-
static get watchers() { return {
|
|
2831
|
-
"activeTab": [{
|
|
2832
|
-
"syncPanels": 0
|
|
2833
|
-
}],
|
|
2834
|
-
"afActiveTab": [{
|
|
2835
|
-
"handleTabPropChange": 0
|
|
2836
|
-
}],
|
|
2837
|
-
"windowTab": [{
|
|
2838
|
-
"syncControls": 0
|
|
2839
|
-
}, {
|
|
2840
|
-
"syncWindow": 0
|
|
2841
|
-
}],
|
|
2842
|
-
"listOverflows": [{
|
|
2843
|
-
"syncControls": 0
|
|
2844
|
-
}],
|
|
2845
|
-
"selectedTab": [{
|
|
2846
|
-
"syncFocus": 0
|
|
2847
|
-
}],
|
|
2848
|
-
"afTabs": [{
|
|
2849
|
-
"setupTabs": 0
|
|
2850
|
-
}]
|
|
2851
|
-
}; }
|
|
2852
|
-
};
|
|
2853
|
-
NavigationTablist.style = navigationTablistCss();
|
|
2854
|
-
|
|
2855
|
-
const NavigationTabPanel = class {
|
|
2856
|
-
constructor(hostRef) {
|
|
2857
|
-
registerInstance(this, hostRef);
|
|
2858
|
-
this.isVisible = false;
|
|
2859
|
-
}
|
|
2860
|
-
render() {
|
|
2861
|
-
return (h(Host, { key: '253b1c6e0b466c8e806aeec2a6e99f86172b3324' }, h("div", { key: '9639af8c2a404a738c2c07c437f0537f81f5a72f', id: `tabpanel-${this.tab}`, role: "tabpanel", "aria-labelledby": `tab-${this.tab}`, style: {
|
|
2862
|
-
display: this.isVisible ? 'initial' : 'none',
|
|
2863
|
-
overflowX: 'hidden',
|
|
2864
|
-
overflowY: 'auto'
|
|
2865
|
-
} }, h("slot", { key: '3383cb70665259583d172e82f9c2dd38a81cec3c' }))));
|
|
2866
|
-
}
|
|
2867
|
-
get hostElement() { return getElement(this); }
|
|
2868
|
-
};
|
|
2869
|
-
|
|
2870
|
-
const typographyCss = () => `digi-typography{--digi--typography--h1--margin--small:var(--digi--margin--h1-small);--digi--typography--h1--margin--medium:var(--digi--margin--h1-medium);--digi--typography--h1--margin--large:var(--digi--margin--h1-large);--digi--typography--h2--margin--small:var(--digi--margin--h2-small);--digi--typography--h2--margin--large:var(--digi--margin--h2-large);--digi--typography--h3--margin--small:var(--digi--margin--h3-small);--digi--typography--h3--margin--large:var(--digi--margin--h3-large);--digi--typography--h4--margin--small:var(--digi--margin--h4-h6-small);--digi--typography--h4--margin--large:var(--digi--margin--h4-h6-large);--digi--typography--h5--margin--small:var(--digi--margin--h4-h6-small);--digi--typography--h6--margin--large:var(--digi--margin--h4-h6-large);--digi--typography--paragraph--margin--small:var(--digi--margin--text-small);--digi--typography--paragraph--margin--large:var(--digi--margin--text-large);--digi--typography--paragraph--margin-top:initial;--digi--typography--color--text:var(--digi--color--text--primary);--digi--typography--text-decoration-thickness--hover:0.156em;--digi--typography--text-decoration-thickness--default:0.05em;--digi--typography--text-underline-offset:3px;font-family:var(--digi--global--typography--font-family--default);color:var(--digi--typography--color--text);font-size:var(--FONT-SIZE--BODY);line-height:var(--LINE-HEIGHT--BODY);font-weight:var(--FONT-WEIGHT--BODY);text-decoration:var(--TEXT-DECORATION--BODY);--FONT-SIZE--BODY:var(--digi--typography--body--font-size--mobile);--LINE-HEIGHT--BODY:var(--digi--typography--body--line-height--mobile);--FONT-WEIGHT--BODY:var(--digi--typography--body--font-weight--mobile);--TEXT-DECORATION--BODY:var( --digi--typography--body--text-decoration--mobile );--MARGIN--BODY:var(--digi--typography--paragraph--margin--small);--FONT-SIZE--LINK:var(--digi--typography--link--font-size--mobile);--LINE-HEIGHT--LINK:var(--digi--typography--link--line-height--mobile);--FONT-WEIGHT--LINK:var(--digi--typography--link--font-weight--mobile);--TEXT-DECORATION--LINK:var( --digi--typography--link--text-decoration--mobile );--FONT-SIZE--HEADING-1:var(--digi--typography--heading-1--font-size--mobile);--LINE-HEIGHT--HEADING-1:var( --digi--typography--heading-1--line-height--mobile );--FONT-WEIGHT--HEADING-1:var( --digi--typography--heading-1--font-weight--mobile );--TEXT-DECORATION--HEADING-1:var( --digi--typography--heading-1--text-decoration--mobile );--MARGIN--HEADING-1:var(--digi--typography--h1--margin--small);--FONT-SIZE--HEADING-2:var(--digi--typography--heading-2--font-size--mobile);--LINE-HEIGHT--HEADING-2:var( --digi--typography--heading-2--line-height--mobile );--FONT-WEIGHT--HEADING-2:var( --digi--typography--heading-2--font-weight--mobile );--TEXT-DECORATION--HEADING-2:var( --digi--typography--heading-2--text-decoration--mobile );--MARGIN--HEADING-2:var(--digi--typography--h2--margin--small);--FONT-SIZE--HEADING-3:var(--digi--typography--heading-3--font-size--mobile);--LINE-HEIGHT--HEADING-3:var( --digi--typography--heading-3--line-height--mobile );--FONT-WEIGHT--HEADING-3:var( --digi--typography--heading-3--font-weight--mobile );--TEXT-DECORATION--HEADING-3:var( --digi--typography--heading-3--text-decoration--mobile );--MARGIN--HEADING-3:var(--digi--typography--h3--margin--small);--FONT-SIZE--HEADING-4:var(--digi--typography--heading-4--font-size--mobile);--LINE-HEIGHT--HEADING-4:var( --digi--typography--heading-4--line-height--mobile );--FONT-WEIGHT--HEADING-4:var( --digi--typography--heading-4--font-weight--mobile );--TEXT-DECORATION--HEADING-4:var( --digi--typography--heading-4--text-decoration--mobile );--MARGIN--HEADING-4:var(--digi--typography--h4--margin--small);--FONT-SIZE--HEADING-5:var(--digi--typography--heading-4--font-size--mobile);--LINE-HEIGHT--HEADING-5:var( --digi--typography--heading-4--line-height--mobile );--FONT-WEIGHT--HEADING-5:var( --digi--typography--heading-4--font-weight--mobile );--TEXT-DECORATION--HEADING-5:var( --digi--typography--heading-4--text-decoration--mobile );--MARGIN--HEADING-5:var(--digi--typography--h4--margin--small);--FONT-SIZE--HEADING-6:var(--digi--typography--heading-4--font-size--mobile);--LINE-HEIGHT--HEADING-6:var( --digi--typography--heading-4--line-height--mobile );--FONT-WEIGHT--HEADING-6:var( --digi--typography--heading-4--font-weight--mobile );--TEXT-DECORATION--HEADING-6:var( --digi--typography--heading-4--text-decoration--mobile );--MARGIN--HEADING-6:var(--digi--typography--h4--margin--small)}@media (min-width: 61.9375rem){digi-typography{--FONT-SIZE--BODY:var(--digi--typography--body--font-size--desktop);--LINE-HEIGHT--BODY:var(--digi--typography--body--line-height--desktop);--FONT-WEIGHT--BODY:var(--digi--typography--body--font-weight--desktop);--TEXT-DECORATION--BODY:var( --digi--typography--body--text-decoration--desktop );--MARGIN--BODY:var(--digi--typography--paragraph--margin--small);--FONT-SIZE--LINK:var(--digi--typography--link--font-size--desktop);--LINE-HEIGHT--LINK:var(--digi--typography--link--line-height--desktop);--FONT-WEIGHT--LINK:var(--digi--typography--link--font-weight--desktop);--TEXT-DECORATION--LINK:var( --digi--typography--link--text-decoration--desktop );--FONT-SIZE--HEADING-1:var( --digi--typography--heading-1--font-size--desktop );--LINE-HEIGHT--HEADING-1:var( --digi--typography--heading-1--line-height--desktop );--FONT-WEIGHT--HEADING-1:var( --digi--typography--heading-1--font-weight--desktop );--TEXT-DECORATION--HEADING-1:var( --digi--typography--heading-1--text-decoration--desktop );--MARGIN--HEADING-1:var(--digi--typography--h1--margin--medium);--FONT-SIZE--HEADING-2:var( --digi--typography--heading-2--font-size--desktop );--LINE-HEIGHT--HEADING-2:var( --digi--typography--heading-2--line-height--desktop );--FONT-WEIGHT--HEADING-2:var( --digi--typography--heading-2--font-weight--desktop );--TEXT-DECORATION--HEADING-2:var( --digi--typography--heading-2--text-decoration--desktop );--MARGIN--HEADING-2:var(--digi--typography--h2--margin--small);--FONT-SIZE--HEADING-3:var( --digi--typography--heading-3--font-size--desktop );--LINE-HEIGHT--HEADING-3:var( --digi--typography--heading-3--line-height--desktop );--FONT-WEIGHT--HEADING-3:var( --digi--typography--heading-3--font-weight--desktop );--TEXT-DECORATION--HEADING-3:var( --digi--typography--heading-3--text-decoration--desktop );--MARGIN--HEADING-3:var(--digi--typography--h3--margin--small);--FONT-SIZE--HEADING-4:var( --digi--typography--heading-4--font-size--desktop );--LINE-HEIGHT--HEADING-4:var( --digi--typography--heading-4--line-height--desktop );--FONT-WEIGHT--HEADING-4:var( --digi--typography--heading-4--font-weight--desktop );--TEXT-DECORATION--HEADING-4:var( --digi--typography--heading-4--text-decoration--desktop );--MARGIN--HEADING-4:var(--digi--typography--h4--margin--small);--FONT-SIZE--HEADING-5:var( --digi--typography--heading-4--font-size--desktop );--LINE-HEIGHT--HEADING-5:var( --digi--typography--heading-4--line-height--desktop );--FONT-WEIGHT--HEADING-5:var( --digi--typography--heading-4--font-weight--desktop );--TEXT-DECORATION--HEADING-5:var( --digi--typography--heading-4--text-decoration--desktop );--MARGIN--HEADING-5:var(--digi--typography--h5--margin--small);--FONT-SIZE--HEADING-6:var( --digi--typography--heading-4--font-size--desktop );--LINE-HEIGHT--HEADING-6:var( --digi--typography--heading-4--line-height--desktop );--FONT-WEIGHT--HEADING-6:var( --digi--typography--heading-4--font-weight--desktop );--TEXT-DECORATION--HEADING-6:var( --digi--typography--heading-4--text-decoration--desktop );--MARGIN--HEADING-6:var(--digi--typography--h6--margin--small)}}digi-typography h1,digi-typography h2,digi-typography h3,digi-typography h4,digi-typography h5,digi-typography h6{margin-top:0;}digi-typography h1,digi-typography .digi-h1{font-size:var(--FONT-SIZE--HEADING-1);line-height:var(--LINE-HEIGHT--HEADING-1);font-weight:var(--FONT-WEIGHT--HEADING-1);text-decoration:var(--TEXT-DECORATION--HEADING-1);margin-bottom:var(--MARGIN--HEADING-1)}digi-typography h2,digi-typography .digi-h2{font-size:var(--FONT-SIZE--HEADING-2);line-height:var(--LINE-HEIGHT--HEADING-2);font-weight:var(--FONT-WEIGHT--HEADING-2);text-decoration:var(--TEXT-DECORATION--HEADING-2);margin-bottom:var(--MARGIN--HEADING-2)}digi-typography h3,digi-typography .digi-h3{font-size:var(--FONT-SIZE--HEADING-3);line-height:var(--LINE-HEIGHT--HEADING-3);font-weight:var(--FONT-WEIGHT--HEADING-3);text-decoration:var(--TEXT-DECORATION--HEADING-3);margin-bottom:var(--MARGIN--HEADING-3)}digi-typography h4,digi-typography .digi-h4{font-size:var(--FONT-SIZE--HEADING-4);line-height:var(--LINE-HEIGHT--HEADING-4);font-weight:var(--FONT-WEIGHT--HEADING-4);text-decoration:var(--TEXT-DECORATION--HEADING-4);margin-bottom:var(--MARGIN--HEADING-4)}digi-typography h5,digi-typography .digi-h5{font-size:var(--FONT-SIZE--HEADING-5);line-height:var(--LINE-HEIGHT--HEADING-5);font-weight:var(--FONT-WEIGHT--HEADING-5);text-decoration:var(--TEXT-DECORATION--HEADING-5);margin-bottom:var(--MARGIN--HEADING-5)}digi-typography h6,digi-typography .digi-h6{font-size:var(--FONT-SIZE--HEADING-6);line-height:var(--LINE-HEIGHT--HEADING-6);font-weight:var(--FONT-WEIGHT--HEADING-6);text-decoration:var(--TEXT-DECORATION--HEADING-6);margin-bottom:var(--MARGIN--HEADING-6)}digi-typography p,digi-typography blockquote{font-size:var(--FONT-SIZE--BODY);line-height:var(--LINE-HEIGHT--BODY);font-weight:var(--FONT-WEIGHT--BODY);text-decoration:var(--TEXT-DECORATION--BODY);margin-top:initial;margin-bottom:var(--MARGIN--BODY);max-width:var(--digi--paragraph-width--medium)}digi-typography p:last-child,digi-typography blockquote:last-child{margin-bottom:0}digi-typography blockquote{margin-inline:0}digi-typography digi-typography-preamble{display:block;margin-bottom:var(--MARGIN--BODY)}digi-typography digi-typography-preamble:last-child{margin-bottom:0}digi-typography ul,digi-typography ol,digi-typography dl{font-size:var(--FONT-SIZE--BODY);line-height:var(--LINE-HEIGHT--BODY);font-weight:var(--FONT-WEIGHT--BODY);text-decoration:var(--TEXT-DECORATION--BODY);max-width:var(--digi--paragraph-width--medium);margin-bottom:var(--MARGIN--BODY)}digi-typography ul,digi-typography ol{margin:0 0 var(--MARGIN--BODY) 0;padding-inline-start:1.5rem}digi-typography ul li,digi-typography ol li{margin-top:initial;margin-bottom:0.5rem;box-sizing:border-box;width:100%;padding-left:0}digi-typography ul li:last-child,digi-typography ol li:last-child{margin-bottom:0}digi-typography a{font-size:1em;line-height:var(--LINE-HEIGHT--LINK);font-weight:inherit;text-decoration:var(--TEXT-DECORATION--LINK);color:var(--digi--color--text--interactive--primary);text-decoration-thickness:var(--digi--typography--text-decoration-thickness--default);text-underline-offset:var(--digi--typography--text-underline-offset)}digi-typography a:hover{text-decoration:var(--TEXT-DECORATION--LINK);text-decoration-thickness:var(--digi--typography--text-decoration-thickness--hover)}digi-typography a:focus-visible{outline:2px solid black;outline-offset:2px;box-shadow:0px 0px 0px 5px white}digi-typography a:visited{color:var(--digi--color--text--interactive--visited)}digi-typography .digi-typography--hide-visited a:visited{color:var(--digi--color--text--interactive--primary)}digi-typography strong{font-weight:var(--digi--typography--label--font-weight--desktop)}`;
|
|
2871
|
-
|
|
2872
|
-
const Typography = class {
|
|
2873
|
-
constructor(hostRef) {
|
|
2874
|
-
registerInstance(this, hostRef);
|
|
2875
|
-
}
|
|
2876
|
-
get cssModifiers() {
|
|
2877
|
-
return {
|
|
2878
|
-
'digi-typography--hide-visited': this.hideVisitedColor
|
|
2879
|
-
};
|
|
2880
|
-
}
|
|
2881
|
-
render() {
|
|
2882
|
-
return (h("div", { key: '2b78d2c69b94e258feb4c99d5835cc58507d7886', class: Object.assign({ 'digi-typography': true }, this.cssModifiers) }, h("slot", { key: '1f952d99d2331fb09a1b6d549a6ea97440302346' })));
|
|
2883
|
-
}
|
|
2884
|
-
};
|
|
2885
|
-
Typography.style = typographyCss();
|
|
2886
|
-
|
|
2887
|
-
export { BadgeNotification as digi_badge_notification, Button as digi_button, CalendarWeekView as digi_calendar_week_view, IconChevronLeft as digi_icon_chevron_left, IconChevronRight as digi_icon_chevron_right, NavigationTablist as digi_tablist, NavigationTabPanel as digi_tablist_panel, Typography as digi_typography };
|
|
2321
|
+
export { CalendarWeekView as digi_calendar_week_view };
|