@designsystem-se/af 38.1.0 → 38.2.0

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.
Files changed (33) hide show
  1. package/components/digi-calendar-datepicker.js +10 -6
  2. package/components/digi-form-checkbox.js +1 -1
  3. package/components/digi-form-error-list.js +33 -1
  4. package/components/digi-form-filter.js +1 -1
  5. package/components/{p-13c09880.js → p-f84f590e.js} +2 -2
  6. package/custom-elements.json +9 -1
  7. package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
  8. package/dist/cjs/digi-calendar-datepicker.cjs.entry.js +8 -6
  9. package/dist/cjs/digi-form-checkbox.cjs.entry.js +2 -2
  10. package/dist/cjs/digi-form-error-list.cjs.entry.js +33 -1
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/collection/components/_calendar/calendar-datepicker/calendar-datepicker.js +53 -6
  13. package/dist/collection/components/_form/form-checkbox/form-checkbox.js +8 -5
  14. package/dist/collection/components/_form/form-error-list/form-error-list.js +20 -1
  15. package/dist/collection/design-tokens/components/_logo.variables.scss +17 -15
  16. package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
  17. package/dist/digi-arbetsformedlingen/{p-37c0ea9e.entry.js → p-2295239c.entry.js} +1 -1
  18. package/dist/digi-arbetsformedlingen/p-42ae53aa.entry.js +1 -0
  19. package/dist/digi-arbetsformedlingen/p-7f155bd5.entry.js +1 -0
  20. package/dist/esm/digi-arbetsformedlingen.js +1 -1
  21. package/dist/esm/digi-calendar-datepicker.entry.js +8 -6
  22. package/dist/esm/digi-form-checkbox.entry.js +2 -2
  23. package/dist/esm/digi-form-error-list.entry.js +33 -1
  24. package/dist/esm/loader.js +1 -1
  25. package/dist/types/components/_calendar/calendar-datepicker/calendar-datepicker.d.ts +10 -0
  26. package/dist/types/components/_form/form-checkbox/form-checkbox.d.ts +5 -2
  27. package/dist/types/components/_form/form-error-list/form-error-list.d.ts +3 -0
  28. package/dist/types/components.d.ts +24 -4
  29. package/hydrate/index.js +45 -9
  30. package/hydrate/index.mjs +45 -9
  31. package/package.json +1 -1
  32. package/dist/digi-arbetsformedlingen/p-ef689144.entry.js +0 -1
  33. package/dist/digi-arbetsformedlingen/p-f0a405ca.entry.js +0 -1
@@ -2217,6 +2217,8 @@ const CalendarDatepicker = class {
2217
2217
  this.afCloseOnSelect = false;
2218
2218
  this.afOpenCalendarTo = undefined;
2219
2219
  this.afErrorMessageIsAlert = true;
2220
+ this.afAnnounceIfOptional = false;
2221
+ this.afAnnounceIfOptionalText = undefined;
2220
2222
  }
