@designsystem-se/af 39.1.0-beta.2 → 39.1.0-beta.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-bar-chart.js +1 -1
- package/components/digi-button.js +1 -1
- package/components/digi-calendar-week-view.js +2 -2
- package/components/digi-chart-line.js +1 -1
- package/components/digi-code-block.js +1 -1
- package/components/digi-code-example.js +2 -2
- package/components/digi-context-menu.js +1 -1
- package/components/digi-dialog.js +1 -1
- package/components/digi-form-category-filter.js +1 -1
- package/components/digi-form-error-list.js +2 -2
- package/components/digi-form-file-upload.js +1 -1
- package/components/digi-form-filter.js +1 -1
- package/components/digi-form-input-search.js +2 -2
- package/components/digi-form-select-filter.js +1 -1
- package/components/digi-header-navigation.js +1 -1
- package/components/digi-header.js +2 -2
- package/components/digi-navigation-pagination.js +1 -1
- package/components/digi-navigation-sidebar-button.js +1 -1
- package/components/digi-navigation-sidebar.js +1 -1
- package/components/digi-notification-alert.js +1 -1
- package/components/digi-tag.js +1 -1
- package/components/digi-tools-feedback-banner.js +7 -2
- package/components/digi-tools-feedback.js +1 -1
- package/components/p-3IdGnhr5.js +172 -0
- package/components/{p-DDZ0nalw.js → p-B-hL6z4l.js} +1 -1
- package/components/{p-Dq9EWvk8.js → p-BOM-CTrq.js} +1 -1
- package/components/{p-C32dTT4K.js → p-BZkK1uIs.js} +1 -1
- package/dist/cjs/button-type.enum-2UH0KkO-.js +8 -0
- package/dist/cjs/{button-variation.enum-DkUalo9f.js → button-variation.enum-ngMqFLdW.js} +6 -0
- package/dist/cjs/{code-example-variation.enum-BCENTUV2.js → code-example-variation.enum-Cq-BioXW.js} +0 -6
- package/dist/cjs/digi-arbetsformedlingen.cjs.js +1 -1
- package/dist/cjs/{digi-calendar-week-view.cjs.entry.js → digi-button_5.cjs.entry.js} +260 -72
- package/dist/cjs/digi-calendar-datepicker.cjs.entry.js +10 -6
- package/dist/cjs/digi-code-block_3.cjs.entry.js +10 -6
- package/dist/cjs/digi-code-example.cjs.entry.js +4 -4
- package/dist/cjs/digi-dialog.cjs.entry.js +10 -6
- package/dist/cjs/digi-footer.cjs.entry.js +9 -5
- package/dist/cjs/digi-form-error-list.cjs.entry.js +9 -5
- package/dist/cjs/digi-form-file-upload.cjs.entry.js +11 -10
- package/dist/cjs/digi-form-input-search.cjs.entry.js +9 -7
- package/dist/cjs/digi-form-input.cjs.entry.js +205 -0
- package/dist/cjs/digi-form-label_3.cjs.entry.js +147 -0
- package/dist/cjs/digi-form-receipt.cjs.entry.js +9 -5
- package/dist/cjs/digi-form-select-filter.cjs.entry.js +649 -0
- package/dist/cjs/digi-header-navigation.cjs.entry.js +9 -5
- package/dist/cjs/digi-header.cjs.entry.js +9 -5
- package/dist/cjs/digi-icon-check.cjs.entry.js +28 -0
- package/dist/cjs/digi-icon-chevron-down.cjs.entry.js +28 -0
- package/dist/cjs/digi-icon-validation-error_2.cjs.entry.js +51 -0
- package/dist/cjs/digi-navigation-pagination.cjs.entry.js +9 -5
- package/dist/cjs/digi-notification-alert.cjs.entry.js +9 -5
- package/dist/cjs/digi-notification-error-page.cjs.entry.js +9 -5
- package/dist/cjs/digi-title-logo.cjs.entry.js +9 -5
- package/dist/cjs/digi-tools-feedback-banner.cjs.entry.js +7 -2
- package/dist/cjs/digi-tools-feedback.cjs.entry.js +11 -7
- package/dist/cjs/digi-util-keydown-handler.cjs.entry.js +81 -0
- package/dist/cjs/{form-validation-message-variation.enum-DgkifAnP.js → form-file-upload-variation.enum-xcEOoggr.js} +0 -7
- package/dist/cjs/form-input-search-variation.enum-VVfvlVeM.js +8 -0
- package/dist/cjs/{form-input-type.enum-B2CsNSBg.js → form-input-type.enum-DvF_MTHK.js} +0 -14
- package/dist/cjs/form-input-variation.enum-kpoXNUuI.js +29 -0
- package/dist/cjs/form-validation-message-variation.enum-BA5nmCiw.js +8 -0
- package/dist/cjs/index-tbq85ezH.js +26 -10
- package/dist/cjs/index.cjs.js +52 -48
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{typography-variation.enum-4snUBTF7.js → typography-variation.enum-BDSt7CVI.js} +0 -28
- package/dist/collection/components/_button/button/button.css +23 -0
- package/dist/collection/components/_calendar/week-view/calendar-week-view.css +36 -47
- package/dist/collection/components/_form/form-file-upload/form-file-upload.css +11 -15
- package/dist/collection/components/_form/form-input-search/form-input-search.css +0 -4
- package/dist/collection/components/_tools/tools-feedback-banner/tools-feedback-banner.js +7 -2
- package/dist/collection/design-tokens/components/_button.variables.scss +6 -0
- package/dist/collection/design-tokens/components/_logo.variables.scss +17 -15
- package/dist/digi-arbetsformedlingen/design-tokens/components/_button.variables.scss +6 -0
- package/dist/digi-arbetsformedlingen/digi-arbetsformedlingen.esm.js +1 -1
- package/dist/digi-arbetsformedlingen/index.esm.js +1 -1
- package/dist/digi-arbetsformedlingen/p-0a993ca4.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-0b0009eb.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-21853656.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-23d8d58c.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-28f335d8.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-2f65802b.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/{p-77d355fe.entry.js → p-4336cdff.entry.js} +1 -1
- package/dist/digi-arbetsformedlingen/p-4c9a428d.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-4ee14c12.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-4smNltRI.js +1 -0
- package/dist/digi-arbetsformedlingen/p-5c7e6e61.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-60928fb0.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-68e721b1.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-7da0451b.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-87e306b0.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-8848ce2b.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-91a0e1ca.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-9d3da044.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-B8hpiXmh.js +1 -0
- package/dist/digi-arbetsformedlingen/p-BMQm4N5I.js +1 -0
- package/dist/digi-arbetsformedlingen/p-BSJH8Lpg.js +1 -0
- package/dist/digi-arbetsformedlingen/p-BfyJgcLA.js +1 -0
- package/dist/digi-arbetsformedlingen/p-BvWKyXb_.js +1 -0
- package/dist/digi-arbetsformedlingen/p-DGI7Jkg2.js +1 -0
- package/dist/digi-arbetsformedlingen/p-DShzaNrQ.js +1 -0
- package/dist/digi-arbetsformedlingen/p-DfWZa2Wv.js +1 -0
- package/dist/digi-arbetsformedlingen/p-a563f0f4.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-ad7e2dc6.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-beab4698.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-c9c140af.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-d62e264c.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-ef47f143.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-f9a2a80e.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/p-feaeab97.entry.js +1 -0
- package/dist/digi-arbetsformedlingen/{p-DbBOgLZR.js → p-xwICssEK.js} +1 -1
- package/dist/esm/button-type.enum-DShzaNrQ.js +8 -0
- package/dist/esm/{button-variation.enum-y5Nm4oWF.js → button-variation.enum-BMQm4N5I.js} +7 -1
- package/dist/esm/{code-example-variation.enum-Ooszw6tl.js → code-example-variation.enum-DGI7Jkg2.js} +1 -7
- package/dist/esm/digi-arbetsformedlingen.js +1 -1
- package/dist/esm/{digi-calendar-week-view.entry.js → digi-button_5.entry.js} +190 -6
- package/dist/esm/digi-calendar-datepicker.entry.js +10 -6
- package/dist/esm/digi-code-block_3.entry.js +9 -5
- package/dist/esm/digi-code-example.entry.js +2 -2
- package/dist/esm/digi-dialog.entry.js +9 -5
- package/dist/esm/digi-footer.entry.js +9 -5
- package/dist/esm/digi-form-error-list.entry.js +9 -5
- package/dist/esm/digi-form-file-upload.entry.js +3 -2
- package/dist/esm/digi-form-input-search.entry.js +4 -2
- package/dist/esm/digi-form-input.entry.js +203 -0
- package/dist/esm/digi-form-label_3.entry.js +143 -0
- package/dist/esm/digi-form-receipt.entry.js +9 -5
- package/dist/esm/digi-form-select-filter.entry.js +647 -0
- package/dist/esm/digi-header-navigation.entry.js +9 -5
- package/dist/esm/digi-header.entry.js +9 -5
- package/dist/esm/digi-icon-check.entry.js +26 -0
- package/dist/esm/digi-icon-chevron-down.entry.js +26 -0
- package/dist/esm/digi-icon-validation-error_2.entry.js +48 -0
- package/dist/esm/digi-navigation-pagination.entry.js +9 -5
- package/dist/esm/digi-notification-alert.entry.js +9 -5
- package/dist/esm/digi-notification-error-page.entry.js +9 -5
- package/dist/esm/digi-title-logo.entry.js +9 -5
- package/dist/esm/digi-tools-feedback-banner.entry.js +7 -2
- package/dist/esm/digi-tools-feedback.entry.js +9 -5
- package/dist/esm/digi-util-keydown-handler.entry.js +79 -0
- package/dist/esm/{form-validation-message-variation.enum-9n7Okhf1.js → form-file-upload-variation.enum-BfyJgcLA.js} +1 -8
- package/dist/esm/form-input-search-variation.enum-BvWKyXb_.js +8 -0
- package/dist/esm/{form-input-type.enum-CN1mgrt1.js → form-input-type.enum-BSJH8Lpg.js} +1 -15
- package/dist/esm/form-input-variation.enum-DfWZa2Wv.js +29 -0
- package/dist/esm/form-validation-message-variation.enum-B8hpiXmh.js +8 -0
- package/dist/esm/{index-DnTiPaEs.js → index-B1Je6g2n.js} +1 -1
- package/dist/esm/index-Co_lVhh_.js +26 -10
- package/dist/esm/index.js +9 -5
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{typography-variation.enum-BDBYHWrh.js → typography-variation.enum-4smNltRI.js} +1 -29
- package/dist/types/components/_tools/tools-feedback-banner/tools-feedback-banner.d.ts +1 -0
- package/hydrate/index.js +11 -6
- package/hydrate/index.mjs +11 -6
- package/package.json +1 -1
- package/components/p--RxphPe_.js +0 -172
- package/dist/cjs/digi-button_11.cjs.entry.js +0 -1274
- package/dist/cjs/digi-icon-chevron-left_2.cjs.entry.js +0 -51
- package/dist/cjs/digi-typography.cjs.entry.js +0 -22
- package/dist/digi-arbetsformedlingen/p-0dc8c1f1.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-14d011c8.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-31d3b121.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-38d6c196.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-44c16261.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-45f30e15.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-478dd735.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-591509af.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-8c4b642e.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-8fb4e6a3.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-93367afb.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-9n7Okhf1.js +0 -1
- package/dist/digi-arbetsformedlingen/p-BDBYHWrh.js +0 -1
- package/dist/digi-arbetsformedlingen/p-CN1mgrt1.js +0 -1
- package/dist/digi-arbetsformedlingen/p-Ooszw6tl.js +0 -1
- package/dist/digi-arbetsformedlingen/p-aaeddc10.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-ab84eed8.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-bd635299.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-c273763e.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-c73ddbe2.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-cd90ab0b.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-cfe0bcf9.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-d441cad3.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-fd330ef0.entry.js +0 -1
- package/dist/digi-arbetsformedlingen/p-y5Nm4oWF.js +0 -1
- package/dist/esm/digi-button_11.entry.js +0 -1262
- package/dist/esm/digi-icon-chevron-left_2.entry.js +0 -48
- package/dist/esm/digi-typography.entry.js +0 -20
|
@@ -0,0 +1,649 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var index = require('./index-tbq85ezH.js');
|
|
4
|
+
var randomIdGenerator_util = require('./randomIdGenerator.util-C8XR2Tn1.js');
|
|
5
|
+
var logger_util = require('./logger.util-DUhrcCTY.js');
|
|
6
|
+
var detectClickOutside_util = require('./detectClickOutside.util-DKR8Sdiw.js');
|
|
7
|
+
var detectFocusOutside_util = require('./detectFocusOutside.util-BNHrXMJ2.js');
|
|
8
|
+
var text = require('./text-Cu3CaHGj.js');
|
|
9
|
+
require('./badge-notification-shape.enum-CEyEo2G5.js');
|
|
10
|
+
var typographyVariation_enum = require('./typography-variation.enum-BDSt7CVI.js');
|
|
11
|
+
require('./badge-status-variation.enum-XX8d--rj.js');
|
|
12
|
+
require('./button-variation.enum-ngMqFLdW.js');
|
|
13
|
+
require('./button-type.enum-2UH0KkO-.js');
|
|
14
|
+
require('./calendar-week-view-heading-level.enum-NEkm5SUq.js');
|
|
15
|
+
require('./bar-chart-variation.enum-BZFN4377.js');
|
|
16
|
+
require('./code-example-variation.enum-Cq-BioXW.js');
|
|
17
|
+
require('./code-variation.enum-BM-hhQuD.js');
|
|
18
|
+
require('./expandable-accordion-header-level.enum-CjL9V3Kt.js');
|
|
19
|
+
require('./expandable-faq-item-variation.enum-aKkYAQgd.js');
|
|
20
|
+
require('./expandable-faq-variation.enum-FEybT9s4.js');
|
|
21
|
+
require('./footer-card-variation.enum-BPnpkC45.js');
|
|
22
|
+
require('./form-checkbox-variation.enum-BfOGU4Qt.js');
|
|
23
|
+
require('./form-file-upload-variation.enum-xcEOoggr.js');
|
|
24
|
+
require('./form-input-search-variation.enum-VVfvlVeM.js');
|
|
25
|
+
var formInputType_enum = require('./form-input-type.enum-DvF_MTHK.js');
|
|
26
|
+
var formInputVariation_enum = require('./form-input-variation.enum-kpoXNUuI.js');
|
|
27
|
+
require('./form-radiogroup-validation.enum-DBDbjF6N.js');
|
|
28
|
+
require('./form-select-variation.enum-e6wjWyaS.js');
|
|
29
|
+
require('./form-textarea-variation.enum-BcEyaR5W.js');
|
|
30
|
+
require('./form-validation-message-variation.enum-BA5nmCiw.js');
|
|
31
|
+
require('./info-card-multi-type.enum-pqhvdrsN.js');
|
|
32
|
+
require('./info-card-variation.enum-B1cqmknX.js');
|
|
33
|
+
require('./layout-container-max-width.enum-DqWtU7WK.js');
|
|
34
|
+
require('./layout-block-variation.enum-BldWvnDk.js');
|
|
35
|
+
require('./layout-columns-variation.enum-OgD-hvRN.js');
|
|
36
|
+
require('./link-button-variation.enum-03cHZQxx.js');
|
|
37
|
+
require('./list-type.enum-CkFOn-eB.js');
|
|
38
|
+
require('./loader-skeleton-variation.enum-UvPtdesw.js');
|
|
39
|
+
require('./loader-spinner-size.enum-u5AQs-UJ.js');
|
|
40
|
+
require('./logo-color.enum-BJZv-f6R.js');
|
|
41
|
+
require('./media-figure-alignment.enum-BWO1sg67.js');
|
|
42
|
+
require('./navigation-sidebar-variation.enum-70NIGQoi.js');
|
|
43
|
+
require('./navigation-vertical-menu-variation.enum-7IUICId3.js');
|
|
44
|
+
require('./progress-circle-role.enum-DCkczyl8.js');
|
|
45
|
+
require('./progress-indicator-variation.enum-3KORUGDH.js');
|
|
46
|
+
require('./progress-list-item-variation.enum-Dk3YS--x.js');
|
|
47
|
+
require('./progress-list-variation.enum-BvLLJK9O.js');
|
|
48
|
+
require('./progressbar-variation.enum-CnRJPSs7.js');
|
|
49
|
+
require('./quote-image-inner-position.enum-CLifVlj0.js');
|
|
50
|
+
require('./table-variation.enum-DlDZKXbq.js');
|
|
51
|
+
require('./tag-media-icon.enum-DzhiwvjI.js');
|
|
52
|
+
require('./tag-size.enum-DFom3Smn.js');
|
|
53
|
+
require('./tools-feedback-banner-type.enum-Dyeg3XNb.js');
|
|
54
|
+
require('./tools-feedback-rating-variation.enum-CBI4GhXs.js');
|
|
55
|
+
require('./tools-theme-provider.brand.enum-BzduvCUY.js');
|
|
56
|
+
require('./typography-heading-jumbo-variation.enum-Di1Jeh0G.js');
|
|
57
|
+
require('./typography-meta-variation.enum-lvDemnSz.js');
|
|
58
|
+
require('./typography-time-variation.enum-D2gIVzYH.js');
|
|
59
|
+
require('./util-breakpoint-observer-breakpoints.enum-zoJiezkV.js');
|
|
60
|
+
require('./detectClosest.util-D1z809xM.js');
|
|
61
|
+
|
|
62
|
+
const formSelectFilterCss = () => `.sc-digi-form-select-filter-h{--digi--form-select-filter--footer--background:var(--digi--color--background--secondary);--digi--form-select-filter--scroll--max-height:10.625rem;--digi--form-select-filter--scroll--padding:var(--digi--padding--small);--digi--form-select-filter--reset-button--margin-right:var(--digi--padding--small);--digi--form-select-filter--legend__border-bottom:var(--digi--border-width--primary) solid var(--digi--color--divider--primary);--digi--form-select-filter--list--margin:0;--digi--form-select-filter--list--padding:var(--digi--gutter--small) 0 0 0;--digi--form-select-filter--item--margin:var(--digi--gutter--small) 0;--digi--form-select-filter--toggle-icon--transition:ease-in-out 0.2s all;--digi--form-select-filter--dropdown--border-radius:var(--digi--border-radius--input);--digi--form-select-filter--dropdown--background:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--dropdown--min-width:18.75rem;--digi--form-select-filter--dropdown--margin-top:var(--digi--gutter--small);--digi--form-select-filter--dropdown--z-index:999;--digi--form-select-filter--dropdown--header--background:var(--digi--color--background--secondary-accent);--digi--form-select-filter--dropdown--item--cursor:pointer;--digi--form-select-filter--dropdown--item--height:auto;--digi--form-select-filter--dropdown--item--min-height:1.5rem;--digi--form-select-filter--dropdown--item--color:var(--digi--color--text--primary);--digi--form-select-filter--dropdown--item--font-size:var(--digi--typography--body--font-size--desktop);--digi--form-select-filter--dropdown--item--font-family:var(--digi--global--typography--font-family--default);--digi--form-select-filter--dropdown--item--font-weight--default:var(--digi--typography--link--font-weight--desktop);--digi--form-select-filter--dropdown--item--font-weight--selected:var(--digi--typography--link-bold--font-weight--desktop);--digi--form-select-filter--dropdown--item--font-weight--hover:var(--digi--typography--link-bold--font-weight--desktop);--digi--form-select-filter--dropdown--item--letter-spacing:0px;--digi--form-select-filter--dropdown--item--line-height:1.5;--digi--form-select-filter--dropdown--item--margin-bottom:0px;--digi--form-select-filter--dropdown--item--border-width:var(--digi--border-width--primary);--digi--form-select-filter--dropdown--item--border-type:var(--digi--border-style--primary);--digi--form-select-filter--dropdown--item--border-color:var(--digi--color--divider--primary);--digi--form-select-filter--dropdown--item--padding-y:var(--digi--margin--small);--digi--form-select-filter--dropdown--item--padding-x:var(--digi--margin--largest);--digi--form-select-filter--dropdown--item--multiple--padding-y:var(--digi--margin--small);--digi--form-select-filter--dropdown--item--multiple--padding-x:var(--digi--padding--largest-2);--digi--form-select-filter--dropdown--item--background-color--default:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--dropdown--item--background-color--focus:var(--digi--color--background--interactive--hover--quarternary);--digi--form-select-filter--dropdown--item--background-color--hover:var(--digi--color--background--interactive--hover--quarternary);--digi--form-select-filter--dropdown--item--background-color--active:var(--digi--color--background--interactive--selected--tertiary);--digi--form-select-filter--dropdown--item--background-color--selected:var(--digi--color--background--interactive--selected--tertiary);--digi--form-select-filter--dropdown--item--checkbox--background-color:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--dropdown--item--checkbox--background-color--selected:var(--digi--color--marking--indication--primary);--digi--form-select-filter--dropdown--item--checkbox--border-color:var(--digi--color--border--interactive--default--on-input);--digi--form-select-filter--dropdown--item--checkbox--border-width:var(--digi--border-width--primary);--digi--form-select-filter--dropdown--item--checkbox--border-style:var(--digi--border-style--primary);--digi--form-select-filter--dropdown--item--checkbox--border-radius:var(--digi--border-radius--tertiary);--digi--form-select-filter--dropdown--item--checkbox--width:1.25rem;--digi--form-select-filter--dropdown--item--checkbox--height:1.25rem;--digi--form-select-filter--toggle-button-indicator--color--default:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--toggle-button-indicator--color--active:var(--digi--color--marking--indication--primary);--digi--form-select-filter--toggle-button-indicator--width:1rem;--digi--form-select-filter--toggle-button-indicator--height:1rem;--digi--form-select-filter--toggle-button-indicator--margin-right:var(--digi--margin--small);--digi--form-select-filter--toggle-button-indicator--margin-left:calc(var(--digi--margin--smaller) * -1);--digi--form-select-filter--toggle-button--text--margin-right:var(--digi--margin--smaller);--digi--form-select-filter--toggle-button-indicator--color:var(--digi--color--marking--indication--primary);--digi--form-select-filter--toggle-icon--width:0.875rem;--digi--form-select-filter--toggle-icon--height:0.875rem;--digi--form-select-filter--search-input--border-radius:var(--digi--border-radius--input);--digi--form-select-filter--search-input--border-width:var(--digi--border-width--input-regular);--digi--form-select-filter--search-input--border-style:var(--digi--border-style--primary);--digi--form-select-filter--search-input--border-color:var(--digi--form-select-filter--toggle-button--border-width--neutral);--digi--form-select-filter--search-input--height:var(--digi--input-height--medium);--digi--form-select-filter--search-input--width:100%;--digi--form-select-filter--legend--font-weight:var(--digi--typography--preamble--font-weight--desktop);--digi--form-select-filter--legend--font-family:var(--digi--global--typography--font-family--default);--digi--form-select-filter--legend--font-size:var(--digi--typography--preamble--font-size--desktop);--digi--form-select-filter--toggle-button--border-width--neutral:var(--digi--border-width--input-regular);--digi--form-select-filter--toggle-button--border-color--neutral:var(--digi--color--border--interactive--default--on-input);--digi--form-select-filter--toggle-button--background--neutral:var(--digi--color--background--interactive--default--input-elements);--digi--form-select-filter--toggle-button--border-width--success:var(--digi--border-width--input-validation);--digi--form-select-filter--toggle-button--border-color--success:var(--digi--color--border--interactive--validation--success);--digi--form-select-filter--toggle-button--background--success:var(--digi--color--background--interactive--validation--success);--digi--form-select-filter--toggle-button--border-width--warning:var(--digi--border-width--input-validation);--digi--form-select-filter--toggle-button--border-color--warning:var(--digi--color--border--interactive--validation--warning);--digi--form-select-filter--toggle-button--background--warning:var(--digi--color--background--interactive--validation--warning);--digi--form-select-filter--toggle-button--border-width--error:var(--digi--border-width--input-validation);--digi--form-select-filter--toggle-button--border-color--error:var(--digi--color--border--interactive--validation--error);--digi--form-select-filter--toggle-button--background--error:var(--digi--color--background--interactive--validation--error);box-sizing:content-box}.sc-digi-form-select-filter-h .digi--a11y--sr-only.sc-digi-form-select-filter{border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sc-digi-form-select-filter-h .digi-form-select-filter.sc-digi-form-select-filter{display:flex;flex-direction:column;gap:0.4em;position:relative;--INDICATOR--BACKGROUND:var(--digi--form-select-filter--toggle-button-indicator--color--default);--SCROLL--MAX-HEIGHT:var(--digi--form-select-filter--scroll--max-height)}.sc-digi-form-select-filter-h .digi-form-select-filter--neutral.sc-digi-form-select-filter{--BORDER-WIDTH:var( --digi--form-select-filter--toggle-button--border-width--neutral );--BORDER-COLOR:var( --digi--form-select-filter--toggle-button--border-color--neutral );--BACKGROUND:var( --digi--form-select-filter--toggle-button--background--neutral )}.sc-digi-form-select-filter-h .digi-form-select-filter--success.sc-digi-form-select-filter{--BORDER-WIDTH:var( --digi--form-select-filter--toggle-button--border-width--success );--BORDER-COLOR:var( --digi--form-select-filter--toggle-button--border-color--success );--BACKGROUND:var( --digi--form-select-filter--toggle-button--background--success )}.sc-digi-form-select-filter-h .digi-form-select-filter--warning.sc-digi-form-select-filter{--BORDER-WIDTH:var( --digi--form-select-filter--toggle-button--border-width--warning );--BORDER-COLOR:var( --digi--form-select-filter--toggle-button--border-color--warning );--BACKGROUND:var( --digi--form-select-filter--toggle-button--background--warning )}.sc-digi-form-select-filter-h .digi-form-select-filter--error.sc-digi-form-select-filter{--BORDER-WIDTH:var( --digi--form-select-filter--toggle-button--border-width--error );--BORDER-COLOR:var( --digi--form-select-filter--toggle-button--border-color--error );--BACKGROUND:var( --digi--form-select-filter--toggle-button--background--error )}.sc-digi-form-select-filter-h .digi-form-select-filter--open.sc-digi-form-select-filter .digi-form-select-filter__toggle-icon.sc-digi-form-select-filter{transform:rotate(-180deg)}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button.sc-digi-form-select-filter{background:var(--BACKGROUND);border:var(--BORDER-WIDTH) solid var(--BORDER-COLOR);border-radius:var(--digi--border-radius--input);color:var(--digi--color--text--primary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:400;font-size:var(--digi--typography--body--font-size--desktop);width:100%;padding:0 var(--digi--gutter--medium);min-height:var(--digi--input-height--medium);font-family:var(--digi--global--typography--font-family--default)}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button.sc-digi-form-select-filter:focus-visible,.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button.sc-digi-form-select-filter:focus{outline:2px solid black;outline-offset:2px;box-shadow:0px 0px 0px 5px white}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-icon.sc-digi-form-select-filter{transition:var(--digi--form-select-filter--toggle-icon--transition)}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-icon.sc-digi-form-select-filter-s>[slot^=icon],.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-icon .sc-digi-form-select-filter-s>[slot^=icon]{--digi--icon--width:var(--digi--form-select-filter--toggle-icon--width);--digi--icon--height:var(--digi--form-select-filter--toggle-icon--height)}.sc-digi-form-select-filter-h .digi-form-select-filter__legend.sc-digi-form-select-filter{font-weight:var(--digi--form-select-filter--legend--font-weight);font-family:var(--digi--form-select-filter--legend--font-family);font-size:var(--digi--form-select-filter--legend--font-size);border:0;padding:0;margin:0;border:0;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sc-digi-form-select-filter-h .digi-form-select-filter__scroll.sc-digi-form-select-filter{max-height:var(--SCROLL--MAX-HEIGHT);overflow-y:auto}.sc-digi-form-select-filter-h .digi-form-select-filter__header.sc-digi-form-select-filter{background-color:var(--digi--form-select-filter--dropdown--header--background);padding:12px 12px 22px}.sc-digi-form-select-filter-h .digi-form-select-filter__header.sc-digi-form-select-filter input.sc-digi-form-select-filter{border-radius:var(--digi--form-select-filter--search-input--border-radius);border-width:var(--digi--form-select-filter--search-input--border-width);border-style:var(--digi--form-select-filter--search-input--border-style);border-color:var(--digi--form-select-filter--search-input--border-color);height:var(--digi--form-select-filter--search-input--height);width:var(--digi--form-select-filter--search-input--width)}.sc-digi-form-select-filter-h .digi-form-select-filter__header.sc-digi-form-select-filter legend.sc-digi-form-select-filter{width:100%;border-bottom:var(--digi--form-select-filter--legend__border-bottom)}.sc-digi-form-select-filter-h .digi-form-select-filter__footer.sc-digi-form-select-filter{display:flex;align-items:center;justify-content:center;background:var(--digi--form-select-filter--footer--background);padding:var(--digi--form-select-filter--scroll--padding)}.sc-digi-form-select-filter-h .digi-form-select-filter__reset-button.sc-digi-form-select-filter{display:inline-block;margin-right:var(--digi--form-select-filter--reset-button--margin-right)}.sc-digi-form-select-filter-h .digi-form-select-filter__dropdown.sc-digi-form-select-filter{box-shadow:0 2px 6px 0 rgba(0, 0, 0, 0.7);min-width:var(--digi--form-select-filter--dropdown--min-width);width:100%;position:absolute;z-index:var(--digi--form-select-filter--dropdown--z-index);background:var(--digi--form-select-filter--dropdown--background);border-radius:var(--digi--form-select-filter--dropdown--border-radius);overflow:hidden;margin-top:var(--digi--form-select-filter--dropdown--margin-top)}.sc-digi-form-select-filter-h .digi-form-select-filter__dropdown.sc-digi-form-select-filter fieldset.sc-digi-form-select-filter{border:none;padding:0;margin:0}@media (min-width: 48rem){.sc-digi-form-select-filter-h .digi-form-select-filter__dropdown--right.sc-digi-form-select-filter{right:0}}.sc-digi-form-select-filter-h .digi-form-select-filter__dropdown--hidden.sc-digi-form-select-filter{display:none}.sc-digi-form-select-filter-h .digi-form-select-filter__label.sc-digi-form-select-filter{display:block}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button-wrapper--activated.sc-digi-form-select-filter{display:flex;align-items:center}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button-indicator.sc-digi-form-select-filter{display:none;--digi--icon--color:var(--digi--form-select-filter--toggle-button-indicator--color)}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button-indicator--active.sc-digi-form-select-filter{display:flex;margin-right:var(--digi--form-select-filter--toggle-button-indicator--margin-right);width:var(--digi--form-select-filter--toggle-button-indicator--width);height:var(--digi--form-select-filter--toggle-button-indicator--height)}.sc-digi-form-select-filter-h .digi-form-select-filter__search-status.sc-digi-form-select-filter{font-family:var(--digi--global--typography--font-family--default);font-size:var(--digi--typography--label--font-size--desktop);color:var(--digi--color--text--primary)}.sc-digi-form-select-filter-h .digi-form-select-filter__list.sc-digi-form-select-filter{margin:var(--digi--form-select-filter--list--margin);padding:0;max-width:100%}.sc-digi-form-select-filter-h .digi-form-select-filter__item.sc-digi-form-select-filter{background-color:var(--digi--form-select-filter--dropdown--item--background-color--default);border-width:0;box-sizing:border-box;border-bottom-width:var(--digi--form-select-filter--dropdown--item--border-width);border-style:var(--digi--form-select-filter--dropdown--item--border-type);border-color:var(--digi--form-select-filter--dropdown--item--border-color);cursor:var(--digi--form-select-filter--dropdown--item--cursor);color:var(--digi--form-select-filter--dropdown--item--color);display:block;font-size:var(--digi--form-select-filter--dropdown--item--font-size);font-family:var(--digi--form-select-filter--dropdown--item--font-family);font-weight:var(--digi--form-select-filter--dropdown--item--font-weight--default);padding:var(--digi--form-select-filter--dropdown--item--padding-y) var(--digi--form-select-filter--dropdown--item--padding-x);position:relative;height:var(--digi--form-select-filter--dropdown--item--height);min-height:var(--digi--form-select-filter--dropdown--item--min-height);margin-bottom:var(--digi--form-select-filter--dropdown--item--margin-bottom);letter-spacing:var(--digi--form-select-filter--dropdown--item--letter-spacing);line-height:var(--digi--form-select-filter--dropdown--item--line-height)}.sc-digi-form-select-filter-h .digi-form-select-filter__item.sc-digi-form-select-filter:focus-visible{background-color:var(--digi--form-select-filter--dropdown--item--background-color--focus);outline:2px solid black;outline-offset:-3px;box-shadow:0px 0px 0px 5px inset white}.sc-digi-form-select-filter-h .digi-form-select-filter__item.sc-digi-form-select-filter:hover{background-color:var(--digi--form-select-filter--dropdown--item--background-color--hover);font-weight:var(--digi--form-select-filter--dropdown--item--font-weight--hover)}.sc-digi-form-select-filter-h .digi-form-select-filter__item.sc-digi-form-select-filter:active{background-color:var(--digi--form-select-filter--dropdown--item--background-color--active)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[aria-checked=true].sc-digi-form-select-filter{font-weight:var(--digi--form-select-filter--dropdown--item--font-weight--selected);background-color:var(--digi--form-select-filter--dropdown--item--background-color--selected)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[dir=rtl].sc-digi-form-select-filter{text-align:right}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=radio].sc-digi-form-select-filter .digi-form-select-filter__item__icon.sc-digi-form-select-filter{position:absolute;width:13px;height:25px;left:7px}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=radio][dir=rtl].sc-digi-form-select-filter::before{right:3px}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=radio][dir=rtl].sc-digi-form-select-filter .digi-form-select-filter__item__icon.sc-digi-form-select-filter{left:auto;right:7px}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox].sc-digi-form-select-filter{padding:var(--digi--form-select-filter--dropdown--item--multiple--padding-y) var(--digi--form-select-filter--dropdown--item--multiple--padding-x)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox][aria-checked=true].sc-digi-form-select-filter:before{background:var(--digi--form-select-filter--dropdown--item--checkbox--background-color--selected);border-color:var(--digi--form-select-filter--dropdown--item--checkbox--background-color--selected)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox].sc-digi-form-select-filter::before{content:"";position:absolute;background-color:var(--digi--form-select-filter--dropdown--item--checkbox--background-color);border-color:var(--digi--form-select-filter--dropdown--item--checkbox--border-color);border-width:var(--digi--form-select-filter--dropdown--item--checkbox--border-width);border-style:var(--digi--form-select-filter--dropdown--item--checkbox--border-style);height:var(--digi--form-select-filter--dropdown--item--checkbox--width);width:var(--digi--form-select-filter--dropdown--item--checkbox--height);border-radius:var(--digi--form-select-filter--dropdown--item--checkbox--border-radius);left:12px;transform:translateY(1px)}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox].sc-digi-form-select-filter .digi-form-select-filter__item__icon.sc-digi-form-select-filter{position:absolute;width:13px;left:16px;--digi--icon--color:white}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox][dir=rtl].sc-digi-form-select-filter::before{right:12px}.sc-digi-form-select-filter-h .digi-form-select-filter__item[role=checkbox][dir=rtl].sc-digi-form-select-filter .digi-form-select-filter__item__icon.sc-digi-form-select-filter{left:auto;right:16px}.sc-digi-form-select-filter-h .digi-form-select-filter__toggle-button-text.sc-digi-form-select-filter{margin-right:var(--digi--form-select-filter--toggle-button--text--margin-right)}.sc-digi-form-select-filter-h .hidden.sc-digi-form-select-filter{display:none}`;
|
|
63
|
+
|
|
64
|
+
const FormSelectFilter = class {
|
|
65
|
+
constructor(hostRef) {
|
|
66
|
+
index.registerInstance(this, hostRef);
|
|
67
|
+
this.afOnFocusout = index.createEvent(this, "afOnFocusout", 7);
|
|
68
|
+
this.afOnSubmitFilters = index.createEvent(this, "afOnSubmitFilters", 7);
|
|
69
|
+
this.afOnFilterClosed = index.createEvent(this, "afOnFilterClosed", 7);
|
|
70
|
+
this.afOnResetFilters = index.createEvent(this, "afOnResetFilters", 7);
|
|
71
|
+
this.afOnSelect = index.createEvent(this, "afOnSelect", 7);
|
|
72
|
+
this.afOnQueryChanged = index.createEvent(this, "afOnQueryChanged", 7);
|
|
73
|
+
this.isOpen = false;
|
|
74
|
+
this.focusListItemIndex = 0;
|
|
75
|
+
this.focusInList = false;
|
|
76
|
+
this._filteredResult = [];
|
|
77
|
+
this._selectedItems = [];
|
|
78
|
+
this._searchQuery = '';
|
|
79
|
+
/** True when `value` was set from outside (e.g. Angular CVA) — then value is selection master. */
|
|
80
|
+
this._valueIsMaster = false;
|
|
81
|
+
/** Guards internal `value` writes so they don't flip `_valueIsMaster`. */
|
|
82
|
+
this._updatingValueInternally = false;
|
|
83
|
+
/**
|
|
84
|
+
* Sätter väljarens validering
|
|
85
|
+
* @en Set select validation
|
|
86
|
+
*/
|
|
87
|
+
this.afValidation = typographyVariation_enum.FormSelectFilterValidation.NEUTRAL;
|
|
88
|
+
/**
|
|
89
|
+
* Normalt betonas ett obligatoriskt fält visuellt och semantiskt.
|
|
90
|
+
* Detta vänder på det och betonar fältet om det inte krävs.
|
|
91
|
+
* Ställ in detta till sant om ditt formulär innehåller fler obligatoriska fält än inte.
|
|
92
|
+
* @en Normally a required field is visually and semantically emphasized.
|
|
93
|
+
* This flips that and emphasizes the field if it is not required.
|
|
94
|
+
* Set this to true if your form contains more required fields than not.
|
|
95
|
+
*/
|
|
96
|
+
this.afAnnounceIfOptional = false;
|
|
97
|
+
/**
|
|
98
|
+
* Sorterar listan i alfabetisk ordning.
|
|
99
|
+
* @en Sort the list in alphabetical order.
|
|
100
|
+
*/
|
|
101
|
+
this.sortAlphabetically = true;
|
|
102
|
+
/**
|
|
103
|
+
* @ignore
|
|
104
|
+
* Propertyn `value` finns inte dokumenterad på komponentens sida på dokumentationswebben, utan
|
|
105
|
+
* är endast till för att användas tillsammans med Angulars Control Value Accessors (CVA).
|
|
106
|
+
* Används CVA för att hantera komponentens värden så ska inte afListItems användas för att
|
|
107
|
+
* påverka vilka val som är gjorda eller ej.
|
|
108
|
+
* Exempel på båda sätten att hantera datat finns i Angular Playground.
|
|
109
|
+
*/
|
|
110
|
+
this.value = [];
|
|
111
|
+
/**
|
|
112
|
+
* Sätts till true om det ska gå att välja flera val från listan.
|
|
113
|
+
* @en Set to true if you should be able to choose multiple items from the list.
|
|
114
|
+
*/
|
|
115
|
+
this.afMultipleItems = false;
|
|
116
|
+
/**
|
|
117
|
+
* Prefixet för alla komponentens olika interna 'id'-attribut på dropdowns, filterlistor etc. Ex. 'my-cool-id' genererar 'my-cool-id-filter-list', 'my-cool-id-dropdown-menu' och så vidare. Ges inget värde så genereras ett slumpmässigt.
|
|
118
|
+
* @en Prefix for all id attributes inside the component. Example: 'my-cool-id' generates 'my-cool-id-filter-list', 'my-cool-id-dropdown-menu' and so on. Defaults to random string.
|
|
119
|
+
*/
|
|
120
|
+
this.afId = randomIdGenerator_util.randomIdGenerator('digi-form-select-filter');
|
|
121
|
+
/**
|
|
122
|
+
* Texten i rensaknappen
|
|
123
|
+
* @en Set the reset button text
|
|
124
|
+
*/
|
|
125
|
+
this.afResetButtonText = text._t.clear;
|
|
126
|
+
/**
|
|
127
|
+
* Döljer rensaknappen när värdet sätts till true
|
|
128
|
+
* @en Hides the reset button when set to true
|
|
129
|
+
*/
|
|
130
|
+
this.afHideResetButton = false;
|
|
131
|
+
/**
|
|
132
|
+
* Text som visas när sökningen inte ger några resultat.
|
|
133
|
+
* @en Text that is shown the the search gives no result.
|
|
134
|
+
*/
|
|
135
|
+
this.afEmptySearchMessage = 'Inga sökträffar för';
|
|
136
|
+
/**
|
|
137
|
+
* Om värdet är true får felmeddelandet attributet role="alert".
|
|
138
|
+
* Om felet visas tillsammans med flera andra fel (till exempel efter servervalidering) ska värdet sättas till false.
|
|
139
|
+
* @en If the value is true, the error message gets the attribute role="alert".
|
|
140
|
+
* If the error is shown together with multiple errors (for example after server-side validation), the value should be set to false.
|
|
141
|
+
*/
|
|
142
|
+
this.afErrorMessageIsAlert = true;
|
|
143
|
+
}
|
|
144
|
+
onValueChanged(newValue) {
|
|
145
|
+
let parsedValue;
|
|
146
|
+
if (typeof newValue === 'string') {
|
|
147
|
+
parsedValue = newValue ? JSON.parse(newValue) : [];
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
parsedValue = newValue || [];
|
|
151
|
+
}
|
|
152
|
+
if (!this._updatingValueInternally) {
|
|
153
|
+
this._valueIsMaster = true;
|
|
154
|
+
}
|
|
155
|
+
this.value = parsedValue;
|
|
156
|
+
this.syncValueAndSelectedListItems('valueChange');
|
|
157
|
+
}
|
|
158
|
+
handleListItems() {
|
|
159
|
+
if (this.afListItems) {
|
|
160
|
+
try {
|
|
161
|
+
if (this.afListItems.constructor === Array) {
|
|
162
|
+
this._afListItems = this.afListItems;
|
|
163
|
+
}
|
|
164
|
+
else if (typeof this.afListItems === 'string') {
|
|
165
|
+
this._afListItems = JSON.parse(this.afListItems);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
throw `Invalid type in "af-list-items" attribute`;
|
|
169
|
+
}
|
|
170
|
+
this.giveItemsValueIfNoneExist();
|
|
171
|
+
this.sortListAlphabetically();
|
|
172
|
+
this.syncValueAndSelectedListItems('afListItemsChange');
|
|
173
|
+
this.filterResults();
|
|
174
|
+
}
|
|
175
|
+
catch (e) {
|
|
176
|
+
logger_util.logger.warn(`Invalid JSON in "af-list-items" attribute`, this.hostElement, e);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
get errorMessageIsAlert() {
|
|
182
|
+
return (this.afErrorMessageIsAlert !== false &&
|
|
183
|
+
this.afErrorMessageIsAlert !== 'false');
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Funktion för att rensa valda värden från komponenten
|
|
187
|
+
* @en Function for clearing selected values from component
|
|
188
|
+
*/
|
|
189
|
+
async afMReset() {
|
|
190
|
+
this.resetSelectItems();
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Funktion för att stänga dropdownen
|
|
194
|
+
* @en Function for closing the dropdown
|
|
195
|
+
*/
|
|
196
|
+
async afMCloseDropdown() {
|
|
197
|
+
this.setClosed();
|
|
198
|
+
}
|
|
199
|
+
clickHandler(e) {
|
|
200
|
+
const target = e.target;
|
|
201
|
+
const selector = `#${this.afId}-identifier`;
|
|
202
|
+
if (detectClickOutside_util.detectClickOutside(target, selector) && this.isOpen) {
|
|
203
|
+
this.emitFilterClosedEvent();
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
focusoutHandler(e) {
|
|
207
|
+
const target = e.target;
|
|
208
|
+
const selector = `#${this.afId}-identifier`;
|
|
209
|
+
const focusOutsideFilter = detectFocusOutside_util.detectFocusOutside(target, selector);
|
|
210
|
+
if (focusOutsideFilter && this.isOpen) {
|
|
211
|
+
this.emitFilterClosedEvent();
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
this.focusInList = !detectFocusOutside_util.detectFocusOutside(target, `#${this.afId}-select-filter-list`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Lyssnar på om fokus sätts på custom-elementet och propagerar ner det till toggle-knappen.
|
|
219
|
+
* @en Listens for when focus is set on the custom element and propagates it down to the toggle butto.
|
|
220
|
+
*/
|
|
221
|
+
focusOnElement() {
|
|
222
|
+
this._toggleButton.focus();
|
|
223
|
+
}
|
|
224
|
+
componentWillLoad() {
|
|
225
|
+
this.bootstrapInitialValue();
|
|
226
|
+
this.handleListItems();
|
|
227
|
+
// Angular attaches the host first and binds `[afListItems]` / CVA `value` on
|
|
228
|
+
// the next frame (Stencil 4.36+). @Watch skips that first assignment, so if
|
|
229
|
+
// the list is not here yet, wait one frame. React/vanilla that already set
|
|
230
|
+
// the prop skip the delay.
|
|
231
|
+
if (!this.afListItems) {
|
|
232
|
+
return new Promise((resolve) => {
|
|
233
|
+
requestAnimationFrame(() => {
|
|
234
|
+
this.bootstrapInitialValue();
|
|
235
|
+
this.handleListItems();
|
|
236
|
+
resolve();
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
bootstrapInitialValue() {
|
|
242
|
+
if (typeof this.value === 'string') {
|
|
243
|
+
const parsed = this.value ? JSON.parse(this.value) : [];
|
|
244
|
+
this._updatingValueInternally = true;
|
|
245
|
+
this.value = parsed;
|
|
246
|
+
this._updatingValueInternally = false;
|
|
247
|
+
}
|
|
248
|
+
if (Array.isArray(this.value) && this.value.length > 0) {
|
|
249
|
+
this._valueIsMaster = true;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Keep `value` and `afListItems[].selected` in sync.
|
|
254
|
+
* - If `value` was set externally (`_valueIsMaster`), value wins on list updates.
|
|
255
|
+
* - Otherwise selection is seeded from `afListItems[].selected` (React/vanilla data-as-master).
|
|
256
|
+
* Does not emit `afOnSelect` — that is reserved for user interaction so Angular Control Value Accessors
|
|
257
|
+
* does not get feedback loops on prop sync.
|
|
258
|
+
*/
|
|
259
|
+
syncValueAndSelectedListItems(whereDidTheChangeComeFrom) {
|
|
260
|
+
if (!this._afListItems) {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
if (whereDidTheChangeComeFrom === 'afListItemsChange') {
|
|
264
|
+
if (this._valueIsMaster) {
|
|
265
|
+
this.applyValueToListItems(this.value);
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
this._selectedItems = this._afListItems.filter((item) => item.selected);
|
|
269
|
+
this.setValueInternally([...this._selectedItems]);
|
|
270
|
+
}
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
this.applyValueToListItems(this.value);
|
|
274
|
+
}
|
|
275
|
+
applyValueToListItems(value) {
|
|
276
|
+
const selectedValues = new Set((value !== null && value !== void 0 ? value : []).map((item) => item.value));
|
|
277
|
+
this._afListItems.forEach((item) => {
|
|
278
|
+
item.selected = selectedValues.has(item.value);
|
|
279
|
+
});
|
|
280
|
+
this._selectedItems = this._afListItems.filter((item) => selectedValues.has(item.value));
|
|
281
|
+
}
|
|
282
|
+
setValueInternally(nextValue) {
|
|
283
|
+
this._updatingValueInternally = true;
|
|
284
|
+
this.value = nextValue;
|
|
285
|
+
this._updatingValueInternally = false;
|
|
286
|
+
}
|
|
287
|
+
setClosed(focusToggleButton = false) {
|
|
288
|
+
this.isOpen = false;
|
|
289
|
+
if (focusToggleButton) {
|
|
290
|
+
document.getElementById(`${this.afId}`).focus();
|
|
291
|
+
}
|
|
292
|
+
this.setScroll(0);
|
|
293
|
+
this._searchQuery = '';
|
|
294
|
+
this.afOnQueryChanged.emit('');
|
|
295
|
+
this.afOnSubmitFilters.emit(this._selectedItems);
|
|
296
|
+
this.filterResults();
|
|
297
|
+
}
|
|
298
|
+
setScroll(scrollY) {
|
|
299
|
+
document.querySelector(`#${this.afId}-dropdown-menu .digi-form-select-filter__scroll`).scrollTop = scrollY;
|
|
300
|
+
}
|
|
301
|
+
setOpen() {
|
|
302
|
+
this.isOpen = true;
|
|
303
|
+
this.focusListItemIndex = 0;
|
|
304
|
+
setTimeout(() => {
|
|
305
|
+
this.setFocusSearch();
|
|
306
|
+
}, 50);
|
|
307
|
+
}
|
|
308
|
+
giveItemsValueIfNoneExist() {
|
|
309
|
+
this._afListItems
|
|
310
|
+
.filter((item) => {
|
|
311
|
+
return item.value === undefined;
|
|
312
|
+
})
|
|
313
|
+
.forEach((item) => {
|
|
314
|
+
item.value = item.label;
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
sortListAlphabetically() {
|
|
318
|
+
if (!this.sortAlphabetically) {
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
this._afListItems.sort((a, b) => {
|
|
322
|
+
if (a.label < b.label) {
|
|
323
|
+
return -1;
|
|
324
|
+
}
|
|
325
|
+
if (a.label > b.label) {
|
|
326
|
+
return 1;
|
|
327
|
+
}
|
|
328
|
+
return 0;
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
toggleDropdown() {
|
|
332
|
+
return this.isOpen ? this.setClosed() : this.setOpen();
|
|
333
|
+
}
|
|
334
|
+
inputItem(identifier, index) {
|
|
335
|
+
const item = this.hostElement
|
|
336
|
+
.querySelectorAll(`#${identifier} .digi-form-select-filter__item`)
|
|
337
|
+
.item(index);
|
|
338
|
+
return item;
|
|
339
|
+
}
|
|
340
|
+
emitFilterClosedEvent() {
|
|
341
|
+
this.setClosed(true);
|
|
342
|
+
this.afOnFilterClosed.emit();
|
|
343
|
+
}
|
|
344
|
+
setFocusItem() {
|
|
345
|
+
const element = this.inputItem(`${this.afId}-select-filter-list`, this.focusListItemIndex);
|
|
346
|
+
if (element) {
|
|
347
|
+
element.focus();
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
setFocusSearch() {
|
|
351
|
+
const element = this.hostElement.querySelector('input');
|
|
352
|
+
if (element) {
|
|
353
|
+
element.focus();
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
incrementFocusItem() {
|
|
357
|
+
const listLength = this.showNeutralValue
|
|
358
|
+
? this._filteredResult.length
|
|
359
|
+
: this._filteredResult.length - 1;
|
|
360
|
+
if (this.focusListItemIndex < listLength) {
|
|
361
|
+
this.focusListItemIndex = this.focusListItemIndex + 1;
|
|
362
|
+
this.setFocusItem();
|
|
363
|
+
return;
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
if (!this.afMultipleItems) {
|
|
367
|
+
this.focusListItemIndex = 0;
|
|
368
|
+
this.setFocusItem();
|
|
369
|
+
return;
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
this.tabHandler();
|
|
373
|
+
}
|
|
374
|
+
decrementFocusItem() {
|
|
375
|
+
if (this.focusListItemIndex === 0) {
|
|
376
|
+
this.setFocusSearch();
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
379
|
+
if (this.focusListItemIndex > 0) {
|
|
380
|
+
this.focusListItemIndex = this.focusListItemIndex - 1;
|
|
381
|
+
}
|
|
382
|
+
this.setFocusItem();
|
|
383
|
+
}
|
|
384
|
+
downHandler(e) {
|
|
385
|
+
e.detail.preventDefault();
|
|
386
|
+
if (e.detail.code === 'ArrowDown' || e.detail.code === 'ArrowRight') {
|
|
387
|
+
this.incrementFocusItem();
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
upHandler(e) {
|
|
391
|
+
e.detail.preventDefault();
|
|
392
|
+
if (e.detail.code === 'ArrowUp' || e.detail.code === 'ArrowLeft') {
|
|
393
|
+
this.decrementFocusItem();
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
homeHandler(e) {
|
|
397
|
+
e.detail.preventDefault();
|
|
398
|
+
this.focusListItemIndex = 0;
|
|
399
|
+
this.setFocusItem();
|
|
400
|
+
}
|
|
401
|
+
endHandler(e) {
|
|
402
|
+
e.detail.preventDefault();
|
|
403
|
+
this.focusListItemIndex = this.showNeutralValue
|
|
404
|
+
? this._filteredResult.length
|
|
405
|
+
: this._filteredResult.length - 1;
|
|
406
|
+
this.setFocusItem();
|
|
407
|
+
}
|
|
408
|
+
enterHandler(e) {
|
|
409
|
+
e.detail.preventDefault();
|
|
410
|
+
e.detail.target.click();
|
|
411
|
+
}
|
|
412
|
+
spaceHandler(e) {
|
|
413
|
+
e.detail.preventDefault();
|
|
414
|
+
e.detail.target.click();
|
|
415
|
+
}
|
|
416
|
+
escHandler() {
|
|
417
|
+
if (this.isOpen) {
|
|
418
|
+
this.setClosed(true);
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
tabHandler() {
|
|
422
|
+
if (this.isOpen && this.focusInList) {
|
|
423
|
+
if (this.afMultipleItems && this._submitButton) {
|
|
424
|
+
setTimeout(() => {
|
|
425
|
+
var _a;
|
|
426
|
+
if (this._submitButton) {
|
|
427
|
+
(_a = this._submitButton.querySelector('button')) === null || _a === void 0 ? void 0 : _a.focus();
|
|
428
|
+
}
|
|
429
|
+
}, 10);
|
|
430
|
+
}
|
|
431
|
+
else {
|
|
432
|
+
this.setClosed(true);
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
shiftHandler() {
|
|
437
|
+
if (this.isOpen && this.focusInList) {
|
|
438
|
+
if (this.afMultipleItems && this._toggleButton) {
|
|
439
|
+
this._toggleButton.querySelector('button').focus();
|
|
440
|
+
}
|
|
441
|
+
else {
|
|
442
|
+
this.setFocusSearch();
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
filterResults() {
|
|
447
|
+
if (this._searchQuery && this._searchQuery.length > 0) {
|
|
448
|
+
this._filteredResult = this._afListItems.filter((item) => {
|
|
449
|
+
return item.label
|
|
450
|
+
.toLowerCase()
|
|
451
|
+
.includes(this._searchQuery.toLowerCase());
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
this._filteredResult = this._afListItems;
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
inputSearchKeyboardHandler(e) {
|
|
459
|
+
if (e.code === 'ArrowDown') {
|
|
460
|
+
e.preventDefault();
|
|
461
|
+
this.setFocusItem();
|
|
462
|
+
}
|
|
463
|
+
if (e.code === 'Enter' && this._searchQuery !== '') {
|
|
464
|
+
e.preventDefault();
|
|
465
|
+
this.setFocusItem();
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
inputSearchInputHandler(e) {
|
|
469
|
+
this._searchQuery = e.target.value;
|
|
470
|
+
this.afOnQueryChanged.emit(this._searchQuery);
|
|
471
|
+
this.filterResults();
|
|
472
|
+
}
|
|
473
|
+
resetSelectItems(close = false) {
|
|
474
|
+
this._selectedItems = [];
|
|
475
|
+
this.setValueInternally([]);
|
|
476
|
+
this.afOnSelect.emit([]);
|
|
477
|
+
this._searchQuery = '';
|
|
478
|
+
this.filterResults();
|
|
479
|
+
if (close) {
|
|
480
|
+
this.emitFilterClosedEvent();
|
|
481
|
+
}
|
|
482
|
+
this.afOnResetFilters.emit();
|
|
483
|
+
}
|
|
484
|
+
selectItemHandler(item) {
|
|
485
|
+
if (this.afMultipleItems) {
|
|
486
|
+
item.selected = !item.selected;
|
|
487
|
+
if (this._selectedItems.filter((x) => {
|
|
488
|
+
return x.value === item.value;
|
|
489
|
+
}).length > 0) {
|
|
490
|
+
//ITEM VALUE ALREADY EXISTS IN LIST, DELETE FROM LIST
|
|
491
|
+
this._selectedItems.splice(this._selectedItems.findIndex((e) => e.value === item.value), 1);
|
|
492
|
+
}
|
|
493
|
+
else {
|
|
494
|
+
this._selectedItems = [...this._selectedItems, item];
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
this._selectedItems.forEach((item) => {
|
|
499
|
+
item.selected = false;
|
|
500
|
+
});
|
|
501
|
+
item.selected = true;
|
|
502
|
+
this._selectedItems = [item];
|
|
503
|
+
this.emitFilterClosedEvent();
|
|
504
|
+
}
|
|
505
|
+
this.setValueInternally([...this._selectedItems]);
|
|
506
|
+
this.afOnSelect.emit(this._selectedItems);
|
|
507
|
+
this.filterResults();
|
|
508
|
+
}
|
|
509
|
+
isSelected(textValue) {
|
|
510
|
+
if (textValue && this._selectedItems && this._selectedItems.length > 0) {
|
|
511
|
+
return (this._selectedItems.filter((item) => {
|
|
512
|
+
return item.value === textValue;
|
|
513
|
+
}).length > 0);
|
|
514
|
+
}
|
|
515
|
+
return false;
|
|
516
|
+
}
|
|
517
|
+
get cssModifiers() {
|
|
518
|
+
return {
|
|
519
|
+
'digi-form-select-filter--open': this.isOpen,
|
|
520
|
+
'digi-form-select-filter--neutral': this.afValidation === typographyVariation_enum.FormSelectFilterValidation.NEUTRAL,
|
|
521
|
+
'digi-form-select-filter--success': this.afValidation === typographyVariation_enum.FormSelectFilterValidation.SUCCESS,
|
|
522
|
+
'digi-form-select-filter--warning': this.afValidation === typographyVariation_enum.FormSelectFilterValidation.WARNING,
|
|
523
|
+
'digi-form-select-filter--error': this.afValidation === typographyVariation_enum.FormSelectFilterValidation.ERROR
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
get cssModifiersToggleButtonIndicator() {
|
|
527
|
+
return {
|
|
528
|
+
'digi-form-select-filter__toggle-button-indicator--active': this._selectedItems.length > 0
|
|
529
|
+
};
|
|
530
|
+
}
|
|
531
|
+
get cssModifiersToggleButtonWrapper() {
|
|
532
|
+
return {
|
|
533
|
+
'digi-form-select-filter__toggle-button-wrapper--activated': this._selectedItems.length > 0
|
|
534
|
+
};
|
|
535
|
+
}
|
|
536
|
+
buttonText(isAriaLabel) {
|
|
537
|
+
const ariaLabelText = (text = '') => {
|
|
538
|
+
return isAriaLabel ? text : '';
|
|
539
|
+
};
|
|
540
|
+
if (this._selectedItems && this._selectedItems.length === 1) {
|
|
541
|
+
return (ariaLabelText(this.afFilterButtonTextLabel + ': ') +
|
|
542
|
+
this._selectedItems[0].label);
|
|
543
|
+
}
|
|
544
|
+
else if (this._selectedItems &&
|
|
545
|
+
this._selectedItems.length > 0 &&
|
|
546
|
+
this.afMultipleItems) {
|
|
547
|
+
if (this.afFilterButtonTextMultipleValues) {
|
|
548
|
+
return (ariaLabelText(this.afFilterButtonTextLabel + ': ') +
|
|
549
|
+
this.afFilterButtonTextMultipleValues.replace('{count}', this._selectedItems.length.toString()));
|
|
550
|
+
}
|
|
551
|
+
else {
|
|
552
|
+
return (ariaLabelText(this.afFilterButtonTextLabel + ': ') +
|
|
553
|
+
`${this._selectedItems.length} valda`);
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
return (ariaLabelText(this.afFilterButtonTextLabel
|
|
558
|
+
? this.afFilterButtonTextLabel + ': '
|
|
559
|
+
: '') + this.afFilterButtonText);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
get renderButtonLabel() {
|
|
563
|
+
return this.buttonText(false);
|
|
564
|
+
}
|
|
565
|
+
get ariaLabel() {
|
|
566
|
+
return this.buttonText(true);
|
|
567
|
+
}
|
|
568
|
+
get showNeutralValue() {
|
|
569
|
+
return (!this.afMultipleItems &&
|
|
570
|
+
this.afFilterButtonText &&
|
|
571
|
+
this._searchQuery.length === 0);
|
|
572
|
+
}
|
|
573
|
+
showValidation() {
|
|
574
|
+
return !this.afDisableValidation &&
|
|
575
|
+
this.afValidation !== typographyVariation_enum.FormSelectFilterValidation.NEUTRAL &&
|
|
576
|
+
this.afValidationText
|
|
577
|
+
? true
|
|
578
|
+
: false;
|
|
579
|
+
}
|
|
580
|
+
renderEmptyStateBox() {
|
|
581
|
+
let statusMessage = '';
|
|
582
|
+
if (this._filteredResult && this._filteredResult.length > 0) {
|
|
583
|
+
statusMessage = `${this._filteredResult.length} sökträff${this._filteredResult.length > 1 ? 'ar' : ''}`;
|
|
584
|
+
}
|
|
585
|
+
else if (this._filteredResult.length === 0) {
|
|
586
|
+
statusMessage = `${this.afEmptySearchMessage} ${this._searchQuery}`;
|
|
587
|
+
}
|
|
588
|
+
return (index.h(index.Fragment, null, index.h("div", { role: "status", id: `${this.afId}-searchstatus`, class: {
|
|
589
|
+
'digi-form-select-filter__search-status': true,
|
|
590
|
+
'digi--a11y--sr-only': this._filteredResult && this._filteredResult.length > 0
|
|
591
|
+
} }, index.h("span", null, " ", statusMessage, " "), index.h("div", { class: {
|
|
592
|
+
hidden: this._filteredResult && this._filteredResult.length > 0
|
|
593
|
+
} }, index.h("slot", { name: "empty-search-result" })))));
|
|
594
|
+
}
|
|
595
|
+
render() {
|
|
596
|
+
return (index.h(index.Host, { key: '2e7276930637366cbcb14168102afb82393708f5', tabindex: -1 }, index.h("div", { key: 'a5620907d2399c0561b6b3b604220c3bf82ded6b', class: Object.assign({ 'digi-form-select-filter': true }, this.cssModifiers), role: "application", id: `${this.afId}-identifier` }, index.h("digi-form-label", { key: '151c3656f03d8b8b7639daf0e26631722a1f6878', afLabel: this.afFilterButtonTextLabel, afFor: `${this.afId}`, afId: `${this.afId}-label`, class: "digi-form-select-filter__label", afDescription: this.afDescription, afRequired: this.afRequired, afAnnounceIfOptional: this.afAnnounceIfOptional, afRequiredText: this.afRequiredText, afAnnounceIfOptionalText: this.afAnnounceIfOptionalText }), index.h("digi-util-keydown-handler", { key: '035ffc46a22218d42d892c89592993a7694b2be2', onAfOnEsc: () => this.escHandler() }, index.h("button", { key: 'b8fedc87ecf0b1cf26e2b123c97fcd7ff6287e0b', type: "button", id: `${this.afId}`, class: "digi-form-select-filter__toggle-button", onClick: () => this.toggleDropdown(), ref: (el) => (this._toggleButton = el), "aria-haspopup": "true", "aria-label": this.ariaLabel, "aria-describedby": `${this.afFilterButtonAriaDescribedby} ${this.afId}--validation-message`, "aria-controls": `${this.afId}-dropdown-menu`, "aria-expanded": this.isOpen }, index.h("div", { key: '8bb88747afac881b3667ecb60c4adbe36c1325f8', class: Object.assign({ 'digi-form-filter__toggle-button-wrapper': true }, this.cssModifiersToggleButtonWrapper) }, index.h("digi-icon-check", { key: 'a809c5fa00dd4d2a50662aeed3d673cda0289d80', class: Object.assign({ 'digi-form-select-filter__toggle-button-indicator': true }, this.cssModifiersToggleButtonIndicator), slot: "icon" }), index.h("span", { key: 'a5e7f4b998d38a7d912a25b2d7fb0b852b920dc3', class: "digi-form-select-filter__toggle-button-text" }, this.renderButtonLabel)), index.h("digi-icon-chevron-down", { key: 'ef852d8060bacbdef9707dcb23ed3ae1f98cc33f', class: "digi-form-select-filter__toggle-icon" })), index.h("div", { key: '5c5e41376cf7264e837bed3905c971dd0adee156', id: `${this.afId}-dropdown-menu`, tabindex: this.isOpen ? '-1' : undefined, class: {
|
|
597
|
+
'digi-form-select-filter__dropdown': true,
|
|
598
|
+
'digi-form-select-filter__dropdown--right': this.afAlignRight,
|
|
599
|
+
'digi-form-select-filter__dropdown--hidden': !this.isOpen
|
|
600
|
+
} }, index.h("fieldset", { key: 'daa4e02e97f5907fc89aeb7a337bd97ceba1c148' }, index.h("div", { key: '99cd8af83d9b1410610f4e49a6759fac20c6955f', class: "digi-form-select-filter__header" }, index.h("legend", { key: '0ed1e17842e0795194c4b74d9600f17c3d2e63b0', class: "digi-form-select-filter__legend" }, this.afFilterButtonTextLabel), index.h("digi-form-input", { key: 'c35f93cb680c6f6e902f281ff597108a9106b016', afLabel: this.afName, afId: `${this.afId}-search`, afVariation: formInputVariation_enum.FormInputVariation.MEDIUM, afType: formInputType_enum.FormInputType.SEARCH, afValidation: formInputVariation_enum.FormInputValidation.NEUTRAL, onAfOnFocus: () => {
|
|
601
|
+
this.focusListItemIndex = 0;
|
|
602
|
+
}, onAfOnKeyup: (e) => {
|
|
603
|
+
this.inputSearchKeyboardHandler(e.detail);
|
|
604
|
+
}, onAfOnInput: (e) => this.inputSearchInputHandler(e.detail), afValue: this._searchQuery, class: "digi-form-select-filter__search-input", afAriaControls: `${this.afId}-select-filter-list`, afAutocomplete: "off", afAriaAutocomplete: "none" }), this.renderEmptyStateBox()), index.h("div", { key: '4e2c4a6e6039f8f3efe8cfc75bb302214704073e', class: "digi-form-select-filter__scroll" }, index.h("digi-util-keydown-handler", { key: '751ad128164783be9f7d32d5418d8b99a2be24e3', onAfOnDown: (e) => this.downHandler(e), onAfOnRight: (e) => this.downHandler(e), onAfOnUp: (e) => this.upHandler(e), onAfOnLeft: (e) => this.upHandler(e), onAfOnHome: (e) => this.homeHandler(e), onAfOnEnd: (e) => this.endHandler(e), onAfOnEnter: (e) => this.enterHandler(e), onAfOnSpace: (e) => this.spaceHandler(e), onAfOnTab: () => this.tabHandler(), onAfOnShiftTab: () => this.shiftHandler() }, index.h("ul", { key: '2879b7c081ea2097bd17a9c0f0967b78b9a5d665', class: "digi-form-select-filter__list", "aria-labelledby": `${this.afId}`, id: `${this.afId}-select-filter-list`, role: this.afMultipleItems ? '' : 'radiogroup', "aria-invalid": this.afMultipleItems
|
|
605
|
+
? 'false'
|
|
606
|
+
: this.afValidation ===
|
|
607
|
+
typographyVariation_enum.FormSelectFilterValidation.ERROR
|
|
608
|
+
? 'true'
|
|
609
|
+
: 'false', "aria-errormessage": `${this.afId}--validation-message`, "aria-required": this.afMultipleItems
|
|
610
|
+
? false
|
|
611
|
+
: this.afRequired
|
|
612
|
+
? 'true'
|
|
613
|
+
: 'false' }, this.showNeutralValue && (index.h("li", { key: '0d51a466af769e3b687805b4cb8027bcac8b5112', class: "digi-form-select-filter__item", role: "radio", "aria-required": this.afMultipleItems
|
|
614
|
+
? 'false'
|
|
615
|
+
: this.afRequired
|
|
616
|
+
? 'true'
|
|
617
|
+
: 'false', "aria-checked": this._selectedItems.length === 0 ? 'true' : 'false', onClick: () => this.resetSelectItems(true), tabIndex: 0, "aria-label": this.afFilterButtonText }, this._selectedItems.length === 0 && (index.h("digi-icon-check", { key: '84264b690e6a8b4cd792f6543f00a7f5e559fe06', class: "digi-form-select-filter__item__icon", "aria-hidden": 'true' })), this.afFilterButtonText)), this._filteredResult &&
|
|
618
|
+
this._filteredResult.map((item, index$1) => {
|
|
619
|
+
return (index.h("li", { class: "digi-form-select-filter__item", key: index$1, dir: item.dir, lang: item.lang, "aria-checked": this.isSelected(item.value) ? 'true' : 'false', role: this.afMultipleItems ? 'checkbox' : 'radio', "aria-required": this.afMultipleItems
|
|
620
|
+
? 'false'
|
|
621
|
+
: this.afRequired
|
|
622
|
+
? 'true'
|
|
623
|
+
: 'false', "aria-invalid": this.afMultipleItems
|
|
624
|
+
? this.afValidation ===
|
|
625
|
+
typographyVariation_enum.FormSelectFilterValidation.ERROR
|
|
626
|
+
? 'true'
|
|
627
|
+
: 'false'
|
|
628
|
+
: 'false', "aria-errormessage": `${this.afId}--validation-message`, onClick: () => this.selectItemHandler(item), tabIndex: this.showNeutralValue
|
|
629
|
+
? -1
|
|
630
|
+
: index$1 === 0
|
|
631
|
+
? 0
|
|
632
|
+
: -1 }, this.isSelected(item.value) && (index.h("digi-icon-check", { class: "digi-form-select-filter__item__icon", "aria-hidden": 'true' })), item.label));
|
|
633
|
+
}))))), this.afMultipleItems && (index.h("div", { key: '79def162604c33d3c6acffd7464f2d44f4cf6229', class: "digi-form-select-filter__footer" }, !this.afHideResetButton && (index.h("digi-button", { key: '3ee850fa06c38590c50dcfba11251bd6a4ed5626', "af-variation": "secondary", "af-aria-label": this.afResetButtonTextAriaLabel, onClick: () => this.resetSelectItems(), class: "digi-form-select-filter__reset-button" }, this.afResetButtonText)), index.h("digi-util-keydown-handler", { key: '0fe5d9f9d899d3ddeaf6447485bf5f655e6270ff', onAfOnUp: () => this.setFocusItem() }, index.h("digi-button", { key: '0c14fea74bd16712355a8fafdc17408674ae0489', ref: (el) => (this._submitButton = el), "af-variation": "primary", "af-aria-label": this.afSubmitButtonTextAriaLabel, onClick: () => {
|
|
634
|
+
this.setClosed(true);
|
|
635
|
+
}, class: "digi-form-select-filter__submit-button" }, this.afSubmitButtonText)))))), index.h("div", { key: 'eb9dd0d0150b043458211e89c1311d9c7103d46f', class: "digi-form-select__footer" }, index.h("div", { key: 'f7aca001f6b2580600c1e823e307a4352811bb66', "aria-atomic": "true", role: this.errorMessageIsAlert ? 'alert' : null, id: `${this.afId}--validation-message` }, this.showValidation() && (index.h("digi-form-validation-message", { key: '5802021f469405694a75378fc8830720a9275d41', "af-variation": this.afValidation }, this.afValidationText)))))));
|
|
636
|
+
}
|
|
637
|
+
get hostElement() { return index.getElement(this); }
|
|
638
|
+
static get watchers() { return {
|
|
639
|
+
"value": [{
|
|
640
|
+
"onValueChanged": 0
|
|
641
|
+
}],
|
|
642
|
+
"afListItems": [{
|
|
643
|
+
"handleListItems": 0
|
|
644
|
+
}]
|
|
645
|
+
}; }
|
|
646
|
+
};
|
|
647
|
+
FormSelectFilter.style = formSelectFilterCss();
|
|
648
|
+
|
|
649
|
+
exports.digi_form_select_filter = FormSelectFilter;
|