@dso-toolkit/core 54.2.1 → 55.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{annotation.service-e980f478.js → annotation.service-60e6b0f1.js} +3 -1
- package/dist/cjs/annotation.service-60e6b0f1.js.map +1 -0
- package/dist/cjs/clsx.m-b81c6b86.js +2 -0
- package/dist/cjs/clsx.m-b81c6b86.js.map +1 -0
- package/dist/cjs/create-identifier-6ee2a08b.js +2 -0
- package/dist/cjs/create-identifier-6ee2a08b.js.map +1 -0
- package/dist/cjs/dso-accordion-section.cjs.entry.js +20 -12
- package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-accordion.cjs.entry.js +33 -21
- package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-action-list-item.cjs.entry.js +3 -1
- package/dist/cjs/dso-action-list-item.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-action-list.cjs.entry.js +3 -1
- package/dist/cjs/dso-action-list.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-alert.cjs.entry.js +3 -1
- package/dist/cjs/dso-alert.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-annotation-button.cjs.entry.js +6 -4
- package/dist/cjs/dso-annotation-button.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-annotation-output.cjs.entry.js +10 -5
- package/dist/cjs/dso-annotation-output.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-attachments-counter.cjs.entry.js +3 -1
- package/dist/cjs/dso-attachments-counter.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-autosuggest.cjs.entry.js +7 -2
- package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-badge.cjs.entry.js +3 -1
- package/dist/cjs/dso-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-banner.cjs.entry.js +3 -1
- package/dist/cjs/dso-banner.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-card-container.cjs.entry.js +3 -1
- package/dist/cjs/dso-card-container.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-card.cjs.entry.js +3 -1
- package/dist/cjs/dso-card.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-date-picker.cjs.entry.js +5 -2
- package/dist/cjs/dso-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-dropdown-menu.cjs.entry.js +7 -5
- package/dist/cjs/dso-dropdown-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-expandable-heading.cjs.entry.js +5 -2
- package/dist/cjs/dso-expandable-heading.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-expandable.cjs.entry.js +13 -6
- package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-header.cjs.entry.js +12 -3
- package/dist/cjs/dso-header.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +3 -1
- package/dist/cjs/dso-helpcenter-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-highlight-box.cjs.entry.js +3 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-icon.cjs.entry.js +3 -1
- package/dist/cjs/dso-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-image-overlay.cjs.entry.js +3 -1
- package/dist/cjs/dso-image-overlay.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-info-button.cjs.entry.js +6 -1
- package/dist/cjs/dso-info-button.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-info_2.cjs.entry.js +12 -3
- package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-label.cjs.entry.js +11 -7
- package/dist/cjs/dso-label.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-list-button.cjs.entry.js +4 -2
- package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-map-base-layers.cjs.entry.js +3 -1
- package/dist/cjs/dso-map-base-layers.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-map-controls.cjs.entry.js +14 -5
- package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-map-overlays.cjs.entry.js +3 -1
- package/dist/cjs/dso-map-overlays.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-modal.cjs.entry.js +5 -3
- package/dist/cjs/dso-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-ozon-content.cjs.entry.js +9 -7
- package/dist/cjs/dso-ozon-content.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-pagination.cjs.entry.js +3 -1
- package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-progress-bar.cjs.entry.js +3 -1
- package/dist/cjs/dso-progress-bar.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-progress-indicator.cjs.entry.js +5 -5
- package/dist/cjs/dso-progress-indicator.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-responsive-element.cjs.entry.js +6 -1
- package/dist/cjs/dso-responsive-element.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-scrollable.cjs.entry.js +11 -9
- package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-slide-toggle.cjs.entry.js +3 -1
- package/dist/cjs/dso-slide-toggle.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-table.cjs.entry.js +4 -2
- package/dist/cjs/dso-table.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-toggletip.cjs.entry.js +3 -1
- package/dist/cjs/dso-toggletip.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-toolkit.cjs.js +12 -3
- package/dist/cjs/dso-toolkit.cjs.js.map +1 -0
- package/dist/cjs/dso-tooltip.cjs.entry.js +5 -3
- package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-tree-view.cjs.entry.js +6 -3
- package/dist/cjs/dso-tree-view.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +3 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/focus-trap.esm-a5b7273f.js +2 -0
- package/dist/cjs/focus-trap.esm-a5b7273f.js.map +1 -0
- package/dist/cjs/{has-overflow-dd552ec8.js → has-overflow-d7baff1e.js} +8 -12
- package/dist/cjs/has-overflow-d7baff1e.js.map +1 -0
- package/dist/cjs/index-794ad37a.js +2 -0
- package/dist/cjs/index-794ad37a.js.map +1 -0
- package/dist/cjs/{index-71b733b1.js → index-a189d603.js} +3 -1
- package/dist/cjs/index-a189d603.js.map +1 -0
- package/dist/cjs/{index-ecec64a0.js → index-efc2222e.js} +217 -35
- package/dist/cjs/index-efc2222e.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -5
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/index.esm-0e935715.js +2 -0
- package/dist/cjs/index.esm-0e935715.js.map +1 -0
- package/dist/cjs/is-modified-event-dcab03a0.js +2 -0
- package/dist/cjs/is-modified-event-dcab03a0.js.map +1 -0
- package/dist/cjs/loader.cjs.js +6 -3
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/v4-abb5dc0c.js +2 -0
- package/dist/cjs/v4-abb5dc0c.js.map +1 -0
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/accordion/accordion.interfaces.js +1 -0
- package/dist/collection/components/accordion/accordion.interfaces.js.map +1 -0
- package/dist/collection/components/accordion/accordion.js +55 -26
- package/dist/collection/components/accordion/accordion.js.map +1 -0
- package/dist/collection/components/accordion/components/accordion-section.interfaces.js +1 -0
- package/dist/collection/components/accordion/components/accordion-section.interfaces.js.map +1 -0
- package/dist/collection/components/accordion/components/accordion-section.js +20 -17
- package/dist/collection/components/accordion/components/accordion-section.js.map +1 -0
- package/dist/collection/components/accordion/components/handles/element.handle.js +1 -0
- package/dist/collection/components/accordion/components/handles/element.handle.js.map +1 -0
- package/dist/collection/components/accordion/components/handles/heading.handle.js +1 -0
- package/dist/collection/components/accordion/components/handles/heading.handle.js.map +1 -0
- package/dist/collection/components/accordion/components/handles/icon.handle.js +1 -0
- package/dist/collection/components/accordion/components/handles/icon.handle.js.map +1 -0
- package/dist/collection/components/accordion/components/handles/index.js +1 -0
- package/dist/collection/components/accordion/components/handles/index.js.map +1 -0
- package/dist/collection/components/accordion/components/handles/state-icon.handle.js +1 -0
- package/dist/collection/components/accordion/components/handles/state-icon.handle.js.map +1 -0
- package/dist/collection/components/action-list/action-list.js +2 -1
- package/dist/collection/components/action-list/action-list.js.map +1 -0
- package/dist/collection/components/action-list/components/action-list-item.js +4 -3
- package/dist/collection/components/action-list/components/action-list-item.js.map +1 -0
- package/dist/collection/components/alert/alert.js +4 -1
- package/dist/collection/components/alert/alert.js.map +1 -0
- package/dist/collection/components/annotation-button/annotation-button.js +3 -2
- package/dist/collection/components/annotation-button/annotation-button.js.map +1 -0
- package/dist/collection/components/annotation-output/annotation-output.interfaces.js +1 -0
- package/dist/collection/components/annotation-output/annotation-output.interfaces.js.map +1 -0
- package/dist/collection/components/annotation-output/annotation-output.js +12 -5
- package/dist/collection/components/annotation-output/annotation-output.js.map +1 -0
- package/dist/collection/components/attachments-counter/attachments-counter.js +2 -1
- package/dist/collection/components/attachments-counter/attachments-counter.js.map +1 -0
- package/dist/collection/components/autosuggest/autosuggest.interfaces.js +1 -0
- package/dist/collection/components/autosuggest/autosuggest.interfaces.js.map +1 -0
- package/dist/collection/components/autosuggest/autosuggest.js +5 -1
- package/dist/collection/components/autosuggest/autosuggest.js.map +1 -0
- package/dist/collection/components/badge/badge.js +2 -1
- package/dist/collection/components/badge/badge.js.map +1 -0
- package/dist/collection/components/banner/banner.js +2 -1
- package/dist/collection/components/banner/banner.js.map +1 -0
- package/dist/collection/components/card/card.interfaces.js +1 -0
- package/dist/collection/components/card/card.interfaces.js.map +1 -0
- package/dist/collection/components/card/card.js +5 -4
- package/dist/collection/components/card/card.js.map +1 -0
- package/dist/collection/components/card-container/card-container.interfaces.js +1 -0
- package/dist/collection/components/card-container/card-container.interfaces.js.map +1 -0
- package/dist/collection/components/card-container/card-container.js +2 -1
- package/dist/collection/components/card-container/card-container.js.map +1 -0
- package/dist/collection/components/date-picker/date-localization.js +1 -0
- package/dist/collection/components/date-picker/date-localization.js.map +1 -0
- package/dist/collection/components/date-picker/date-picker-day.js +1 -0
- package/dist/collection/components/date-picker/date-picker-day.js.map +1 -0
- package/dist/collection/components/date-picker/date-picker-month.js +1 -0
- package/dist/collection/components/date-picker/date-picker-month.js.map +1 -0
- package/dist/collection/components/date-picker/date-picker.css +1 -1
- package/dist/collection/components/date-picker/date-picker.interfaces.js +1 -0
- package/dist/collection/components/date-picker/date-picker.interfaces.js.map +1 -0
- package/dist/collection/components/date-picker/date-picker.js +20 -1
- package/dist/collection/components/date-picker/date-picker.js.map +1 -0
- package/dist/collection/components/date-picker/date-utils.js +1 -0
- package/dist/collection/components/date-picker/date-utils.js.map +1 -0
- package/dist/collection/components/date-picker/utils/month-range.js +1 -0
- package/dist/collection/components/date-picker/utils/month-range.js.map +1 -0
- package/dist/collection/components/date-picker/utils/range.js +1 -0
- package/dist/collection/components/date-picker/utils/range.js.map +1 -0
- package/dist/collection/components/dropdown-menu/dropdown-menu.js +4 -3
- package/dist/collection/components/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/collection/components/expandable/expandable.functions.js +4 -0
- package/dist/collection/components/expandable/expandable.functions.js.map +1 -0
- package/dist/collection/components/expandable/expandable.js +28 -32
- package/dist/collection/components/expandable/expandable.js.map +1 -0
- package/dist/collection/components/expandable-heading/expandable-heading.css +7 -0
- package/dist/collection/components/expandable-heading/expandable-heading.interfaces.js +1 -0
- package/dist/collection/components/expandable-heading/expandable-heading.interfaces.js.map +1 -0
- package/dist/collection/components/expandable-heading/expandable-heading.js +25 -5
- package/dist/collection/components/expandable-heading/expandable-heading.js.map +1 -0
- package/dist/collection/components/expandable-heading/heading.js +1 -0
- package/dist/collection/components/expandable-heading/heading.js.map +1 -0
- package/dist/collection/components/header/header.css +11 -3
- package/dist/collection/components/header/header.interfaces.js +1 -0
- package/dist/collection/components/header/header.interfaces.js.map +1 -0
- package/dist/collection/components/header/header.js +32 -7
- package/dist/collection/components/header/header.js.map +1 -0
- package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +5 -4
- package/dist/collection/components/helpcenter-panel/helpcenter-panel.js.map +1 -0
- package/dist/collection/components/highlight-box/highlight-box.js +6 -5
- package/dist/collection/components/highlight-box/highlight-box.js.map +1 -0
- package/dist/collection/components/icon/icon.js +2 -1
- package/dist/collection/components/icon/icon.js.map +1 -0
- package/dist/collection/components/image-overlay/image-overlay.js +1 -0
- package/dist/collection/components/image-overlay/image-overlay.js.map +1 -0
- package/dist/collection/components/info/info.js +4 -3
- package/dist/collection/components/info/info.js.map +1 -0
- package/dist/collection/components/info-button/info-button.interfaces.js +1 -0
- package/dist/collection/components/info-button/info-button.interfaces.js.map +1 -0
- package/dist/collection/components/info-button/info-button.js +9 -5
- package/dist/collection/components/info-button/info-button.js.map +1 -0
- package/dist/collection/components/label/label.js +19 -29
- package/dist/collection/components/label/label.js.map +1 -0
- package/dist/collection/components/list-button/list-button.css +11 -32
- package/dist/collection/components/list-button/list-button.interfaces.js +1 -0
- package/dist/collection/components/list-button/list-button.interfaces.js.map +1 -0
- package/dist/collection/components/list-button/list-button.js +10 -9
- package/dist/collection/components/list-button/list-button.js.map +1 -0
- package/dist/collection/components/map-base-layers/map-base-layers.interfaces.js +1 -0
- package/dist/collection/components/map-base-layers/map-base-layers.interfaces.js.map +1 -0
- package/dist/collection/components/map-base-layers/map-base-layers.js +4 -3
- package/dist/collection/components/map-base-layers/map-base-layers.js.map +1 -0
- package/dist/collection/components/map-controls/map-controls.css +22 -0
- package/dist/collection/components/map-controls/map-controls.interfaces.js +2 -1
- package/dist/collection/components/map-controls/map-controls.interfaces.js.map +1 -0
- package/dist/collection/components/map-controls/map-controls.js +22 -8
- package/dist/collection/components/map-controls/map-controls.js.map +1 -0
- package/dist/collection/components/map-overlays/map-overlays.interfaces.js +1 -0
- package/dist/collection/components/map-overlays/map-overlays.interfaces.js.map +1 -0
- package/dist/collection/components/map-overlays/map-overlays.js +4 -3
- package/dist/collection/components/map-overlays/map-overlays.js.map +1 -0
- package/dist/collection/components/modal/modal-ref.js +1 -0
- package/dist/collection/components/modal/modal-ref.js.map +1 -0
- package/dist/collection/components/modal/modal.controller.js +1 -0
- package/dist/collection/components/modal/modal.controller.js.map +1 -0
- package/dist/collection/components/modal/modal.css +73 -19
- package/dist/collection/components/modal/modal.interfaces.js +1 -0
- package/dist/collection/components/modal/modal.interfaces.js.map +1 -0
- package/dist/collection/components/modal/modal.js +6 -5
- package/dist/collection/components/modal/modal.js.map +1 -0
- package/dist/collection/components/ozon-content/get-node-name.function.js +1 -0
- package/dist/collection/components/ozon-content/get-node-name.function.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/al.node.js +3 -2
- package/dist/collection/components/ozon-content/nodes/al.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/bron.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/bron.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/document.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/document.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/ext-ref.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/fallback.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/fallback.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/figuur.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/figuur.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/inhoud.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/inhoud.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/inline-tekst-afbeelding.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/inline.nodes.js +1 -0
- package/dist/collection/components/ozon-content/nodes/inline.nodes.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/int-ref.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/int-ref.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/lijst.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/lijst.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/nieuwe-tekst.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/noot.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/noot.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/opschrift.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/opschrift.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/index.js +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/index.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table-colgroup.js +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table-colgroup.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/table.node/table.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/text.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/text.node.js.map +1 -0
- package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js +1 -0
- package/dist/collection/components/ozon-content/nodes/verwijderde-tekst.node.js.map +1 -0
- package/dist/collection/components/ozon-content/ozon-content-context.interface.js +1 -0
- package/dist/collection/components/ozon-content/ozon-content-context.interface.js.map +1 -0
- package/dist/collection/components/ozon-content/ozon-content-mapper.js +2 -3
- package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -0
- package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js +1 -0
- package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js.map +1 -0
- package/dist/collection/components/ozon-content/ozon-content-node-state.interface.js +1 -0
- package/dist/collection/components/ozon-content/ozon-content-node-state.interface.js.map +1 -0
- package/dist/collection/components/ozon-content/ozon-content-node.interface.js +1 -0
- package/dist/collection/components/ozon-content/ozon-content-node.interface.js.map +1 -0
- package/dist/collection/components/ozon-content/ozon-content.interfaces.js +1 -0
- package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -0
- package/dist/collection/components/ozon-content/ozon-content.js +5 -2
- package/dist/collection/components/ozon-content/ozon-content.js.map +1 -0
- package/dist/collection/components/pagination/pagination.interfaces.js +1 -0
- package/dist/collection/components/pagination/pagination.interfaces.js.map +1 -0
- package/dist/collection/components/pagination/pagination.js +1 -0
- package/dist/collection/components/pagination/pagination.js.map +1 -0
- package/dist/collection/components/progress-bar/progress-bar.js +4 -3
- package/dist/collection/components/progress-bar/progress-bar.js.map +1 -0
- package/dist/collection/components/progress-indicator/progress-indicator.js +10 -10
- package/dist/collection/components/progress-indicator/progress-indicator.js.map +1 -0
- package/dist/collection/components/responsive-element/responsive-element.interfaces.js +1 -0
- package/dist/collection/components/responsive-element/responsive-element.interfaces.js.map +1 -0
- package/dist/collection/components/responsive-element/responsive-element.js +6 -2
- package/dist/collection/components/responsive-element/responsive-element.js.map +1 -0
- package/dist/collection/components/scrollable/scrollable.css +5 -0
- package/dist/collection/components/scrollable/scrollable.interfaces.js +1 -0
- package/dist/collection/components/scrollable/scrollable.interfaces.js.map +1 -0
- package/dist/collection/components/scrollable/scrollable.js +13 -9
- package/dist/collection/components/scrollable/scrollable.js.map +1 -0
- package/dist/collection/components/selectable/selectable.css +2 -2
- package/dist/collection/components/selectable/selectable.interfaces.js +1 -0
- package/dist/collection/components/selectable/selectable.interfaces.js.map +1 -0
- package/dist/collection/components/selectable/selectable.js +33 -18
- package/dist/collection/components/selectable/selectable.js.map +1 -0
- package/dist/collection/components/slide-toggle/slide-toggle.interfaces.js +1 -0
- package/dist/collection/components/slide-toggle/slide-toggle.interfaces.js.map +1 -0
- package/dist/collection/components/slide-toggle/slide-toggle.js +7 -6
- package/dist/collection/components/slide-toggle/slide-toggle.js.map +1 -0
- package/dist/collection/components/table/table.css +73 -19
- package/dist/collection/components/table/table.js +2 -1
- package/dist/collection/components/table/table.js.map +1 -0
- package/dist/collection/components/toggletip/toggletip.js +5 -4
- package/dist/collection/components/toggletip/toggletip.js.map +1 -0
- package/dist/collection/components/tooltip/tooltip.js +2 -10
- package/dist/collection/components/tooltip/tooltip.js.map +1 -0
- package/dist/collection/components/tree-view/tree-item.js +2 -1
- package/dist/collection/components/tree-view/tree-item.js.map +1 -0
- package/dist/collection/components/tree-view/tree-view.interfaces.js +1 -0
- package/dist/collection/components/tree-view/tree-view.interfaces.js.map +1 -0
- package/dist/collection/components/tree-view/tree-view.js +3 -1
- package/dist/collection/components/tree-view/tree-view.js.map +1 -0
- package/dist/collection/components/viewer-grid/viewer-grid-filterpanel-buttons.js +1 -0
- package/dist/collection/components/viewer-grid/viewer-grid-filterpanel-buttons.js.map +1 -0
- package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js +1 -0
- package/dist/collection/components/viewer-grid/viewer-grid.interfaces.js.map +1 -0
- package/dist/collection/components/viewer-grid/viewer-grid.js +7 -6
- package/dist/collection/components/viewer-grid/viewer-grid.js.map +1 -0
- package/dist/collection/index.js +2 -22
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/services/annotation.service.js +1 -0
- package/dist/collection/services/annotation.service.js.map +1 -0
- package/dist/collection/utils/create-identifier.js +1 -0
- package/dist/collection/utils/create-identifier.js.map +1 -0
- package/dist/collection/utils/has-overflow.js +1 -0
- package/dist/collection/utils/has-overflow.js.map +1 -0
- package/dist/collection/utils/is-interactive-element.js +1 -0
- package/dist/collection/utils/is-interactive-element.js.map +1 -0
- package/dist/collection/utils/is-modified-event.js +1 -0
- package/dist/collection/utils/is-modified-event.js.map +1 -0
- package/dist/components/annotation.service.js +2 -0
- package/dist/components/annotation.service.js.map +1 -0
- package/dist/components/clsx.m.js +2 -0
- package/dist/components/clsx.m.js.map +1 -0
- package/dist/components/create-identifier.js +2 -0
- package/dist/components/create-identifier.js.map +1 -0
- package/dist/components/custom-elements.d.ts +2 -0
- package/dist/components/dropdown-menu.js +6 -4
- package/dist/components/dropdown-menu.js.map +1 -0
- package/dist/components/dso-accordion-section.js +20 -15
- package/dist/components/dso-accordion-section.js.map +1 -0
- package/dist/components/dso-accordion.js +35 -23
- package/dist/components/dso-accordion.js.map +1 -0
- package/dist/components/dso-action-list-item.js +3 -1
- package/dist/components/dso-action-list-item.js.map +1 -0
- package/dist/components/dso-action-list.js +3 -1
- package/dist/components/dso-action-list.js.map +1 -0
- package/dist/components/dso-alert.js +3 -1
- package/dist/components/dso-alert.js.map +1 -0
- package/dist/components/dso-annotation-button.js +4 -2
- package/dist/components/dso-annotation-button.js.map +1 -0
- package/dist/components/dso-annotation-output.js +9 -4
- package/dist/components/dso-annotation-output.js.map +1 -0
- package/dist/components/dso-attachments-counter.js +3 -1
- package/dist/components/dso-attachments-counter.js.map +1 -0
- package/dist/components/dso-autosuggest.js +7 -2
- package/dist/components/dso-autosuggest.js.map +1 -0
- package/dist/components/dso-badge.js +3 -1
- package/dist/components/dso-badge.js.map +1 -0
- package/dist/components/dso-banner.js +3 -1
- package/dist/components/dso-banner.js.map +1 -0
- package/dist/components/dso-card-container.js +3 -1
- package/dist/components/dso-card-container.js.map +1 -0
- package/dist/components/dso-card.js +3 -1
- package/dist/components/dso-card.js.map +1 -0
- package/dist/components/dso-date-picker.js +6 -2
- package/dist/components/dso-date-picker.js.map +1 -0
- package/dist/components/dso-dropdown-menu.js +2 -0
- package/dist/components/dso-dropdown-menu.js.map +1 -0
- package/dist/components/dso-expandable-heading.js +6 -2
- package/dist/components/dso-expandable-heading.js.map +1 -0
- package/dist/components/dso-expandable.js +2 -0
- package/dist/components/dso-expandable.js.map +1 -0
- package/dist/components/dso-header.js +13 -3
- package/dist/components/dso-header.js.map +1 -0
- package/dist/components/dso-helpcenter-panel.js +3 -1
- package/dist/components/dso-helpcenter-panel.js.map +1 -0
- package/dist/components/dso-highlight-box.js +3 -1
- package/dist/components/dso-highlight-box.js.map +1 -0
- package/dist/components/dso-icon.js +2 -0
- package/dist/components/dso-icon.js.map +1 -0
- package/dist/components/dso-image-overlay.js +3 -1
- package/dist/components/dso-image-overlay.js.map +1 -0
- package/dist/components/dso-info-button.js +2 -0
- package/dist/components/dso-info-button.js.map +1 -0
- package/dist/components/dso-info.js +2 -0
- package/dist/components/dso-info.js.map +1 -0
- package/dist/components/dso-label.js +12 -9
- package/dist/components/dso-label.js.map +1 -0
- package/dist/components/dso-list-button.js +4 -2
- package/dist/components/dso-list-button.js.map +1 -0
- package/dist/components/dso-map-base-layers.js +3 -1
- package/dist/components/dso-map-base-layers.js.map +1 -0
- package/dist/components/dso-map-controls.js +13 -5
- package/dist/components/dso-map-controls.js.map +1 -0
- package/dist/components/dso-map-overlays.js +3 -1
- package/dist/components/dso-map-overlays.js.map +1 -0
- package/dist/components/dso-modal.js +13 -5
- package/dist/components/dso-modal.js.map +1 -0
- package/dist/components/dso-ozon-content.js +9 -7
- package/dist/components/dso-ozon-content.js.map +1 -0
- package/dist/components/dso-pagination.js +3 -1
- package/dist/components/dso-pagination.js.map +1 -0
- package/dist/components/dso-progress-bar.js +3 -1
- package/dist/components/dso-progress-bar.js.map +1 -0
- package/dist/components/dso-progress-indicator.js +2 -0
- package/dist/components/dso-progress-indicator.js.map +1 -0
- package/dist/components/dso-responsive-element.js +2 -0
- package/dist/components/dso-responsive-element.js.map +1 -0
- package/dist/components/dso-scrollable.js +2 -0
- package/dist/components/dso-scrollable.js.map +1 -0
- package/dist/components/dso-selectable.js +2 -0
- package/dist/components/dso-selectable.js.map +1 -0
- package/dist/components/dso-slide-toggle.js +3 -1
- package/dist/components/dso-slide-toggle.js.map +1 -0
- package/dist/components/dso-table.js +4 -2
- package/dist/components/dso-table.js.map +1 -0
- package/dist/components/dso-toggletip.js +3 -1
- package/dist/components/dso-toggletip.js.map +1 -0
- package/dist/components/dso-tooltip.js +2 -0
- package/dist/components/dso-tooltip.js.map +1 -0
- package/dist/components/dso-tree-view.js +6 -3
- package/dist/components/dso-tree-view.js.map +1 -0
- package/dist/components/dso-viewer-grid.js +3 -1
- package/dist/components/dso-viewer-grid.js.map +1 -0
- package/dist/components/expandable.js +15 -8
- package/dist/components/expandable.js.map +1 -0
- package/dist/components/focus-trap.esm.js +2 -0
- package/dist/components/focus-trap.esm.js.map +1 -0
- package/dist/components/has-overflow.js +8 -12
- package/dist/components/has-overflow.js.map +1 -0
- package/dist/components/icon.js +3 -1
- package/dist/components/icon.js.map +1 -0
- package/dist/components/index.d.ts +52 -0
- package/dist/components/index.esm.js +2 -0
- package/dist/components/index.esm.js.map +1 -0
- package/dist/components/index.js +5 -3
- package/dist/components/index.js.map +1 -0
- package/dist/components/index2.js +2 -0
- package/dist/components/index2.js.map +1 -0
- package/dist/components/index3.js +2 -0
- package/dist/components/index3.js.map +1 -0
- package/dist/components/info-button.js +6 -1
- package/dist/components/info-button.js.map +1 -0
- package/dist/components/info.js +3 -1
- package/dist/components/info.js.map +1 -0
- package/dist/components/is-modified-event.js +2 -0
- package/dist/components/is-modified-event.js.map +1 -0
- package/dist/components/package.json +9 -0
- package/dist/components/progress-indicator.js +5 -5
- package/dist/components/progress-indicator.js.map +1 -0
- package/dist/components/responsive-element.js +6 -1
- package/dist/components/responsive-element.js.map +1 -0
- package/dist/components/scrollable.js +11 -9
- package/dist/components/scrollable.js.map +1 -0
- package/dist/components/selectable.js +13 -3
- package/dist/components/selectable.js.map +1 -0
- package/dist/components/tooltip.js +5 -3
- package/dist/components/tooltip.js.map +1 -0
- package/dist/components/v4.js +2 -0
- package/dist/components/v4.js.map +1 -0
- package/dist/dso-toolkit/dso-toolkit.esm.js +2 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -0
- package/dist/dso-toolkit/index.esm.js +2 -1
- package/dist/dso-toolkit/index.esm.js.map +1 -0
- package/dist/dso-toolkit/p-0653b5d2.entry.js +2 -0
- package/dist/dso-toolkit/p-0653b5d2.entry.js.map +1 -0
- package/dist/dso-toolkit/p-0c762ac9.entry.js +2 -0
- package/dist/dso-toolkit/p-0c762ac9.entry.js.map +1 -0
- package/dist/dso-toolkit/p-0ffae824.entry.js +2 -0
- package/dist/dso-toolkit/p-0ffae824.entry.js.map +1 -0
- package/dist/dso-toolkit/p-12c3fc19.entry.js +2 -0
- package/dist/dso-toolkit/p-12c3fc19.entry.js.map +1 -0
- package/dist/dso-toolkit/p-1805f5b0.js +2 -1
- package/dist/dso-toolkit/p-1805f5b0.js.map +1 -0
- package/dist/dso-toolkit/p-1d3ed808.entry.js +2 -0
- package/dist/dso-toolkit/p-1d3ed808.entry.js.map +1 -0
- package/dist/dso-toolkit/p-26713aef.js +2 -0
- package/dist/dso-toolkit/p-26713aef.js.map +1 -0
- package/dist/dso-toolkit/p-26cdce1c.js +3 -0
- package/dist/dso-toolkit/p-26cdce1c.js.map +1 -0
- package/dist/dso-toolkit/p-2bd5d2a2.entry.js +2 -0
- package/dist/dso-toolkit/p-2bd5d2a2.entry.js.map +1 -0
- package/dist/dso-toolkit/p-33df9903.js +2 -1
- package/dist/dso-toolkit/p-33df9903.js.map +1 -0
- package/dist/dso-toolkit/p-3ab9390b.entry.js +2 -0
- package/dist/dso-toolkit/p-3ab9390b.entry.js.map +1 -0
- package/dist/dso-toolkit/p-5040a304.entry.js +2 -0
- package/dist/dso-toolkit/p-5040a304.entry.js.map +1 -0
- package/dist/dso-toolkit/p-52f2be73.entry.js +2 -0
- package/dist/dso-toolkit/p-52f2be73.entry.js.map +1 -0
- package/dist/dso-toolkit/p-554e7d6a.entry.js +2 -0
- package/dist/dso-toolkit/p-554e7d6a.entry.js.map +1 -0
- package/dist/dso-toolkit/p-56069350.entry.js +2 -0
- package/dist/dso-toolkit/p-56069350.entry.js.map +1 -0
- package/dist/dso-toolkit/p-58bed94b.entry.js +2 -0
- package/dist/dso-toolkit/p-58bed94b.entry.js.map +1 -0
- package/dist/dso-toolkit/p-5950644a.js +2 -1
- package/dist/dso-toolkit/p-5950644a.js.map +1 -0
- package/dist/dso-toolkit/p-59ff4e19.entry.js +2 -0
- package/dist/dso-toolkit/p-59ff4e19.entry.js.map +1 -0
- package/dist/dso-toolkit/p-5d7f4ff2.js +2 -1
- package/dist/dso-toolkit/p-5d7f4ff2.js.map +1 -0
- package/dist/dso-toolkit/p-601b4ce0.entry.js +2 -0
- package/dist/dso-toolkit/p-601b4ce0.entry.js.map +1 -0
- package/dist/dso-toolkit/p-63ce173c.entry.js +2 -0
- package/dist/dso-toolkit/p-63ce173c.entry.js.map +1 -0
- package/dist/dso-toolkit/p-657c43f4.entry.js +2 -0
- package/dist/dso-toolkit/p-657c43f4.entry.js.map +1 -0
- package/dist/dso-toolkit/p-6a1980b4.js +2 -1
- package/dist/dso-toolkit/p-6a1980b4.js.map +1 -0
- package/dist/dso-toolkit/p-6c543986.js +2 -1
- package/dist/dso-toolkit/p-6c543986.js.map +1 -0
- package/dist/dso-toolkit/p-6e0b67c9.entry.js +2 -0
- package/dist/dso-toolkit/p-6e0b67c9.entry.js.map +1 -0
- package/dist/dso-toolkit/p-7098eb9d.entry.js +2 -0
- package/dist/dso-toolkit/p-7098eb9d.entry.js.map +1 -0
- package/dist/dso-toolkit/p-71143eef.entry.js +2 -0
- package/dist/dso-toolkit/p-71143eef.entry.js.map +1 -0
- package/dist/dso-toolkit/p-79767cc1.entry.js +2 -0
- package/dist/dso-toolkit/p-79767cc1.entry.js.map +1 -0
- package/dist/dso-toolkit/p-835a599b.entry.js +2 -0
- package/dist/dso-toolkit/p-835a599b.entry.js.map +1 -0
- package/dist/dso-toolkit/p-871bfdf9.js +2 -0
- package/dist/dso-toolkit/p-871bfdf9.js.map +1 -0
- package/dist/dso-toolkit/p-8f166691.entry.js +2 -0
- package/dist/dso-toolkit/p-8f166691.entry.js.map +1 -0
- package/dist/dso-toolkit/p-904a2caf.entry.js +2 -0
- package/dist/dso-toolkit/p-904a2caf.entry.js.map +1 -0
- package/dist/dso-toolkit/p-91453b47.entry.js +2 -0
- package/dist/dso-toolkit/p-91453b47.entry.js.map +1 -0
- package/dist/dso-toolkit/p-91963e3d.js +3 -2
- package/dist/dso-toolkit/p-91963e3d.js.map +1 -0
- package/dist/dso-toolkit/p-9b14a015.entry.js +2 -0
- package/dist/dso-toolkit/p-9b14a015.entry.js.map +1 -0
- package/dist/dso-toolkit/p-9c2d4a91.entry.js +2 -0
- package/dist/dso-toolkit/p-9c2d4a91.entry.js.map +1 -0
- package/dist/dso-toolkit/p-9d64a2f4.entry.js +2 -0
- package/dist/dso-toolkit/p-9d64a2f4.entry.js.map +1 -0
- package/dist/dso-toolkit/p-9eccd618.js +2 -0
- package/dist/dso-toolkit/p-9eccd618.js.map +1 -0
- package/dist/dso-toolkit/p-a4e3638a.entry.js +2 -0
- package/dist/dso-toolkit/p-a4e3638a.entry.js.map +1 -0
- package/dist/dso-toolkit/p-b1627d68.entry.js +2 -0
- package/dist/dso-toolkit/p-b1627d68.entry.js.map +1 -0
- package/dist/dso-toolkit/p-b1b53cb3.entry.js +2 -0
- package/dist/dso-toolkit/p-b1b53cb3.entry.js.map +1 -0
- package/dist/dso-toolkit/p-b6f1ae13.entry.js +2 -0
- package/dist/dso-toolkit/p-b6f1ae13.entry.js.map +1 -0
- package/dist/dso-toolkit/p-c3178955.entry.js +2 -0
- package/dist/dso-toolkit/p-c3178955.entry.js.map +1 -0
- package/dist/dso-toolkit/p-c464da66.entry.js +2 -0
- package/dist/dso-toolkit/p-c464da66.entry.js.map +1 -0
- package/dist/dso-toolkit/p-c4e1c7cb.entry.js +2 -0
- package/dist/dso-toolkit/p-c4e1c7cb.entry.js.map +1 -0
- package/dist/dso-toolkit/p-d4f8e1e0.entry.js +2 -0
- package/dist/dso-toolkit/p-d4f8e1e0.entry.js.map +1 -0
- package/dist/dso-toolkit/p-dd9e9c47.entry.js +2 -0
- package/dist/dso-toolkit/p-dd9e9c47.entry.js.map +1 -0
- package/dist/dso-toolkit/p-de310a49.entry.js +2 -0
- package/dist/dso-toolkit/p-de310a49.entry.js.map +1 -0
- package/dist/dso-toolkit/p-ee2771d4.entry.js +2 -0
- package/dist/dso-toolkit/p-ee2771d4.entry.js.map +1 -0
- package/dist/dso-toolkit/p-ef23bffb.entry.js +2 -0
- package/dist/dso-toolkit/p-ef23bffb.entry.js.map +1 -0
- package/dist/dso-toolkit/p-f70d6a66.entry.js +2 -0
- package/dist/dso-toolkit/p-f70d6a66.entry.js.map +1 -0
- package/dist/dso-toolkit/p-fa6d8d5a.entry.js +2 -0
- package/dist/dso-toolkit/p-fa6d8d5a.entry.js.map +1 -0
- package/dist/dso-toolkit/p-fdf8bd94.entry.js +2 -0
- package/dist/dso-toolkit/p-fdf8bd94.entry.js.map +1 -0
- package/dist/esm/{annotation.service-d0add3fc.js → annotation.service-cd25eba0.js} +3 -1
- package/dist/esm/annotation.service-cd25eba0.js.map +1 -0
- package/dist/esm/clsx.m-25174a58.js +2 -0
- package/dist/esm/clsx.m-25174a58.js.map +1 -0
- package/dist/esm/create-identifier-51ee50c4.js +2 -0
- package/dist/esm/create-identifier-51ee50c4.js.map +1 -0
- package/dist/esm/dso-accordion-section.entry.js +19 -11
- package/dist/esm/dso-accordion-section.entry.js.map +1 -0
- package/dist/esm/dso-accordion.entry.js +33 -21
- package/dist/esm/dso-accordion.entry.js.map +1 -0
- package/dist/esm/dso-action-list-item.entry.js +3 -1
- package/dist/esm/dso-action-list-item.entry.js.map +1 -0
- package/dist/esm/dso-action-list.entry.js +3 -1
- package/dist/esm/dso-action-list.entry.js.map +1 -0
- package/dist/esm/dso-alert.entry.js +3 -1
- package/dist/esm/dso-alert.entry.js.map +1 -0
- package/dist/esm/dso-annotation-button.entry.js +6 -4
- package/dist/esm/dso-annotation-button.entry.js.map +1 -0
- package/dist/esm/dso-annotation-output.entry.js +10 -5
- package/dist/esm/dso-annotation-output.entry.js.map +1 -0
- package/dist/esm/dso-attachments-counter.entry.js +3 -1
- package/dist/esm/dso-attachments-counter.entry.js.map +1 -0
- package/dist/esm/dso-autosuggest.entry.js +7 -2
- package/dist/esm/dso-autosuggest.entry.js.map +1 -0
- package/dist/esm/dso-badge.entry.js +3 -1
- package/dist/esm/dso-badge.entry.js.map +1 -0
- package/dist/esm/dso-banner.entry.js +3 -1
- package/dist/esm/dso-banner.entry.js.map +1 -0
- package/dist/esm/dso-card-container.entry.js +3 -1
- package/dist/esm/dso-card-container.entry.js.map +1 -0
- package/dist/esm/dso-card.entry.js +3 -1
- package/dist/esm/dso-card.entry.js.map +1 -0
- package/dist/esm/dso-date-picker.entry.js +5 -2
- package/dist/esm/dso-date-picker.entry.js.map +1 -0
- package/dist/esm/dso-dropdown-menu.entry.js +7 -5
- package/dist/esm/dso-dropdown-menu.entry.js.map +1 -0
- package/dist/esm/dso-expandable-heading.entry.js +5 -2
- package/dist/esm/dso-expandable-heading.entry.js.map +1 -0
- package/dist/esm/dso-expandable.entry.js +13 -6
- package/dist/esm/dso-expandable.entry.js.map +1 -0
- package/dist/esm/dso-header.entry.js +12 -3
- package/dist/esm/dso-header.entry.js.map +1 -0
- package/dist/esm/dso-helpcenter-panel.entry.js +3 -1
- package/dist/esm/dso-helpcenter-panel.entry.js.map +1 -0
- package/dist/esm/dso-highlight-box.entry.js +3 -1
- package/dist/esm/dso-highlight-box.entry.js.map +1 -0
- package/dist/esm/dso-icon.entry.js +3 -1
- package/dist/esm/dso-icon.entry.js.map +1 -0
- package/dist/esm/dso-image-overlay.entry.js +3 -1
- package/dist/esm/dso-image-overlay.entry.js.map +1 -0
- package/dist/esm/dso-info-button.entry.js +6 -1
- package/dist/esm/dso-info-button.entry.js.map +1 -0
- package/dist/esm/dso-info_2.entry.js +12 -3
- package/dist/esm/dso-info_2.entry.js.map +1 -0
- package/dist/esm/dso-label.entry.js +11 -7
- package/dist/esm/dso-label.entry.js.map +1 -0
- package/dist/esm/dso-list-button.entry.js +4 -2
- package/dist/esm/dso-list-button.entry.js.map +1 -0
- package/dist/esm/dso-map-base-layers.entry.js +3 -1
- package/dist/esm/dso-map-base-layers.entry.js.map +1 -0
- package/dist/esm/dso-map-controls.entry.js +12 -3
- package/dist/esm/dso-map-controls.entry.js.map +1 -0
- package/dist/esm/dso-map-overlays.entry.js +3 -1
- package/dist/esm/dso-map-overlays.entry.js.map +1 -0
- package/dist/esm/dso-modal.entry.js +5 -3
- package/dist/esm/dso-modal.entry.js.map +1 -0
- package/dist/esm/dso-ozon-content.entry.js +9 -7
- package/dist/esm/dso-ozon-content.entry.js.map +1 -0
- package/dist/esm/dso-pagination.entry.js +3 -1
- package/dist/esm/dso-pagination.entry.js.map +1 -0
- package/dist/esm/dso-progress-bar.entry.js +3 -1
- package/dist/esm/dso-progress-bar.entry.js.map +1 -0
- package/dist/esm/dso-progress-indicator.entry.js +5 -5
- package/dist/esm/dso-progress-indicator.entry.js.map +1 -0
- package/dist/esm/dso-responsive-element.entry.js +6 -1
- package/dist/esm/dso-responsive-element.entry.js.map +1 -0
- package/dist/esm/dso-scrollable.entry.js +11 -9
- package/dist/esm/dso-scrollable.entry.js.map +1 -0
- package/dist/esm/dso-slide-toggle.entry.js +3 -1
- package/dist/esm/dso-slide-toggle.entry.js.map +1 -0
- package/dist/esm/dso-table.entry.js +4 -2
- package/dist/esm/dso-table.entry.js.map +1 -0
- package/dist/esm/dso-toggletip.entry.js +3 -1
- package/dist/esm/dso-toggletip.entry.js.map +1 -0
- package/dist/esm/dso-toolkit.js +9 -3
- package/dist/esm/dso-toolkit.js.map +1 -0
- package/dist/esm/dso-tooltip.entry.js +5 -3
- package/dist/esm/dso-tooltip.entry.js.map +1 -0
- package/dist/esm/dso-tree-view.entry.js +6 -3
- package/dist/esm/dso-tree-view.entry.js.map +1 -0
- package/dist/esm/dso-viewer-grid.entry.js +3 -1
- package/dist/esm/dso-viewer-grid.entry.js.map +1 -0
- package/dist/esm/focus-trap.esm-2a49a38f.js +2 -0
- package/dist/esm/focus-trap.esm-2a49a38f.js.map +1 -0
- package/dist/esm/{has-overflow-fdc85d8f.js → has-overflow-814a0f4e.js} +8 -12
- package/dist/esm/has-overflow-814a0f4e.js.map +1 -0
- package/dist/esm/{index-ac5a22a3.js → index-898d8443.js} +217 -36
- package/dist/esm/index-898d8443.js.map +1 -0
- package/dist/esm/{index-d6ffb688.js → index-b57dbe04.js} +3 -1
- package/dist/esm/index-b57dbe04.js.map +1 -0
- package/dist/esm/index-f2bf58ce.js +2 -0
- package/dist/esm/index-f2bf58ce.js.map +1 -0
- package/dist/esm/index.esm-3d6c8190.js +2 -0
- package/dist/esm/index.esm-3d6c8190.js.map +1 -0
- package/dist/esm/index.js +2 -3
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/is-modified-event-34370220.js +2 -0
- package/dist/esm/is-modified-event-34370220.js.map +1 -0
- package/dist/esm/loader.js +6 -3
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/v4-d398bde5.js +2 -0
- package/dist/esm/v4-d398bde5.js.map +1 -0
- package/dist/types/components/accordion/accordion.d.ts +27 -10
- package/dist/types/components/accordion/accordion.interfaces.d.ts +1 -10
- package/dist/types/components/accordion/components/accordion-section.d.ts +30 -6
- package/dist/types/components/accordion/components/accordion-section.interfaces.d.ts +2 -2
- package/dist/types/components/action-list/action-list.d.ts +3 -0
- package/dist/types/components/action-list/components/action-list-item.d.ts +9 -0
- package/dist/types/components/annotation-button/annotation-button.d.ts +4 -1
- package/dist/types/components/annotation-output/annotation-output.d.ts +14 -4
- package/dist/types/components/attachments-counter/attachments-counter.d.ts +3 -0
- package/dist/types/components/autosuggest/autosuggest.d.ts +24 -32
- package/dist/types/components/badge/badge.d.ts +3 -0
- package/dist/types/components/banner/banner.d.ts +3 -0
- package/dist/types/components/card/card.d.ts +13 -1
- package/dist/types/components/card/card.interfaces.d.ts +1 -1
- package/dist/types/components/card-container/card-container.d.ts +3 -0
- package/dist/types/components/card-container/card-container.interfaces.d.ts +1 -1
- package/dist/types/components/date-picker/date-localization.d.ts +3 -3
- package/dist/types/components/date-picker/date-picker-day.d.ts +1 -1
- package/dist/types/components/date-picker/date-picker-month.d.ts +1 -1
- package/dist/types/components/date-picker/date-picker.d.ts +5 -1
- package/dist/types/components/date-picker/date-picker.interfaces.d.ts +4 -4
- package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +10 -8
- package/dist/types/components/expandable/expandable.d.ts +24 -9
- package/dist/types/components/expandable/expandable.functions.d.ts +1 -0
- package/dist/types/components/expandable-heading/expandable-heading.d.ts +23 -2
- package/dist/types/components/expandable-heading/expandable-heading.interfaces.d.ts +2 -2
- package/dist/types/components/header/header.d.ts +36 -14
- package/dist/types/components/header/header.interfaces.d.ts +2 -2
- package/dist/types/components/helpcenter-panel/helpcenter-panel.d.ts +10 -4
- package/dist/types/components/highlight-box/highlight-box.d.ts +15 -0
- package/dist/types/components/icon/icon.d.ts +3 -0
- package/dist/types/components/image-overlay/image-overlay.d.ts +8 -9
- package/dist/types/components/info/info.d.ts +9 -0
- package/dist/types/components/info-button/info-button.d.ts +15 -0
- package/dist/types/components/label/label.d.ts +24 -7
- package/dist/types/components/list-button/list-button.d.ts +29 -1
- package/dist/types/components/map-base-layers/map-base-layers.d.ts +12 -5
- package/dist/types/components/map-controls/map-controls.d.ts +22 -0
- package/dist/types/components/map-controls/map-controls.interfaces.d.ts +0 -1
- package/dist/types/components/map-overlays/map-overlays.d.ts +12 -6
- package/dist/types/components/modal/modal.d.ts +16 -4
- package/dist/types/components/modal/modal.interfaces.d.ts +2 -2
- package/dist/types/components/ozon-content/ozon-content.d.ts +5 -2
- package/dist/types/components/pagination/pagination.d.ts +2 -2
- package/dist/types/components/progress-bar/progress-bar.d.ts +9 -0
- package/dist/types/components/progress-indicator/progress-indicator.d.ts +12 -1
- package/dist/types/components/responsive-element/responsive-element.d.ts +8 -2
- package/dist/types/components/responsive-element/responsive-element.interfaces.d.ts +1 -1
- package/dist/types/components/scrollable/scrollable.d.ts +4 -3
- package/dist/types/components/scrollable/scrollable.interfaces.d.ts +1 -1
- package/dist/types/components/selectable/selectable.d.ts +52 -1
- package/dist/types/components/slide-toggle/slide-toggle.d.ts +18 -3
- package/dist/types/components/table/table.d.ts +9 -6
- package/dist/types/components/toggletip/toggletip.d.ts +19 -7
- package/dist/types/components/tooltip/tooltip.d.ts +3 -3
- package/dist/types/components/tree-view/tree-view.d.ts +1 -1
- package/dist/types/components/viewer-grid/viewer-grid.d.ts +31 -14
- package/dist/types/components/viewer-grid/viewer-grid.interfaces.d.ts +2 -2
- package/dist/types/components.d.ts +668 -30
- package/dist/types/index.d.ts +1 -23
- package/dist/types/stencil-public-runtime.d.ts +74 -15
- package/loader/index.d.ts +9 -0
- package/package.json +12 -12
- package/dist/cjs/expandable.interfaces-19b608b9.js +0 -7
- package/dist/cjs/map-controls.interfaces-5ceec716.js +0 -5
- package/dist/collection/components/expandable/expandable.interfaces.js +0 -3
- package/dist/collection/components/table/table.interfaces.js +0 -1
- package/dist/dso-toolkit/p-07952ece.entry.js +0 -1
- package/dist/dso-toolkit/p-0af9bfb1.entry.js +0 -1
- package/dist/dso-toolkit/p-0fce0861.entry.js +0 -1
- package/dist/dso-toolkit/p-1cb94d7d.entry.js +0 -1
- package/dist/dso-toolkit/p-281aa19e.entry.js +0 -1
- package/dist/dso-toolkit/p-296657d3.entry.js +0 -1
- package/dist/dso-toolkit/p-313d07f5.entry.js +0 -1
- package/dist/dso-toolkit/p-3914ad70.entry.js +0 -1
- package/dist/dso-toolkit/p-398a8e0b.entry.js +0 -1
- package/dist/dso-toolkit/p-3b91c3e9.entry.js +0 -1
- package/dist/dso-toolkit/p-452b1234.js +0 -1
- package/dist/dso-toolkit/p-4808575e.entry.js +0 -1
- package/dist/dso-toolkit/p-494fe8e5.entry.js +0 -1
- package/dist/dso-toolkit/p-4b8535b7.js +0 -1
- package/dist/dso-toolkit/p-5082d823.entry.js +0 -1
- package/dist/dso-toolkit/p-564a5d95.entry.js +0 -1
- package/dist/dso-toolkit/p-61ac8d40.entry.js +0 -1
- package/dist/dso-toolkit/p-65e8077e.entry.js +0 -1
- package/dist/dso-toolkit/p-69f37ab3.entry.js +0 -1
- package/dist/dso-toolkit/p-6a99d7f8.entry.js +0 -1
- package/dist/dso-toolkit/p-7912940d.entry.js +0 -1
- package/dist/dso-toolkit/p-82465cdc.entry.js +0 -1
- package/dist/dso-toolkit/p-85b18dbd.js +0 -1
- package/dist/dso-toolkit/p-89b97fce.js +0 -1
- package/dist/dso-toolkit/p-8a77030b.entry.js +0 -1
- package/dist/dso-toolkit/p-9361b19e.entry.js +0 -1
- package/dist/dso-toolkit/p-96f44d35.entry.js +0 -1
- package/dist/dso-toolkit/p-975c172a.entry.js +0 -1
- package/dist/dso-toolkit/p-98fd1658.js +0 -2
- package/dist/dso-toolkit/p-ae45e550.entry.js +0 -1
- package/dist/dso-toolkit/p-b049f492.entry.js +0 -1
- package/dist/dso-toolkit/p-b9777372.entry.js +0 -1
- package/dist/dso-toolkit/p-baef3721.entry.js +0 -1
- package/dist/dso-toolkit/p-bc975b99.entry.js +0 -1
- package/dist/dso-toolkit/p-bf750b97.js +0 -1
- package/dist/dso-toolkit/p-c1226b66.entry.js +0 -1
- package/dist/dso-toolkit/p-c2215704.entry.js +0 -1
- package/dist/dso-toolkit/p-ca4fee8d.entry.js +0 -1
- package/dist/dso-toolkit/p-d10ec2b3.entry.js +0 -1
- package/dist/dso-toolkit/p-d4772fb0.entry.js +0 -1
- package/dist/dso-toolkit/p-d6ea8670.entry.js +0 -1
- package/dist/dso-toolkit/p-e04d87e0.entry.js +0 -1
- package/dist/dso-toolkit/p-e8a6ccf5.entry.js +0 -1
- package/dist/dso-toolkit/p-e8c46f70.entry.js +0 -1
- package/dist/dso-toolkit/p-ee1acb32.entry.js +0 -1
- package/dist/dso-toolkit/p-efdf5c91.entry.js +0 -1
- package/dist/dso-toolkit/p-f3e38af3.entry.js +0 -1
- package/dist/dso-toolkit/p-f8a08ba1.entry.js +0 -1
- package/dist/esm/expandable.interfaces-9b1afbe8.js +0 -5
- package/dist/esm/map-controls.interfaces-2323e8ac.js +0 -3
- package/dist/types/components/expandable/expandable.interfaces.d.ts +0 -10
- package/dist/types/components/table/table.interfaces.d.ts +0 -3
- package/dist/types/globals.d.ts +0 -16
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isExpandable","element","Element","tagName","stateMap","success","info","warning","danger","error","HandleElement","handleUrl","onClick","open","children","h","href","type","Handle","heading","ref","class","HandleStateIcon","state","icon","HandleIcon","attachmentCount","count","accordionSectionCss","AccordionSection","componentWillLoad","accordion","this","host","parentElement","hasNestedSection","querySelector","isAccordion","_getState","then","accordionState","forceUpdate","async","scrollIntoView","_a","toggleSection","scrollIntoViewWhenNeeded","isNeutral","variant","sectionToggled","scrollCandidate","undefined","bodyClientRect","sectionBody","getBoundingClientRect","headingClientRect","_b","sectionHeading","waitForAnimationBeforeScrolling","bodyHeight","expandable","_getBodyHeight","sectionBottomOffsetTop","offsetTop","height","document","documentElement","scrollHeight","allowMultipleOpen","sectionBottomY","top","_c","window","innerHeight","expandedAccordionHeight","shouldScrollToTopOfSection","scrollTo","behavior","setAnimationBehaviour","event","section","expandableElement","target","HTMLElement","_getAnimeInstance","animeInstance","changeComplete","animationEnd","scrollSectionIntoView","e","preventDefault","isOpen","render","reverseAlign","hasAddons","status","Host","hidden","onMouseenter","hover","onMouseleave","toggle","Fragment","handleTitle","enableAnimation","minimumHeight","on_animationInstantiated","slot"],"sources":["./src/components/expandable/expandable.functions.ts","./src/components/accordion/components/accordion-section.interfaces.ts","./src/components/accordion/components/handles/element.handle.tsx","./src/components/accordion/components/handles/heading.handle.tsx","./src/components/accordion/components/handles/state-icon.handle.tsx","./src/components/accordion/components/handles/icon.handle.tsx","./src/components/accordion/components/accordion-section.scss?tag=dso-accordion-section&encapsulation=shadow","./src/components/accordion/components/accordion-section.tsx"],"sourcesContent":["export function isExpandable(element: Element | null): element is HTMLDsoExpandableElement {\r\n return element instanceof Element && element.tagName === \"DSO-EXPANDABLE\";\r\n}\r\n","export type AccordionSectionState = \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\";\r\n\r\nexport type AccordionHeading = \"h2\" | \"h3\" | \"h4\" | \"h5\";\r\n\r\nexport const stateMap: Record<AccordionSectionState, string> = {\r\n success: \"succes:\",\r\n info: \"info:\",\r\n warning: \"waarschuwing:\",\r\n danger: \"fout:\",\r\n error: \"fout:\",\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport const HandleElement: FunctionalComponent<{\r\n handleUrl: string | undefined;\r\n open: boolean;\r\n onClick: (e: MouseEvent) => void;\r\n}> = ({ handleUrl, onClick, open }, children) => {\r\n if (handleUrl) {\r\n return (\r\n <a href={handleUrl} onClick={onClick} aria-expanded={open ? \"true\" : \"false\"}>\r\n {children}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <button type=\"button\" onClick={onClick} aria-expanded={open ? \"true\" : \"false\"}>\r\n {children}\r\n </button>\r\n );\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { AccordionHeading } from \"../accordion-section.interfaces\";\r\n\r\nexport const Handle: FunctionalComponent<{\r\n heading: AccordionHeading;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n}> = ({ heading, ref }, children) => {\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n return (\r\n <h2 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h2>\r\n );\r\n case \"h3\":\r\n return (\r\n <h3 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h3>\r\n );\r\n case \"h4\":\r\n return (\r\n <h4 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h4>\r\n );\r\n case \"h5\":\r\n return (\r\n <h5 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h5>\r\n );\r\n }\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { AccordionSectionState } from \"../accordion-section.interfaces\";\r\n\r\nexport const HandleStateIcon: FunctionalComponent<{ state: AccordionSectionState }> = ({ state }) => {\r\n if (state === \"error\") {\r\n return <dso-icon icon=\"status-error\"></dso-icon>;\r\n }\r\n\r\n if (state === \"danger\") {\r\n return <dso-icon icon=\"status-danger\"></dso-icon>;\r\n }\r\n\r\n if (state === \"success\") {\r\n return <dso-icon icon=\"status-success\"></dso-icon>;\r\n }\r\n\r\n if (state === \"info\") {\r\n return <dso-icon icon=\"status-info\"></dso-icon>;\r\n }\r\n\r\n if (state === \"warning\") {\r\n return <dso-icon icon=\"status-warning\"></dso-icon>;\r\n }\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { AccordionSectionState } from \"../accordion-section.interfaces\";\r\nimport { HandleStateIcon } from \"./state-icon.handle\";\r\n\r\nexport const HandleIcon: FunctionalComponent<{\r\n state?: AccordionSectionState;\r\n icon?: string;\r\n attachmentCount?: number;\r\n}> = ({ state, icon, attachmentCount }) => {\r\n if (state) {\r\n return <HandleStateIcon state={state} />;\r\n }\r\n\r\n if (attachmentCount) {\r\n return <dso-attachments-counter count={attachmentCount}></dso-attachments-counter>;\r\n }\r\n\r\n if (icon) {\r\n return <dso-icon icon={icon}></dso-icon>;\r\n }\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n\r\n@use \"~dso-toolkit/src/components/accordion\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n\r\n@use \"accordion-section-theme-compact\";\r\n@use \"accordion-section-theme-conclusion\";\r\n@use \"accordion-section-theme-default\";\r\n@use \"accordion-section-theme-neutral\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n:host {\r\n display: block;\r\n\r\n .dso-section-handle {\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n position: relative;\r\n\r\n > a:active {\r\n text-decoration: none;\r\n }\r\n\r\n a {\r\n @include anchor.clean();\r\n }\r\n\r\n .dso-status {\r\n font-weight: 400;\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n .dso-section-handle > button,\r\n .dso-section-handle > a {\r\n align-items: flex-start;\r\n background-color: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n display: flex;\r\n font-family: typography.$font-family-base;\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n padding: accordion.$vertical-padding accordion.$horizontal-padding accordion.$vertical-padding;\r\n text-align: start;\r\n width: 100%;\r\n word-break: break-word;\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n\r\n &.dso-section-handle-chevron {\r\n @include utilities.transition(transform);\r\n\r\n transform: rotate(0);\r\n }\r\n }\r\n\r\n > .dso-section-handle-addons:first-child,\r\n > dso-icon:first-child {\r\n margin-right: units.$u1;\r\n }\r\n\r\n > dso-icon:last-child {\r\n margin-left: auto;\r\n }\r\n\r\n > .dso-section-handle-addons:last-child {\r\n margin-left: auto;\r\n\r\n dso-attachments-counter,\r\n dso-icon {\r\n margin-left: 16px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n:host([open]) {\r\n .dso-section-handle {\r\n > button,\r\n > a {\r\n .dso-section-handle-chevron {\r\n &:first-child {\r\n transform: rotate(90deg);\r\n }\r\n\r\n &:last-child {\r\n transform: rotate(-180deg);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dso-section-body {\r\n background-color: colors.$wit;\r\n border-top: 0;\r\n margin-top: accordion.$border-radius * -1;\r\n\r\n .dso-section-body-content {\r\n padding: units.$u2 + accordion.$border-radius units.$u2 units.$u2;\r\n }\r\n}\r\n\r\n// Default\r\n:host(.dso-accordion-default) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default();\r\n}\r\n\r\n:host(.dso-accordion-default[open]) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open();\r\n}\r\n\r\n:host(.dso-accordion-default.dso-nested-accordion[open]) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open-nested();\r\n}\r\n\r\n// Compact\r\n:host(.dso-accordion-compact) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact[open]:not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-nested-accordion[open]) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open-nested();\r\n}\r\n\r\n// Conclusion\r\n:host(.dso-accordion-conclusion) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion();\r\n}\r\n\r\n:host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open();\r\n}\r\n\r\n:host(.dso-accordion-conclusion.dso-nested-accordion[open]) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open-nested();\r\n}\r\n\r\n// Neutral\r\n:host(.dso-accordion-neutral) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral();\r\n}\r\n\r\n:host(.dso-accordion-neutral[open]) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open();\r\n}\r\n\r\n:host(.dso-accordion-neutral.dso-nested-accordion[open]) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open-nested();\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n forceUpdate,\r\n Fragment,\r\n Host,\r\n Method,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\nimport { isExpandable } from \"../../expandable/expandable.functions\";\r\n\r\nimport { AccordionInternalState } from \"../accordion.interfaces\";\r\nimport { AccordionHeading, AccordionSectionState, stateMap } from \"./accordion-section.interfaces\";\r\nimport { Handle, HandleElement, HandleIcon } from \"./handles\";\r\n\r\n@Component({\r\n tag: \"dso-accordion-section\",\r\n styleUrl: \"accordion-section.scss\",\r\n shadow: true,\r\n})\r\nexport class AccordionSection implements ComponentInterface {\r\n private static scrollCandidate?: HTMLElement;\r\n\r\n private accordion?: HTMLDsoAccordionElement;\r\n\r\n private accordionState?: AccordionInternalState;\r\n\r\n private sectionBody?: HTMLDivElement;\r\n\r\n private sectionHeading?: HTMLHeadingElement;\r\n\r\n private bodyHeight?: number;\r\n\r\n private expandable?: HTMLDsoExpandableElement;\r\n\r\n @Element()\r\n host!: HTMLDsoAccordionSectionElement;\r\n\r\n /**\r\n * The title of the handle\r\n */\r\n @Prop()\r\n handleTitle?: string;\r\n\r\n /**\r\n * Which heading element to use.\r\n */\r\n @Prop()\r\n heading: AccordionHeading = \"h2\";\r\n\r\n /**\r\n * When set the handle will render as a `<a>`. When undefined it renders as a `<button>`\r\n */\r\n @Prop()\r\n handleUrl?: string;\r\n\r\n /**\r\n * `state` takes precedence over `attachmentCount` and `icon`\r\n */\r\n @Prop()\r\n state?: AccordionSectionState;\r\n\r\n /**\r\n * `attachmentCount` takes precedence over `icon`\r\n */\r\n @Prop()\r\n attachmentCount?: number;\r\n\r\n /**\r\n * To set an icon in the heading handle.\r\n */\r\n @Prop()\r\n icon?: string;\r\n\r\n /**\r\n * The status of the section.\r\n */\r\n @Prop()\r\n status?: string;\r\n\r\n /**\r\n * To open the Accordion Section.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n @State()\r\n hasNestedSection = false;\r\n\r\n @State()\r\n hover = false;\r\n\r\n componentWillLoad() {\r\n const accordion = this.host.parentElement;\r\n\r\n this.hasNestedSection = this.host.querySelector(\"dso-accordion\") !== null;\r\n\r\n if (accordion && isAccordion(accordion)) {\r\n this.accordion = accordion;\r\n\r\n accordion._getState().then((state) => {\r\n this.accordionState = state;\r\n forceUpdate(this.host);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Toggle this section.\r\n * @param scrollIntoView boolean - defaults to true\r\n */\r\n @Method()\r\n async toggleSection(scrollIntoView = true): Promise<void> {\r\n await this.accordion?.toggleSection(this.host).then(async () => {\r\n if (scrollIntoView) {\r\n await this.scrollIntoViewWhenNeeded(true);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Scroll this section into view when needed.\r\n */\r\n @Method()\r\n async scrollSectionIntoView(): Promise<void> {\r\n await this.scrollIntoViewWhenNeeded(false);\r\n }\r\n\r\n get isNeutral() {\r\n return this.accordionState?.variant === \"neutral\";\r\n }\r\n\r\n private async scrollIntoViewWhenNeeded(sectionToggled: boolean): Promise<void> {\r\n AccordionSection.scrollCandidate = undefined;\r\n\r\n const bodyClientRect = this.sectionBody?.getBoundingClientRect();\r\n const headingClientRect = this.sectionHeading?.getBoundingClientRect();\r\n\r\n if (!bodyClientRect || !headingClientRect || !this.accordionState) {\r\n return;\r\n }\r\n\r\n const waitForAnimationBeforeScrolling = async (state: AccordionInternalState) => {\r\n this.bodyHeight = await this.expandable?._getBodyHeight();\r\n\r\n const sectionBottomOffsetTop =\r\n this.host.offsetTop + headingClientRect.height + (this.open ? this.bodyHeight ?? 0 : 0);\r\n\r\n return (\r\n sectionToggled && (sectionBottomOffsetTop > document.documentElement.scrollHeight || state.allowMultipleOpen)\r\n );\r\n };\r\n\r\n if (await waitForAnimationBeforeScrolling(this.accordionState)) {\r\n AccordionSection.scrollCandidate = this.host;\r\n return;\r\n }\r\n\r\n // this y is relative to the top of the viewport.\r\n const sectionBottomY = headingClientRect.top + headingClientRect.height + (this.open ? this.bodyHeight ?? 0 : 0);\r\n if (sectionBottomY > window.innerHeight) {\r\n const expandedAccordionHeight = sectionBottomY - headingClientRect.top;\r\n const shouldScrollToTopOfSection = expandedAccordionHeight > window.innerHeight;\r\n\r\n window.scrollTo({\r\n top: shouldScrollToTopOfSection\r\n ? this.host.offsetTop\r\n : this.host.offsetTop - (window.innerHeight - expandedAccordionHeight),\r\n behavior: \"smooth\",\r\n });\r\n } else if (headingClientRect.top < 0) {\r\n window.scrollTo({\r\n top: this.host.offsetTop,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n }\r\n\r\n private setAnimationBehaviour(event: Event, section?: HTMLElement): void {\r\n const expandableElement = event.target;\r\n\r\n if (!(expandableElement instanceof HTMLElement)) {\r\n return;\r\n }\r\n\r\n if (isExpandable(expandableElement)) {\r\n this.expandable = expandableElement;\r\n this.expandable._getAnimeInstance().then((animeInstance) => {\r\n if (animeInstance) {\r\n animeInstance.changeComplete = async () => {\r\n if (!section) {\r\n return;\r\n }\r\n\r\n const accordion = section.parentElement;\r\n\r\n if (accordion && isAccordion(accordion)) {\r\n accordion?.animationEnd(section);\r\n }\r\n\r\n if (AccordionSection.scrollCandidate === this.host) {\r\n AccordionSection.scrollCandidate = undefined;\r\n await this.scrollSectionIntoView();\r\n }\r\n };\r\n }\r\n });\r\n }\r\n }\r\n\r\n private async toggle(e?: MouseEvent): Promise<void> {\r\n e?.preventDefault();\r\n\r\n this.accordion?.toggleSection(this.host, e).then(async (isOpen) => {\r\n if (isOpen) {\r\n await this.scrollIntoViewWhenNeeded(true);\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const { variant, reverseAlign } = this.accordionState ?? {};\r\n const hasAddons = !!this.status || !!this.state || !!this.icon || !!this.attachmentCount;\r\n\r\n return (\r\n <Host\r\n class={{\r\n \"dso-accordion-section\": true,\r\n [\"dso-accordion-\" + variant]: true,\r\n \"dso-nested-accordion\": this.hasNestedSection,\r\n \"dso-accordion-reverse-align\": reverseAlign ?? false,\r\n }}\r\n hidden={!variant}\r\n onMouseenter={() => (this.hover = true)}\r\n onMouseleave={() => (this.hover = false)}\r\n >\r\n <Handle heading={this.heading} ref={(element) => (this.sectionHeading = element)}>\r\n <HandleElement\r\n handleUrl={this.handleUrl}\r\n onClick={async (event) => await this.toggle(event)}\r\n open={this.open}\r\n >\r\n {reverseAlign ? (\r\n <Fragment>\r\n {hasAddons && (\r\n <div class=\"dso-section-handle-addons\">\r\n <HandleIcon icon={this.icon} />\r\n </div>\r\n )}\r\n\r\n <span>{this.handleTitle}</span>\r\n\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-down\"></dso-icon>\r\n </Fragment>\r\n ) : (\r\n <Fragment>\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-right\"></dso-icon>\r\n\r\n {this.state && <span class=\"sr-only\">{stateMap[this.state]}</span>}\r\n\r\n <span>\r\n {this.handleTitle}\r\n {this.isNeutral && (\r\n <dso-icon class=\"info-icon\" icon={this.open || this.hover ? \"info-active\" : \"info\"} />\r\n )}\r\n </span>\r\n\r\n {hasAddons && (\r\n <div class=\"dso-section-handle-addons\">\r\n {this.status && <span class=\"dso-status\">{this.status}</span>}\r\n <HandleIcon state={this.state} icon={this.icon} attachmentCount={this.attachmentCount} />\r\n </div>\r\n )}\r\n </Fragment>\r\n )}\r\n </HandleElement>\r\n </Handle>\r\n <dso-expandable\r\n class=\"dso-section-body\"\r\n open={this.open}\r\n enableAnimation\r\n minimumHeight={this.isNeutral ? 0 : 4}\r\n on_animationInstantiated={(e: Event) => this.setAnimationBehaviour(e, this.host)}\r\n >\r\n <div\r\n slot=\"expandable-content\"\r\n class=\"dso-section-body-content\"\r\n ref={(element) => (this.sectionBody = element)}\r\n >\r\n <slot />\r\n </div>\r\n </dso-expandable>\r\n </Host>\r\n );\r\n }\r\n}\r\n\r\nfunction isAccordion(element: Element): element is HTMLDsoAccordionElement {\r\n return element.tagName === \"DSO-ACCORDION\";\r\n}\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as s,h as e,H as i,g as n}from"./p-26cdce1c.js";import{c as o}from"./p-26713aef.js";const a=":host{display:block}*,*::after,*::before{box-sizing:border-box}";const r=class{updateVariant(t="default"){this.accordionState.variant=t||"default"}updateReverseAlign(t){this.accordionState.reverseAlign=t}updateAllowMultipleOpen(t){this.accordionState.allowMultipleOpen=t;if(!t){const t=Array.from(this.host.querySelectorAll(":scope > dso-accordion-section[open]"));t.shift();t.forEach((t=>this.controlOpenAttribute(t,false)))}}async _getState(){return this.accordionState}async toggleSection(t,s){const e=Array.from(this.host.querySelectorAll(":scope > dso-accordion-section"));if(typeof t==="number"){const s=e[t];if(s instanceof HTMLElement){t=s}}if(!(t instanceof HTMLElement)||!e.includes(t)){return}const i=this.isSectionOpen(t);if(this.allowMultipleOpen){this.controlOpenAttribute(t,!i);this.emitToggleEvent(t,e,s);return!i}if(i){this.controlOpenAttribute(t,false);this.emitToggleEvent(t,e,s);return false}await this.closeOpenSections();this.controlOpenAttribute(t,true);this.emitToggleEvent(t,e,s);return true}async animationEnd(t){this.dsoToggleSectionAnimationEnd.emit({section:{element:t,open:this.isSectionOpen(t)}})}async closeOpenSections(){const t=Array.from(this.host.querySelectorAll(":scope > dso-accordion-section"));const s=t.filter((t=>this.isSectionOpen(t)));s.forEach((t=>this.controlOpenAttribute(t,false)))}componentWillLoad(){if(this.accordionState.variant!==this.variant){this.accordionState.variant=this.variant||"default"}if(this.accordionState.reverseAlign!==this.reverseAlign){this.accordionState.reverseAlign=this.reverseAlign}if(this.accordionState.allowMultipleOpen!==this.allowMultipleOpen){this.accordionState.allowMultipleOpen=this.allowMultipleOpen}}constructor(e){t(this,e);this.dsoToggleSection=s(this,"dsoToggleSection",7);this.dsoToggleSectionAnimationEnd=s(this,"dsoToggleSectionAnimationEnd",7);this.variant="default";this.reverseAlign=false;this.allowMultipleOpen=false;const{state:i}=o({variant:this.variant||"default",reverseAlign:this.reverseAlign,allowMultipleOpen:this.allowMultipleOpen});this.accordionState=i}render(){return e(i,{class:{"dso-accordion":true}},e("slot",null))}emitToggleEvent(t,s,e){this.dsoToggleSection.emit({originalEvent:e,section:{element:t,open:this.isSectionOpen(t)},sections:s})}isSectionOpen(t){return typeof t.getAttribute("open")==="string"}controlOpenAttribute(t,s){if(s){t.setAttribute("open","")}else{t.removeAttribute("open")}}get host(){return n(this)}static get watchers(){return{variant:["updateVariant"],reverseAlign:["updateReverseAlign"],allowMultipleOpen:["updateAllowMultipleOpen"]}}};r.style=a;export{r as dso_accordion};
|
|
2
|
+
//# sourceMappingURL=p-de310a49.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["accordionCss","Accordion","updateVariant","variant","this","accordionState","updateReverseAlign","reverseAlign","updateAllowMultipleOpen","allowMultipleOpen","openSections","Array","from","host","querySelectorAll","shift","forEach","section","controlOpenAttribute","async","sectionElement","event","sections","HTMLElement","includes","sectionIsOpen","isSectionOpen","emitToggleEvent","closeOpenSections","dsoToggleSectionAnimationEnd","emit","element","open","filter","s","componentWillLoad","constructor","hostRef","state","createStore","render","h","Host","class","e","dsoToggleSection","originalEvent","getAttribute","setAttribute","removeAttribute"],"sources":["./src/components/accordion/accordion.scss?tag=dso-accordion&encapsulation=shadow","./src/components/accordion/accordion.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Prop,\r\n Host,\r\n Method,\r\n Watch,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n} from \"@stencil/core\";\r\n\r\nimport {\r\n AccordionInternalState,\r\n AccordionSectionToggleAnimationEndEvent,\r\n AccordionSectionToggleEvent,\r\n AccordionVariant,\r\n} from \"./accordion.interfaces\";\r\n\r\nimport { createStore } from \"@stencil/store\";\r\n\r\n@Component({\r\n tag: \"dso-accordion\",\r\n styleUrl: \"accordion.scss\",\r\n shadow: true,\r\n})\r\nexport class Accordion implements ComponentInterface {\r\n private accordionState: AccordionInternalState;\r\n\r\n @Element()\r\n host!: HTMLDsoAccordionElement;\r\n\r\n /**\r\n * The variant of the Accordion.\r\n */\r\n @Prop({ reflect: true })\r\n variant?: AccordionVariant = \"default\";\r\n\r\n /**\r\n * Places the chevron at the opposite side. Note: this mode does not display `state`, `attachmentCount` or `status` props on child `<dso-accordion-section>` elements\r\n */\r\n @Prop({ reflect: true })\r\n reverseAlign = false;\r\n\r\n /**\r\n * Allows multiple sections to be open at the same time.\r\n */\r\n @Prop({ reflect: true })\r\n allowMultipleOpen = false;\r\n\r\n /**\r\n * Emitted when a section is toggled.\r\n *\r\n * `event.detail.originalEvent` contains the original `MouseEvent` when the section is toggled by clicking on the header\r\n * `event.detail.section` contains the toggled section and its new opened value.\\\r\n * `event.detail.sections` contains all `<dso-accordion-section>` elements belonging to this accordion.\r\n */\r\n @Event()\r\n dsoToggleSection!: EventEmitter<AccordionSectionToggleEvent>;\r\n\r\n /**\r\n * Event emitted when the accordion section completes its toggle animation.\r\n */\r\n @Event()\r\n dsoToggleSectionAnimationEnd!: EventEmitter<AccordionSectionToggleAnimationEndEvent>;\r\n\r\n @Watch(\"variant\")\r\n updateVariant(variant: AccordionVariant = \"default\") {\r\n this.accordionState.variant = variant || \"default\";\r\n }\r\n\r\n @Watch(\"reverseAlign\")\r\n updateReverseAlign(reverseAlign: boolean) {\r\n this.accordionState.reverseAlign = reverseAlign;\r\n }\r\n\r\n @Watch(\"allowMultipleOpen\")\r\n updateAllowMultipleOpen(allowMultipleOpen: boolean) {\r\n this.accordionState.allowMultipleOpen = allowMultipleOpen;\r\n\r\n if (!allowMultipleOpen) {\r\n const openSections = Array.from(this.host.querySelectorAll<HTMLElement>(\":scope > dso-accordion-section[open]\"));\r\n\r\n // By removing the first section, it is kept open;\r\n openSections.shift();\r\n\r\n openSections.forEach((section) => this.controlOpenAttribute(section, false));\r\n }\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _getState(): Promise<AccordionInternalState> {\r\n return this.accordionState;\r\n }\r\n\r\n /**\r\n * Toggle a section. Pass the `<dso-accordion-section>` element or the index of the section.\r\n * @param sectionElement The section element that needs to toggle\r\n * @param event The event that the user triggered\r\n * @returns The state of the section\r\n */\r\n @Method()\r\n async toggleSection(sectionElement: HTMLElement | number, event?: MouseEvent): Promise<undefined | boolean> {\r\n const sections = Array.from(this.host.querySelectorAll<HTMLElement>(\":scope > dso-accordion-section\"));\r\n\r\n if (typeof sectionElement === \"number\") {\r\n const section = sections[sectionElement];\r\n if (section instanceof HTMLElement) {\r\n sectionElement = section;\r\n }\r\n }\r\n\r\n if (!(sectionElement instanceof HTMLElement) || !sections.includes(sectionElement)) {\r\n return;\r\n }\r\n\r\n const sectionIsOpen = this.isSectionOpen(sectionElement);\r\n\r\n if (this.allowMultipleOpen) {\r\n this.controlOpenAttribute(sectionElement, !sectionIsOpen);\r\n this.emitToggleEvent(sectionElement, sections, event);\r\n return !sectionIsOpen;\r\n }\r\n\r\n if (sectionIsOpen) {\r\n this.controlOpenAttribute(sectionElement, false);\r\n this.emitToggleEvent(sectionElement, sections, event);\r\n\r\n return false;\r\n }\r\n\r\n await this.closeOpenSections();\r\n\r\n this.controlOpenAttribute(sectionElement, true);\r\n this.emitToggleEvent(sectionElement, sections, event);\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Emitted when the animation of opening or closing ends.\r\n */\r\n @Method()\r\n async animationEnd(sectionElement: HTMLElement): Promise<void> {\r\n this.dsoToggleSectionAnimationEnd.emit({\r\n section: {\r\n element: sectionElement,\r\n open: this.isSectionOpen(sectionElement),\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Closes all sections belonging to this accordion.\r\n */\r\n @Method()\r\n async closeOpenSections(): Promise<void> {\r\n const sections = Array.from(this.host.querySelectorAll<HTMLElement>(\":scope > dso-accordion-section\"));\r\n\r\n const openSections = sections.filter((s) => this.isSectionOpen(s));\r\n openSections.forEach((section) => this.controlOpenAttribute(section, false));\r\n }\r\n\r\n // These checks are needed for a React timing issue.\r\n componentWillLoad() {\r\n if (this.accordionState.variant !== this.variant) {\r\n this.accordionState.variant = this.variant || \"default\";\r\n }\r\n\r\n if (this.accordionState.reverseAlign !== this.reverseAlign) {\r\n this.accordionState.reverseAlign = this.reverseAlign;\r\n }\r\n\r\n if (this.accordionState.allowMultipleOpen !== this.allowMultipleOpen) {\r\n this.accordionState.allowMultipleOpen = this.allowMultipleOpen;\r\n }\r\n }\r\n\r\n constructor() {\r\n const { state } = createStore<AccordionInternalState>({\r\n variant: this.variant || \"default\",\r\n reverseAlign: this.reverseAlign,\r\n allowMultipleOpen: this.allowMultipleOpen,\r\n });\r\n\r\n this.accordionState = state;\r\n }\r\n\r\n render() {\r\n return (\r\n <Host\r\n class={{\r\n \"dso-accordion\": true,\r\n }}\r\n >\r\n <slot></slot>\r\n </Host>\r\n );\r\n }\r\n\r\n private emitToggleEvent(sectionElement: HTMLElement, sections: HTMLElement[], e?: MouseEvent): void {\r\n this.dsoToggleSection.emit({\r\n originalEvent: e,\r\n section: {\r\n element: sectionElement,\r\n open: this.isSectionOpen(sectionElement),\r\n },\r\n sections,\r\n });\r\n }\r\n\r\n private isSectionOpen(sectionElement: HTMLElement): boolean {\r\n return typeof sectionElement.getAttribute(\"open\") === \"string\";\r\n }\r\n\r\n private controlOpenAttribute(sectionElement: HTMLElement, setAttribute: boolean): void {\r\n if (setAttribute) {\r\n sectionElement.setAttribute(\"open\", \"\");\r\n } else {\r\n sectionElement.removeAttribute(\"open\");\r\n }\r\n }\r\n}\r\n"],"mappings":"oGAAA,MAAMA,EAAe,kE,MC2BRC,EAAS,MAyCpBC,cAAcC,EAA4B,WACxCC,KAAKC,eAAeF,QAAUA,GAAW,S,CAI3CG,mBAAmBC,GACjBH,KAAKC,eAAeE,aAAeA,C,CAIrCC,wBAAwBC,GACtBL,KAAKC,eAAeI,kBAAoBA,EAExC,IAAKA,EAAmB,CACtB,MAAMC,EAAeC,MAAMC,KAAKR,KAAKS,KAAKC,iBAA8B,yCAGxEJ,EAAaK,QAEbL,EAAaM,SAASC,GAAYb,KAAKc,qBAAqBD,EAAS,Q,EAQzEE,kBACE,OAAOf,KAAKC,c,CAUdc,oBAAoBC,EAAsCC,GACxD,MAAMC,EAAWX,MAAMC,KAAKR,KAAKS,KAAKC,iBAA8B,mCAEpE,UAAWM,IAAmB,SAAU,CACtC,MAAMH,EAAUK,EAASF,GACzB,GAAIH,aAAmBM,YAAa,CAClCH,EAAiBH,C,EAIrB,KAAMG,aAA0BG,eAAiBD,EAASE,SAASJ,GAAiB,CAClF,M,CAGF,MAAMK,EAAgBrB,KAAKsB,cAAcN,GAEzC,GAAIhB,KAAKK,kBAAmB,CAC1BL,KAAKc,qBAAqBE,GAAiBK,GAC3CrB,KAAKuB,gBAAgBP,EAAgBE,EAAUD,GAC/C,OAAQI,C,CAGV,GAAIA,EAAe,CACjBrB,KAAKc,qBAAqBE,EAAgB,OAC1ChB,KAAKuB,gBAAgBP,EAAgBE,EAAUD,GAE/C,OAAO,K,OAGHjB,KAAKwB,oBAEXxB,KAAKc,qBAAqBE,EAAgB,MAC1ChB,KAAKuB,gBAAgBP,EAAgBE,EAAUD,GAE/C,OAAO,I,CAOTF,mBAAmBC,GACjBhB,KAAKyB,6BAA6BC,KAAK,CACrCb,QAAS,CACPc,QAASX,EACTY,KAAM5B,KAAKsB,cAAcN,K,CAS/BD,0BACE,MAAMG,EAAWX,MAAMC,KAAKR,KAAKS,KAAKC,iBAA8B,mCAEpE,MAAMJ,EAAeY,EAASW,QAAQC,GAAM9B,KAAKsB,cAAcQ,KAC/DxB,EAAaM,SAASC,GAAYb,KAAKc,qBAAqBD,EAAS,Q,CAIvEkB,oBACE,GAAI/B,KAAKC,eAAeF,UAAYC,KAAKD,QAAS,CAChDC,KAAKC,eAAeF,QAAUC,KAAKD,SAAW,S,CAGhD,GAAIC,KAAKC,eAAeE,eAAiBH,KAAKG,aAAc,CAC1DH,KAAKC,eAAeE,aAAeH,KAAKG,Y,CAG1C,GAAIH,KAAKC,eAAeI,oBAAsBL,KAAKK,kBAAmB,CACpEL,KAAKC,eAAeI,kBAAoBL,KAAKK,iB,EAIjD2B,YAAAC,G,qJAjJ6B,U,kBAMd,M,uBAMK,MAsIlB,MAAMC,MAAEA,GAAUC,EAAoC,CACpDpC,QAASC,KAAKD,SAAW,UACzBI,aAAcH,KAAKG,aACnBE,kBAAmBL,KAAKK,oBAG1BL,KAAKC,eAAiBiC,C,CAGxBE,SACE,OACEC,EAACC,EAAI,CACHC,MAAO,CACL,gBAAiB,OAGnBF,EAAA,a,CAKEd,gBAAgBP,EAA6BE,EAAyBsB,GAC5ExC,KAAKyC,iBAAiBf,KAAK,CACzBgB,cAAeF,EACf3B,QAAS,CACPc,QAASX,EACTY,KAAM5B,KAAKsB,cAAcN,IAE3BE,Y,CAIII,cAAcN,GACpB,cAAcA,EAAe2B,aAAa,UAAY,Q,CAGhD7B,qBAAqBE,EAA6B4B,GACxD,GAAIA,EAAc,CAChB5B,EAAe4B,aAAa,OAAQ,G,KAC/B,CACL5B,EAAe6B,gBAAgB,O"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as n,h as o,H as t}from"./p-26cdce1c.js";const i=":host{background-color:#e1ecf7;display:block;padding-block:16px;padding-inline-start:16px;padding-inline-end:96px}*,*::after,*::before{box-sizing:border-box}h2{color:#275937;color:#275937;font-size:1.5rem;font-weight:700;margin-block:0 16px}.dso-action-list-content{padding-inline-start:80px}";const s=class{constructor(o){n(this,o);this.listTitle=undefined}render(){return o(t,null,o("h2",null,this.listTitle),o("div",{class:"dso-action-list-content"},o("slot",null)))}};s.style=i;export{s as dso_action_list};
|
|
2
|
+
//# sourceMappingURL=p-ee2771d4.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["actionListCss","ActionList","render","h","Host","this","listTitle","class"],"sources":["./src/components/action-list/action-list.scss?tag=dso-action-list&encapsulation=shadow","./src/components/action-list/action-list.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/headings\";\r\n\r\n:host {\r\n background-color: colors.$lichtblauw-20;\r\n display: block;\r\n padding-block: units.$u2;\r\n padding-inline-start: units.$u2;\r\n padding-inline-end: units.$u10 + units.$u2;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\nh2 {\r\n @include headings.base();\r\n @include headings.h2();\r\n\r\n margin-block: 0 units.$u2;\r\n}\r\n\r\n.dso-action-list-content {\r\n padding-inline-start: units.$u10;\r\n}\r\n","import { h, Component, Host, ComponentInterface, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-action-list\",\r\n styleUrl: \"action-list.scss\",\r\n shadow: true,\r\n})\r\nexport class ActionList implements ComponentInterface {\r\n /**\r\n * The title.\r\n */\r\n @Prop()\r\n listTitle!: string;\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <h2>{this.listTitle}</h2>\r\n <div class=\"dso-action-list-content\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"kDAAA,MAAMA,EAAgB,uS,MCOTC,EAAU,M,kDAOrBC,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,UAAKE,KAAKC,WACVH,EAAA,OAAKI,MAAM,2BACTJ,EAAA,c"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as n,h as t,F as e}from"./p-26cdce1c.js";import{c as o}from"./p-91963e3d.js";import"./p-5950644a.js";const r=":host {\n display: block;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.wrapper {\n height: 100%;\n left: 0;\n position: fixed;\n top: 0;\n visibility: hidden;\n width: 100%;\n}\n.wrapper.visible {\n visibility: visible;\n}\n\n.dimscreen {\n background-color: #000;\n height: 100%;\n opacity: 0.4;\n width: 100%;\n}\n\n.open-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n bottom: 16px;\n font-family: Asap, sans-serif;\n position: fixed;\n right: 16px;\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);\n}\n.open-button:focus, .open-button:focus-visible {\n outline-offset: 2px;\n}\n.open-button:active {\n outline: 0;\n}\n.open-button:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.open-button:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\n.open-button[disabled], .open-button[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\n.open-button.btn-sm {\n line-height: 1rem;\n}\n.open-button.btn-sm dso-icon,\n.open-button.btn-sm svg.di, .open-button.btn-sm.extern::after, .open-button.btn-sm.download::after, .open-button.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.open-button.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.open-button.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.open-button dso-icon,\n.open-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.open-button span + dso-icon,\n.open-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.open-button.dso-spinner-left[disabled], .open-button.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.open-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.open-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.open-button:hover {\n cursor: pointer;\n}\n.open-button.open {\n display: none;\n}\n\n.close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border-right: 0;\n border-top: 0;\n border-radius: 0 0 0 8px;\n height: 40px;\n min-width: 40px;\n padding: 0;\n position: fixed;\n right: 0;\n width: 40px;\n top: 0;\n}\n.close-button:focus, .close-button:focus-visible {\n outline-offset: 2px;\n}\n.close-button:active {\n outline: 0;\n}\n.close-button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.close-button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.close-button[disabled], .close-button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.close-button.btn-sm {\n line-height: 1rem;\n}\n.close-button.btn-sm dso-icon,\n.close-button.btn-sm svg.di, .close-button.btn-sm.extern::after, .close-button.btn-sm.download::after, .close-button.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.close-button.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.close-button.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.close-button dso-icon,\n.close-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.close-button span + dso-icon,\n.close-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.close-button.dso-spinner-left[disabled], .close-button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.close-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.close-button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.close-button.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.close-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.close-button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.close-button.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n.close-button dso-icon {\n margin-left: 0;\n margin-right: 0;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n}\n.close-button:hover, .close-button:active, .close-button:focus {\n cursor: pointer;\n}\n.close-button.close {\n display: none;\n}\n\n.iframe-container {\n background-color: #fff;\n border: 0;\n border-left: 1px solid #ccc;\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.4);\n height: 100%;\n position: absolute;\n top: 0;\n transition: right 0.5s;\n}\n@media screen and (max-width: 480px) {\n .iframe-container {\n right: -320px;\n width: 320px;\n }\n}\n@media screen and (min-width: 481px) and (max-width: 767px) {\n .iframe-container {\n right: -480px;\n width: 480px;\n }\n}\n@media screen and (min-width: 768px) {\n .iframe-container {\n right: -640px;\n width: 640px;\n }\n}\n.iframe-container.open {\n right: 0;\n}\n\niframe {\n border: 0;\n height: 100%;\n width: 100%;\n}";const s=500;const i=class{constructor(t){n(this,t);this.iframeLoaded=false;this.openClick=()=>{this.visibility="visible";this.slideState="open";setTimeout((()=>{this.isOpen="open"}));if(!this.loadIframe){setTimeout((()=>{this.loadIframe=true}),s)}};this.closeClick=()=>{this.isOpen="close";this.slideState="close";setTimeout((()=>{this.visibility="hidden"}),s)};this.label="Hulp nodig";this.url=undefined;this.visibility="hidden";this.isOpen="close";this.slideState="close";this.loadIframe=false}watchUrl(n){if(this.isOpen==="open"&&this.iframeUrl!==n){this.iframeUrl=n}}watchIsOpen(n){const t=document.querySelector("body");if(n==="open"){t===null||t===void 0?void 0:t.style.setProperty("overflow","hidden");if(this.iframeUrl!==this.url){this.iframeUrl=this.url}}else{t===null||t===void 0?void 0:t.style.removeProperty("overflow")}}keyDownListener(n){if(n.key==="Escape"&&this.isOpen==="open"){this.closeClick()}}createTrap(){var n,t;if(!this.panelWrapperElement){return}this.trap=o(this.panelWrapperElement,{allowOutsideClick:true,tabbableOptions:{getShadowRoot:true},setReturnFocus:(n=this.openButtonElement)!==null&&n!==void 0?n:false,initialFocus:(t=this.closeButtonElement)!==null&&t!==void 0?t:false}).activate()}componentDidRender(){var n;if(this.isOpen==="open"&&this.iframeLoaded&&!this.trap){this.createTrap()}else if(this.isOpen==="close"&&this.trap){(n=this.trap)===null||n===void 0?void 0:n.deactivate();delete this.trap}}render(){return t(e,null,t("button",{type:"button",onClick:this.openClick,class:`open-button ${this.isOpen}`,"aria-expanded":this.isOpen==="open"?"true":"false","aria-haspopup":"dialog","aria-controls":"dso-panel-wrapper",ref:n=>this.openButtonElement=n},t("dso-icon",{icon:"help"}),t("span",null,this.label)),t("div",{id:"dso-panel-wrapper",class:`wrapper ${this.visibility}`,"aria-label":"helpcentrum",role:"dialog",ref:n=>this.panelWrapperElement=n},t("div",{class:"dimscreen",onClick:this.closeClick}),t("div",{class:`iframe-container ${this.slideState}`,"aria-live":"polite"},this.loadIframe?t("iframe",{src:this.iframeUrl,tabindex:"0",onLoad:()=>{this.createTrap();this.iframeLoaded=true}}):t("div",null)),t("button",{type:"button",class:`close-button ${this.isOpen}`,onClick:this.closeClick,"aria-expanded":this.isOpen==="open"?"true":"false","aria-controls":"dso-panel-wrapper",ref:n=>this.closeButtonElement=n},t("dso-icon",{icon:"times"}),t("span",{class:"sr-only"},"sluiten"))))}static get watchers(){return{url:["watchUrl"],isOpen:["watchIsOpen"]}}};i.style=r;export{i as dso_helpcenter_panel};
|
|
2
|
+
//# sourceMappingURL=p-ef23bffb.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["helpcenterPanelCss","maxCssTransitionMilliseconds","HelpcenterPanel","this","iframeLoaded","openClick","visibility","slideState","setTimeout","isOpen","loadIframe","closeClick","watchUrl","url","iframeUrl","watchIsOpen","body","document","querySelector","style","setProperty","removeProperty","keyDownListener","event","key","createTrap","panelWrapperElement","trap","createFocusTrap","allowOutsideClick","tabbableOptions","getShadowRoot","setReturnFocus","_a","openButtonElement","initialFocus","_b","closeButtonElement","activate","componentDidRender","deactivate","render","h","Fragment","type","onClick","class","ref","element","icon","label","id","role","src","tabindex","onLoad"],"sources":["./src/components/helpcenter-panel/helpcenter-panel.scss?tag=dso-helpcenter-panel&encapsulation=shadow","./src/components/helpcenter-panel/helpcenter-panel.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.wrapper {\r\n height: 100%;\r\n left: 0;\r\n position: fixed;\r\n top: 0;\r\n visibility: hidden;\r\n width: 100%;\r\n\r\n &.visible {\r\n visibility: visible;\r\n }\r\n}\r\n\r\n.dimscreen {\r\n background-color: colors.$zwart;\r\n height: 100%;\r\n opacity: 0.4;\r\n width: 100%;\r\n}\r\n\r\n.open-button {\r\n @include button.primary($modifiers: false);\r\n\r\n border: 0;\r\n bottom: units.$u2;\r\n font-family: typography.$font-family-base;\r\n position: fixed;\r\n right: units.$u2;\r\n box-shadow: 0 4px 8px 0 rgb(0 0 0 / 20%);\r\n\r\n &:hover {\r\n cursor: pointer;\r\n }\r\n\r\n &.open {\r\n display: none;\r\n }\r\n}\r\n\r\n.close-button {\r\n @include button.secondary($modifiers: false);\r\n\r\n border-right: 0;\r\n border-top: 0;\r\n border-radius: 0 0 0 units.$u1;\r\n height: units.$u5;\r\n min-width: units.$u5;\r\n padding: 0;\r\n position: fixed;\r\n right: 0;\r\n width: units.$u5;\r\n top: 0;\r\n\r\n dso-icon {\r\n margin-left: 0;\r\n margin-right: 0;\r\n position: absolute;\r\n left: 50%;\r\n top: 50%;\r\n transform: translate(-50%, -50%);\r\n }\r\n\r\n &:hover,\r\n &:active,\r\n &:focus {\r\n cursor: pointer;\r\n }\r\n\r\n &.close {\r\n display: none;\r\n }\r\n}\r\n\r\n.iframe-container {\r\n background-color: colors.$wit;\r\n border: 0;\r\n border-left: 1px solid colors.$grijs-20;\r\n box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.4);\r\n height: 100%;\r\n position: absolute;\r\n top: 0;\r\n transition: right 0.5s;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n right: -320px;\r\n width: 320px;\r\n }\r\n\r\n @media screen and (min-width: (media-query-breakpoints.$screen-xs-min + 1)) and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n right: -480px;\r\n width: 480px;\r\n }\r\n\r\n @media screen and (min-width: media-query-breakpoints.$screen-sm-min) {\r\n right: -640px;\r\n width: 640px;\r\n }\r\n\r\n &.open {\r\n right: 0;\r\n }\r\n}\r\n\r\niframe {\r\n border: 0;\r\n height: 100%;\r\n width: 100%;\r\n}\r\n","import { h, Component, Fragment, Prop, State, Watch, Listen } from \"@stencil/core\";\r\n\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\n\r\nconst maxCssTransitionMilliseconds = 500;\r\n\r\n@Component({\r\n tag: \"dso-helpcenter-panel\",\r\n styleUrl: \"helpcenter-panel.scss\",\r\n shadow: true,\r\n})\r\nexport class HelpcenterPanel {\r\n private iframeUrl?: string;\r\n\r\n private trap?: FocusTrap;\r\n\r\n private panelWrapperElement?: HTMLDivElement;\r\n\r\n private openButtonElement?: HTMLButtonElement;\r\n\r\n private closeButtonElement?: HTMLButtonElement;\r\n\r\n private iframeLoaded = false;\r\n\r\n /**\r\n * The label on the help button that activates the Helpcenter.\r\n */\r\n @Prop()\r\n label = \"Hulp nodig\";\r\n\r\n /**\r\n * The URL that's loaded when the Helpcenter opens.\r\n */\r\n @Prop()\r\n url!: string;\r\n\r\n @State()\r\n visibility: \"visible\" | \"hidden\" = \"hidden\";\r\n\r\n @State()\r\n isOpen: \"open\" | \"close\" = \"close\";\r\n\r\n @State()\r\n slideState: \"open\" | \"close\" = \"close\";\r\n\r\n @State()\r\n loadIframe = false;\r\n\r\n @Watch(\"url\")\r\n watchUrl(url: string) {\r\n if (this.isOpen === \"open\" && this.iframeUrl !== url) {\r\n this.iframeUrl = url;\r\n }\r\n }\r\n\r\n @Watch(\"isOpen\")\r\n watchIsOpen(isOpen: \"open\" | \"close\") {\r\n const body = document.querySelector(\"body\");\r\n\r\n if (isOpen === \"open\") {\r\n body?.style.setProperty(\"overflow\", \"hidden\");\r\n\r\n if (this.iframeUrl !== this.url) {\r\n this.iframeUrl = this.url;\r\n }\r\n } else {\r\n body?.style.removeProperty(\"overflow\");\r\n }\r\n }\r\n\r\n @Listen(\"keydown\", { target: \"window\" })\r\n keyDownListener(event: KeyboardEvent) {\r\n if (event.key === \"Escape\" && this.isOpen === \"open\") {\r\n this.closeClick();\r\n }\r\n }\r\n\r\n private createTrap() {\r\n if (!this.panelWrapperElement) {\r\n return;\r\n }\r\n\r\n this.trap = createFocusTrap(this.panelWrapperElement, {\r\n allowOutsideClick: true,\r\n tabbableOptions: {\r\n getShadowRoot: true,\r\n },\r\n setReturnFocus: this.openButtonElement ?? false,\r\n initialFocus: this.closeButtonElement ?? false,\r\n }).activate();\r\n }\r\n\r\n private openClick = () => {\r\n this.visibility = \"visible\";\r\n this.slideState = \"open\";\r\n setTimeout(() => {\r\n this.isOpen = \"open\";\r\n });\r\n if (!this.loadIframe) {\r\n setTimeout(() => {\r\n this.loadIframe = true;\r\n }, maxCssTransitionMilliseconds);\r\n }\r\n };\r\n\r\n private closeClick = () => {\r\n this.isOpen = \"close\";\r\n this.slideState = \"close\";\r\n setTimeout(() => {\r\n this.visibility = \"hidden\";\r\n }, maxCssTransitionMilliseconds);\r\n };\r\n\r\n componentDidRender() {\r\n if (this.isOpen === \"open\" && this.iframeLoaded && !this.trap) {\r\n this.createTrap();\r\n } else if (this.isOpen === \"close\" && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n <button\r\n type=\"button\"\r\n onClick={this.openClick}\r\n class={`open-button ${this.isOpen}`}\r\n aria-expanded={this.isOpen === \"open\" ? \"true\" : \"false\"}\r\n aria-haspopup=\"dialog\"\r\n aria-controls=\"dso-panel-wrapper\"\r\n ref={(element) => (this.openButtonElement = element)}\r\n >\r\n <dso-icon icon=\"help\"></dso-icon>\r\n <span>{this.label}</span>\r\n </button>\r\n <div\r\n id=\"dso-panel-wrapper\"\r\n class={`wrapper ${this.visibility}`}\r\n aria-label=\"helpcentrum\"\r\n role=\"dialog\"\r\n ref={(element) => (this.panelWrapperElement = element)}\r\n >\r\n <div class=\"dimscreen\" onClick={this.closeClick} />\r\n <div class={`iframe-container ${this.slideState}`} aria-live=\"polite\">\r\n {this.loadIframe ? (\r\n <iframe\r\n src={this.iframeUrl}\r\n tabindex=\"0\"\r\n onLoad={() => {\r\n this.createTrap();\r\n this.iframeLoaded = true;\r\n }}\r\n />\r\n ) : (\r\n <div />\r\n )}\r\n </div>\r\n <button\r\n type=\"button\"\r\n class={`close-button ${this.isOpen}`}\r\n onClick={this.closeClick}\r\n aria-expanded={this.isOpen === \"open\" ? \"true\" : \"false\"}\r\n aria-controls=\"dso-panel-wrapper\"\r\n ref={(element) => (this.closeButtonElement = element)}\r\n >\r\n <dso-icon icon=\"times\"></dso-icon>\r\n <span class=\"sr-only\">sluiten</span>\r\n </button>\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"8GAAA,MAAMA,EAAqB,8sWCI3B,MAAMC,EAA+B,I,MAOxBC,EAAe,M,yBAWlBC,KAAAC,aAAe,MAsEfD,KAAAE,UAAY,KAClBF,KAAKG,WAAa,UAClBH,KAAKI,WAAa,OAClBC,YAAW,KACTL,KAAKM,OAAS,MAAM,IAEtB,IAAKN,KAAKO,WAAY,CACpBF,YAAW,KACTL,KAAKO,WAAa,IAAI,GACrBT,E,GAICE,KAAAQ,WAAa,KACnBR,KAAKM,OAAS,QACdN,KAAKI,WAAa,QAClBC,YAAW,KACTL,KAAKG,WAAa,QAAQ,GACzBL,EAA6B,E,WAlF1B,a,mCAS2B,S,YAGR,Q,gBAGI,Q,gBAGlB,K,CAGbW,SAASC,GACP,GAAIV,KAAKM,SAAW,QAAUN,KAAKW,YAAcD,EAAK,CACpDV,KAAKW,UAAYD,C,EAKrBE,YAAYN,GACV,MAAMO,EAAOC,SAASC,cAAc,QAEpC,GAAIT,IAAW,OAAQ,CACrBO,IAAI,MAAJA,SAAI,SAAJA,EAAMG,MAAMC,YAAY,WAAY,UAEpC,GAAIjB,KAAKW,YAAcX,KAAKU,IAAK,CAC/BV,KAAKW,UAAYX,KAAKU,G,MAEnB,CACLG,IAAI,MAAJA,SAAI,SAAJA,EAAMG,MAAME,eAAe,W,EAK/BC,gBAAgBC,GACd,GAAIA,EAAMC,MAAQ,UAAYrB,KAAKM,SAAW,OAAQ,CACpDN,KAAKQ,Y,EAIDc,a,QACN,IAAKtB,KAAKuB,oBAAqB,CAC7B,M,CAGFvB,KAAKwB,KAAOC,EAAgBzB,KAAKuB,oBAAqB,CACpDG,kBAAmB,KACnBC,gBAAiB,CACfC,cAAe,MAEjBC,gBAAgBC,EAAA9B,KAAK+B,qBAAiB,MAAAD,SAAA,EAAAA,EAAI,MAC1CE,cAAcC,EAAAjC,KAAKkC,sBAAkB,MAAAD,SAAA,EAAAA,EAAI,QACxCE,U,CAwBLC,qB,MACE,GAAIpC,KAAKM,SAAW,QAAUN,KAAKC,eAAiBD,KAAKwB,KAAM,CAC7DxB,KAAKsB,Y,MACA,GAAItB,KAAKM,SAAW,SAAWN,KAAKwB,KAAM,EAC/CM,EAAA9B,KAAKwB,QAAI,MAAAM,SAAA,SAAAA,EAAEO,oBAEJrC,KAAKwB,I,EAIhBc,SACE,OACEC,EAAAC,EAAA,KACED,EAAA,UACEE,KAAK,SACLC,QAAS1C,KAAKE,UACdyC,MAAO,eAAe3C,KAAKM,SAAQ,gBACpBN,KAAKM,SAAW,OAAS,OAAS,QAAO,gBAC1C,SAAQ,gBACR,oBACdsC,IAAMC,GAAa7C,KAAK+B,kBAAoBc,GAE5CN,EAAA,YAAUO,KAAK,SACfP,EAAA,YAAOvC,KAAK+C,QAEdR,EAAA,OACES,GAAG,oBACHL,MAAO,WAAW3C,KAAKG,aAAY,aACxB,cACX8C,KAAK,SACLL,IAAMC,GAAa7C,KAAKuB,oBAAsBsB,GAE9CN,EAAA,OAAKI,MAAM,YAAYD,QAAS1C,KAAKQ,aACrC+B,EAAA,OAAKI,MAAO,oBAAoB3C,KAAKI,aAAY,YAAY,UAC1DJ,KAAKO,WACJgC,EAAA,UACEW,IAAKlD,KAAKW,UACVwC,SAAS,IACTC,OAAQ,KACNpD,KAAKsB,aACLtB,KAAKC,aAAe,IAAI,IAI5BsC,EAAA,aAGJA,EAAA,UACEE,KAAK,SACLE,MAAO,gBAAgB3C,KAAKM,SAC5BoC,QAAS1C,KAAKQ,WAAU,gBACTR,KAAKM,SAAW,OAAS,OAAS,QAAO,gBAC1C,oBACdsC,IAAMC,GAAa7C,KAAKkC,mBAAqBW,GAE7CN,EAAA,YAAUO,KAAK,UACfP,EAAA,QAAMI,MAAM,WAAS,a"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as o,h as t}from"./p-26cdce1c.js";const s=":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-attachments{color:var(--dso-attachments-counter-color, #666);display:inline-block;font-weight:400;text-decoration:none;white-space:nowrap}";const n=class{constructor(t){o(this,t);this.count=undefined}render(){return t("span",{class:"dso-attachments"},this.count," ",t("span",{class:"sr-only"},"bijlage",this.count!==1?"n":""),t("dso-icon",{icon:"paperclip"}))}};n.style=s;export{n as dso_attachments_counter};
|
|
2
|
+
//# sourceMappingURL=p-f70d6a66.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["attachmentsCounterCss","AttachmentsCounter","render","h","class","this","count","icon"],"sources":["./src/components/attachments-counter/attachments-counter.scss?tag=dso-attachments-counter&encapsulation=shadow","./src/components/attachments-counter/attachments-counter.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/attachments-counter\";\r\n\r\n:host {\r\n display: inline-block;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-attachments {\r\n @include attachments-counter.root();\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: \"dso-attachments-counter\",\r\n styleUrl: \"attachments-counter.scss\",\r\n shadow: true,\r\n})\r\nexport class AttachmentsCounter {\r\n /**\r\n * The number of attachments.\r\n */\r\n @Prop()\r\n count!: number;\r\n\r\n render() {\r\n return (\r\n <span class=\"dso-attachments\">\r\n {this.count} <span class=\"sr-only\">bijlage{this.count !== 1 ? \"n\" : \"\"}</span>\r\n <dso-icon icon=\"paperclip\"></dso-icon>\r\n </span>\r\n );\r\n }\r\n}\r\n"],"mappings":"2CAAA,MAAMA,EAAwB,6U,MCOjBC,EAAkB,M,8CAO7BC,SACE,OACEC,EAAA,QAAMC,MAAM,mBACTC,KAAKC,MAAK,IAAEH,EAAA,QAAMC,MAAM,WAAS,UAASC,KAAKC,QAAU,EAAI,IAAM,IACpEH,EAAA,YAAUI,KAAK,c"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as n,c as t,h as o,H as e}from"./p-26cdce1c.js";const i=":host {\n background-color: #fff;\n border: 1px solid #ccc;\n bottom: 0;\n display: block;\n font-family: Asap, sans-serif;\n position: absolute;\n top: 0;\n left: 100%;\n transition: transform 300ms ease;\n width: 300px;\n}\n\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host([open]) {\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\n transform: translateX(-100%);\n}\n:host([open]) .toggle-visibility-button {\n display: none;\n}\n:host([open]) .zoom-buttons {\n top: 16px;\n}\n\nbutton {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n.toggle-visibility-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n font-weight: 600;\n margin-right: 16px;\n padding: 8px 16px;\n white-space: nowrap;\n position: absolute;\n right: calc(100% + 56px);\n top: 16px;\n}\n.toggle-visibility-button:focus, .toggle-visibility-button:focus-visible {\n outline-offset: 2px;\n}\n.toggle-visibility-button:active {\n outline: 0;\n}\n.toggle-visibility-button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.toggle-visibility-button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.toggle-visibility-button[disabled], .toggle-visibility-button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.toggle-visibility-button.btn-sm {\n line-height: 1rem;\n}\n.toggle-visibility-button.btn-sm dso-icon,\n.toggle-visibility-button.btn-sm svg.di, .toggle-visibility-button.btn-sm.extern::after, .toggle-visibility-button.btn-sm.download::after, .toggle-visibility-button.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.toggle-visibility-button.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button dso-icon,\n.toggle-visibility-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.toggle-visibility-button span + dso-icon,\n.toggle-visibility-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.toggle-visibility-button.dso-spinner-left[disabled], .toggle-visibility-button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.toggle-visibility-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.toggle-visibility-button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.toggle-visibility-button.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.toggle-visibility-button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.toggle-visibility-button.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n.toggle-visibility-button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n\n.zoom-buttons {\n border-radius: 4px;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n display: flex;\n flex-wrap: wrap;\n flex: 0 0;\n position: absolute;\n right: calc(100% + 16px);\n top: 16px;\n}\n.zoom-buttons button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n padding: 8px;\n border-radius: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n flex: 0 0 100%;\n height: 40px;\n min-width: auto;\n width: 40px;\n}\n.zoom-buttons button:focus, .zoom-buttons button:focus-visible {\n outline-offset: 2px;\n}\n.zoom-buttons button:active {\n outline: 0;\n}\n.zoom-buttons button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.zoom-buttons button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.zoom-buttons button[disabled], .zoom-buttons button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.zoom-buttons button.btn-sm {\n line-height: 1rem;\n}\n.zoom-buttons button.btn-sm dso-icon,\n.zoom-buttons button.btn-sm svg.di, .zoom-buttons button.btn-sm.extern::after, .zoom-buttons button.btn-sm.download::after, .zoom-buttons button.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.zoom-buttons button.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.zoom-buttons button.dso-spinner-left[disabled], .zoom-buttons button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.zoom-buttons button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.zoom-buttons button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.zoom-buttons button.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.zoom-buttons button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.zoom-buttons button.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n.zoom-buttons button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n.zoom-buttons button + button {\n border-radius: 0;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n border-top: 1px solid #ccc;\n}\n\n.close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n padding: 0;\n position: absolute;\n right: 16px;\n top: 16px;\n}\n.close-button:focus, .close-button:focus-visible {\n outline-offset: 2px;\n}\n.close-button:active {\n outline: 0;\n}\n.close-button[disabled] {\n color: #afcf9d;\n}\n.close-button[disabled].dso-spinner-left, .close-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n.close-button:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.close-button:not([disabled]):active {\n color: #173521;\n}\n.close-button.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.close-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.close-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.close-button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nsection:not([hidden]) {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\nheader,\n.content {\n padding: 16px;\n}\n\nheader {\n border-bottom: 1px solid #ccc;\n flex-grow: 0;\n position: relative;\n}\nheader h2 {\n color: #275937;\n font-family: \"Asap\", sans-serif;\n line-height: 1;\n margin: 0;\n}\n\n@media screen and (max-width: 767px) {\n .toggle-visibility-button {\n height: 40px;\n margin-right: 0;\n min-width: auto;\n right: calc(100% + 16px);\n width: 40px;\n }\n .toggle-visibility-button dso-icon {\n margin-right: 0;\n }\n .toggle-visibility-button span {\n visibility: hidden;\n }\n .zoom-buttons {\n top: 72px;\n }\n}";var r=undefined&&undefined.__classPrivateFieldGet||function(n,t,o,e){if(o==="a"&&!e)throw new TypeError("Private accessor was defined without a getter");if(typeof t==="function"?n!==t||!e:!t.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return o==="m"?e:o==="a"?e.call(n):e?e.value:t.get(n)};var s=undefined&&undefined.__classPrivateFieldSet||function(n,t,o,e,i){if(e==="m")throw new TypeError("Private method is not writable");if(e==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t==="function"?n!==t||!i:!t.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e==="a"?i.call(n,o):i?i.value=o:t.set(n,o),o};var a,l;const d=300;const c=class{constructor(o){n(this,o);this.dsoZoomIn=t(this,"dsoZoomIn",7);this.dsoZoomOut=t(this,"dsoZoomOut",7);this.dsoToggle=t(this,"dsoToggle",7);this.panelTitle="Kaartlagen";a.set(this,void 0);l.set(this,void 0);this.open=false;this.disableZoom=undefined;this.hideContent=!this.open}watchOpen(n){if(n){this.hideContent=false;setTimeout((()=>{var n;return(n=r(this,a,"f"))===null||n===void 0?void 0:n.focus()}),d)}else{setTimeout((()=>{var n;this.hideContent=true;(n=r(this,l,"f"))===null||n===void 0?void 0:n.focus()}),d)}}async toggleVisibility(n){this.open=!this.open;this.dsoToggle.emit({originalEvent:n,open:this.open})}render(){return o(e,null,o("button",{type:"button",id:"toggle-visibility-button",class:"toggle-visibility-button",onClick:n=>this.toggleVisibility(n),ref:n=>s(this,l,n,"f")},o("dso-icon",{icon:"layers"}),o("span",null,"Kaartlagen")),o("div",{class:"zoom-buttons"},o("button",{type:"button",onClick:n=>this.dsoZoomIn.emit(n),disabled:this.disableZoom==="in"||this.disableZoom==="both"},o("span",null,"Zoom in"),o("dso-icon",{icon:"plus"})),o("button",{type:"button",onClick:n=>this.dsoZoomOut.emit(n),disabled:this.disableZoom==="out"||this.disableZoom==="both"},o("span",null,"Zoom uit"),o("dso-icon",{icon:"minus"}))),o("section",{hidden:this.hideContent},o("header",null,o("h2",null,this.panelTitle),o("button",{type:"button",class:"close-button",onClick:n=>this.toggleVisibility(n),ref:n=>s(this,a,n,"f")},o("span",null,"Verberg paneel ",this.panelTitle),o("dso-icon",{icon:"times"}))),o("dso-scrollable",null,o("div",{class:"content"},o("slot",null)))))}static get watchers(){return{open:["watchOpen"]}}};a=new WeakMap,l=new WeakMap;c.style=i;export{c as dso_map_controls};
|
|
2
|
+
//# sourceMappingURL=p-fa6d8d5a.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["mapControlsCss","transitionDuration","MapControls","this","panelTitle","_MapControls_closeButtonElement","set","_MapControls_toggleButtonElement","open","watchOpen","hideContent","setTimeout","_a","__classPrivateFieldGet","focus","async","e","dsoToggle","emit","originalEvent","render","h","Host","type","id","class","onClick","toggleVisibility","ref","element","__classPrivateFieldSet","icon","dsoZoomIn","disabled","disableZoom","dsoZoomOut","hidden"],"sources":["./src/components/map-controls/map-controls.scss?tag=dso-map-controls&encapsulation=shadow","./src/components/map-controls/map-controls.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n\r\n@use \"map-controls.variables\" as core-map-controls-variables;\r\n\r\n:host {\r\n background-color: colors.$wit;\r\n border: 1px solid colors.$grijs-20;\r\n bottom: 0;\r\n display: block;\r\n font-family: typography.$font-family-base;\r\n position: absolute;\r\n top: 0;\r\n left: 100%;\r\n transition: transform core-map-controls-variables.$transition-duration ease;\r\n width: 300px;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host([open]) {\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\r\n transform: translateX(-100%);\r\n\r\n .toggle-visibility-button {\r\n display: none;\r\n }\r\n\r\n .zoom-buttons {\r\n top: units.$u2;\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n}\r\n\r\n.toggle-visibility-button {\r\n @include button.map();\r\n\r\n position: absolute;\r\n right: calc(100% + #{core-map-controls-variables.$controls-margin + core-map-controls-variables.$zoom-button-size});\r\n top: core-map-controls-variables.$controls-margin;\r\n}\r\n\r\n.zoom-buttons {\r\n border-radius: 4px;\r\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\r\n display: flex;\r\n flex-wrap: wrap;\r\n flex: 0 0;\r\n position: absolute;\r\n right: calc(100% + core-map-controls-variables.$controls-margin);\r\n top: core-map-controls-variables.$controls-margin;\r\n\r\n button {\r\n @include button.secondary($modifiers: false, $icon-only: true);\r\n @include button.map-focus();\r\n\r\n border: 0;\r\n padding: 8px;\r\n border-radius: 0;\r\n border-top-left-radius: 4px;\r\n border-top-right-radius: 4px;\r\n flex: 0 0 100%;\r\n height: core-map-controls-variables.$zoom-button-size;\r\n min-width: auto;\r\n width: core-map-controls-variables.$zoom-button-size;\r\n\r\n + button {\r\n border-radius: 0;\r\n border-bottom-left-radius: 4px;\r\n border-bottom-right-radius: 4px;\r\n border-top: 1px solid colors.$grijs-20;\r\n }\r\n }\r\n}\r\n\r\n.close-button {\r\n @include button.tertiary($modifiers: false, $icon-only: true);\r\n\r\n padding: 0;\r\n position: absolute;\r\n right: core-map-controls-variables.$controls-margin;\r\n top: core-map-controls-variables.$controls-margin;\r\n}\r\n\r\nsection:not([hidden]) {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n}\r\n\r\nheader,\r\n.content {\r\n padding: units.$u2;\r\n}\r\n\r\nheader {\r\n border-bottom: 1px solid colors.$grijs-20;\r\n flex-grow: 0;\r\n position: relative;\r\n\r\n h2 {\r\n color: colors.$bosgroen;\r\n font-family: typography.$headings-font-family;\r\n line-height: 1;\r\n margin: 0;\r\n }\r\n}\r\n\r\n@media screen and (max-width: media-query-breakpoints.$screen-xs-max) {\r\n .toggle-visibility-button {\r\n height: units.$u5;\r\n margin-right: 0;\r\n min-width: auto;\r\n right: calc(100% + core-map-controls-variables.$controls-margin);\r\n width: units.$u5;\r\n\r\n dso-icon {\r\n margin-right: 0;\r\n }\r\n\r\n span {\r\n visibility: hidden;\r\n }\r\n }\r\n\r\n .zoom-buttons {\r\n top: units.$u9;\r\n }\r\n}\r\n","import { Component, h, Host, Prop, Event, EventEmitter, State, Watch, Method } from \"@stencil/core\";\r\nimport { MapControlsToggleEvent } from \"./map-controls.interfaces\";\r\n\r\n// Sync with $transition-duration in ./map-controls.scss\r\nconst transitionDuration = 300;\r\n\r\n@Component({\r\n tag: \"dso-map-controls\",\r\n styleUrl: \"./map-controls.scss\",\r\n shadow: true,\r\n})\r\nexport class MapControls {\r\n private panelTitle = \"Kaartlagen\";\r\n\r\n /**\r\n * To show and hide the Map Controls.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n open = false;\r\n\r\n /**\r\n * To disable the zoom controls:\r\n *\r\n * * `in`: Disable zoom in button.\r\n * * `out`: Disable zoom out button.\r\n * * `both`: Disable zoom in and zoom out.\r\n */\r\n @Prop()\r\n disableZoom?: \"in\" | \"out\" | \"both\";\r\n\r\n /**\r\n * Emitted when the user activates the zoom in button.\r\n */\r\n @Event()\r\n dsoZoomIn!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the zoom out button.\r\n */\r\n @Event()\r\n dsoZoomOut!: EventEmitter<MouseEvent>;\r\n\r\n /**\r\n * emits when the panel opens or closes.\r\n *\r\n * - `event.detail.originalEvent` contains the original `MouseEvent / KeyboardEvent` when the panel is toggled by clicking the visibility button or the close button.\r\n * - `event.detail.open` is true when the panel opens and false when the panel closes.\r\n */\r\n @Event()\r\n dsoToggle!: EventEmitter<MapControlsToggleEvent>;\r\n\r\n @State()\r\n hideContent = !this.open;\r\n\r\n @Watch(\"open\")\r\n watchOpen(open: boolean) {\r\n if (open) {\r\n this.hideContent = false;\r\n\r\n setTimeout(() => this.#closeButtonElement?.focus(), transitionDuration);\r\n } else {\r\n setTimeout(() => {\r\n this.hideContent = true;\r\n\r\n this.#toggleButtonElement?.focus();\r\n }, transitionDuration);\r\n }\r\n }\r\n\r\n /**\r\n * Emitted when the visibility is toggled.\r\n *\r\n * Can be used to recalculate map widths or reposition center when the Map Controls opens or closes.\r\n * @param e\r\n */\r\n @Method()\r\n async toggleVisibility(e: MouseEvent | KeyboardEvent) {\r\n this.open = !this.open;\r\n\r\n this.dsoToggle.emit({\r\n originalEvent: e,\r\n open: this.open,\r\n });\r\n }\r\n\r\n #closeButtonElement: HTMLButtonElement | undefined;\r\n #toggleButtonElement: HTMLButtonElement | undefined;\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <button\r\n type=\"button\"\r\n id=\"toggle-visibility-button\"\r\n class=\"toggle-visibility-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#toggleButtonElement = element)}\r\n >\r\n <dso-icon icon=\"layers\"></dso-icon>\r\n <span>Kaartlagen</span>\r\n </button>\r\n <div class=\"zoom-buttons\">\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomIn.emit(e)}\r\n disabled={this.disableZoom === \"in\" || this.disableZoom === \"both\"}\r\n >\r\n <span>Zoom in</span>\r\n <dso-icon icon=\"plus\"></dso-icon>\r\n </button>\r\n <button\r\n type=\"button\"\r\n onClick={(e) => this.dsoZoomOut.emit(e)}\r\n disabled={this.disableZoom === \"out\" || this.disableZoom === \"both\"}\r\n >\r\n <span>Zoom uit</span>\r\n <dso-icon icon=\"minus\"></dso-icon>\r\n </button>\r\n </div>\r\n <section hidden={this.hideContent}>\r\n <header>\r\n <h2>{this.panelTitle}</h2>\r\n <button\r\n type=\"button\"\r\n class=\"close-button\"\r\n onClick={(e) => this.toggleVisibility(e)}\r\n ref={(element) => (this.#closeButtonElement = element)}\r\n >\r\n <span>Verberg paneel {this.panelTitle}</span>\r\n <dso-icon icon=\"times\"></dso-icon>\r\n </button>\r\n </header>\r\n <dso-scrollable>\r\n <div class=\"content\">\r\n <slot></slot>\r\n </div>\r\n </dso-scrollable>\r\n </section>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAA,MAAMA,EAAiB,6tjB,kwBCIvB,MAAMC,EAAqB,I,MAOdC,EAAW,M,0IACdC,KAAAC,WAAa,aAyErBC,EAAAC,IAAAH,UAAA,GACAI,EAAAD,IAAAH,UAAA,G,UApEO,M,6CAkCQA,KAAKK,I,CAGpBC,UAAUD,GACR,GAAIA,EAAM,CACRL,KAAKO,YAAc,MAEnBC,YAAW,SAAAC,EAAM,OAAAA,EAAAC,EAAAV,KAAIE,EAAA,QAAoB,MAAAO,SAAA,SAAAA,EAAEE,OAAO,GAAEb,E,KAC/C,CACLU,YAAW,K,MACTR,KAAKO,YAAc,MAEnBE,EAAAC,EAAAV,KAAII,EAAA,QAAqB,MAAAK,SAAA,SAAAA,EAAEE,OAAO,GACjCb,E,EAWPc,uBAAuBC,GACrBb,KAAKK,MAAQL,KAAKK,KAElBL,KAAKc,UAAUC,KAAK,CAClBC,cAAeH,EACfR,KAAML,KAAKK,M,CAOfY,SACE,OACEC,EAACC,EAAI,KACHD,EAAA,UACEE,KAAK,SACLC,GAAG,2BACHC,MAAM,2BACNC,QAAUV,GAAMb,KAAKwB,iBAAiBX,GACtCY,IAAMC,GAAaC,EAAA3B,KAAII,EAAwBsB,EAAO,MAEtDR,EAAA,YAAUU,KAAK,WACfV,EAAA,2BAEFA,EAAA,OAAKI,MAAM,gBACTJ,EAAA,UACEE,KAAK,SACLG,QAAUV,GAAMb,KAAK6B,UAAUd,KAAKF,GACpCiB,SAAU9B,KAAK+B,cAAgB,MAAQ/B,KAAK+B,cAAgB,QAE5Db,EAAA,uBACAA,EAAA,YAAUU,KAAK,UAEjBV,EAAA,UACEE,KAAK,SACLG,QAAUV,GAAMb,KAAKgC,WAAWjB,KAAKF,GACrCiB,SAAU9B,KAAK+B,cAAgB,OAAS/B,KAAK+B,cAAgB,QAE7Db,EAAA,wBACAA,EAAA,YAAUU,KAAK,YAGnBV,EAAA,WAASe,OAAQjC,KAAKO,aACpBW,EAAA,cACEA,EAAA,UAAKlB,KAAKC,YACViB,EAAA,UACEE,KAAK,SACLE,MAAM,eACNC,QAAUV,GAAMb,KAAKwB,iBAAiBX,GACtCY,IAAMC,GAAaC,EAAA3B,KAAIE,EAAuBwB,EAAO,MAErDR,EAAA,8BAAsBlB,KAAKC,YAC3BiB,EAAA,YAAUU,KAAK,YAGnBV,EAAA,sBACEA,EAAA,OAAKI,MAAM,WACTJ,EAAA,gB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as n,c as t,h as o}from"./p-26cdce1c.js";import{c as e}from"./p-91963e3d.js";import{c as s}from"./p-6a1980b4.js";import"./p-5950644a.js";const i="*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host {\n display: block;\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.dso-manual-input-button {\n cursor: text;\n}\n\n.dso-tertiary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n cursor: pointer;\n}\n.dso-tertiary:focus, .dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\n.dso-tertiary:active {\n outline: 0;\n}\n.dso-tertiary[disabled] {\n color: #afcf9d;\n}\n.dso-tertiary[disabled].dso-spinner-left, .dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\n.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\n.dso-tertiary.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.dso-tertiary.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n.dso-tertiary.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n.dso-tertiary dso-icon + span:not(.sr-only),\n.dso-tertiary svg.di + span:not(.sr-only),\n.dso-tertiary span:not(.sr-only) + dso-icon,\n.dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\n.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\n.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\n.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\n.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\n.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\n.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\n.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\n.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\n.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\n.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\n.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\n.dso-tertiary dso-icon,\n.dso-tertiary svg.di,\n.dso-tertiary span {\n vertical-align: middle;\n}\n\n.dso-input-number:not(.form-group) {\n align-items: center;\n display: flex;\n flex-wrap: wrap;\n}\n.dso-input-number label {\n width: 100%;\n}\n.dso-input-number .dso-input-step-counter {\n align-self: center;\n background-color: transparent;\n border: 0;\n display: inline-block;\n height: 1.5rem;\n text-align: center;\n width: 1.5rem;\n}\n.dso-input-number .dso-input-step-counter:focus, .dso-input-number .dso-input-step-counter:active {\n outline: 0;\n}\n.dso-input-number .dso-input-step-counter::-webkit-outer-spin-button, .dso-input-number .dso-input-step-counter::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.dso-input-number .dso-input-step-counter[type=number] {\n -moz-appearance: textfield;\n}\n\n.dso-btn-group {\n display: flex;\n flex-direction: row;\n}\n.dso-btn-group.dso-disabled > * {\n background-color: #fff;\n border-color: #e5e5e5;\n color: #666;\n pointer-events: none;\n}\n.dso-btn-group > * {\n border-radius: 0;\n}\n.dso-btn-group > *:first-child {\n border-radius: 4px 0 0 4px;\n}\n.dso-btn-group > *:not(:first-child) {\n border-left-style: none !important;\n}\n.dso-btn-group > *:last-child {\n border-radius: 0 4px 4px 0;\n}\n.dso-btn-group > *:only-child {\n border-radius: 4px;\n}\n.dso-btn-group > .dso-input-number {\n background-color: #fff;\n border-color: #ccc;\n color: #191919;\n border-style: solid;\n border-width: 1px;\n flex-wrap: nowrap;\n padding: 0 16px;\n}\n@media screen and (max-width: 767px) {\n .dso-btn-group > .dso-input-number {\n justify-content: center;\n }\n}\n.dso-btn-group > *:hover + .dso-input-number,\n.dso-btn-group > *:focus + .dso-input-number {\n background-color: #fff;\n border-color: #39870c;\n color: #191919;\n}\n.dso-btn-group > *.dso-selected + .dso-input-number {\n background-color: #fff;\n border-color: #39870c;\n color: #191919;\n box-shadow: inset 0 -1px 0 0 #39870c, inset 0 1px 0 0 #39870c, inset -1px 0 0 0 #39870c;\n}\n.dso-btn-group > *:active + .dso-input-number, .dso-btn-group > *:active + .dso-input-number:hover,\n.dso-btn-group > *.active + .dso-input-number,\n.dso-btn-group > *.active + .dso-input-number:hover {\n background-color: #fff;\n border-color: #39870c;\n color: #191919;\n}\n.dso-btn-group > *.disabled + .dso-input-number, .dso-btn-group > *.disabled + .dso-input-number:hover,\n.dso-btn-group > *[disabled] + .dso-input-number,\n.dso-btn-group > *[disabled] + .dso-input-number:hover {\n background-color: #fff;\n border-color: #ccc;\n color: #666;\n opacity: 1;\n}\n.dso-btn-group .dso-list-button {\n padding-right: 15px;\n}\n\n.dso-selectable {\n position: relative;\n padding: 0 0 0 32px;\n}\n.dso-selectable .dso-selectable-options {\n list-style: none;\n margin-top: 8px;\n padding-left: 0;\n}\n.dso-selectable .dso-selectable-options li + li {\n margin-top: 8px;\n}\n.dso-selectable label {\n font-weight: 400;\n line-height: 24px;\n margin: 0;\n}\n.dso-selectable input[type=checkbox][disabled] + label::before, .dso-selectable input[type=checkbox][disabled]:active + label::before, .dso-selectable input[type=checkbox][disabled]:focus + label::before,\n.dso-selectable input[type=radio][disabled] + label::before,\n.dso-selectable input[type=radio][disabled]:active + label::before,\n.dso-selectable input[type=radio][disabled]:focus + label::before {\n background-color: #fff;\n box-shadow: 0 0 0 2px #e5e5e5;\n}\n.dso-selectable input[type=checkbox],\n.dso-selectable input[type=radio] {\n height: 24px;\n left: 0;\n margin: 0;\n opacity: 0;\n position: absolute;\n top: 0;\n width: 24px;\n z-index: 100;\n zoom: 1;\n}\n@media (prefers-contrast: more) {\n .dso-selectable input[type=checkbox],\n .dso-selectable input[type=radio] {\n opacity: 1;\n }\n}\n.dso-selectable input[type=checkbox]:not([disabled]),\n.dso-selectable input[type=radio]:not([disabled]) {\n cursor: pointer;\n}\n.dso-selectable input[type=checkbox] + label,\n.dso-selectable input[type=radio] + label {\n display: inline;\n font-style: normal;\n padding-left: 0;\n}\n.dso-selectable input[type=checkbox] + label::before,\n.dso-selectable input[type=radio] + label::before {\n background: #fff;\n border: 0;\n box-shadow: 0 0 0 2px var(--dso-selectable-color, #275937);\n content: \"\";\n height: 20px;\n left: 2px;\n position: absolute;\n top: 2px;\n width: 20px;\n}\n.dso-selectable input[type=checkbox]:focus,\n.dso-selectable input[type=radio]:focus {\n outline: 0;\n}\n.dso-selectable input[type=checkbox]:focus + label::before,\n.dso-selectable input[type=radio]:focus + label::before {\n box-shadow: 0 0 0 3px var(--dso-selectable-color, #275937);\n height: 18px;\n left: 3px;\n top: 3px;\n width: 18px;\n}\n.dso-selectable input[type=checkbox]:active + label::before, .dso-selectable input[type=checkbox].active + label::before,\n.dso-selectable input[type=radio]:active + label::before,\n.dso-selectable input[type=radio].active + label::before {\n background-color: #ebf3e6;\n box-shadow: 0 0 0 1px #275937;\n height: 22px;\n left: 1px;\n top: 1px;\n width: 22px;\n}\n.dso-selectable input[type=checkbox] + label::before {\n border-radius: 4px;\n}\n.dso-selectable input[type=checkbox] + label::after {\n background: transparent;\n content: \"\";\n left: 6px;\n opacity: 0;\n position: absolute;\n top: 6px;\n zoom: 1;\n}\n.dso-selectable input[type=checkbox]:checked + label::after, .dso-selectable input[type=checkbox]:indeterminate + label::after {\n opacity: 1;\n}\n.dso-selectable input[type=checkbox]:checked + label::after {\n border: solid;\n border-color: var(--dso-selectable-color, #39870c);\n border-top-color: transparent;\n border-width: 0 0 3px 3px;\n height: 8px;\n transform: rotate(-45deg);\n width: 13px;\n}\n.dso-selectable input[type=checkbox]:indeterminate + label::after {\n background-color: var(--dso-selectable-color, #39870c);\n height: 12px;\n width: 12px;\n}\n.dso-selectable input[type=radio] + label::before {\n border-radius: 50%;\n}\n.dso-selectable input[type=radio] + label::after {\n background-color: transparent;\n border-radius: 50%;\n content: \"\";\n height: 12px;\n left: 6px;\n opacity: 0;\n position: absolute;\n top: 6px;\n width: 12px;\n zoom: 1;\n}\n.dso-selectable input[type=radio]:checked + label::after {\n background-color: var(--dso-selectable-color, #39870c);\n opacity: 1;\n}\n.dso-selectable > dso-info {\n float: none;\n margin: 8px 16px 0 0;\n width: 100%;\n}\n.dso-selectable label {\n font-weight: 700;\n}\n\n.dso-list-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #ccc;\n color: #191919;\n border-radius: 4px;\n border-width: 1px;\n border-style: solid;\n font-weight: 600;\n padding: 15px 47px 15px 15px;\n position: relative;\n text-align: left;\n white-space: normal;\n width: 100%;\n}\n.dso-list-button:focus, .dso-list-button:focus-visible {\n outline-offset: 2px;\n}\n.dso-list-button:active {\n outline: 0;\n}\n.dso-list-button:hover, .dso-list-button:focus {\n background-color: #fff;\n border-color: #39870c;\n color: #191919;\n}\n.dso-list-button:active, .dso-list-button:active:hover, .dso-list-button.active, .dso-list-button.active:hover {\n background-color: #fff;\n border-color: #39870c;\n color: #191919;\n}\n.dso-list-button.disabled, .dso-list-button.disabled:hover, .dso-list-button[disabled], .dso-list-button[disabled]:hover {\n background-color: #fff;\n border-color: #ccc;\n color: #666;\n opacity: 1;\n}\n.dso-list-button.dso-selected {\n border-color: #39870c;\n border-width: 1px;\n box-shadow: inset 0px 0px 0px 1px #39870c, inset -1px 0px 0px 0px #39870c;\n}\n@media screen and (min-width: 768px) {\n .dso-list-button.dso-selected.dso-single-count {\n border-right: 0;\n box-shadow: #39870c 0px 1px 0px 0px inset, #39870c 1px 0px 0px 0px inset, #39870c 0px -1px 0px 0px inset;\n }\n}\n.dso-list-button > span {\n display: block;\n}\n.dso-list-button .dso-sublabel {\n font-weight: 400;\n width: 100%;\n}\n.dso-list-button dso-icon,\n.dso-list-button svg.di,\n.dso-list-button .dso-count {\n height: 24px;\n position: absolute;\n right: 15px;\n top: 15px;\n width: 24px;\n}\n.dso-list-button dso-icon,\n.dso-list-button svg.di {\n color: #39870c;\n page-break-before: always;\n}\n.dso-list-button .dso-count {\n font-weight: 700;\n}\n@media screen and (max-width: 767px) {\n .dso-list-button.dso-selected.dso-single-count::after {\n width: 0;\n }\n}\n.dso-list-button .dso-sublabel {\n padding-left: 32px;\n}\n\n.dso-list-button + .dso-list-button,\n.dso-list-button + .dso-btn-group,\n.dso-btn-group + .dso-list-button,\n.dso-btn-group + .dso-btn-group {\n margin-top: 4px;\n}\n\n.dso-input-wrapper {\n position: relative;\n}\n.dso-input-wrapper .form-control {\n width: 9ch;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: 40px;\n padding: 6px 14px;\n font-size: 1rem;\n line-height: 1.5;\n color: #191919;\n background-color: #fff;\n background-image: none;\n border: 1px solid #275937;\n border-radius: 4px;\n transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;\n}\n.form-control::-moz-placeholder {\n color: #666;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #666;\n}\n.form-control::-webkit-input-placeholder {\n color: #666;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control:focus {\n border-color: #275937;\n outline: 0;\n box-shadow: inset 0 0 0 1px #275937;\n}\n.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {\n background-color: #fff;\n opacity: 1;\n}\n.form-control[disabled], fieldset[disabled] .form-control {\n cursor: default;\n}\n.form-control[disabled] {\n border-color: #e5e5e5;\n color: #999;\n}\n.form-control[readonly] {\n border-width: 1px;\n}\n.form-control[type=text] {\n line-height: 40px;\n}\n.form-control[size] {\n width: auto;\n}\n\n.dso-manual-input-button[type=button] {\n background-color: transparent;\n border: 0;\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.hidden {\n display: none !important;\n}";const r=class{constructor(o){n(this,o);this.dsoCountChange=t(this,"dsoCountChange",7);this.dsoSelectedChange=t(this,"dsoSelectedChange",7);this.manualInputWrapperElement=undefined;this.manualCount=undefined;this.label=undefined;this.sublabel=undefined;this.count=undefined;this.min=undefined;this.max=undefined;this.checked=false;this.disabled=false;this.manual=true}watchManualCallback(){if(!this.manual&&this.manualCount){this.stopManualCountInput()}}componentDidRender(){var n;if(this.manualCount!==undefined&&this.manualInputWrapperElement&&!this.trap){this.trap=e(this.manualInputWrapperElement,{escapeDeactivates:true,setReturnFocus:false,clickOutsideDeactivates:n=>{this.setCount(n);return true},onDeactivate:()=>this.stopManualCountInput(),onPostDeactivate:()=>{var n;return(n=this.manualInputButtonElement)===null||n===void 0?void 0:n.focus()}}).activate()}else if(this.manualCount===undefined&&this.trap){(n=this.trap)===null||n===void 0?void 0:n.deactivate();delete this.trap}}disconnectedCallback(){var n;(n=this.trap)===null||n===void 0?void 0:n.deactivate()}handleOnChange({target:n}){if(n instanceof HTMLInputElement){this.manualCount=n.valueAsNumber}}stepValue(n,t){if(typeof this.count==="number"){const o=t==="increment"?this.count+1:this.count-1;if(this.isNewCountValid(o)===false){return}this.dsoCountChange.emit({originalEvent:n,count:o})}}setCount(n){n.preventDefault();if(typeof this.manualCount==="number"&&this.isNewCountValid(this.manualCount)){this.dsoCountChange.emit({originalEvent:n,count:this.manualCount});this.stopManualCountInput()}}handleSelectClick(n){n.preventDefault();if(this.count!==undefined){this.dsoCountChange.emit({originalEvent:n,count:this.count>0?0:1});return}this.dsoSelectedChange.emit({originalEvent:n,checked:!this.checked})}startManualCountInput(){this.manualCount=this.count}stopManualCountInput(){this.manualCount=undefined}isNewCountValid(n){if(this.min!==undefined&&this.max!==undefined&&(n<Number(this.min)||n>Number(this.max))){return false}return true}render(){const n=this.manualCount===undefined;const t=this.checked||this.count!==undefined&&this.count>0;return o("div",{class:s(["dso-btn-group",{"dso-disabled":this.disabled}])},o("div",{class:s(["dso-list-button",{"dso-selected":t,"dso-single-count":this.count===1}]),onClick:n=>this.handleSelectClick(n)},o("div",{class:"dso-selectable"},o("input",{id:"dso-list-button-checkbox",type:"checkbox",value:"list-button",name:"naam",checked:t,disabled:this.disabled,"aria-label":this.label}),o("label",{htmlFor:"dso-list-button-checkbox"},this.label)),this.sublabel&&o("span",{class:"dso-sublabel"},this.sublabel),o("slot",{name:"subcontent"})),this.count!==undefined&&this.count>0&&o("div",{class:"dso-input-number"},this.manualCount===undefined&&this.count>1&&o("button",{type:"button",class:"dso-tertiary",disabled:this.count===Number(this.min)||this.disabled,onClick:n=>this.stepValue(n,"decrement")},o("dso-icon",{icon:"minus-circle"}),o("span",{class:"sr-only"},"Aantal verlagen")),o("div",{class:"dso-input-wrapper"},this.manualCount===undefined&&this.count>1&&o("input",{class:"dso-input-step-counter",type:"number",tabIndex:-1,"aria-label":"Aantal",value:this.count,readOnly:true}),o("form",{onSubmit:n=>this.setCount(n)},o("div",{ref:n=>this.manualInputWrapperElement=n},o("input",{class:s("form-control",{hidden:n}),type:"number","aria-label":"Aantal",value:this.manualCount,min:this.min,max:this.max,onInput:n=>this.handleOnChange(n)})),this.manual===true&&o("button",{class:s("dso-manual-input-button",{"sr-only":!n}),type:!n?"submit":"button",disabled:this.disabled,onClick:()=>n&&this.startManualCountInput()},n?o("span",{class:"sr-only"},"Handmatig aantal invullen"):o("span",{class:"sr-only"},"Zet waarde")))),n&&o("button",{type:"button",class:"dso-tertiary",disabled:this.count===Number(this.max)||this.disabled,onClick:n=>this.stepValue(n,"increment")},o("dso-icon",{icon:"plus-circle"}),o("span",{class:"sr-only"},"Aantal verhogen"))))}static get watchers(){return{manual:["watchManualCallback"]}}};r.style=i;export{r as dso_list_button};
|
|
2
|
+
//# sourceMappingURL=p-fdf8bd94.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["listButtonCss","ListButton","watchManualCallback","this","manual","manualCount","stopManualCountInput","componentDidRender","undefined","manualInputWrapperElement","trap","createFocusTrap","escapeDeactivates","setReturnFocus","clickOutsideDeactivates","e","setCount","onDeactivate","onPostDeactivate","_a","manualInputButtonElement","focus","activate","deactivate","disconnectedCallback","handleOnChange","target","HTMLInputElement","valueAsNumber","stepValue","direction","count","newValue","isNewCountValid","dsoCountChange","emit","originalEvent","preventDefault","handleSelectClick","dsoSelectedChange","checked","startManualCountInput","min","max","Number","render","showButtonInputs","selected","h","class","clsx","disabled","onClick","id","type","value","name","label","htmlFor","sublabel","icon","tabIndex","readOnly","onSubmit","ref","element","hidden","onInput"],"sources":["./src/components/list-button/list-button.scss?tag=dso-list-button&encapsulation=shadow","./src/components/list-button/list-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/input-number\";\r\n@use \"~dso-toolkit/src/components/list-button\";\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/components/selectable\";\r\n@use \"~dso-toolkit/src/components/form-control\";\r\n@use \"~dso-toolkit/src/utilities\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.dso-manual-input-button {\r\n cursor: text;\r\n}\r\n\r\n.dso-tertiary {\r\n @include button.tertiary($modifiers: false);\r\n\r\n cursor: pointer;\r\n}\r\n\r\n.dso-input-number {\r\n @include input-number.root();\r\n}\r\n\r\n.dso-btn-group {\r\n @include list-button.button-group(\".dso-input-number\", \".dso-list-button\");\r\n}\r\n\r\n.dso-selectable {\r\n @include selectable.root(\"dso-info\");\r\n\r\n label {\r\n font-weight: 700;\r\n }\r\n}\r\n\r\n.dso-list-button {\r\n @include button.base($modifiers: false);\r\n @include list-button.root();\r\n\r\n .dso-sublabel {\r\n padding-left: selectable.$size + units.$u1;\r\n }\r\n}\r\n\r\n.dso-list-button,\r\n.dso-btn-group {\r\n + .dso-list-button,\r\n + .dso-btn-group {\r\n @include list-button.sibling();\r\n }\r\n}\r\n\r\n.dso-input-wrapper {\r\n position: relative;\r\n\r\n .form-control {\r\n width: 9ch;\r\n }\r\n}\r\n\r\n.form-control {\r\n @include form-control.root();\r\n}\r\n\r\n.dso-manual-input-button[type=\"button\"] {\r\n background-color: transparent;\r\n border: 0;\r\n bottom: 0;\r\n left: 0;\r\n position: absolute;\r\n right: 0;\r\n top: 0;\r\n}\r\n\r\n.hidden {\r\n display: none !important;\r\n}\r\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter, State, Watch } from \"@stencil/core\";\r\nimport { ListButtonChangeEvent, ListButtonSelectedEvent } from \"./list-button.interfaces\";\r\n\r\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-list-button\",\r\n shadow: true,\r\n styleUrl: \"list-button.scss\",\r\n})\r\nexport class ListButton implements ComponentInterface {\r\n private trap?: FocusTrap;\r\n\r\n @State()\r\n private manualInputWrapperElement?: HTMLDivElement;\r\n\r\n private manualInputButtonElement?: HTMLButtonElement;\r\n\r\n @State()\r\n manualCount?: number;\r\n\r\n /**\r\n * The label of the List Button.\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The sublabel of the List Button.\r\n */\r\n @Prop()\r\n sublabel?: string;\r\n\r\n /**\r\n * When defined the count can show on the List Button.\r\n */\r\n @Prop()\r\n count?: number;\r\n\r\n /**\r\n * The minimum value.\r\n */\r\n @Prop()\r\n min?: string | number;\r\n\r\n /**\r\n * The maximum value.\r\n */\r\n @Prop()\r\n max?: string | number;\r\n\r\n /**\r\n * Whether the List Button is checked.\r\n */\r\n @Prop({ reflect: true })\r\n checked = false;\r\n\r\n /**\r\n * Whether the List Button is disabled.\r\n */\r\n @Prop({ reflect: true })\r\n disabled = false;\r\n\r\n /**\r\n * Allow user to directly input a value.\r\n *\r\n * Set to `false` to force users to use plus/minus buttons.\r\n */\r\n @Prop()\r\n manual = true;\r\n\r\n /**\r\n * Emitted when the user changes the count.\r\n */\r\n @Event()\r\n dsoCountChange!: EventEmitter<ListButtonChangeEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the List Button itself.\r\n *\r\n * Does not fire when the user activates the count controls.\r\n */\r\n @Event()\r\n dsoSelectedChange!: EventEmitter<ListButtonSelectedEvent>;\r\n\r\n @Watch(\"manual\")\r\n watchManualCallback() {\r\n if (!this.manual && this.manualCount) {\r\n this.stopManualCountInput();\r\n }\r\n }\r\n\r\n componentDidRender(): void {\r\n if (this.manualCount !== undefined && this.manualInputWrapperElement && !this.trap) {\r\n this.trap = createFocusTrap(this.manualInputWrapperElement, {\r\n escapeDeactivates: true,\r\n setReturnFocus: false,\r\n\r\n clickOutsideDeactivates: (e) => {\r\n this.setCount(e);\r\n\r\n return true;\r\n },\r\n onDeactivate: () => this.stopManualCountInput(),\r\n onPostDeactivate: () => this.manualInputButtonElement?.focus(),\r\n }).activate();\r\n } else if (this.manualCount === undefined && this.trap) {\r\n this.trap?.deactivate();\r\n\r\n delete this.trap;\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.trap?.deactivate();\r\n }\r\n\r\n private handleOnChange({ target }: Event): void {\r\n if (target instanceof HTMLInputElement) {\r\n this.manualCount = target.valueAsNumber;\r\n }\r\n }\r\n\r\n private stepValue(e: Event, direction: \"increment\" | \"decrement\"): void {\r\n if (typeof this.count === \"number\") {\r\n const newValue = direction === \"increment\" ? this.count + 1 : this.count - 1;\r\n\r\n if (this.isNewCountValid(newValue) === false) {\r\n return;\r\n }\r\n\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: newValue,\r\n });\r\n }\r\n }\r\n\r\n private setCount(e: Event): void {\r\n e.preventDefault();\r\n\r\n if (typeof this.manualCount === \"number\" && this.isNewCountValid(this.manualCount)) {\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: this.manualCount,\r\n });\r\n this.stopManualCountInput();\r\n }\r\n }\r\n\r\n private handleSelectClick(e: Event): void {\r\n e.preventDefault();\r\n\r\n if (this.count !== undefined) {\r\n this.dsoCountChange.emit({\r\n originalEvent: e,\r\n count: this.count > 0 ? 0 : 1,\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.dsoSelectedChange.emit({\r\n originalEvent: e,\r\n checked: !this.checked,\r\n });\r\n }\r\n\r\n private startManualCountInput(): void {\r\n this.manualCount = this.count;\r\n }\r\n\r\n private stopManualCountInput(): void {\r\n this.manualCount = undefined;\r\n }\r\n\r\n private isNewCountValid(newValue: number): boolean {\r\n if (\r\n this.min !== undefined &&\r\n this.max !== undefined &&\r\n (newValue < Number(this.min) || newValue > Number(this.max))\r\n ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n render() {\r\n const showButtonInputs = this.manualCount === undefined;\r\n\r\n const selected = this.checked || (this.count !== undefined && this.count > 0);\r\n\r\n return (\r\n <div class={clsx([\"dso-btn-group\", { \"dso-disabled\": this.disabled }])}>\r\n <div\r\n class={clsx([\"dso-list-button\", { \"dso-selected\": selected, \"dso-single-count\": this.count === 1 }])}\r\n onClick={(e) => this.handleSelectClick(e)}\r\n >\r\n <div class=\"dso-selectable\">\r\n <input\r\n id=\"dso-list-button-checkbox\"\r\n type=\"checkbox\"\r\n value=\"list-button\"\r\n name=\"naam\"\r\n checked={selected}\r\n disabled={this.disabled}\r\n aria-label={this.label}\r\n />\r\n <label htmlFor=\"dso-list-button-checkbox\">{this.label}</label>\r\n </div>\r\n {this.sublabel && <span class=\"dso-sublabel\">{this.sublabel}</span>}\r\n <slot name=\"subcontent\" />\r\n </div>\r\n\r\n {this.count !== undefined && this.count > 0 && (\r\n <div class=\"dso-input-number\">\r\n {this.manualCount === undefined && this.count > 1 && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n disabled={this.count === Number(this.min) || this.disabled}\r\n onClick={(e) => this.stepValue(e, \"decrement\")}\r\n >\r\n <dso-icon icon=\"minus-circle\"></dso-icon>\r\n <span class=\"sr-only\">Aantal verlagen</span>\r\n </button>\r\n )}\r\n\r\n <div class=\"dso-input-wrapper\">\r\n {this.manualCount === undefined && this.count > 1 && (\r\n <input\r\n class=\"dso-input-step-counter\"\r\n type=\"number\"\r\n tabIndex={-1}\r\n aria-label=\"Aantal\"\r\n value={this.count}\r\n readOnly\r\n />\r\n )}\r\n\r\n <form onSubmit={(e) => this.setCount(e)}>\r\n <div ref={(element) => (this.manualInputWrapperElement = element)}>\r\n <input\r\n class={clsx(\"form-control\", { hidden: showButtonInputs })}\r\n type=\"number\"\r\n aria-label=\"Aantal\"\r\n value={this.manualCount}\r\n min={this.min}\r\n max={this.max}\r\n onInput={(e) => this.handleOnChange(e)}\r\n />\r\n </div>\r\n\r\n {this.manual === true && (\r\n <button\r\n class={clsx(\"dso-manual-input-button\", { \"sr-only\": !showButtonInputs })}\r\n type={!showButtonInputs ? \"submit\" : \"button\"}\r\n disabled={this.disabled}\r\n onClick={() => showButtonInputs && this.startManualCountInput()}\r\n >\r\n {showButtonInputs ? (\r\n <span class=\"sr-only\">Handmatig aantal invullen</span>\r\n ) : (\r\n <span class=\"sr-only\">Zet waarde</span>\r\n )}\r\n </button>\r\n )}\r\n </form>\r\n </div>\r\n\r\n {showButtonInputs && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n disabled={this.count === Number(this.max) || this.disabled}\r\n onClick={(e) => this.stepValue(e, \"increment\")}\r\n >\r\n <dso-icon icon=\"plus-circle\"></dso-icon>\r\n <span class=\"sr-only\">Aantal verhogen</span>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n}\r\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as createStore } from './index-
|
|
1
|
+
import { c as createStore } from './index-b57dbe04.js';
|
|
2
2
|
|
|
3
3
|
class AnnotationService {
|
|
4
4
|
static get state() {
|
|
@@ -17,3 +17,5 @@ class AnnotationService {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export { AnnotationService as A };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=annotation.service-cd25eba0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"annotation.service-cd25eba0.js","mappings":";;MAMsB,iBAAiB;EAGrC,WAAW,KAAK;IACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;MAChB,iBAAiB,CAAC,eAAe,EAAE,CAAC;KACrC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC;GACpB;EAED,OAAO,MAAM,CAAC,EAAU;IACtB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;GACpC;EAEO,OAAO,eAAe;IAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAkB,EAAE,CAAC,CAAC;IAEnD,iBAAiB,CAAC,MAAM,GAAG,KAAK,CAAC;GAClC;;;;;","names":[],"sources":["./src/services/annotation.service.ts"],"sourcesContent":["import { createStore } from \"@stencil/store\";\r\n\r\ninterface AnnotationState {\r\n [key: string]: boolean;\r\n}\r\n\r\nexport abstract class AnnotationService {\r\n private static _state: AnnotationState;\r\n\r\n static get state(): AnnotationState {\r\n if (!this._state) {\r\n AnnotationService.initializeStore();\r\n }\r\n\r\n return this._state;\r\n }\r\n\r\n static toggle(id: string): void {\r\n this._state[id] = !this._state[id];\r\n }\r\n\r\n private static initializeStore(): void {\r\n const { state } = createStore<AnnotationState>({});\r\n\r\n AnnotationService._state = state;\r\n }\r\n}\r\n"],"version":3}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
|
|
2
2
|
|
|
3
3
|
export { clsx as c };
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=clsx.m-25174a58.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"clsx.m-25174a58.js","mappings":"AAAA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAQ,SAAS,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;;;;","names":[],"sources":["../../node_modules/clsx/dist/clsx.m.js"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f);else for(t in e)e[t]&&(n&&(n+=\" \"),n+=t);return n}export function clsx(){for(var e,t,f=0,n=\"\";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;"],"version":3}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"create-identifier-51ee50c4.js","mappings":"AAAA;;;SAGgB,IAAI;EAClB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;;SAIgB,gBAAgB,CAAC,MAAc;EAC7C,OAAO,GAAG,MAAM,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC;AAClG;;;;","names":[],"sources":["./src/utils/create-identifier.ts"],"sourcesContent":["/**\r\n * Form random hash\r\n */\r\nexport function chr4() {\r\n return Math.random().toString(16).slice(-4);\r\n}\r\n\r\n/**\r\n * Create random identifier with a prefix\r\n * @param prefix\r\n */\r\nexport function createIdentifier(prefix: string): string {\r\n return `${prefix}-${chr4()}${chr4()}-${chr4()}-${chr4()}-${chr4()}-${chr4()}${chr4()}${chr4()}`;\r\n}\r\n"],"version":3}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { h, r as registerInstance, f as forceUpdate, F as Fragment, H as Host, g as getElement } from './index-
|
|
2
|
-
|
|
1
|
+
import { h, r as registerInstance, f as forceUpdate, F as Fragment, H as Host, g as getElement } from './index-898d8443.js';
|
|
2
|
+
|
|
3
|
+
function isExpandable(element) {
|
|
4
|
+
return element instanceof Element && element.tagName === "DSO-EXPANDABLE";
|
|
5
|
+
}
|
|
3
6
|
|
|
4
7
|
const stateMap = {
|
|
5
8
|
success: "succes:",
|
|
@@ -79,15 +82,16 @@ const AccordionSection = class {
|
|
|
79
82
|
componentWillLoad() {
|
|
80
83
|
const accordion = this.host.parentElement;
|
|
81
84
|
this.hasNestedSection = this.host.querySelector("dso-accordion") !== null;
|
|
82
|
-
if (isAccordion(accordion)) {
|
|
85
|
+
if (accordion && isAccordion(accordion)) {
|
|
83
86
|
this.accordion = accordion;
|
|
84
|
-
accordion.
|
|
87
|
+
accordion._getState().then((state) => {
|
|
85
88
|
this.accordionState = state;
|
|
86
89
|
forceUpdate(this.host);
|
|
87
90
|
});
|
|
88
91
|
}
|
|
89
92
|
}
|
|
90
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* Toggle this section.
|
|
91
95
|
* @param scrollIntoView boolean - defaults to true
|
|
92
96
|
*/
|
|
93
97
|
async toggleSection(scrollIntoView = true) {
|
|
@@ -98,7 +102,9 @@ const AccordionSection = class {
|
|
|
98
102
|
}
|
|
99
103
|
}));
|
|
100
104
|
}
|
|
101
|
-
/**
|
|
105
|
+
/**
|
|
106
|
+
* Scroll this section into view when needed.
|
|
107
|
+
*/
|
|
102
108
|
async scrollSectionIntoView() {
|
|
103
109
|
await this.scrollIntoViewWhenNeeded(false);
|
|
104
110
|
}
|
|
@@ -116,7 +122,7 @@ const AccordionSection = class {
|
|
|
116
122
|
}
|
|
117
123
|
const waitForAnimationBeforeScrolling = async (state) => {
|
|
118
124
|
var _a, _b;
|
|
119
|
-
this.bodyHeight = await ((_a = this.expandable) === null || _a === void 0 ? void 0 : _a.
|
|
125
|
+
this.bodyHeight = await ((_a = this.expandable) === null || _a === void 0 ? void 0 : _a._getBodyHeight());
|
|
120
126
|
const sectionBottomOffsetTop = this.host.offsetTop + headingClientRect.height + (this.open ? (_b = this.bodyHeight) !== null && _b !== void 0 ? _b : 0 : 0);
|
|
121
127
|
return (sectionToggled && (sectionBottomOffsetTop > document.documentElement.scrollHeight || state.allowMultipleOpen));
|
|
122
128
|
};
|
|
@@ -150,14 +156,14 @@ const AccordionSection = class {
|
|
|
150
156
|
}
|
|
151
157
|
if (isExpandable(expandableElement)) {
|
|
152
158
|
this.expandable = expandableElement;
|
|
153
|
-
this.expandable.
|
|
159
|
+
this.expandable._getAnimeInstance().then((animeInstance) => {
|
|
154
160
|
if (animeInstance) {
|
|
155
161
|
animeInstance.changeComplete = async () => {
|
|
156
162
|
if (!section) {
|
|
157
163
|
return;
|
|
158
164
|
}
|
|
159
165
|
const accordion = section.parentElement;
|
|
160
|
-
if (isAccordion(accordion)) {
|
|
166
|
+
if (accordion && isAccordion(accordion)) {
|
|
161
167
|
accordion === null || accordion === void 0 ? void 0 : accordion.animationEnd(section);
|
|
162
168
|
}
|
|
163
169
|
if (AccordionSection.scrollCandidate === this.host) {
|
|
@@ -187,13 +193,15 @@ const AccordionSection = class {
|
|
|
187
193
|
["dso-accordion-" + variant]: true,
|
|
188
194
|
"dso-nested-accordion": this.hasNestedSection,
|
|
189
195
|
"dso-accordion-reverse-align": reverseAlign !== null && reverseAlign !== void 0 ? reverseAlign : false,
|
|
190
|
-
}, hidden: !variant, onMouseenter: () => (this.hover = true), onMouseleave: () => (this.hover = false) }, h(Handle, { heading: this.heading, ref: (element) => (this.sectionHeading = element) }, h(HandleElement, { handleUrl: this.handleUrl, onClick: async (event) => await this.toggle(event), open: this.open }, reverseAlign ? (h(Fragment, null, hasAddons && (h("div", { class: "dso-section-handle-addons" }, h(HandleIcon, { icon: this.icon }))), h("span", null, this.handleTitle), h("dso-icon", { class: "dso-section-handle-chevron", icon: "chevron-down" }))) : (h(Fragment, null, h("dso-icon", { class: "dso-section-handle-chevron", icon: "chevron-right" }), this.state && h("span", { class: "sr-only" }, stateMap[this.state]), h("span", null, this.handleTitle, this.isNeutral && (h("dso-icon", { class: "info-icon", icon: this.open || this.hover ? "info-active" : "info" }))), hasAddons && (h("div", { class: "dso-section-handle-addons" }, this.status && h("span", { class: "dso-status" }, this.status), h(HandleIcon, { state: this.state, icon: this.icon, attachmentCount: this.attachmentCount }))))))), h("dso-expandable", { class: "dso-section-body", open: this.open, enableAnimation: true, minimumHeight: this.isNeutral ? 0 : 4,
|
|
196
|
+
}, hidden: !variant, onMouseenter: () => (this.hover = true), onMouseleave: () => (this.hover = false) }, h(Handle, { heading: this.heading, ref: (element) => (this.sectionHeading = element) }, h(HandleElement, { handleUrl: this.handleUrl, onClick: async (event) => await this.toggle(event), open: this.open }, reverseAlign ? (h(Fragment, null, hasAddons && (h("div", { class: "dso-section-handle-addons" }, h(HandleIcon, { icon: this.icon }))), h("span", null, this.handleTitle), h("dso-icon", { class: "dso-section-handle-chevron", icon: "chevron-down" }))) : (h(Fragment, null, h("dso-icon", { class: "dso-section-handle-chevron", icon: "chevron-right" }), this.state && h("span", { class: "sr-only" }, stateMap[this.state]), h("span", null, this.handleTitle, this.isNeutral && (h("dso-icon", { class: "info-icon", icon: this.open || this.hover ? "info-active" : "info" }))), hasAddons && (h("div", { class: "dso-section-handle-addons" }, this.status && h("span", { class: "dso-status" }, this.status), h(HandleIcon, { state: this.state, icon: this.icon, attachmentCount: this.attachmentCount }))))))), h("dso-expandable", { class: "dso-section-body", open: this.open, enableAnimation: true, minimumHeight: this.isNeutral ? 0 : 4, on_animationInstantiated: (e) => this.setAnimationBehaviour(e, this.host) }, h("div", { slot: "expandable-content", class: "dso-section-body-content", ref: (element) => (this.sectionBody = element) }, h("slot", null)))));
|
|
191
197
|
}
|
|
192
198
|
get host() { return getElement(this); }
|
|
193
199
|
};
|
|
194
200
|
function isAccordion(element) {
|
|
195
|
-
return element
|
|
201
|
+
return element.tagName === "DSO-ACCORDION";
|
|
196
202
|
}
|
|
197
203
|
AccordionSection.style = accordionSectionCss;
|
|
198
204
|
|
|
199
205
|
export { AccordionSection as dso_accordion_section };
|
|
206
|
+
|
|
207
|
+
//# sourceMappingURL=dso-accordion-section.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"dso-accordion-section.entry.js","mappings":"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","names":[],"sources":["./src/components/expandable/expandable.functions.ts","./src/components/accordion/components/accordion-section.interfaces.ts","./src/components/accordion/components/handles/element.handle.tsx","./src/components/accordion/components/handles/heading.handle.tsx","./src/components/accordion/components/handles/state-icon.handle.tsx","./src/components/accordion/components/handles/icon.handle.tsx","./src/components/accordion/components/accordion-section.scss?tag=dso-accordion-section&encapsulation=shadow","./src/components/accordion/components/accordion-section.tsx"],"sourcesContent":["export function isExpandable(element: Element | null): element is HTMLDsoExpandableElement {\r\n return element instanceof Element && element.tagName === \"DSO-EXPANDABLE\";\r\n}\r\n","export type AccordionSectionState = \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\";\r\n\r\nexport type AccordionHeading = \"h2\" | \"h3\" | \"h4\" | \"h5\";\r\n\r\nexport const stateMap: Record<AccordionSectionState, string> = {\r\n success: \"succes:\",\r\n info: \"info:\",\r\n warning: \"waarschuwing:\",\r\n danger: \"fout:\",\r\n error: \"fout:\",\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nexport const HandleElement: FunctionalComponent<{\r\n handleUrl: string | undefined;\r\n open: boolean;\r\n onClick: (e: MouseEvent) => void;\r\n}> = ({ handleUrl, onClick, open }, children) => {\r\n if (handleUrl) {\r\n return (\r\n <a href={handleUrl} onClick={onClick} aria-expanded={open ? \"true\" : \"false\"}>\r\n {children}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <button type=\"button\" onClick={onClick} aria-expanded={open ? \"true\" : \"false\"}>\r\n {children}\r\n </button>\r\n );\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { AccordionHeading } from \"../accordion-section.interfaces\";\r\n\r\nexport const Handle: FunctionalComponent<{\r\n heading: AccordionHeading;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n}> = ({ heading, ref }, children) => {\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n return (\r\n <h2 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h2>\r\n );\r\n case \"h3\":\r\n return (\r\n <h3 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h3>\r\n );\r\n case \"h4\":\r\n return (\r\n <h4 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h4>\r\n );\r\n case \"h5\":\r\n return (\r\n <h5 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h5>\r\n );\r\n }\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { AccordionSectionState } from \"../accordion-section.interfaces\";\r\n\r\nexport const HandleStateIcon: FunctionalComponent<{ state: AccordionSectionState }> = ({ state }) => {\r\n if (state === \"error\") {\r\n return <dso-icon icon=\"status-error\"></dso-icon>;\r\n }\r\n\r\n if (state === \"danger\") {\r\n return <dso-icon icon=\"status-danger\"></dso-icon>;\r\n }\r\n\r\n if (state === \"success\") {\r\n return <dso-icon icon=\"status-success\"></dso-icon>;\r\n }\r\n\r\n if (state === \"info\") {\r\n return <dso-icon icon=\"status-info\"></dso-icon>;\r\n }\r\n\r\n if (state === \"warning\") {\r\n return <dso-icon icon=\"status-warning\"></dso-icon>;\r\n }\r\n};\r\n","import { FunctionalComponent, h } from \"@stencil/core\";\r\n\r\nimport { AccordionSectionState } from \"../accordion-section.interfaces\";\r\nimport { HandleStateIcon } from \"./state-icon.handle\";\r\n\r\nexport const HandleIcon: FunctionalComponent<{\r\n state?: AccordionSectionState;\r\n icon?: string;\r\n attachmentCount?: number;\r\n}> = ({ state, icon, attachmentCount }) => {\r\n if (state) {\r\n return <HandleStateIcon state={state} />;\r\n }\r\n\r\n if (attachmentCount) {\r\n return <dso-attachments-counter count={attachmentCount}></dso-attachments-counter>;\r\n }\r\n\r\n if (icon) {\r\n return <dso-icon icon={icon}></dso-icon>;\r\n }\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n\r\n@use \"~dso-toolkit/src/components/accordion\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n\r\n@use \"accordion-section-theme-compact\";\r\n@use \"accordion-section-theme-conclusion\";\r\n@use \"accordion-section-theme-default\";\r\n@use \"accordion-section-theme-neutral\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n:host {\r\n display: block;\r\n\r\n .dso-section-handle {\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n position: relative;\r\n\r\n > a:active {\r\n text-decoration: none;\r\n }\r\n\r\n a {\r\n @include anchor.clean();\r\n }\r\n\r\n .dso-status {\r\n font-weight: 400;\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n .dso-section-handle > button,\r\n .dso-section-handle > a {\r\n align-items: flex-start;\r\n background-color: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n display: flex;\r\n font-family: typography.$font-family-base;\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n padding: accordion.$vertical-padding accordion.$horizontal-padding accordion.$vertical-padding;\r\n text-align: start;\r\n width: 100%;\r\n word-break: break-word;\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n\r\n &.dso-section-handle-chevron {\r\n @include utilities.transition(transform);\r\n\r\n transform: rotate(0);\r\n }\r\n }\r\n\r\n > .dso-section-handle-addons:first-child,\r\n > dso-icon:first-child {\r\n margin-right: units.$u1;\r\n }\r\n\r\n > dso-icon:last-child {\r\n margin-left: auto;\r\n }\r\n\r\n > .dso-section-handle-addons:last-child {\r\n margin-left: auto;\r\n\r\n dso-attachments-counter,\r\n dso-icon {\r\n margin-left: 16px;\r\n }\r\n }\r\n }\r\n}\r\n\r\n:host([open]) {\r\n .dso-section-handle {\r\n > button,\r\n > a {\r\n .dso-section-handle-chevron {\r\n &:first-child {\r\n transform: rotate(90deg);\r\n }\r\n\r\n &:last-child {\r\n transform: rotate(-180deg);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dso-section-body {\r\n background-color: colors.$wit;\r\n border-top: 0;\r\n margin-top: accordion.$border-radius * -1;\r\n\r\n .dso-section-body-content {\r\n padding: units.$u2 + accordion.$border-radius units.$u2 units.$u2;\r\n }\r\n}\r\n\r\n// Default\r\n:host(.dso-accordion-default) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default();\r\n}\r\n\r\n:host(.dso-accordion-default[open]) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open();\r\n}\r\n\r\n:host(.dso-accordion-default.dso-nested-accordion[open]) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open-nested();\r\n}\r\n\r\n// Compact\r\n:host(.dso-accordion-compact) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact[open]:not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-nested-accordion[open]) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open-nested();\r\n}\r\n\r\n// Conclusion\r\n:host(.dso-accordion-conclusion) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion();\r\n}\r\n\r\n:host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open();\r\n}\r\n\r\n:host(.dso-accordion-conclusion.dso-nested-accordion[open]) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open-nested();\r\n}\r\n\r\n// Neutral\r\n:host(.dso-accordion-neutral) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral();\r\n}\r\n\r\n:host(.dso-accordion-neutral[open]) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open();\r\n}\r\n\r\n:host(.dso-accordion-neutral.dso-nested-accordion[open]) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open-nested();\r\n}\r\n","import {\r\n h,\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n forceUpdate,\r\n Fragment,\r\n Host,\r\n Method,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\nimport { isExpandable } from \"../../expandable/expandable.functions\";\r\n\r\nimport { AccordionInternalState } from \"../accordion.interfaces\";\r\nimport { AccordionHeading, AccordionSectionState, stateMap } from \"./accordion-section.interfaces\";\r\nimport { Handle, HandleElement, HandleIcon } from \"./handles\";\r\n\r\n@Component({\r\n tag: \"dso-accordion-section\",\r\n styleUrl: \"accordion-section.scss\",\r\n shadow: true,\r\n})\r\nexport class AccordionSection implements ComponentInterface {\r\n private static scrollCandidate?: HTMLElement;\r\n\r\n private accordion?: HTMLDsoAccordionElement;\r\n\r\n private accordionState?: AccordionInternalState;\r\n\r\n private sectionBody?: HTMLDivElement;\r\n\r\n private sectionHeading?: HTMLHeadingElement;\r\n\r\n private bodyHeight?: number;\r\n\r\n private expandable?: HTMLDsoExpandableElement;\r\n\r\n @Element()\r\n host!: HTMLDsoAccordionSectionElement;\r\n\r\n /**\r\n * The title of the handle\r\n */\r\n @Prop()\r\n handleTitle?: string;\r\n\r\n /**\r\n * Which heading element to use.\r\n */\r\n @Prop()\r\n heading: AccordionHeading = \"h2\";\r\n\r\n /**\r\n * When set the handle will render as a `<a>`. When undefined it renders as a `<button>`\r\n */\r\n @Prop()\r\n handleUrl?: string;\r\n\r\n /**\r\n * `state` takes precedence over `attachmentCount` and `icon`\r\n */\r\n @Prop()\r\n state?: AccordionSectionState;\r\n\r\n /**\r\n * `attachmentCount` takes precedence over `icon`\r\n */\r\n @Prop()\r\n attachmentCount?: number;\r\n\r\n /**\r\n * To set an icon in the heading handle.\r\n */\r\n @Prop()\r\n icon?: string;\r\n\r\n /**\r\n * The status of the section.\r\n */\r\n @Prop()\r\n status?: string;\r\n\r\n /**\r\n * To open the Accordion Section.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n @State()\r\n hasNestedSection = false;\r\n\r\n @State()\r\n hover = false;\r\n\r\n componentWillLoad() {\r\n const accordion = this.host.parentElement;\r\n\r\n this.hasNestedSection = this.host.querySelector(\"dso-accordion\") !== null;\r\n\r\n if (accordion && isAccordion(accordion)) {\r\n this.accordion = accordion;\r\n\r\n accordion._getState().then((state) => {\r\n this.accordionState = state;\r\n forceUpdate(this.host);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Toggle this section.\r\n * @param scrollIntoView boolean - defaults to true\r\n */\r\n @Method()\r\n async toggleSection(scrollIntoView = true): Promise<void> {\r\n await this.accordion?.toggleSection(this.host).then(async () => {\r\n if (scrollIntoView) {\r\n await this.scrollIntoViewWhenNeeded(true);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Scroll this section into view when needed.\r\n */\r\n @Method()\r\n async scrollSectionIntoView(): Promise<void> {\r\n await this.scrollIntoViewWhenNeeded(false);\r\n }\r\n\r\n get isNeutral() {\r\n return this.accordionState?.variant === \"neutral\";\r\n }\r\n\r\n private async scrollIntoViewWhenNeeded(sectionToggled: boolean): Promise<void> {\r\n AccordionSection.scrollCandidate = undefined;\r\n\r\n const bodyClientRect = this.sectionBody?.getBoundingClientRect();\r\n const headingClientRect = this.sectionHeading?.getBoundingClientRect();\r\n\r\n if (!bodyClientRect || !headingClientRect || !this.accordionState) {\r\n return;\r\n }\r\n\r\n const waitForAnimationBeforeScrolling = async (state: AccordionInternalState) => {\r\n this.bodyHeight = await this.expandable?._getBodyHeight();\r\n\r\n const sectionBottomOffsetTop =\r\n this.host.offsetTop + headingClientRect.height + (this.open ? this.bodyHeight ?? 0 : 0);\r\n\r\n return (\r\n sectionToggled && (sectionBottomOffsetTop > document.documentElement.scrollHeight || state.allowMultipleOpen)\r\n );\r\n };\r\n\r\n if (await waitForAnimationBeforeScrolling(this.accordionState)) {\r\n AccordionSection.scrollCandidate = this.host;\r\n return;\r\n }\r\n\r\n // this y is relative to the top of the viewport.\r\n const sectionBottomY = headingClientRect.top + headingClientRect.height + (this.open ? this.bodyHeight ?? 0 : 0);\r\n if (sectionBottomY > window.innerHeight) {\r\n const expandedAccordionHeight = sectionBottomY - headingClientRect.top;\r\n const shouldScrollToTopOfSection = expandedAccordionHeight > window.innerHeight;\r\n\r\n window.scrollTo({\r\n top: shouldScrollToTopOfSection\r\n ? this.host.offsetTop\r\n : this.host.offsetTop - (window.innerHeight - expandedAccordionHeight),\r\n behavior: \"smooth\",\r\n });\r\n } else if (headingClientRect.top < 0) {\r\n window.scrollTo({\r\n top: this.host.offsetTop,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n }\r\n\r\n private setAnimationBehaviour(event: Event, section?: HTMLElement): void {\r\n const expandableElement = event.target;\r\n\r\n if (!(expandableElement instanceof HTMLElement)) {\r\n return;\r\n }\r\n\r\n if (isExpandable(expandableElement)) {\r\n this.expandable = expandableElement;\r\n this.expandable._getAnimeInstance().then((animeInstance) => {\r\n if (animeInstance) {\r\n animeInstance.changeComplete = async () => {\r\n if (!section) {\r\n return;\r\n }\r\n\r\n const accordion = section.parentElement;\r\n\r\n if (accordion && isAccordion(accordion)) {\r\n accordion?.animationEnd(section);\r\n }\r\n\r\n if (AccordionSection.scrollCandidate === this.host) {\r\n AccordionSection.scrollCandidate = undefined;\r\n await this.scrollSectionIntoView();\r\n }\r\n };\r\n }\r\n });\r\n }\r\n }\r\n\r\n private async toggle(e?: MouseEvent): Promise<void> {\r\n e?.preventDefault();\r\n\r\n this.accordion?.toggleSection(this.host, e).then(async (isOpen) => {\r\n if (isOpen) {\r\n await this.scrollIntoViewWhenNeeded(true);\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n const { variant, reverseAlign } = this.accordionState ?? {};\r\n const hasAddons = !!this.status || !!this.state || !!this.icon || !!this.attachmentCount;\r\n\r\n return (\r\n <Host\r\n class={{\r\n \"dso-accordion-section\": true,\r\n [\"dso-accordion-\" + variant]: true,\r\n \"dso-nested-accordion\": this.hasNestedSection,\r\n \"dso-accordion-reverse-align\": reverseAlign ?? false,\r\n }}\r\n hidden={!variant}\r\n onMouseenter={() => (this.hover = true)}\r\n onMouseleave={() => (this.hover = false)}\r\n >\r\n <Handle heading={this.heading} ref={(element) => (this.sectionHeading = element)}>\r\n <HandleElement\r\n handleUrl={this.handleUrl}\r\n onClick={async (event) => await this.toggle(event)}\r\n open={this.open}\r\n >\r\n {reverseAlign ? (\r\n <Fragment>\r\n {hasAddons && (\r\n <div class=\"dso-section-handle-addons\">\r\n <HandleIcon icon={this.icon} />\r\n </div>\r\n )}\r\n\r\n <span>{this.handleTitle}</span>\r\n\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-down\"></dso-icon>\r\n </Fragment>\r\n ) : (\r\n <Fragment>\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-right\"></dso-icon>\r\n\r\n {this.state && <span class=\"sr-only\">{stateMap[this.state]}</span>}\r\n\r\n <span>\r\n {this.handleTitle}\r\n {this.isNeutral && (\r\n <dso-icon class=\"info-icon\" icon={this.open || this.hover ? \"info-active\" : \"info\"} />\r\n )}\r\n </span>\r\n\r\n {hasAddons && (\r\n <div class=\"dso-section-handle-addons\">\r\n {this.status && <span class=\"dso-status\">{this.status}</span>}\r\n <HandleIcon state={this.state} icon={this.icon} attachmentCount={this.attachmentCount} />\r\n </div>\r\n )}\r\n </Fragment>\r\n )}\r\n </HandleElement>\r\n </Handle>\r\n <dso-expandable\r\n class=\"dso-section-body\"\r\n open={this.open}\r\n enableAnimation\r\n minimumHeight={this.isNeutral ? 0 : 4}\r\n on_animationInstantiated={(e: Event) => this.setAnimationBehaviour(e, this.host)}\r\n >\r\n <div\r\n slot=\"expandable-content\"\r\n class=\"dso-section-body-content\"\r\n ref={(element) => (this.sectionBody = element)}\r\n >\r\n <slot />\r\n </div>\r\n </dso-expandable>\r\n </Host>\r\n );\r\n }\r\n}\r\n\r\nfunction isAccordion(element: Element): element is HTMLDsoAccordionElement {\r\n return element.tagName === \"DSO-ACCORDION\";\r\n}\r\n"],"version":3}
|