2221
2223
  afDisableValidationChangeHandler(newVal) {
2222
2224
  if (!newVal) {
@@ -2548,9 +2550,9 @@ const CalendarDatepicker = class {
2548
2550
  return this.afSelectedDates;
2549
2551
  }
2550
2552
  render() {
2551
- return (index$2.h(index$2.Host, { key: '6b080d933e012fe050aee0181f927c3252b0bb7e', tabindex: -1 }, index$2.h("div", { key: 'ec59a7f209f7a5e06c62d4443fbca980b1030d12', class: Object.assign({ 'digi-calendar-datepicker': true }, this.cssModifiers), id: `${this.afId}-datepicker` }, index$2.h("div", { key: '2bf3bd4f0a82c14c4fb04610dab19767fbba595d', class: "digi-calendar-datepicker__input-field" }, index$2.h("digi-form-input", { key: 'ebde8123611c021b60104f75c2e4085e35fb4697', ref: (el) => (this._input = el), class: 'digi-calendar-datepicker__input-component', afLabel: this.afLabel, afLabelDescription: this.afLabelDescription, afName: this.afName, afValue: this.inputValue, afValidation: this.hasBuiltInValidationError()
2553
+ return (index$2.h(index$2.Host, { key: 'a22b366eece8bdf2a6d66ba7b4561093391ad16d', tabindex: -1 }, index$2.h("div", { key: '5ec3557df78bb012f2e10f1852252e78e2470ee3', class: Object.assign({ 'digi-calendar-datepicker': true }, this.cssModifiers), id: `${this.afId}-datepicker` }, index$2.h("div", { key: '1215a13021718ac98ad2a4a7a5bae3c456385124', class: "digi-calendar-datepicker__input-field" }, index$2.h("digi-form-input", { key: '8794d312452fe11f0f9052bbdd238e5570ec55f0', ref: (el) => (this._input = el), class: 'digi-calendar-datepicker__input-component', afLabel: this.afLabel, afLabelDescription: this.afLabelDescription, afName: this.afName, afValue: this.inputValue, afValidation: this.hasBuiltInValidationError()
2552
2554
  ? formInputVariation_enum.FormInputValidation.ERROR
2553
- : this.afValidation, afValidationText: this.getErrorText(), afId: this.afId, afAriaDescribedby: `${this.afId}--validation-message`, afRequired: this.afRequired, afRequiredText: this.afRequiredText, onAfOnChange: (evt) => {
2555
+ : this.afValidation, afValidationText: this.getErrorText(), afId: this.afId, afAriaDescribedby: `${this.afId}--validation-message`, afRequired: this.afRequired, afRequiredText: this.afRequiredText, afAnnounceIfOptional: this.afAnnounceIfOptional, afAnnounceIfOptionalText: this.afAnnounceIfOptionalText, onAfOnChange: (evt) => {
2554
2556
  evt.stopImmediatePropagation();
2555
2557
  this.parseInput(evt);
2556
2558
  }, onAfOnBlur: (evt) => {
@@ -2565,11 +2567,11 @@ const CalendarDatepicker = class {
2565
2567
  e.preventDefault();
2566
2568
  const focusableDateButton = this.hostElement.querySelector('.digi-calendar__date[tabindex="0"]');
2567
2569
  focusableDateButton === null || focusableDateButton === void 0 ? void 0 : focusableDateButton.focus();
2568
- } }, index$2.h("button", { key: '04df5ccb789271d7ba2f693b740f316301f9fae0', id: this.afId + '-button', class: "digi-calendar-datepicker__input-button", slot: "button", "aria-label": this.showCalendar
2570
+ } }, index$2.h("button", { key: 'c953ddf0c99cfd3b892941da7da4a887b342fd78', id: this.afId + '-button', class: "digi-calendar-datepicker__input-button", slot: "button", "aria-label": this.showCalendar
2569
2571
  ? this.afCloseCalendarAriaLabel
2570
- : this.afOpenCalendarAriaLabel, "aria-controls": "calendar-popup", "aria-expanded": this.showCalendar ? 'true' : 'false', onClick: () => this.toggleCalendar(), type: "button" }, index$2.h("digi-icon-calendar-alt", { key: '65b9a472f629bbaa46a64c8a304f358da76b0830', class: "digi-calendar-datepicker__button-icon", slot: "icon" })))), index$2.h("div", { key: 'd0df89ce680bb2a0ca7f311b2c0ead0f72dc30b6', class: "digi-calendar-datepicker__calendar", id: "calendar-popup" }, index$2.h("p", { key: '9796876e15e88b1599d772863c29fc472da24c69', role: "alert", class: "digi-calendar-datepicker__sr-instructions" }, this.showCalendar
2572
+ : this.afOpenCalendarAriaLabel, "aria-controls": "calendar-popup", "aria-expanded": this.showCalendar ? 'true' : 'false', onClick: () => this.toggleCalendar(), type: "button" }, index$2.h("digi-icon-calendar-alt", { key: '46c7387d404b77911b97f31c10e7147bd436c7e3', class: "digi-calendar-datepicker__button-icon", slot: "icon" })))), index$2.h("div", { key: '91894a4219afa79d913f558f5d1cc6b410b535ce', class: "digi-calendar-datepicker__calendar", id: "calendar-popup" }, index$2.h("p", { key: '989fc17ea7a95aa014a26e09f7db7f59fe53a36b', role: "alert", class: "digi-calendar-datepicker__sr-instructions" }, this.showCalendar
2571
2573
  ? `${text._t.calendar.screenReaderInstructions}${this.screenReaderUpdateTrigger ? '\u200B' : ''}`
2572
- : ''), index$2.h("digi-calendar", { key: 'bd5f34bcdbcb2276b5080c43479337c514861ba9', afActive: this.showCalendar, afShowWeekNumber: this.afShowWeekNumber, afMultipleDates: this.afMultipleDates, afYearSelect: this.afYearSelect, afSelectedDates: this.getSelectedDates, afMinDate: this.afMinDate, afMaxDate: this.afMaxDate, "aria-hidden": !this.showCalendar, afOpenCalendarTo: this.afOpenCalendarTo, onAfOnDateSelectedChange: (evt) => {
2574
+ : ''), index$2.h("digi-calendar", { key: '6e62fb845769eca0a9b8cb21e4a09a5620804d42', afActive: this.showCalendar, afShowWeekNumber: this.afShowWeekNumber, afMultipleDates: this.afMultipleDates, afYearSelect: this.afYearSelect, afSelectedDates: this.getSelectedDates, afMinDate: this.afMinDate, afMaxDate: this.afMaxDate, "aria-hidden": !this.showCalendar, afOpenCalendarTo: this.afOpenCalendarTo, onAfOnDateSelectedChange: (evt) => {
2573
2575
  evt.stopImmediatePropagation();
2574
2576
  this.parseCalendar(evt);
2575
2577
  }, onKeyDown: (e) => {
@@ -2580,7 +2582,7 @@ const CalendarDatepicker = class {
2580
2582
  return;
2581
2583
  e.preventDefault();
2582
2584
  this.focusOnCalendarInput();
2583
- } })), this.afCloseOnSelect && !this.afMultipleDates && (index$2.h("div", { key: 'fc150d20f14731e8f67f38c6042e8af4e24eae38', class: "digi-calendar-datepicker__selected-date-alert", role: this.errorMessageIsAlert ? 'alert' : null }, this.afSelectedDates.length > 0
2585
+ } })), this.afCloseOnSelect && !this.afMultipleDates && (index$2.h("div", { key: 'd9f3eb470b29a0ab96134f1e4666743efacd7448', class: "digi-calendar-datepicker__selected-date-alert", role: this.errorMessageIsAlert ? 'alert' : null }, this.afSelectedDates.length > 0
2584
2586
  ? `${text._t.calendar.datepicker.selectedDate}: ${this.datesToInputString(this.afSelectedDates)}`
2585
2587
  : '')))));
2586
2588
  }
@@ -118,7 +118,7 @@ const FormCheckbox = class {
118
118
  this.afOnInput.emit(e);
119
119
  }
120
120
  render() {
121
- return (index.h(index.Host, { key: '93a52532d5ee8e2b89982b3d06509c16b3656bce', tabindex: -1 }, index.h("div", { key: '3f2fe30e35c36080d80fdec5c57abf8e310ae14b', class: Object.assign({ 'digi-form-checkbox': true }, this.cssModifiers) }, index.h("input", { key: 'a45c26da379bff48830f0b03ceebcf24b06c3b17', class: "digi-form-checkbox__input", ref: (el) => {
121
+ return (index.h(index.Host, { key: 'e8ca1dfe96537dd438a4b6c206adfc7c9fd64d9c', tabindex: -1 }, index.h("div", { key: '850911b7ffdcea222b12c2c883cf93b63f703b4f', class: Object.assign({ 'digi-form-checkbox': true }, this.cssModifiers) }, index.h("input", { key: '923a49d0402e6b3034d3e8e6d43033692695c830', class: "digi-form-checkbox__input", ref: (el) => {
122
122
  var _a;
123
123
  this._input = el;
124
124
  (_a = this === null || this === void 0 ? void 0 : this.afInputRef) === null || _a === void 0 ? void 0 : _a.call(this, el);
@@ -126,7 +126,7 @@ const FormCheckbox = class {
126
126
  ? null
127
127
  : `${this.afAriaDescribedby ? `${this.afAriaDescribedby} ` : ''}${this.afDescription ? `${this.afId}-description` : ''}`, "aria-labelledby": this.afAriaLabelledby, "aria-label": this.afAriaLabel, "aria-invalid": this.afValidation === formCheckboxVariation_enum.FormCheckboxValidation.ERROR
128
128
  ? 'true'
129
- : 'false', required: this.afRequired, id: this.afId, name: this.afName, type: "checkbox", checked: this.afChecked, value: this.afValue, indeterminate: this.afIndeterminate, autofocus: this.afAutofocus ? this.afAutofocus : null }), index.h("label", { key: '54cd68f1c10fd023e9dd81bd0fabb2920b911c12', htmlFor: this.afId, class: "digi-form-checkbox__label" }, index.h("span", { key: 'c7184f48868d38d04485a48f214cc3c37d862ba4', class: "digi-form-checkbox__box" }), this.afLabel), !!this.afDescription && (index.h("p", { key: 'afc00a7de3cef740bdbf23607cd9247887752759', id: `${this.afId}-description`, class: "digi-form-checkbox__description" }, this.afDescription)))));
129
+ : 'false', required: this.afRequired, id: this.afId, name: this.afName, type: "checkbox", checked: this.afChecked, value: this.afValue, indeterminate: this.afIndeterminate, autofocus: this.afAutofocus ? this.afAutofocus : null }), index.h("label", { key: 'dccbd4e83dbc757483a18ac22d1539ef83dfb534', htmlFor: this.afId, class: "digi-form-checkbox__label" }, index.h("span", { key: '1cbc88be9d74dab3e04472bc9462712377447d4a', class: "digi-form-checkbox__box" }), this.afLabel), !!this.afDescription && (index.h("p", { key: 'bdab264d9d13520858c581d2664c0d53171a1415', id: `${this.afId}-description`, class: "digi-form-checkbox__description" }, this.afDescription)))));
130
130
  }
131
131
  get hostElement() { return index.getElement(this); }
132
132
  static get watchers() { return {
@@ -52,6 +52,20 @@ require('./typography-meta-variation.enum-13ac3538.js');
52
52
  require('./typography-time-variation.enum-bce1d87e.js');
53
53
  require('./util-breakpoint-observer-breakpoints.enum-e96d3a84.js');
54
54
 
55
+ /**
56
+ * Small utility for adding Stencil component scope to dynamically inserted elements
57
+ * (e.g. svg for title logotypes)
58
+ */
59
+ function applyStencilScope(host, root) {
60
+ const scopeClasses = [...host.classList].filter(c => c.startsWith('sc-'));
61
+ if (!scopeClasses.length)
62
+ return;
63
+ root.classList.add(...scopeClasses);
64
+ root.querySelectorAll('*').forEach(el => {
65
+ el.classList.add(...scopeClasses);
66
+ });
67
+ }
68
+
55
69
  const formErrorListCss = ".sc-digi-form-error-list-h{--digi--form-error-list--list--padding:var(--digi--gutter--smaller) 0 0 0;--digi--form-error-list--list--margin:0;--digi--form-error-list--item--padding:var(--digi--padding--smaller) 0 0 0;--digi--form-error-list--item--margin:0}.sc-digi-form-error-list-h .digi-form-error-list.sc-digi-form-error-list ul.sc-digi-form-error-list{list-style:none;padding:var(--digi--form-error-list--list--padding);margin:var(--digi--form-error-list--list--margin)}.sc-digi-form-error-list-h .digi-form-error-list.sc-digi-form-error-list ul.sc-digi-form-error-list>li.sc-digi-form-error-list{list-style:none;padding:var(--digi--form-error-list--item--padding);margin:var(--digi--form-error-list--item--margin)}";
56
70
  const DigiFormErrorListStyle0 = formErrorListCss;
57
71
 
@@ -74,6 +88,24 @@ const FormErrorList = class {
74
88
  async afMSetHeadingFocus() {
75
89
  this.setHeadingFocus();
76
90
  }
91
+ connectedCallback() {
92
+ this.observer = new MutationObserver((mutations) => {
93
+ const hasChildChanges = mutations.some(mutation => mutation.type === 'childList');
94
+ if (hasChildChanges) {
95
+ const hostElement = this.hostElement.querySelector('.digi-form-error-list');
96
+ applyStencilScope(hostElement, hostElement);
97
+ }
98
+ });
99
+ this.observer.observe(this.hostElement, {
100
+ childList: true,
101
+ subtree: true
102
+ });
103
+ }
104
+ disconnectedCallback() {
105
+ if (this.observer) {
106
+ this.observer.disconnect();
107
+ }
108
+ }
77
109
  componentDidLoad() {
78
110
  this.setHeadingFocus();
79
111
  this.afOnReady.emit();
@@ -100,7 +132,7 @@ const FormErrorList = class {
100
132
  this.afOnClickLink.emit({ id });
101
133
  }
102
134
  render() {
103
- return (index.h("div", { key: '59bc43d4b3dd0149647b50203cc1ae585d829006', class: "digi-form-error-list", id: this.afId }, index.h("digi-notification-alert", { key: 'a2b034276ff7549c9c0711202020e3753da7808d', ref: (el) => (this._notificationAlert = el), "af-heading": this.afHeading, "af-heading-level": this.afHeadingLevel, "af-variation": typographyVariation_enum.NotificationAlertVariation.DANGER }, this.afDescription && (index.h("digi-typography", { key: '3a61c65373b92a73694770f851c6727e27f853e7', "af-variation": typographyVariation_enum.TypographyVariation.SMALL }, index.h("p", { key: 'a088b4d084f5a6db85cedcb4f469f4dff803f8f6', class: "digi-form-error-list__description" }, this.afDescription))), index.h("slot", { key: '794c42cdece0d06945255b70a96a6992eb4dcd4c' }))));
135
+ return (index.h("div", { key: '9471a904e95c6304644d884e15aac90d3b0fbad1', class: "digi-form-error-list", id: this.afId }, index.h("digi-notification-alert", { key: '13a8bf3037570f929f470cc2a531156d552ca53a', ref: (el) => (this._notificationAlert = el), "af-heading": this.afHeading, "af-heading-level": this.afHeadingLevel, "af-variation": typographyVariation_enum.NotificationAlertVariation.DANGER }, this.afDescription && (index.h("digi-typography", { key: '8e8ef106286f426b0cbcfd904407582e79e8ce24', "af-variation": typographyVariation_enum.TypographyVariation.SMALL }, index.h("p", { key: '51175a8da94efe46a262ce365994aa3c23983f2e', class: "digi-form-error-list__description" }, this.afDescription))), index.h("slot", { key: 'b9f5287d0e2c0326100a094a48fa5e7ab314b92f' }))));
104
136
  }
105
137
  get hostElement() { return index.getElement(this); }
106
138
  };