@dso-toolkit/core 62.29.0 → 62.30.1
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/dist/cjs/dso-accordion-section.cjs.entry.js +2 -2
- package/dist/cjs/dso-accordion.cjs.entry.js +1 -1
- package/dist/cjs/dso-action-list-item.cjs.entry.js +2 -2
- package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
- package/dist/cjs/dso-advanced-select.cjs.entry.js +3 -3
- package/dist/cjs/dso-advanced-select.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-alert_5.cjs.entry.js +3 -3
- package/dist/cjs/dso-annotation-activiteit.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-gebiedsaanwijzing.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-kaart.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-locatie.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-omgevingsnormwaarde.cjs.entry.js +1 -1
- package/dist/cjs/dso-annotation-output_2.cjs.entry.js +1 -1
- package/dist/cjs/dso-attachments-counter.cjs.entry.js +1 -1
- package/dist/cjs/dso-autosuggest.cjs.entry.js +57 -20
- package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-badge.cjs.entry.js +1 -1
- package/dist/cjs/dso-banner.cjs.entry.js +2 -2
- package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
- package/dist/cjs/dso-card.cjs.entry.js +2 -2
- package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +3 -3
- package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/dso-dropdown-menu.cjs.entry.js +3 -3
- package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +2 -2
- package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
- package/dist/cjs/dso-icon.cjs.entry.js +1 -1
- package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
- package/dist/cjs/dso-input-range.cjs.entry.js +2 -2
- package/dist/cjs/dso-label_2.cjs.entry.js +4 -4
- package/dist/cjs/dso-legend-item.cjs.entry.js +2 -2
- package/dist/cjs/dso-list-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-logo.cjs.entry.js +2 -2
- package/dist/cjs/dso-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
- package/dist/cjs/dso-mark-bar.cjs.entry.js +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js +2 -2
- package/dist/cjs/dso-panel.cjs.entry.js +23 -0
- package/dist/cjs/dso-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
- package/dist/cjs/dso-renvooi_2.cjs.entry.js +1 -1
- package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
- package/dist/cjs/dso-scrollable.cjs.entry.js +2 -2
- package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +1 -1
- package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
- package/dist/cjs/dsot-document-component-demo.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/accordion/components/accordion-section.js +2 -2
- package/dist/collection/components/action-list/action-list.js +1 -1
- package/dist/collection/components/action-list/components/action-list-item.js +2 -2
- package/dist/collection/components/advanced-select/advanced-select.js +3 -3
- package/dist/collection/components/advanced-select/advanced-select.js.map +1 -1
- package/dist/collection/components/alert/alert.js +1 -1
- package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js +1 -1
- package/dist/collection/components/annotation/annotation-gebiedsaanwijzing/annotation-gebiedsaanwijzing.js +1 -1
- package/dist/collection/components/annotation/annotation-kaart/annotation-kaart.js +1 -1
- package/dist/collection/components/annotation/annotation-locatie/annotation-locatie.js +1 -1
- package/dist/collection/components/annotation/annotation-omgevingsnormwaarde/annotation-omgevingsnormwaarde.js +1 -1
- package/dist/collection/components/attachments-counter/attachments-counter.js +1 -1
- package/dist/collection/components/autosuggest/autosuggest.css +12 -8
- package/dist/collection/components/autosuggest/autosuggest.js +59 -20
- package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
- package/dist/collection/components/badge/badge.js +1 -1
- package/dist/collection/components/banner/banner.js +2 -2
- package/dist/collection/components/card/card.js +2 -2
- package/dist/collection/components/card-container/card-container.js +1 -1
- package/dist/collection/components/date-picker/date-picker.js +1 -1
- package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +3 -3
- package/dist/collection/components/document-component/document-component.js +1 -1
- package/dist/collection/components/document-component-demo/document-component.demo.js +1 -1
- package/dist/collection/components/dropdown-menu/dropdown-menu.js +3 -3
- package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +2 -2
- package/dist/collection/components/highlight-box/highlight-box.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/info/info.js +1 -1
- package/dist/collection/components/info-button/info-button.js +1 -1
- package/dist/collection/components/input-range/input-range.js +2 -2
- package/dist/collection/components/label/label.js +3 -3
- package/dist/collection/components/legend-item/legend-item.js +2 -2
- package/dist/collection/components/list-button/list-button.js +1 -1
- package/dist/collection/components/logo/logo.js +3 -3
- package/dist/collection/components/logo/logo.js.map +1 -1
- package/dist/collection/components/map-base-layers/map-base-layers.js +1 -1
- package/dist/collection/components/map-controls/map-controls.js +1 -1
- package/dist/collection/components/map-overlays/map-overlays.js +1 -1
- package/dist/collection/components/mark-bar/mark-bar.js +1 -1
- package/dist/collection/components/modal/modal.js +2 -2
- package/dist/collection/components/ozon-content/ozon-content.js +1 -1
- package/dist/collection/components/panel/panel.css +58 -0
- package/dist/collection/components/panel/panel.js +47 -0
- package/dist/collection/components/panel/panel.js.map +1 -0
- package/dist/collection/components/progress-bar/progress-bar.js +1 -1
- package/dist/collection/components/progress-indicator/progress-indicator.js +1 -1
- package/dist/collection/components/responsive-element/responsive-element.js +1 -1
- package/dist/collection/components/scrollable/scrollable.js +2 -2
- package/dist/collection/components/selectable/selectable.js +1 -1
- package/dist/collection/components/slide-toggle/slide-toggle.js +1 -1
- package/dist/collection/components/table/table.js +1 -1
- package/dist/collection/components/toggletip/toggletip.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +1 -1
- package/dist/collection/components/tree-view/tree-view.js +1 -1
- package/dist/collection/components/viewer-grid/viewer-grid.js +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/attachments-counter.js +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/document-component.js +1 -1
- package/dist/components/dropdown-menu.js +3 -3
- package/dist/components/dropdown-menu.js.map +1 -1
- package/dist/components/dso-accordion-section.js +2 -2
- package/dist/components/dso-accordion.js +1 -1
- package/dist/components/dso-action-list-item.js +2 -2
- package/dist/components/dso-action-list.js +1 -1
- package/dist/components/dso-advanced-select.js +3 -3
- package/dist/components/dso-advanced-select.js.map +1 -1
- package/dist/components/dso-annotation-activiteit.js +1 -1
- package/dist/components/dso-annotation-gebiedsaanwijzing.js +1 -1
- package/dist/components/dso-annotation-kaart.js +1 -1
- package/dist/components/dso-annotation-locatie.js +1 -1
- package/dist/components/dso-annotation-omgevingsnormwaarde.js +1 -1
- package/dist/components/dso-autosuggest.js +70 -25
- package/dist/components/dso-autosuggest.js.map +1 -1
- package/dist/components/dso-banner.js +2 -2
- package/dist/components/dso-card-container.js +1 -1
- package/dist/components/dso-card.js +2 -2
- package/dist/components/dso-date-picker-legacy.js +3 -3
- package/dist/components/dso-date-picker.js +1 -1
- package/dist/components/dso-helpcenter-panel.js +2 -2
- package/dist/components/dso-highlight-box.js +1 -1
- package/dist/components/dso-input-range.js +2 -2
- package/dist/components/dso-legend-item.js +2 -2
- package/dist/components/dso-list-button.js +1 -1
- package/dist/components/dso-logo.js +3 -3
- package/dist/components/dso-logo.js.map +1 -1
- package/dist/components/dso-map-base-layers.js +1 -1
- package/dist/components/dso-map-controls.js +1 -1
- package/dist/components/dso-map-overlays.js +1 -1
- package/dist/components/dso-mark-bar.js +1 -1
- package/dist/components/dso-modal.js +2 -2
- package/dist/components/dso-panel.d.ts +11 -0
- package/dist/components/dso-panel.js +43 -0
- package/dist/components/dso-panel.js.map +1 -0
- package/dist/components/dso-progress-bar.js +1 -1
- package/dist/components/dso-tree-view.js +1 -1
- package/dist/components/dso-viewer-grid.js +1 -1
- package/dist/components/dsot-document-component-demo.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/info-button.js +1 -1
- package/dist/components/info.js +1 -1
- package/dist/components/label.js +3 -3
- package/dist/components/ozon-content.js +1 -1
- package/dist/components/progress-indicator.js +1 -1
- package/dist/components/responsive-element.js +1 -1
- package/dist/components/scrollable.js +2 -2
- package/dist/components/selectable.js +1 -1
- package/dist/components/slide-toggle.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/toggletip.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
- package/dist/dso-toolkit/{p-b4452919.entry.js → p-03aa7fad.entry.js} +2 -2
- package/dist/dso-toolkit/p-03aa7fad.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-d8744e6e.entry.js → p-07bdda5e.entry.js} +2 -2
- package/dist/dso-toolkit/{p-ba314475.entry.js → p-0ea714fa.entry.js} +2 -2
- package/dist/dso-toolkit/{p-45934ea5.entry.js → p-0eedf36a.entry.js} +2 -2
- package/dist/dso-toolkit/p-12bea4ab.entry.js +2 -0
- package/dist/dso-toolkit/{p-32aa9cba.entry.js → p-224469db.entry.js} +2 -2
- package/dist/dso-toolkit/p-28622002.entry.js +2 -0
- package/dist/dso-toolkit/{p-c076cd49.entry.js → p-2d1f870c.entry.js} +2 -2
- package/dist/dso-toolkit/{p-9b698eb6.entry.js → p-2e3bc902.entry.js} +2 -2
- package/dist/dso-toolkit/{p-536b70d8.entry.js → p-30dbca1b.entry.js} +2 -2
- package/dist/dso-toolkit/{p-ef8cccbd.entry.js → p-38b3f31e.entry.js} +2 -2
- package/dist/dso-toolkit/{p-ab91a31a.entry.js → p-38d518f9.entry.js} +2 -2
- package/dist/dso-toolkit/{p-97b5ad7b.entry.js → p-3b4a3e37.entry.js} +2 -2
- package/dist/dso-toolkit/{p-81790cb0.entry.js → p-3c8f0a89.entry.js} +2 -2
- package/dist/dso-toolkit/{p-0a7eaafc.entry.js → p-421d223d.entry.js} +2 -2
- package/dist/dso-toolkit/{p-98325f23.entry.js → p-4a59df70.entry.js} +2 -2
- package/dist/dso-toolkit/{p-f850de62.entry.js → p-5c69d9c7.entry.js} +2 -2
- package/dist/dso-toolkit/p-5cf23978.entry.js +2 -0
- package/dist/dso-toolkit/{p-995b15a4.entry.js → p-7470bb47.entry.js} +2 -2
- package/dist/dso-toolkit/{p-8e4ec29c.entry.js → p-76e2a14e.entry.js} +2 -2
- package/dist/dso-toolkit/{p-d8cbc58f.entry.js → p-7e4c553d.entry.js} +2 -2
- package/dist/dso-toolkit/{p-ba0bd24d.entry.js → p-7fa33a0c.entry.js} +2 -2
- package/dist/dso-toolkit/p-8914f72a.entry.js +2 -0
- package/dist/dso-toolkit/{p-c311d632.entry.js → p-8939c14f.entry.js} +2 -2
- package/dist/dso-toolkit/{p-a3d88101.entry.js → p-96370f12.entry.js} +2 -2
- package/dist/dso-toolkit/p-9ee33188.entry.js +2 -0
- package/dist/dso-toolkit/p-9ee33188.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-16b98c73.entry.js → p-a2e9f65d.entry.js} +2 -2
- package/dist/dso-toolkit/{p-be09cdfb.entry.js → p-a325b5b5.entry.js} +2 -2
- package/dist/dso-toolkit/{p-d072c749.entry.js → p-ab3fca8d.entry.js} +2 -2
- package/dist/dso-toolkit/{p-f4893ad4.entry.js → p-b48845c9.entry.js} +2 -2
- package/dist/dso-toolkit/{p-6d87bed5.entry.js → p-b51c8bd1.entry.js} +2 -2
- package/dist/dso-toolkit/p-b53c6fb6.entry.js +2 -0
- package/dist/dso-toolkit/p-b53c6fb6.entry.js.map +1 -0
- package/dist/dso-toolkit/p-bc0e3147.entry.js +2 -0
- package/dist/dso-toolkit/{p-bc3f6f57.entry.js → p-be05632e.entry.js} +2 -2
- package/dist/dso-toolkit/{p-a6a47dd2.entry.js → p-c8bbb012.entry.js} +2 -2
- package/dist/dso-toolkit/{p-65103f88.entry.js → p-cc9bf183.entry.js} +2 -2
- package/dist/dso-toolkit/{p-0900fddd.entry.js → p-cf0a95cf.entry.js} +2 -2
- package/dist/dso-toolkit/p-d2e528b1.entry.js +2 -0
- package/dist/dso-toolkit/p-d2e528b1.entry.js.map +1 -0
- package/dist/dso-toolkit/p-dac60705.entry.js +2 -0
- package/dist/dso-toolkit/{p-b245e776.entry.js → p-df30c56c.entry.js} +2 -2
- package/dist/dso-toolkit/{p-a81af4b2.entry.js → p-e13733dc.entry.js} +2 -2
- package/dist/dso-toolkit/{p-dd2e80f0.entry.js → p-e15b7ce7.entry.js} +2 -2
- package/dist/dso-toolkit/{p-70f2eed4.entry.js → p-f1089571.entry.js} +2 -2
- package/dist/dso-toolkit/{p-c1ae4697.entry.js → p-f68abdad.entry.js} +2 -2
- package/dist/dso-toolkit/{p-ca5a3ce5.entry.js → p-fc72f21c.entry.js} +2 -2
- package/dist/dso-toolkit/p-ff29c841.entry.js +2 -0
- package/dist/dso-toolkit/p-ff29c841.entry.js.map +1 -0
- package/dist/esm/dso-accordion-section.entry.js +2 -2
- package/dist/esm/dso-accordion.entry.js +1 -1
- package/dist/esm/dso-action-list-item.entry.js +2 -2
- package/dist/esm/dso-action-list.entry.js +1 -1
- package/dist/esm/dso-advanced-select.entry.js +3 -3
- package/dist/esm/dso-advanced-select.entry.js.map +1 -1
- package/dist/esm/dso-alert_5.entry.js +3 -3
- package/dist/esm/dso-annotation-activiteit.entry.js +1 -1
- package/dist/esm/dso-annotation-gebiedsaanwijzing.entry.js +1 -1
- package/dist/esm/dso-annotation-kaart.entry.js +1 -1
- package/dist/esm/dso-annotation-locatie.entry.js +1 -1
- package/dist/esm/dso-annotation-omgevingsnormwaarde.entry.js +1 -1
- package/dist/esm/dso-annotation-output_2.entry.js +1 -1
- package/dist/esm/dso-attachments-counter.entry.js +1 -1
- package/dist/esm/dso-autosuggest.entry.js +57 -20
- package/dist/esm/dso-autosuggest.entry.js.map +1 -1
- package/dist/esm/dso-badge.entry.js +1 -1
- package/dist/esm/dso-banner.entry.js +2 -2
- package/dist/esm/dso-card-container.entry.js +1 -1
- package/dist/esm/dso-card.entry.js +2 -2
- package/dist/esm/dso-date-picker-legacy.entry.js +3 -3
- package/dist/esm/dso-date-picker.entry.js +1 -1
- package/dist/esm/dso-dropdown-menu.entry.js +3 -3
- package/dist/esm/dso-dropdown-menu.entry.js.map +1 -1
- package/dist/esm/dso-helpcenter-panel.entry.js +2 -2
- package/dist/esm/dso-highlight-box.entry.js +1 -1
- package/dist/esm/dso-icon.entry.js +1 -1
- package/dist/esm/dso-info-button.entry.js +1 -1
- package/dist/esm/dso-info_2.entry.js +2 -2
- package/dist/esm/dso-input-range.entry.js +2 -2
- package/dist/esm/dso-label_2.entry.js +4 -4
- package/dist/esm/dso-legend-item.entry.js +2 -2
- package/dist/esm/dso-list-button.entry.js +1 -1
- package/dist/esm/dso-logo.entry.js +3 -3
- package/dist/esm/dso-logo.entry.js.map +1 -1
- package/dist/esm/dso-map-base-layers.entry.js +1 -1
- package/dist/esm/dso-map-controls.entry.js +1 -1
- package/dist/esm/dso-map-overlays.entry.js +1 -1
- package/dist/esm/dso-mark-bar.entry.js +1 -1
- package/dist/esm/dso-modal.entry.js +2 -2
- package/dist/esm/dso-panel.entry.js +19 -0
- package/dist/esm/dso-panel.entry.js.map +1 -0
- package/dist/esm/dso-progress-bar.entry.js +1 -1
- package/dist/esm/dso-progress-indicator.entry.js +1 -1
- package/dist/esm/dso-renvooi_2.entry.js +1 -1
- package/dist/esm/dso-responsive-element.entry.js +1 -1
- package/dist/esm/dso-scrollable.entry.js +2 -2
- package/dist/esm/dso-toggletip.entry.js +1 -1
- package/dist/esm/dso-toolkit.js +1 -1
- package/dist/esm/dso-tree-view.entry.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +1 -1
- package/dist/esm/dsot-document-component-demo.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/autosuggest/autosuggest.d.ts +10 -0
- package/dist/types/components/panel/panel.d.ts +15 -0
- package/dist/types/components.d.ts +34 -0
- package/package.json +2 -2
- package/dist/dso-toolkit/p-08dba16d.entry.js +0 -2
- package/dist/dso-toolkit/p-08dba16d.entry.js.map +0 -1
- package/dist/dso-toolkit/p-0bc8b0cb.entry.js +0 -2
- package/dist/dso-toolkit/p-0bc8b0cb.entry.js.map +0 -1
- package/dist/dso-toolkit/p-200b6f6d.entry.js +0 -2
- package/dist/dso-toolkit/p-357d709b.entry.js +0 -2
- package/dist/dso-toolkit/p-380eef98.entry.js +0 -2
- package/dist/dso-toolkit/p-91f631a2.entry.js +0 -2
- package/dist/dso-toolkit/p-a070bb9e.entry.js +0 -2
- package/dist/dso-toolkit/p-b4452919.entry.js.map +0 -1
- package/dist/dso-toolkit/p-c2f27106.entry.js +0 -2
- package/dist/dso-toolkit/p-f59101bd.entry.js +0 -2
- package/dist/dso-toolkit/p-f59101bd.entry.js.map +0 -1
- /package/dist/dso-toolkit/{p-d8744e6e.entry.js.map → p-07bdda5e.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-ba314475.entry.js.map → p-0ea714fa.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-45934ea5.entry.js.map → p-0eedf36a.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-91f631a2.entry.js.map → p-12bea4ab.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-32aa9cba.entry.js.map → p-224469db.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-380eef98.entry.js.map → p-28622002.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-c076cd49.entry.js.map → p-2d1f870c.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-9b698eb6.entry.js.map → p-2e3bc902.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-536b70d8.entry.js.map → p-30dbca1b.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-ef8cccbd.entry.js.map → p-38b3f31e.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-ab91a31a.entry.js.map → p-38d518f9.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-97b5ad7b.entry.js.map → p-3b4a3e37.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-81790cb0.entry.js.map → p-3c8f0a89.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-0a7eaafc.entry.js.map → p-421d223d.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-98325f23.entry.js.map → p-4a59df70.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-f850de62.entry.js.map → p-5c69d9c7.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-200b6f6d.entry.js.map → p-5cf23978.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-995b15a4.entry.js.map → p-7470bb47.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-8e4ec29c.entry.js.map → p-76e2a14e.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-d8cbc58f.entry.js.map → p-7e4c553d.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-ba0bd24d.entry.js.map → p-7fa33a0c.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-357d709b.entry.js.map → p-8914f72a.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-c311d632.entry.js.map → p-8939c14f.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-a3d88101.entry.js.map → p-96370f12.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-16b98c73.entry.js.map → p-a2e9f65d.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-be09cdfb.entry.js.map → p-a325b5b5.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-d072c749.entry.js.map → p-ab3fca8d.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-f4893ad4.entry.js.map → p-b48845c9.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-6d87bed5.entry.js.map → p-b51c8bd1.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-c2f27106.entry.js.map → p-bc0e3147.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-bc3f6f57.entry.js.map → p-be05632e.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-a6a47dd2.entry.js.map → p-c8bbb012.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-65103f88.entry.js.map → p-cc9bf183.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-0900fddd.entry.js.map → p-cf0a95cf.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-a070bb9e.entry.js.map → p-dac60705.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-b245e776.entry.js.map → p-df30c56c.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-a81af4b2.entry.js.map → p-e13733dc.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-dd2e80f0.entry.js.map → p-e15b7ce7.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-70f2eed4.entry.js.map → p-f1089571.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-c1ae4697.entry.js.map → p-f68abdad.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-ca5a3ce5.entry.js.map → p-fc72f21c.entry.js.map} +0 -0
|
@@ -59,7 +59,7 @@ export class AdvancedSelect {
|
|
|
59
59
|
}
|
|
60
60
|
handleTab(direction) {
|
|
61
61
|
var _a;
|
|
62
|
-
const elements = tabbable(this.host, { getShadowRoot: true });
|
|
62
|
+
const elements = this.host.isConnected ? tabbable(this.host, { getShadowRoot: true }) : [];
|
|
63
63
|
const currentIndex = elements.findIndex((e) => { var _a; return e === ((_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement); });
|
|
64
64
|
let nextIndex = currentIndex + direction;
|
|
65
65
|
if (nextIndex >= elements.length) {
|
|
@@ -72,12 +72,12 @@ export class AdvancedSelect {
|
|
|
72
72
|
}
|
|
73
73
|
render() {
|
|
74
74
|
var _a, _b;
|
|
75
|
-
return (h(Fragment, null, h("button", { key: '
|
|
75
|
+
return (h(Fragment, null, h("button", { key: '863c76d960af3d1c91e2920f9e7640acf1fcb8de', "aria-expanded": this.open.toString(), class: clsx(["active-option", { open: this.open }]), type: "button", onClick: this.toggleOpen, ref: (element) => (this.toggleButtonElementRef = element) }, h(ActiveGroupLabel, { key: '0165cc3fc03367aedda4e9a6e49ed76818bc9d7c', active: this.active, options: this.options }), h("span", { key: '624790ab9fefdfff15247e6e0964afa22580b8da', class: "active-option-label" }, (_b = (_a = this.active) === null || _a === void 0 ? void 0 : _a.label) !== null && _b !== void 0 ? _b : "Selecteer een optie"), h("span", { key: '1ecb6f4ed7ebea267fa0cf99b649c7ff4ae480d8', class: "active-option-aside" }, this.options.some((optionOrGroup) => "summaryCounter" in optionOrGroup && (optionOrGroup === null || optionOrGroup === void 0 ? void 0 : optionOrGroup.summaryCounter)) && (h("span", { key: 'dbc4278fd89412fb098d9e7c360a2f4ac58cafd6', class: "badges" }, this.options
|
|
76
76
|
.filter((option) => "options" in option && "summaryCounter" in option && !!(option === null || option === void 0 ? void 0 : option.summaryCounter))
|
|
77
77
|
.map((group) => {
|
|
78
78
|
var _a;
|
|
79
79
|
return (h("dso-badge", { status: (_a = group.variant) !== null && _a !== void 0 ? _a : "outline" }, group.options.length));
|
|
80
|
-
}))), h("dso-icon", { key: '
|
|
80
|
+
}))), h("dso-icon", { key: '892afcf018935d842562288b5219902044bf0b3f', icon: "caret-down" }))), this.open && (h("div", { key: '81651c248319f8fa5281d30cb90ff228d2b6c8cd', class: "groups-container" }, h("ul", { key: '9776c7284681eee6ad5128c4558872db7eda894a', class: "groups" }, this.options.map((optionOrGroup) => ("options" in optionOrGroup && (h("li", { class: clsx(["group", { [`group-${optionOrGroup.variant}`]: !!optionOrGroup.variant }]) }, h("p", { class: "group-label" }, optionOrGroup.label), h("ul", { class: "options" }, optionOrGroup.options.map((option) => (h("li", null, h(OptionButton, { option: option, active: this.active, activeHint: this.activeHint, callback: this.handleOptionClick }))))), optionOrGroup.redirect && (h(RedirectAnchor, { redirect: optionOrGroup.redirect, callback: this.handleRedirectClick }))))) ||
|
|
81
81
|
("placeholder" in optionOrGroup && (h("li", { class: "group" }, h("p", { class: "group-label" }, optionOrGroup.label), h("p", { class: "placeholder" }, optionOrGroup.placeholder), optionOrGroup.redirect && (h(RedirectAnchor, { redirect: optionOrGroup.redirect, callback: this.handleRedirectClick }))))) || (h("li", null, h(OptionButton, { option: optionOrGroup, active: this.active, activeHint: this.activeHint, callback: this.handleOptionClick })))))))));
|
|
82
82
|
}
|
|
83
83
|
static get is() { return "dso-advanced-select"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"advanced-select.js","sourceRoot":"","sources":["../../../../src/components/advanced-select/advanced-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n ComponentInterface,\r\n Prop,\r\n h,\r\n FunctionalComponent,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n State,\r\n Fragment,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport {\r\n AdvancedSelectGroup,\r\n AdvancedSelectGroupRedirect,\r\n AdvancedSelectOption,\r\n AdvancedSelectChangeEvent,\r\n AdvancedSelectOptionOrGroup,\r\n AdvancedSelectRedirectEvent,\r\n} from \"./advanced-select.interfaces\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\nimport { tabbable } from \"tabbable\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\n@Component({\r\n tag: \"dso-advanced-select\",\r\n styleUrl: \"advanced-select.scss\",\r\n shadow: true,\r\n})\r\nexport class AdvancedSelect implements ComponentInterface {\r\n private trap?: FocusTrap;\r\n\r\n @Element()\r\n host!: HTMLDsoAdvancedSelectElement;\r\n\r\n /**\r\n * The options to display in the select.\r\n */\r\n @Prop()\r\n options: AdvancedSelectOptionOrGroup<never>[] = [];\r\n\r\n /**\r\n * The active option. By object reference.\r\n */\r\n @Prop()\r\n active?: AdvancedSelectOption<never>;\r\n\r\n /**\r\n * An extra text for the active option. Only visible in the list of options.\r\n */\r\n @Prop()\r\n activeHint?: string;\r\n\r\n /**\r\n * The open state of the options list.\r\n */\r\n @State()\r\n open: boolean = false;\r\n\r\n /**\r\n * Emitted when user selects an option\r\n */\r\n @Event({ bubbles: false })\r\n dsoChange!: EventEmitter<AdvancedSelectChangeEvent<never>>;\r\n\r\n /**\r\n * Emitted when user activates a group redirect link.\r\n */\r\n @Event({ bubbles: false })\r\n dsoRedirect!: EventEmitter<AdvancedSelectRedirectEvent>;\r\n\r\n private toggleButtonElementRef: HTMLButtonElement | undefined;\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (this.open && event.key === \"ArrowUp\") {\r\n event.preventDefault();\r\n this.handleTab(-1);\r\n } else if (this.open && event.key === \"ArrowDown\") {\r\n event.preventDefault();\r\n this.handleTab(1);\r\n }\r\n }\r\n\r\n componentDidRender() {\r\n if (this.open && !this.trap) {\r\n this.createTrap();\r\n } else if (!this.open && this.trap) {\r\n this.removeTrap();\r\n }\r\n }\r\n\r\n private toggleOpen = () => {\r\n this.open = !this.open;\r\n };\r\n\r\n private createTrap() {\r\n this.trap = createFocusTrap(this.host, {\r\n clickOutsideDeactivates: true,\r\n escapeDeactivates: true,\r\n setReturnFocus: this.toggleButtonElementRef,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n onDeactivate: () => {\r\n this.open = false;\r\n },\r\n }).activate();\r\n }\r\n\r\n private removeTrap() {\r\n this.trap?.deactivate();\r\n delete this.trap;\r\n }\r\n\r\n private handleTab(direction: number) {\r\n const elements = tabbable(this.host, { getShadowRoot: true });\r\n const currentIndex = elements.findIndex((e) => e === this.host.shadowRoot?.activeElement);\r\n\r\n let nextIndex = currentIndex + direction;\r\n if (nextIndex >= elements.length) {\r\n nextIndex = 0;\r\n } else if (nextIndex < 0) {\r\n nextIndex = elements.length - 1;\r\n }\r\n\r\n elements[nextIndex]?.focus();\r\n }\r\n\r\n private handleOptionClick = (event: MouseEvent, option: AdvancedSelectOption<never>) => {\r\n this.dsoChange.emit({ originalEvent: event, option });\r\n this.open = false;\r\n };\r\n\r\n private handleRedirectClick = (event: MouseEvent, redirect: AdvancedSelectGroupRedirect) => {\r\n this.dsoRedirect.emit({ originalEvent: event, isModifiedEvent: isModifiedEvent(event), redirect });\r\n this.open = false;\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n aria-expanded={this.open.toString()}\r\n class={clsx([\"active-option\", { open: this.open }])}\r\n type=\"button\"\r\n onClick={this.toggleOpen}\r\n ref={(element) => (this.toggleButtonElementRef = element)}\r\n >\r\n <ActiveGroupLabel active={this.active} options={this.options} />\r\n <span class=\"active-option-label\">{this.active?.label ?? \"Selecteer een optie\"}</span>\r\n <span class=\"active-option-aside\">\r\n {this.options.some(\r\n (optionOrGroup) => \"summaryCounter\" in optionOrGroup && optionOrGroup?.summaryCounter,\r\n ) && (\r\n <span class=\"badges\">\r\n {this.options\r\n .filter(\r\n (option): option is AdvancedSelectGroup<never> =>\r\n \"options\" in option && \"summaryCounter\" in option && !!option?.summaryCounter,\r\n )\r\n .map((group) => (\r\n <dso-badge status={group.variant ?? \"outline\"}>{group.options.length}</dso-badge>\r\n ))}\r\n </span>\r\n )}\r\n <dso-icon icon=\"caret-down\"></dso-icon>\r\n </span>\r\n </button>\r\n {this.open && (\r\n <div class=\"groups-container\">\r\n <ul class=\"groups\">\r\n {this.options.map(\r\n (optionOrGroup) =>\r\n (\"options\" in optionOrGroup && (\r\n <li class={clsx([\"group\", { [`group-${optionOrGroup.variant}`]: !!optionOrGroup.variant }])}>\r\n <p class=\"group-label\">{optionOrGroup.label}</p>\r\n <ul class=\"options\">\r\n {optionOrGroup.options.map((option) => (\r\n <li>\r\n <OptionButton\r\n option={option}\r\n active={this.active}\r\n activeHint={this.activeHint}\r\n callback={this.handleOptionClick}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {optionOrGroup.redirect && (\r\n <RedirectAnchor\r\n redirect={optionOrGroup.redirect}\r\n callback={this.handleRedirectClick}\r\n ></RedirectAnchor>\r\n )}\r\n </li>\r\n )) ||\r\n (\"placeholder\" in optionOrGroup && (\r\n <li class=\"group\">\r\n <p class=\"group-label\">{optionOrGroup.label}</p>\r\n <p class=\"placeholder\">{optionOrGroup.placeholder}</p>\r\n {optionOrGroup.redirect && (\r\n <RedirectAnchor\r\n redirect={optionOrGroup.redirect}\r\n callback={this.handleRedirectClick}\r\n ></RedirectAnchor>\r\n )}\r\n </li>\r\n )) || (\r\n <li>\r\n <OptionButton\r\n option={optionOrGroup}\r\n active={this.active}\r\n activeHint={this.activeHint}\r\n callback={this.handleOptionClick}\r\n />\r\n </li>\r\n ),\r\n )}\r\n </ul>\r\n </div>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n\r\ninterface OptionButtonProps {\r\n option: AdvancedSelectOption<never>;\r\n active: AdvancedSelectOption<never> | undefined;\r\n activeHint: string | undefined;\r\n callback: (event: MouseEvent, value: AdvancedSelectOption<never>) => void;\r\n}\r\n\r\nconst OptionButton: FunctionalComponent<OptionButtonProps> = ({ option, active, activeHint, callback }) => (\r\n <button\r\n class={clsx([\"option\", { \"option-active\": active === option }])}\r\n type=\"button\"\r\n onClick={(e) => callback(e, option)}\r\n >\r\n <span class=\"option-label\">{option.label}</span>\r\n {!!activeHint && active === option && <span class=\"option-hint\">({activeHint})</span>}\r\n </button>\r\n);\r\n\r\ninterface RedirectAnchorProps {\r\n redirect: AdvancedSelectGroupRedirect;\r\n callback: (event: MouseEvent, value: AdvancedSelectGroupRedirect) => void;\r\n}\r\n\r\nconst RedirectAnchor: FunctionalComponent<RedirectAnchorProps> = ({ redirect, callback }) => (\r\n <a class=\"group-link\" href={redirect.href} onClick={(e) => callback(e, redirect)}>\r\n {redirect.label}\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n);\r\n\r\ninterface ActiveGroupLabelProps {\r\n active: AdvancedSelectOption<never> | undefined;\r\n options: AdvancedSelectOptionOrGroup<never>[];\r\n}\r\n\r\nconst ActiveGroupLabel: FunctionalComponent<ActiveGroupLabelProps> = ({ active, options }) => {\r\n const group = options.find(\r\n (optionOrGroup): optionOrGroup is AdvancedSelectGroup<never> =>\r\n \"options\" in optionOrGroup &&\r\n !!optionOrGroup.options.find((option) => option === active) &&\r\n !!optionOrGroup.activeLabel,\r\n );\r\n\r\n return group ? (\r\n <dso-label compact status={group.variant}>\r\n {group.activeLabel}\r\n </dso-label>\r\n ) : undefined;\r\n};\r\n"]}
|
|
1
|
+
{"version":3,"file":"advanced-select.js","sourceRoot":"","sources":["../../../../src/components/advanced-select/advanced-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\r\n Component,\r\n ComponentInterface,\r\n Prop,\r\n h,\r\n FunctionalComponent,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n State,\r\n Fragment,\r\n Listen,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport {\r\n AdvancedSelectGroup,\r\n AdvancedSelectGroupRedirect,\r\n AdvancedSelectOption,\r\n AdvancedSelectChangeEvent,\r\n AdvancedSelectOptionOrGroup,\r\n AdvancedSelectRedirectEvent,\r\n} from \"./advanced-select.interfaces\";\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\nimport { tabbable } from \"tabbable\";\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\n@Component({\r\n tag: \"dso-advanced-select\",\r\n styleUrl: \"advanced-select.scss\",\r\n shadow: true,\r\n})\r\nexport class AdvancedSelect implements ComponentInterface {\r\n private trap?: FocusTrap;\r\n\r\n @Element()\r\n host!: HTMLDsoAdvancedSelectElement;\r\n\r\n /**\r\n * The options to display in the select.\r\n */\r\n @Prop()\r\n options: AdvancedSelectOptionOrGroup<never>[] = [];\r\n\r\n /**\r\n * The active option. By object reference.\r\n */\r\n @Prop()\r\n active?: AdvancedSelectOption<never>;\r\n\r\n /**\r\n * An extra text for the active option. Only visible in the list of options.\r\n */\r\n @Prop()\r\n activeHint?: string;\r\n\r\n /**\r\n * The open state of the options list.\r\n */\r\n @State()\r\n open: boolean = false;\r\n\r\n /**\r\n * Emitted when user selects an option\r\n */\r\n @Event({ bubbles: false })\r\n dsoChange!: EventEmitter<AdvancedSelectChangeEvent<never>>;\r\n\r\n /**\r\n * Emitted when user activates a group redirect link.\r\n */\r\n @Event({ bubbles: false })\r\n dsoRedirect!: EventEmitter<AdvancedSelectRedirectEvent>;\r\n\r\n private toggleButtonElementRef: HTMLButtonElement | undefined;\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (this.open && event.key === \"ArrowUp\") {\r\n event.preventDefault();\r\n this.handleTab(-1);\r\n } else if (this.open && event.key === \"ArrowDown\") {\r\n event.preventDefault();\r\n this.handleTab(1);\r\n }\r\n }\r\n\r\n componentDidRender() {\r\n if (this.open && !this.trap) {\r\n this.createTrap();\r\n } else if (!this.open && this.trap) {\r\n this.removeTrap();\r\n }\r\n }\r\n\r\n private toggleOpen = () => {\r\n this.open = !this.open;\r\n };\r\n\r\n private createTrap() {\r\n this.trap = createFocusTrap(this.host, {\r\n clickOutsideDeactivates: true,\r\n escapeDeactivates: true,\r\n setReturnFocus: this.toggleButtonElementRef,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n onDeactivate: () => {\r\n this.open = false;\r\n },\r\n }).activate();\r\n }\r\n\r\n private removeTrap() {\r\n this.trap?.deactivate();\r\n delete this.trap;\r\n }\r\n\r\n private handleTab(direction: number) {\r\n const elements = this.host.isConnected ? tabbable(this.host, { getShadowRoot: true }) : [];\r\n const currentIndex = elements.findIndex((e) => e === this.host.shadowRoot?.activeElement);\r\n\r\n let nextIndex = currentIndex + direction;\r\n if (nextIndex >= elements.length) {\r\n nextIndex = 0;\r\n } else if (nextIndex < 0) {\r\n nextIndex = elements.length - 1;\r\n }\r\n\r\n elements[nextIndex]?.focus();\r\n }\r\n\r\n private handleOptionClick = (event: MouseEvent, option: AdvancedSelectOption<never>) => {\r\n this.dsoChange.emit({ originalEvent: event, option });\r\n this.open = false;\r\n };\r\n\r\n private handleRedirectClick = (event: MouseEvent, redirect: AdvancedSelectGroupRedirect) => {\r\n this.dsoRedirect.emit({ originalEvent: event, isModifiedEvent: isModifiedEvent(event), redirect });\r\n this.open = false;\r\n };\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n aria-expanded={this.open.toString()}\r\n class={clsx([\"active-option\", { open: this.open }])}\r\n type=\"button\"\r\n onClick={this.toggleOpen}\r\n ref={(element) => (this.toggleButtonElementRef = element)}\r\n >\r\n <ActiveGroupLabel active={this.active} options={this.options} />\r\n <span class=\"active-option-label\">{this.active?.label ?? \"Selecteer een optie\"}</span>\r\n <span class=\"active-option-aside\">\r\n {this.options.some(\r\n (optionOrGroup) => \"summaryCounter\" in optionOrGroup && optionOrGroup?.summaryCounter,\r\n ) && (\r\n <span class=\"badges\">\r\n {this.options\r\n .filter(\r\n (option): option is AdvancedSelectGroup<never> =>\r\n \"options\" in option && \"summaryCounter\" in option && !!option?.summaryCounter,\r\n )\r\n .map((group) => (\r\n <dso-badge status={group.variant ?? \"outline\"}>{group.options.length}</dso-badge>\r\n ))}\r\n </span>\r\n )}\r\n <dso-icon icon=\"caret-down\"></dso-icon>\r\n </span>\r\n </button>\r\n {this.open && (\r\n <div class=\"groups-container\">\r\n <ul class=\"groups\">\r\n {this.options.map(\r\n (optionOrGroup) =>\r\n (\"options\" in optionOrGroup && (\r\n <li class={clsx([\"group\", { [`group-${optionOrGroup.variant}`]: !!optionOrGroup.variant }])}>\r\n <p class=\"group-label\">{optionOrGroup.label}</p>\r\n <ul class=\"options\">\r\n {optionOrGroup.options.map((option) => (\r\n <li>\r\n <OptionButton\r\n option={option}\r\n active={this.active}\r\n activeHint={this.activeHint}\r\n callback={this.handleOptionClick}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n {optionOrGroup.redirect && (\r\n <RedirectAnchor\r\n redirect={optionOrGroup.redirect}\r\n callback={this.handleRedirectClick}\r\n ></RedirectAnchor>\r\n )}\r\n </li>\r\n )) ||\r\n (\"placeholder\" in optionOrGroup && (\r\n <li class=\"group\">\r\n <p class=\"group-label\">{optionOrGroup.label}</p>\r\n <p class=\"placeholder\">{optionOrGroup.placeholder}</p>\r\n {optionOrGroup.redirect && (\r\n <RedirectAnchor\r\n redirect={optionOrGroup.redirect}\r\n callback={this.handleRedirectClick}\r\n ></RedirectAnchor>\r\n )}\r\n </li>\r\n )) || (\r\n <li>\r\n <OptionButton\r\n option={optionOrGroup}\r\n active={this.active}\r\n activeHint={this.activeHint}\r\n callback={this.handleOptionClick}\r\n />\r\n </li>\r\n ),\r\n )}\r\n </ul>\r\n </div>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n\r\ninterface OptionButtonProps {\r\n option: AdvancedSelectOption<never>;\r\n active: AdvancedSelectOption<never> | undefined;\r\n activeHint: string | undefined;\r\n callback: (event: MouseEvent, value: AdvancedSelectOption<never>) => void;\r\n}\r\n\r\nconst OptionButton: FunctionalComponent<OptionButtonProps> = ({ option, active, activeHint, callback }) => (\r\n <button\r\n class={clsx([\"option\", { \"option-active\": active === option }])}\r\n type=\"button\"\r\n onClick={(e) => callback(e, option)}\r\n >\r\n <span class=\"option-label\">{option.label}</span>\r\n {!!activeHint && active === option && <span class=\"option-hint\">({activeHint})</span>}\r\n </button>\r\n);\r\n\r\ninterface RedirectAnchorProps {\r\n redirect: AdvancedSelectGroupRedirect;\r\n callback: (event: MouseEvent, value: AdvancedSelectGroupRedirect) => void;\r\n}\r\n\r\nconst RedirectAnchor: FunctionalComponent<RedirectAnchorProps> = ({ redirect, callback }) => (\r\n <a class=\"group-link\" href={redirect.href} onClick={(e) => callback(e, redirect)}>\r\n {redirect.label}\r\n <dso-icon icon=\"chevron-right\"></dso-icon>\r\n </a>\r\n);\r\n\r\ninterface ActiveGroupLabelProps {\r\n active: AdvancedSelectOption<never> | undefined;\r\n options: AdvancedSelectOptionOrGroup<never>[];\r\n}\r\n\r\nconst ActiveGroupLabel: FunctionalComponent<ActiveGroupLabelProps> = ({ active, options }) => {\r\n const group = options.find(\r\n (optionOrGroup): optionOrGroup is AdvancedSelectGroup<never> =>\r\n \"options\" in optionOrGroup &&\r\n !!optionOrGroup.options.find((option) => option === active) &&\r\n !!optionOrGroup.activeLabel,\r\n );\r\n\r\n return group ? (\r\n <dso-label compact status={group.variant}>\r\n {group.activeLabel}\r\n </dso-label>\r\n ) : undefined;\r\n};\r\n"]}
|
|
@@ -11,7 +11,7 @@ export class Alert {
|
|
|
11
11
|
if (!status) {
|
|
12
12
|
throw new Error(`Invalid status ${this.status}`);
|
|
13
13
|
}
|
|
14
|
-
return (h("div", { key: '
|
|
14
|
+
return (h("div", { key: 'cc815a0d71226a31d8777d7beef98641d5a0917d', class: clsx("alert", `alert-${this.status}`, { "dso-compact": this.compact }), role: this.roleAlert ? "alert" : undefined }, !this.compact && h("dso-icon", { key: 'bbf3ef40e0471b4dbf5539c06db8a671791167b1', icon: "status-" + this.status }), h("span", { key: '984e9f9bc25c68a13575fac2dc60966ab3bc0045', class: "sr-only" }, status, ":"), h("slot", { key: '70464b29837954e3fea18be9f6f8c2fc83bbd05b' })));
|
|
15
15
|
}
|
|
16
16
|
static get is() { return "dso-alert"; }
|
|
17
17
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/components/annotation/annotation-activiteit/annotation-activiteit.js
CHANGED
|
@@ -25,7 +25,7 @@ export class AnnotationActiviteit {
|
|
|
25
25
|
}
|
|
26
26
|
render() {
|
|
27
27
|
const hasSymbool = this.watcher.hasSymbool();
|
|
28
|
-
return (h(AnnotationBody, { key: '
|
|
28
|
+
return (h(AnnotationBody, { key: 'd25e92e8a7cb6cc5cf82ec481c577010ca9df899', symbol: hasSymbool ? h(AnnotationSymbolSlot, null) : undefined, active: this.active, dsoActiveChange: this.dsoActiveChange, title: h("dso-renvooi", { value: this.naam }), data: h(Fragment, null, h("span", { class: "content" }, this.regelKwalificatie && (h(Fragment, null, h("dso-renvooi", { value: this.regelKwalificatie }), " ")), this.regelKwalificatieVoorzetsel && `${this.regelKwalificatieVoorzetsel}: `, h("dso-renvooi", { value: this.locatieNoemers })), this.gewijzigdeLocatie && h(AnnotationGewijzigdeLocatie, null)) }));
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "dso-annotation-activiteit"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -22,7 +22,7 @@ export class AnnotationGebiedsaanwijzing {
|
|
|
22
22
|
}
|
|
23
23
|
render() {
|
|
24
24
|
const hasSymbool = this.watcher.hasSymbool();
|
|
25
|
-
return (h(AnnotationBody, { key: '
|
|
25
|
+
return (h(AnnotationBody, { key: 'cc38cb93af4db4adff035757c39c344da545af4b', symbol: hasSymbool ? h(AnnotationSymbolSlot, null) : undefined, active: this.active, dsoActiveChange: this.dsoActiveChange, title: h(Fragment, null, h("span", { class: "content" }, h("dso-renvooi", { value: this.naam })), this.gewijzigdeLocatie && h(AnnotationGewijzigdeLocatie, null)) }));
|
|
26
26
|
}
|
|
27
27
|
static get is() { return "dso-annotation-gebiedsaanwijzing"; }
|
|
28
28
|
static get encapsulation() { return "shadow"; }
|
|
@@ -19,7 +19,7 @@ export class AnnotationKaart {
|
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
21
|
const title = this.href ? (h("a", { class: "content", href: this.href, onClick: this.clickHandler }, h("dso-renvooi", { value: this.naam }))) : (h("span", { class: "content" }, h("dso-renvooi", { value: this.naam })));
|
|
22
|
-
return h(AnnotationBody, { key: '
|
|
22
|
+
return h(AnnotationBody, { key: 'a6d42398082063958d1608220fc82967c27fc667', symbol: h("dso-icon", { icon: "land" }), title: title });
|
|
23
23
|
}
|
|
24
24
|
static get is() { return "dso-annotation-kaart"; }
|
|
25
25
|
static get encapsulation() { return "shadow"; }
|
|
@@ -22,7 +22,7 @@ export class AnnotationLocatie {
|
|
|
22
22
|
}
|
|
23
23
|
render() {
|
|
24
24
|
const hasSymbool = this.watcher.hasSymbool();
|
|
25
|
-
return (h(AnnotationBody, { key: '
|
|
25
|
+
return (h(AnnotationBody, { key: '0190bf857c4bbbb4fba151b59701ddf9d6397f18', symbol: hasSymbool ? h(AnnotationSymbolSlot, null) : undefined, active: this.active, dsoActiveChange: this.dsoActiveChange, title: h(Fragment, null, h("span", { class: "content" }, h("dso-renvooi", { value: this.locatieNoemer })), this.gewijzigdeLocatie && h(AnnotationGewijzigdeLocatie, null)) }));
|
|
26
26
|
}
|
|
27
27
|
static get is() { return "dso-annotation-locatie"; }
|
|
28
28
|
static get encapsulation() { return "shadow"; }
|
|
@@ -27,7 +27,7 @@ export class AnnotationOmgevingsnormwaarde {
|
|
|
27
27
|
}
|
|
28
28
|
render() {
|
|
29
29
|
const hasSymbool = this.watcher.hasSymbool();
|
|
30
|
-
return (h(AnnotationBody, { key: '
|
|
30
|
+
return (h(AnnotationBody, { key: '4ff358aca2214ac15d9a2b8a38b8bdbab861646d', symbol: hasSymbool ? h(AnnotationSymbolSlot, null) : undefined, active: this.active || false, dsoActiveChange: this.dsoActiveChange, title: h(Fragment, null, h("dso-renvooi", { value: this.naam }), this.eenheid && (h(Fragment, null, " ", "(in ", h("dso-renvooi", { value: this.eenheid }), ")"))), data: h(Fragment, null, h("span", { class: "content" }, this.toelichting && h(Fragment, null, this.toelichting, ": "), h("dso-renvooi", { value: this.waardes })), this.gewijzigdeLocatie && h(AnnotationGewijzigdeLocatie, null)) }));
|
|
31
31
|
}
|
|
32
32
|
static get is() { return "dso-annotation-omgevingsnormwaarde"; }
|
|
33
33
|
static get encapsulation() { return "shadow"; }
|
|
@@ -4,7 +4,7 @@ export class AttachmentsCounter {
|
|
|
4
4
|
this.count = undefined;
|
|
5
5
|
}
|
|
6
6
|
render() {
|
|
7
|
-
return (h("span", { key: '
|
|
7
|
+
return (h("span", { key: '02905e5d45afa01c0e427181af881ac17fa5e433', class: "dso-attachments" }, this.count, " ", h("span", { key: 'a6d8fc7f088f3d7b9512e27292d890cf5198ece6', class: "sr-only" }, "bijlage", this.count !== 1 ? "n" : ""), h("dso-icon", { key: 'bcf3895d516ec5ef28526d4da53c07f1f5bba66a', icon: "paperclip" })));
|
|
8
8
|
}
|
|
9
9
|
static get is() { return "dso-attachments-counter"; }
|
|
10
10
|
static get encapsulation() { return "shadow"; }
|
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
position: relative;
|
|
4
4
|
}
|
|
5
5
|
|
|
6
|
+
.listbox-container {
|
|
7
|
+
inset-inline: 0;
|
|
8
|
+
inset-block-start: 100%;
|
|
9
|
+
block-size: auto;
|
|
10
|
+
max-block-size: var(--max-block-size);
|
|
11
|
+
min-block-size: 48px;
|
|
12
|
+
overflow-y: auto;
|
|
13
|
+
position: absolute;
|
|
14
|
+
z-index: 200;
|
|
15
|
+
}
|
|
16
|
+
|
|
6
17
|
ul,
|
|
7
18
|
.autosuggest-progress-box {
|
|
8
19
|
background-clip: padding-box;
|
|
@@ -11,14 +22,7 @@ ul,
|
|
|
11
22
|
border-radius: 4px;
|
|
12
23
|
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
|
13
24
|
list-style-type: none;
|
|
14
|
-
margin-block
|
|
15
|
-
padding-block: 4px;
|
|
16
|
-
padding-inline: 0;
|
|
17
|
-
position: absolute;
|
|
18
|
-
inset-inline-start: 0;
|
|
19
|
-
inset-inline-end: 0;
|
|
20
|
-
inset-block-start: 100%;
|
|
21
|
-
z-index: 200;
|
|
25
|
+
margin-block: 0;
|
|
22
26
|
}
|
|
23
27
|
|
|
24
28
|
.autosuggest-progress-box {
|
|
@@ -2,11 +2,16 @@ import { Fragment, h } from "@stencil/core";
|
|
|
2
2
|
import debounce from "debounce";
|
|
3
3
|
import { v4 } from "uuid";
|
|
4
4
|
import escapeStringRegexp from "escape-string-regexp";
|
|
5
|
+
const maxSuggestionsViewable = 10;
|
|
6
|
+
const listboxPaddingBlock = 8;
|
|
7
|
+
const listboxBorderWidth = 1;
|
|
5
8
|
export class Autosuggest {
|
|
6
9
|
constructor() {
|
|
10
|
+
this.listboxItems = [];
|
|
7
11
|
this.listboxId = v4();
|
|
8
12
|
this.inputId = v4();
|
|
9
13
|
this.labelId = v4();
|
|
14
|
+
this.resizeObserver = new ResizeObserver(debounce(() => this.setListboxContainerMaxBlockSize(), 150));
|
|
10
15
|
this.debouncedEmitValue = debounce((value) => {
|
|
11
16
|
this.dsoChange.emit(value);
|
|
12
17
|
this.debouncedShowLoading();
|
|
@@ -31,6 +36,8 @@ export class Autosuggest {
|
|
|
31
36
|
this.openSuggestions();
|
|
32
37
|
}
|
|
33
38
|
};
|
|
39
|
+
this.onWindowResize = debounce(() => this.setListboxContainerMaxBlockSize(), 150);
|
|
40
|
+
this.onScrollend = () => this.setListboxContainerMaxBlockSize();
|
|
34
41
|
this.onKeyDown = (event) => {
|
|
35
42
|
if (event.defaultPrevented || this.loading) {
|
|
36
43
|
return;
|
|
@@ -77,6 +84,8 @@ export class Autosuggest {
|
|
|
77
84
|
this.selectedSuggestion = undefined;
|
|
78
85
|
this.notFound = false;
|
|
79
86
|
this.showLoading = false;
|
|
87
|
+
this.listItemBlockSize = 0;
|
|
88
|
+
this.listboxContainerMaxBlockSize = 0;
|
|
80
89
|
}
|
|
81
90
|
suggestionsWatcher() {
|
|
82
91
|
this.resetSelectedSuggestion();
|
|
@@ -96,6 +105,9 @@ export class Autosuggest {
|
|
|
96
105
|
this.closeSuggestions();
|
|
97
106
|
}
|
|
98
107
|
}
|
|
108
|
+
componentDidRender() {
|
|
109
|
+
this.setListboxContainerMaxBlockSize();
|
|
110
|
+
}
|
|
99
111
|
connectedCallback() {
|
|
100
112
|
setTimeout(() => {
|
|
101
113
|
const input = this.host.querySelector('input[type="text"]');
|
|
@@ -131,6 +143,10 @@ export class Autosuggest {
|
|
|
131
143
|
this.input.addEventListener("input", this.onInput);
|
|
132
144
|
this.input.addEventListener("keydown", this.onKeyDown);
|
|
133
145
|
this.input.addEventListener("focusin", this.onFocusIn);
|
|
146
|
+
window.addEventListener("resize", this.onWindowResize);
|
|
147
|
+
document.addEventListener("scrollend", this.onScrollend);
|
|
148
|
+
this.resizeObserver.observe(this.host);
|
|
149
|
+
this.setListboxContainerMaxBlockSize();
|
|
134
150
|
});
|
|
135
151
|
}
|
|
136
152
|
disconnectedCallback() {
|
|
@@ -138,6 +154,27 @@ export class Autosuggest {
|
|
|
138
154
|
(_a = this.input) === null || _a === void 0 ? void 0 : _a.removeEventListener("input", this.onInput);
|
|
139
155
|
(_b = this.input) === null || _b === void 0 ? void 0 : _b.removeEventListener("keydown", this.onKeyDown);
|
|
140
156
|
(_c = this.input) === null || _c === void 0 ? void 0 : _c.removeEventListener("focusin", this.onFocusIn);
|
|
157
|
+
window.removeEventListener("resize", this.onWindowResize);
|
|
158
|
+
document.removeEventListener("scrollend", this.onScrollend);
|
|
159
|
+
this.resizeObserver.disconnect();
|
|
160
|
+
}
|
|
161
|
+
setListboxContainerMaxBlockSize() {
|
|
162
|
+
if (!this.listboxContainer || !this.showSuggestions) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
if (this.listboxItems[0] && this.showSuggestions) {
|
|
166
|
+
this.listItemBlockSize = this.listboxItems[0].getBoundingClientRect().height;
|
|
167
|
+
}
|
|
168
|
+
const availableBlockSize = window.innerHeight - this.host.getBoundingClientRect().bottom;
|
|
169
|
+
const listboxMaxBlockSize = this.listItemBlockSize * maxSuggestionsViewable + 2 * listboxPaddingBlock + 2 * listboxBorderWidth;
|
|
170
|
+
if (availableBlockSize > this.listItemBlockSize) {
|
|
171
|
+
if (availableBlockSize < listboxMaxBlockSize) {
|
|
172
|
+
this.listboxContainerMaxBlockSize = availableBlockSize - 2 * listboxPaddingBlock;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
this.listboxContainerMaxBlockSize = listboxMaxBlockSize;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
141
178
|
}
|
|
142
179
|
showInputValueNotFound(text) {
|
|
143
180
|
var _a, _b;
|
|
@@ -183,50 +220,49 @@ export class Autosuggest {
|
|
|
183
220
|
});
|
|
184
221
|
}
|
|
185
222
|
selectSuggestion(suggestion) {
|
|
186
|
-
var _a;
|
|
187
223
|
this.selectedSuggestion = suggestion;
|
|
188
|
-
|
|
224
|
+
this.setAriaActiveDescendant();
|
|
189
225
|
}
|
|
190
226
|
selectFirstSuggestion() {
|
|
191
|
-
var _a;
|
|
192
227
|
if (!this.suggestions) {
|
|
193
228
|
return;
|
|
194
229
|
}
|
|
195
230
|
this.selectedSuggestion = this.suggestions[0];
|
|
196
|
-
|
|
197
|
-
(_a = this.input) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-activedescendant", this.listboxItemId(this.selectedSuggestion));
|
|
198
|
-
}
|
|
231
|
+
this.setAriaActiveDescendant(true);
|
|
199
232
|
}
|
|
200
233
|
selectLastSuggestion() {
|
|
201
|
-
var _a;
|
|
202
234
|
if (!this.suggestions) {
|
|
203
235
|
return;
|
|
204
236
|
}
|
|
205
237
|
this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];
|
|
206
|
-
|
|
207
|
-
(_a = this.input) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-activedescendant", this.listboxItemId(this.selectedSuggestion));
|
|
208
|
-
}
|
|
238
|
+
this.setAriaActiveDescendant(true);
|
|
209
239
|
}
|
|
210
240
|
selectNextSuggestion() {
|
|
211
|
-
var _a
|
|
241
|
+
var _a;
|
|
212
242
|
if (!this.suggestions) {
|
|
213
243
|
return;
|
|
214
244
|
}
|
|
215
245
|
const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;
|
|
216
246
|
this.selectedSuggestion = (_a = this.suggestions[index + 1]) !== null && _a !== void 0 ? _a : this.suggestions[0];
|
|
217
|
-
|
|
218
|
-
(_b = this.input) === null || _b === void 0 ? void 0 : _b.setAttribute("aria-activedescendant", this.listboxItemId(this.selectedSuggestion));
|
|
219
|
-
}
|
|
247
|
+
this.setAriaActiveDescendant(true);
|
|
220
248
|
}
|
|
221
249
|
selectPreviousSuggestion() {
|
|
222
|
-
var _a
|
|
250
|
+
var _a;
|
|
223
251
|
if (!this.suggestions) {
|
|
224
252
|
return;
|
|
225
253
|
}
|
|
226
254
|
const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;
|
|
227
255
|
this.selectedSuggestion = (_a = this.suggestions[index - 1]) !== null && _a !== void 0 ? _a : this.suggestions[this.suggestions.length - 1];
|
|
256
|
+
this.setAriaActiveDescendant(true);
|
|
257
|
+
}
|
|
258
|
+
setAriaActiveDescendant(scroll = false) {
|
|
259
|
+
var _a, _b;
|
|
228
260
|
if (this.selectedSuggestion) {
|
|
229
|
-
|
|
261
|
+
const id = this.listboxItemId(this.selectedSuggestion);
|
|
262
|
+
(_a = this.input) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-activedescendant", id);
|
|
263
|
+
if (scroll) {
|
|
264
|
+
(_b = document.getElementById(id)) === null || _b === void 0 ? void 0 : _b.scrollIntoView({ block: "nearest" });
|
|
265
|
+
}
|
|
230
266
|
}
|
|
231
267
|
}
|
|
232
268
|
resetSelectedSuggestion() {
|
|
@@ -283,11 +319,12 @@ export class Autosuggest {
|
|
|
283
319
|
}, []);
|
|
284
320
|
}
|
|
285
321
|
render() {
|
|
286
|
-
|
|
322
|
+
this.listboxItems = [];
|
|
323
|
+
return (h(Fragment, null, h("slot", { key: '1c54ee8c0e3ecea23a23f4acfc641179908f630f' }), this.loading && this.showLoading ? (h("div", { class: "autosuggest-progress-box" }, h("dso-progress-indicator", { label: this.loadingLabel }))) : (h("dso-scrollable", { class: "listbox-container", ref: (element) => (this.listboxContainer = element), style: { "--max-block-size": `${this.listboxContainerMaxBlockSize}px` } }, h("ul", { role: "listbox", "aria-live": "polite", id: this.listboxId, "aria-labelledby": this.labelId, ref: (element) => (this.listbox = element), hidden: !this.showSuggestions && !this.notFound }, (this.showSuggestions &&
|
|
287
324
|
this.suggestions &&
|
|
288
|
-
this.suggestions.map((suggestion) => (h("li", { role: "option", id: this.listboxItemId(suggestion), key: suggestion.value, onMouseEnter: () => this.selectSuggestion(suggestion), onMouseLeave: () => this.resetSelectedSuggestion(), onClick: () => this.pickSelectedValue(), "aria-selected": (suggestion === this.selectedSuggestion).toString(), "aria-label": suggestion.value }, h("div", { class: "suggestion-row" }, h("span", { class: "value" }, this.handleMark(suggestion, suggestion.value, "value")), suggestion.type ? (h("span", { class: "type" }, this.handleMark(suggestion, suggestion.type, "type"))) : undefined), suggestion.extras &&
|
|
325
|
+
this.suggestions.map((suggestion) => (h("li", { role: "option", id: this.listboxItemId(suggestion), key: suggestion.value, onMouseEnter: () => this.selectSuggestion(suggestion), onMouseLeave: () => this.resetSelectedSuggestion(), onClick: () => this.pickSelectedValue(), "aria-selected": (suggestion === this.selectedSuggestion).toString(), "aria-label": suggestion.value, ref: (li) => li && this.listboxItems.push(li) }, h("div", { class: "suggestion-row" }, h("span", { class: "value" }, this.handleMark(suggestion, suggestion.value, "value")), suggestion.type ? (h("span", { class: "type" }, this.handleMark(suggestion, suggestion.type, "type"))) : undefined), suggestion.extras &&
|
|
289
326
|
this.getChunkedExtras(suggestion.extras).map((chunk, index) => (h("div", { class: "suggestion-row" }, chunk.map((c, i) => (h("span", { class: "extra" }, this.handleMark(suggestion, c, "extra", index * 2 + i))))))))))) ||
|
|
290
|
-
(this.notFound && (h("li", null, h("span", { class: "value" }, !this.notFoundLabel ? (this.showInputValueNotFound(`${this.inputValue} is niet gevonden.`)) : (h("span", null, this.notFoundLabel))))))))));
|
|
327
|
+
(this.notFound && (h("li", null, h("span", { class: "value" }, !this.notFoundLabel ? (this.showInputValueNotFound(`${this.inputValue} is niet gevonden.`)) : (h("span", null, this.notFoundLabel)))))))))));
|
|
291
328
|
}
|
|
292
329
|
static get is() { return "dso-autosuggest"; }
|
|
293
330
|
static get encapsulation() { return "scoped"; }
|
|
@@ -441,7 +478,9 @@ export class Autosuggest {
|
|
|
441
478
|
"showSuggestions": {},
|
|
442
479
|
"selectedSuggestion": {},
|
|
443
480
|
"notFound": {},
|
|
444
|
-
"showLoading": {}
|
|
481
|
+
"showLoading": {},
|
|
482
|
+
"listItemBlockSize": {},
|
|
483
|
+
"listboxContainerMaxBlockSize": {}
|
|
445
484
|
};
|
|
446
485
|
}
|
|
447
486
|
static get events() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autosuggest.js","sourceRoot":"","sources":["../../../../src/components/autosuggest/autosuggest.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, h, Listen, Prop, State, VNode, Watch } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { v4 } from \"uuid\";\r\nimport escapeStringRegexp from \"escape-string-regexp\";\r\n\r\nimport { AutosuggestMarkFunction, AutosuggestMarkItem, Suggestion } from \"./autosuggest.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-autosuggest\",\r\n styleUrl: \"autosuggest.scss\",\r\n scoped: true,\r\n})\r\nexport class Autosuggest {\r\n /**\r\n * The suggestions for the value of the slotted input element. Optionally a\r\n * Suggestion can have a `type` and `item`.\r\n *\r\n * The `type` is used to style the suggestion. `item` can be use to reference\r\n * the original object that was used to create the suggestion.\r\n *\r\n * The value should be null when no suggestions have been fetched.\r\n */\r\n @Prop()\r\n readonly suggestions: Suggestion[] | null = null;\r\n\r\n /**\r\n * Shows progress indicator when fetching results.\r\n */\r\n @Prop()\r\n loading = false;\r\n\r\n /**\r\n * To override progress indicator's default loading label.\r\n */\r\n @Prop()\r\n loadingLabel?: string = \"Een moment geduld.\";\r\n\r\n /**\r\n * To delay progress indicator showing (in ms).\r\n */\r\n @Prop()\r\n loadingDelayed?: number;\r\n\r\n /**\r\n * To show text when no results are found.\r\n */\r\n @Prop()\r\n notFoundLabel?: string;\r\n\r\n /**\r\n * Whether the previous suggestions will be presented when the input gets focus again.\r\n */\r\n @Prop()\r\n suggestOnFocus = false;\r\n\r\n /**\r\n * A function provided by the consumer of the autosuggest component, that returns an array of `AutosuggestMarkItem`s\r\n */\r\n @Prop()\r\n mark?: AutosuggestMarkFunction;\r\n\r\n /**\r\n * Emitted when a suggestion is selected.\r\n * The `detail` property of the `CustomEvent` will contain the selected suggestion.\r\n */\r\n @Event()\r\n dsoSelect!: EventEmitter<Suggestion>;\r\n\r\n /**\r\n * This is emitted debounced for every change for the slotted input type=text element.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when enter is pressed.\r\n * The `detail` property of the `CustomEvent` will contain the input text.\r\n */\r\n @Event()\r\n dsoSearch!: EventEmitter<string>;\r\n\r\n @Element()\r\n host!: HTMLDsoAutosuggestElement;\r\n\r\n @State()\r\n showSuggestions = false;\r\n\r\n @State()\r\n selectedSuggestion: Suggestion | undefined;\r\n\r\n @State()\r\n notFound = false;\r\n\r\n @State()\r\n showLoading = false;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listbox: HTMLUListElement | undefined;\r\n\r\n private listboxId: string = v4();\r\n\r\n private inputId: string = v4();\r\n\r\n private labelId: string = v4();\r\n\r\n private debouncedEmitValue = debounce((value: string) => {\r\n this.dsoChange.emit(value);\r\n this.debouncedShowLoading();\r\n }, 200);\r\n\r\n private debouncedShowLoading = debounce(() => {\r\n if (this.inputValue) {\r\n this.showLoading = true;\r\n }\r\n }, this.loadingDelayed);\r\n\r\n private inputValue = \"\";\r\n\r\n private onInput = (event: Event) => {\r\n if (!(event.target instanceof HTMLInputElement)) {\r\n return;\r\n // throw new Error(\"event.target is not instanceof HTMLInputElement\"); #2293\r\n }\r\n\r\n this.showLoading = !this.loadingDelayed;\r\n this.inputValue = event.target.value;\r\n this.debouncedEmitValue(event.target.value.match(/(\\S+)/g) ? event.target.value : \"\");\r\n };\r\n\r\n private onFocusIn = () => {\r\n if (this.suggestOnFocus) {\r\n this.openSuggestions();\r\n }\r\n };\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n (this.showSuggestions || this.notFound) &&\r\n this.listbox &&\r\n event.target instanceof Node &&\r\n !this.listbox.contains(event.target) &&\r\n this.input !== event.target\r\n ) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n setTimeout(() => {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory text input not found\"); #2293\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory label for text input not found\"); #2293\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-controls\", this.listboxId);\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n }\r\n\r\n private showInputValueNotFound(text: string) {\r\n return this.processAutosuggestMarkItems(this.markTerms(text, this.input?.value.split(\" \").filter((t) => t) ?? []));\r\n }\r\n\r\n private handleMark(\r\n suggestion: Suggestion,\r\n text: string,\r\n type?: \"value\" | \"type\" | \"extra\",\r\n extraIndex?: number,\r\n ): (VNode | string)[] {\r\n if (this.mark && type) {\r\n return this.processAutosuggestMarkItems(this.mark(suggestion, text, type, extraIndex));\r\n }\r\n return this.processAutosuggestMarkItems(this.markTerms(text, this.input?.value.split(\" \").filter((t) => t) ?? []));\r\n }\r\n\r\n private markTerms(suggestionValue: string, terms: string[]): AutosuggestMarkItem[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).reduce((total: AutosuggestMarkItem[], valuePart: string) => {\r\n if (!valuePart) {\r\n total.push(valuePart);\r\n } else if (termRegex.test(valuePart)) {\r\n total.push({ mark: valuePart });\r\n } else if (terms.length === 1) {\r\n total.push(valuePart);\r\n } else {\r\n total.push(...this.markTerms(valuePart, terms.slice(1)));\r\n }\r\n\r\n return total;\r\n }, []);\r\n }\r\n\r\n private processAutosuggestMarkItems(items: AutosuggestMarkItem[]): (VNode | string)[] {\r\n if (items.length === 0) {\r\n return [\"\"];\r\n }\r\n\r\n return items.map((item) => {\r\n if (typeof item === \"object\") {\r\n return <mark>{item.mark}</mark>;\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion) {\r\n this.selectedSuggestion = suggestion;\r\n\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(suggestion));\r\n }\r\n\r\n private selectFirstSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[0];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private selectLastSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private selectNextSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;\r\n\r\n this.selectedSuggestion = this.suggestions[index + 1] ?? this.suggestions[0];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private selectPreviousSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;\r\n\r\n this.selectedSuggestion = this.suggestions[index - 1] ?? this.suggestions[this.suggestions.length - 1];\r\n\r\n if (this.selectedSuggestion) {\r\n this.input?.setAttribute(\"aria-activedescendant\", this.listboxItemId(this.selectedSuggestion));\r\n }\r\n }\r\n\r\n private resetSelectedSuggestion() {\r\n this.showLoading = !this.loadingDelayed;\r\n this.notFound = false;\r\n this.selectedSuggestion = undefined;\r\n this.input?.setAttribute(\"aria-activedescendant\", \"\");\r\n }\r\n\r\n private openSuggestions(selectSuggestion?: \"first\" | \"last\") {\r\n this.showSuggestions = (this.suggestions && this.suggestions.length > 0) ?? false;\r\n this.notFound = this.suggestions?.length === 0 ?? false;\r\n this.input?.setAttribute(\"aria-expanded\", (this.showSuggestions || this.notFound).toString());\r\n\r\n if (this.showSuggestions && selectSuggestion === \"first\") {\r\n this.selectFirstSuggestion();\r\n } else if (this.showSuggestions && selectSuggestion === \"last\") {\r\n this.selectLastSuggestion();\r\n }\r\n }\r\n\r\n private closeSuggestions() {\r\n this.showSuggestions = false;\r\n this.notFound = false;\r\n this.input?.setAttribute(\"aria-expanded\", \"false\");\r\n this.selectFirstSuggestion();\r\n }\r\n\r\n private pickSelectedValue() {\r\n if (this.selectedSuggestion && this.showSuggestions) {\r\n this.dsoSelect.emit(this.selectedSuggestion);\r\n } else {\r\n this.dsoSearch.emit(this.input?.value);\r\n }\r\n\r\n this.closeSuggestions();\r\n }\r\n\r\n private onKeyDown = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented || this.loading) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"first\");\r\n } else {\r\n this.selectNextSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"ArrowUp\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"last\");\r\n } else {\r\n this.selectPreviousSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.closeSuggestions();\r\n return;\r\n\r\n case \"Escape\":\r\n this.closeSuggestions();\r\n break;\r\n\r\n case \"Enter\":\r\n this.pickSelectedValue();\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n private listboxItemId(suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n return `${this.inputId}-${this.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private getChunkedExtras(extras: string[]): string[][] {\r\n return extras.reduce((resultArray: string[][], extra, index) => {\r\n const chunkIndex = Math.floor(index / 2);\r\n\r\n if (!resultArray[chunkIndex]) {\r\n resultArray[chunkIndex] = [];\r\n }\r\n resultArray[chunkIndex]?.push(extra);\r\n return resultArray;\r\n }, []);\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <slot />\r\n {this.loading && this.showLoading ? (\r\n <div class=\"autosuggest-progress-box\">\r\n <dso-progress-indicator label={this.loadingLabel}></dso-progress-indicator>\r\n </div>\r\n ) : (\r\n <ul\r\n role=\"listbox\"\r\n aria-live=\"polite\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n hidden={!this.showSuggestions && !this.notFound}\r\n >\r\n {(this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestion) => (\r\n <li\r\n role=\"option\"\r\n id={this.listboxItemId(suggestion)}\r\n key={suggestion.value}\r\n onMouseEnter={() => this.selectSuggestion(suggestion)}\r\n onMouseLeave={() => this.resetSelectedSuggestion()}\r\n onClick={() => this.pickSelectedValue()}\r\n aria-selected={(suggestion === this.selectedSuggestion).toString()}\r\n aria-label={suggestion.value}\r\n >\r\n <div class=\"suggestion-row\">\r\n <span class=\"value\">{this.handleMark(suggestion, suggestion.value, \"value\")}</span>\r\n {suggestion.type ? (\r\n <span class=\"type\">{this.handleMark(suggestion, suggestion.type, \"type\")}</span>\r\n ) : undefined}\r\n </div>\r\n {suggestion.extras &&\r\n this.getChunkedExtras(suggestion.extras).map((chunk, index) => (\r\n <div class=\"suggestion-row\">\r\n {chunk.map((c, i) => (\r\n <span class=\"extra\">{this.handleMark(suggestion, c, \"extra\", index * 2 + i)}</span>\r\n ))}\r\n </div>\r\n ))}\r\n </li>\r\n ))) ||\r\n (this.notFound && (\r\n <li>\r\n <span class=\"value\">\r\n {!this.notFoundLabel ? (\r\n this.showInputValueNotFound(`${this.inputValue} is niet gevonden.`)\r\n ) : (\r\n <span>{this.notFoundLabel}</span>\r\n )}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"autosuggest.js","sourceRoot":"","sources":["../../../../src/components/autosuggest/autosuggest.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, Fragment, h, Listen, Prop, State, VNode, Watch } from \"@stencil/core\";\r\nimport debounce from \"debounce\";\r\nimport { v4 } from \"uuid\";\r\nimport escapeStringRegexp from \"escape-string-regexp\";\r\n\r\nimport { AutosuggestMarkFunction, AutosuggestMarkItem, Suggestion } from \"./autosuggest.interfaces\";\r\n\r\nconst maxSuggestionsViewable = 10;\r\nconst listboxPaddingBlock = 8;\r\nconst listboxBorderWidth = 1;\r\n\r\n@Component({\r\n tag: \"dso-autosuggest\",\r\n styleUrl: \"autosuggest.scss\",\r\n scoped: true,\r\n})\r\nexport class Autosuggest {\r\n /**\r\n * The suggestions for the value of the slotted input element. Optionally a\r\n * Suggestion can have a `type` and `item`.\r\n *\r\n * The `type` is used to style the suggestion. `item` can be use to reference\r\n * the original object that was used to create the suggestion.\r\n *\r\n * The value should be null when no suggestions have been fetched.\r\n */\r\n @Prop()\r\n readonly suggestions: Suggestion[] | null = null;\r\n\r\n /**\r\n * Shows progress indicator when fetching results.\r\n */\r\n @Prop()\r\n loading = false;\r\n\r\n /**\r\n * To override progress indicator's default loading label.\r\n */\r\n @Prop()\r\n loadingLabel?: string = \"Een moment geduld.\";\r\n\r\n /**\r\n * To delay progress indicator showing (in ms).\r\n */\r\n @Prop()\r\n loadingDelayed?: number;\r\n\r\n /**\r\n * To show text when no results are found.\r\n */\r\n @Prop()\r\n notFoundLabel?: string;\r\n\r\n /**\r\n * Whether the previous suggestions will be presented when the input gets focus again.\r\n */\r\n @Prop()\r\n suggestOnFocus = false;\r\n\r\n /**\r\n * A function provided by the consumer of the autosuggest component, that returns an array of `AutosuggestMarkItem`s\r\n */\r\n @Prop()\r\n mark?: AutosuggestMarkFunction;\r\n\r\n /**\r\n * Emitted when a suggestion is selected.\r\n * The `detail` property of the `CustomEvent` will contain the selected suggestion.\r\n */\r\n @Event()\r\n dsoSelect!: EventEmitter<Suggestion>;\r\n\r\n /**\r\n * This is emitted debounced for every change for the slotted input type=text element.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when enter is pressed.\r\n * The `detail` property of the `CustomEvent` will contain the input text.\r\n */\r\n @Event()\r\n dsoSearch!: EventEmitter<string>;\r\n\r\n @Element()\r\n host!: HTMLDsoAutosuggestElement;\r\n\r\n @State()\r\n showSuggestions = false;\r\n\r\n @State()\r\n selectedSuggestion: Suggestion | undefined;\r\n\r\n @State()\r\n notFound = false;\r\n\r\n @State()\r\n showLoading = false;\r\n\r\n @State()\r\n listItemBlockSize = 0;\r\n\r\n @State()\r\n listboxContainerMaxBlockSize = 0;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listboxContainer: HTMLDsoScrollableElement | undefined;\r\n\r\n private listbox: HTMLUListElement | undefined;\r\n\r\n private listboxItems: HTMLLIElement[] = [];\r\n\r\n private listboxId: string = v4();\r\n\r\n private inputId: string = v4();\r\n\r\n private labelId: string = v4();\r\n\r\n private resizeObserver = new ResizeObserver(debounce(() => this.setListboxContainerMaxBlockSize(), 150));\r\n\r\n private debouncedEmitValue = debounce((value: string) => {\r\n this.dsoChange.emit(value);\r\n this.debouncedShowLoading();\r\n }, 200);\r\n\r\n private debouncedShowLoading = debounce(() => {\r\n if (this.inputValue) {\r\n this.showLoading = true;\r\n }\r\n }, this.loadingDelayed);\r\n\r\n private inputValue = \"\";\r\n\r\n private onInput = (event: Event) => {\r\n if (!(event.target instanceof HTMLInputElement)) {\r\n return;\r\n // throw new Error(\"event.target is not instanceof HTMLInputElement\"); #2293\r\n }\r\n\r\n this.showLoading = !this.loadingDelayed;\r\n this.inputValue = event.target.value;\r\n this.debouncedEmitValue(event.target.value.match(/(\\S+)/g) ? event.target.value : \"\");\r\n };\r\n\r\n private onFocusIn = () => {\r\n if (this.suggestOnFocus) {\r\n this.openSuggestions();\r\n }\r\n };\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n (this.showSuggestions || this.notFound) &&\r\n this.listbox &&\r\n event.target instanceof Node &&\r\n !this.listbox.contains(event.target) &&\r\n this.input !== event.target\r\n ) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n componentDidRender() {\r\n this.setListboxContainerMaxBlockSize();\r\n }\r\n\r\n connectedCallback() {\r\n setTimeout(() => {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory text input not found\"); #2293\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory label for text input not found\"); #2293\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-controls\", this.listboxId);\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.addEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.observe(this.host);\r\n\r\n this.setListboxContainerMaxBlockSize();\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.removeEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n private onWindowResize = debounce(() => this.setListboxContainerMaxBlockSize(), 150);\r\n\r\n private onScrollend = () => this.setListboxContainerMaxBlockSize();\r\n\r\n private setListboxContainerMaxBlockSize(): void {\r\n if (!this.listboxContainer || !this.showSuggestions) {\r\n return;\r\n }\r\n\r\n if (this.listboxItems[0] && this.showSuggestions) {\r\n this.listItemBlockSize = this.listboxItems[0].getBoundingClientRect().height;\r\n }\r\n\r\n const availableBlockSize = window.innerHeight - this.host.getBoundingClientRect().bottom;\r\n const listboxMaxBlockSize =\r\n this.listItemBlockSize * maxSuggestionsViewable + 2 * listboxPaddingBlock + 2 * listboxBorderWidth;\r\n\r\n if (availableBlockSize > this.listItemBlockSize) {\r\n if (availableBlockSize < listboxMaxBlockSize) {\r\n this.listboxContainerMaxBlockSize = availableBlockSize - 2 * listboxPaddingBlock;\r\n } else {\r\n this.listboxContainerMaxBlockSize = listboxMaxBlockSize;\r\n }\r\n }\r\n }\r\n\r\n private showInputValueNotFound(text: string) {\r\n return this.processAutosuggestMarkItems(this.markTerms(text, this.input?.value.split(\" \").filter((t) => t) ?? []));\r\n }\r\n\r\n private handleMark(\r\n suggestion: Suggestion,\r\n text: string,\r\n type?: \"value\" | \"type\" | \"extra\",\r\n extraIndex?: number,\r\n ): (VNode | string)[] {\r\n if (this.mark && type) {\r\n return this.processAutosuggestMarkItems(this.mark(suggestion, text, type, extraIndex));\r\n }\r\n return this.processAutosuggestMarkItems(this.markTerms(text, this.input?.value.split(\" \").filter((t) => t) ?? []));\r\n }\r\n\r\n private markTerms(suggestionValue: string, terms: string[]): AutosuggestMarkItem[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).reduce((total: AutosuggestMarkItem[], valuePart: string) => {\r\n if (!valuePart) {\r\n total.push(valuePart);\r\n } else if (termRegex.test(valuePart)) {\r\n total.push({ mark: valuePart });\r\n } else if (terms.length === 1) {\r\n total.push(valuePart);\r\n } else {\r\n total.push(...this.markTerms(valuePart, terms.slice(1)));\r\n }\r\n\r\n return total;\r\n }, []);\r\n }\r\n\r\n private processAutosuggestMarkItems(items: AutosuggestMarkItem[]): (VNode | string)[] {\r\n if (items.length === 0) {\r\n return [\"\"];\r\n }\r\n\r\n return items.map((item) => {\r\n if (typeof item === \"object\") {\r\n return <mark>{item.mark}</mark>;\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion) {\r\n this.selectedSuggestion = suggestion;\r\n\r\n this.setAriaActiveDescendant();\r\n }\r\n\r\n private selectFirstSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[0];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectLastSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectNextSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;\r\n\r\n this.selectedSuggestion = this.suggestions[index + 1] ?? this.suggestions[0];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectPreviousSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;\r\n\r\n this.selectedSuggestion = this.suggestions[index - 1] ?? this.suggestions[this.suggestions.length - 1];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private setAriaActiveDescendant(scroll = false): void {\r\n if (this.selectedSuggestion) {\r\n const id = this.listboxItemId(this.selectedSuggestion);\r\n this.input?.setAttribute(\"aria-activedescendant\", id);\r\n if (scroll) {\r\n document.getElementById(id)?.scrollIntoView({ block: \"nearest\" });\r\n }\r\n }\r\n }\r\n\r\n private resetSelectedSuggestion() {\r\n this.showLoading = !this.loadingDelayed;\r\n this.notFound = false;\r\n this.selectedSuggestion = undefined;\r\n this.input?.setAttribute(\"aria-activedescendant\", \"\");\r\n }\r\n\r\n private openSuggestions(selectSuggestion?: \"first\" | \"last\") {\r\n this.showSuggestions = (this.suggestions && this.suggestions.length > 0) ?? false;\r\n this.notFound = this.suggestions?.length === 0 ?? false;\r\n this.input?.setAttribute(\"aria-expanded\", (this.showSuggestions || this.notFound).toString());\r\n\r\n if (this.showSuggestions && selectSuggestion === \"first\") {\r\n this.selectFirstSuggestion();\r\n } else if (this.showSuggestions && selectSuggestion === \"last\") {\r\n this.selectLastSuggestion();\r\n }\r\n }\r\n\r\n private closeSuggestions() {\r\n this.showSuggestions = false;\r\n this.notFound = false;\r\n this.input?.setAttribute(\"aria-expanded\", \"false\");\r\n this.selectFirstSuggestion();\r\n }\r\n\r\n private pickSelectedValue() {\r\n if (this.selectedSuggestion && this.showSuggestions) {\r\n this.dsoSelect.emit(this.selectedSuggestion);\r\n } else {\r\n this.dsoSearch.emit(this.input?.value);\r\n }\r\n\r\n this.closeSuggestions();\r\n }\r\n\r\n private onKeyDown = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented || this.loading) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"first\");\r\n } else {\r\n this.selectNextSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"ArrowUp\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"last\");\r\n } else {\r\n this.selectPreviousSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.closeSuggestions();\r\n return;\r\n\r\n case \"Escape\":\r\n this.closeSuggestions();\r\n break;\r\n\r\n case \"Enter\":\r\n this.pickSelectedValue();\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n private listboxItemId(suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n return `${this.inputId}-${this.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private getChunkedExtras(extras: string[]): string[][] {\r\n return extras.reduce((resultArray: string[][], extra, index) => {\r\n const chunkIndex = Math.floor(index / 2);\r\n\r\n if (!resultArray[chunkIndex]) {\r\n resultArray[chunkIndex] = [];\r\n }\r\n resultArray[chunkIndex]?.push(extra);\r\n return resultArray;\r\n }, []);\r\n }\r\n\r\n render() {\r\n this.listboxItems = [];\r\n\r\n return (\r\n <>\r\n <slot />\r\n {this.loading && this.showLoading ? (\r\n <div class=\"autosuggest-progress-box\">\r\n <dso-progress-indicator label={this.loadingLabel}></dso-progress-indicator>\r\n </div>\r\n ) : (\r\n <dso-scrollable\r\n class=\"listbox-container\"\r\n ref={(element) => (this.listboxContainer = element)}\r\n style={{ \"--max-block-size\": `${this.listboxContainerMaxBlockSize}px` }}\r\n >\r\n <ul\r\n role=\"listbox\"\r\n aria-live=\"polite\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n hidden={!this.showSuggestions && !this.notFound}\r\n >\r\n {(this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestion) => (\r\n <li\r\n role=\"option\"\r\n id={this.listboxItemId(suggestion)}\r\n key={suggestion.value}\r\n onMouseEnter={() => this.selectSuggestion(suggestion)}\r\n onMouseLeave={() => this.resetSelectedSuggestion()}\r\n onClick={() => this.pickSelectedValue()}\r\n aria-selected={(suggestion === this.selectedSuggestion).toString()}\r\n aria-label={suggestion.value}\r\n ref={(li) => li && this.listboxItems.push(li)}\r\n >\r\n <div class=\"suggestion-row\">\r\n <span class=\"value\">{this.handleMark(suggestion, suggestion.value, \"value\")}</span>\r\n {suggestion.type ? (\r\n <span class=\"type\">{this.handleMark(suggestion, suggestion.type, \"type\")}</span>\r\n ) : undefined}\r\n </div>\r\n {suggestion.extras &&\r\n this.getChunkedExtras(suggestion.extras).map((chunk, index) => (\r\n <div class=\"suggestion-row\">\r\n {chunk.map((c, i) => (\r\n <span class=\"extra\">{this.handleMark(suggestion, c, \"extra\", index * 2 + i)}</span>\r\n ))}\r\n </div>\r\n ))}\r\n </li>\r\n ))) ||\r\n (this.notFound && (\r\n <li>\r\n <span class=\"value\">\r\n {!this.notFoundLabel ? (\r\n this.showInputValueNotFound(`${this.inputValue} is niet gevonden.`)\r\n ) : (\r\n <span>{this.notFoundLabel}</span>\r\n )}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </dso-scrollable>\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -5,7 +5,7 @@ export class Badge {
|
|
|
5
5
|
this.status = undefined;
|
|
6
6
|
}
|
|
7
7
|
render() {
|
|
8
|
-
return (h("span", { key: '
|
|
8
|
+
return (h("span", { key: '86bf6774feeac5d0bb55a6bbf9657e573c71e448', class: clsx("dso-badge", { [`badge-${this.status}`]: this.status }) }, h("slot", { key: 'fd3ee9530520cd05144a6039c25567ecf890d270' })));
|
|
9
9
|
}
|
|
10
10
|
static get is() { return "dso-badge"; }
|
|
11
11
|
static get encapsulation() { return "shadow"; }
|
|
@@ -7,9 +7,9 @@ export class Banner {
|
|
|
7
7
|
this.noIcon = true;
|
|
8
8
|
}
|
|
9
9
|
render() {
|
|
10
|
-
return (h("section", { key: '
|
|
10
|
+
return (h("section", { key: '544f7c34467bed92b057c17e7349a7571f3bf207', class: clsx("dso-banner", `alert-${this.status}`, {
|
|
11
11
|
"dso-compact": this.compact,
|
|
12
|
-
}), role: "alert" }, h("slot", { key: '
|
|
12
|
+
}), role: "alert" }, h("slot", { key: '8ffba655bc2391bea07fec89d70ddfb2666e843e' })));
|
|
13
13
|
}
|
|
14
14
|
static get is() { return "dso-banner"; }
|
|
15
15
|
static get encapsulation() { return "shadow"; }
|
|
@@ -50,9 +50,9 @@ export class Card {
|
|
|
50
50
|
render() {
|
|
51
51
|
const isSelectable = this.selectableSlottedElement !== null;
|
|
52
52
|
const hasImage = this.imageSlottedElement !== null;
|
|
53
|
-
return (h(Host, { key: '
|
|
53
|
+
return (h(Host, { key: 'aa243fc06e00c3f93ec6f75e516a4f3c16dd6681', onClick: (e) => this.clickEventHandler(e), "is-selectable": isSelectable, "has-image": hasImage }, h("div", { key: 'b9e52fb2a05cf2af58507b9d9ece0865788bb404', class: "dso-card-selectable", hidden: !isSelectable }, h("slot", { key: 'ce472bb5847d4ef27ec223f4906575b928676908', name: "selectable" })), h("div", { key: '7c07d63522fe54adba3f1c1d03db4c6fd59a6535', class: "dso-card-image", hidden: !hasImage }, h("slot", { key: '717f5ea5872fb1c31330e97b66860d35e8e30e11', name: "image" })), h("div", { key: 'c714b7696b615fa3f1ca6993abc9fcc1ce9a133f', class: "dso-card-heading" }, this.headingSlottedElement instanceof HTMLAnchorElement || !this.href ? (h("slot", { name: "heading" })) : (((!this.mode || !["download", "extern"].includes(this.mode)) && (h("a", { href: this.href, class: "heading-anchor" }, h("slot", { name: "heading" }), h("dso-icon", { icon: "chevron-right" })))) ||
|
|
54
54
|
(this.mode === "extern" && (h("a", { href: this.href, class: "heading-anchor", target: "_blank", rel: "noopener noreferrer" }, h("slot", { name: "heading" }), h("dso-icon", { icon: "external-link" }), h("span", { class: "sr-only" }, "(Opent andere website in nieuw tabblad)")))) ||
|
|
55
|
-
(this.mode === "download" && (h("a", { href: this.href, class: "heading-anchor" }, h("slot", { name: "heading" }), h("dso-icon", { icon: "download" }))))), this.interactionsSlottedElement !== null && h("slot", { key: '
|
|
55
|
+
(this.mode === "download" && (h("a", { href: this.href, class: "heading-anchor" }, h("slot", { name: "heading" }), h("dso-icon", { icon: "download" }))))), this.interactionsSlottedElement !== null && h("slot", { key: '5bbd2a3dcb14103ee26ddd3a701c75194e46cb34', name: "interactions" })), h("div", { key: '29cd3bb581a11a53f1790a92d5cff9a39b933873', class: "dso-card-content" }, h("slot", { key: '925b422a88d02f47e3f568ae28c7dd5ec10d63e6', name: "content" }))));
|
|
56
56
|
}
|
|
57
57
|
static get is() { return "dso-card"; }
|
|
58
58
|
static get encapsulation() { return "shadow"; }
|
|
@@ -4,7 +4,7 @@ export class CardContainer {
|
|
|
4
4
|
this.mode = "list";
|
|
5
5
|
}
|
|
6
6
|
render() {
|
|
7
|
-
return (h(Fragment, null, this.mode === "list" && (h("ul", { key: '
|
|
7
|
+
return (h(Fragment, null, this.mode === "list" && (h("ul", { key: '274f28d7b6fb8b9c0d35d48fbb3badcce3db6a77', class: "dso-card-list" }, h("slot", { key: '8cc91f5bafb570671f0f305804d71bf386420e5d' }))), this.mode === "grid" && (h("div", { key: '7fb30a76aba0d22cf2c474ba0a54d5985efd4519', class: "dso-card-grid" }, h("slot", { key: '3f208ae84706f29c469f31effd0d7649be5aa543' })))));
|
|
8
8
|
}
|
|
9
9
|
static get is() { return "dso-card-container"; }
|
|
10
10
|
static get encapsulation() { return "shadow"; }
|