@dso-toolkit/core 54.3.0 → 56.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/dso-accordion-section.cjs.entry.js +31 -88
- package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-accordion.cjs.entry.js +198 -108
- package/dist/cjs/dso-accordion.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-action-list-item.cjs.entry.js +1 -1
- package/dist/cjs/dso-action-list.cjs.entry.js +1 -1
- package/dist/cjs/dso-alert_5.cjs.entry.js +719 -0
- package/dist/cjs/dso-alert_5.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-annotation-output_3.cjs.entry.js +143 -0
- package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -0
- package/dist/cjs/dso-attachments-counter.cjs.entry.js +1 -1
- package/dist/cjs/dso-autosuggest.cjs.entry.js +1 -1
- package/dist/cjs/dso-banner.cjs.entry.js +1 -1
- package/dist/cjs/dso-card-container.cjs.entry.js +1 -1
- package/dist/cjs/dso-card.cjs.entry.js +1 -1
- package/dist/cjs/dso-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/dso-dropdown-menu.cjs.entry.js +2 -2
- package/dist/cjs/dso-expandable.cjs.entry.js +18 -37
- package/dist/cjs/dso-expandable.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-header.cjs.entry.js +5 -2
- package/dist/cjs/dso-header.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +1 -1
- package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
- package/dist/cjs/dso-icon.cjs.entry.js +1 -1
- package/dist/cjs/dso-image-overlay.cjs.entry.js +1 -1
- package/dist/cjs/dso-info-button.cjs.entry.js +1 -1
- package/dist/cjs/dso-info_2.cjs.entry.js +4 -3
- package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-list-button.cjs.entry.js +2 -2
- package/dist/cjs/dso-list-button.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-base-layers.cjs.entry.js +1 -1
- package/dist/cjs/dso-map-controls.cjs.entry.js +2 -2
- package/dist/cjs/dso-map-controls.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-map-overlays.cjs.entry.js +1 -1
- package/dist/cjs/dso-modal.cjs.entry.js +3 -3
- package/dist/cjs/dso-modal.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-pagination.cjs.entry.js +1 -1
- package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
- package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
- package/dist/cjs/dso-responsive-element.cjs.entry.js +1 -1
- package/dist/cjs/dso-scrollable.cjs.entry.js +7 -7
- package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-table.cjs.entry.js +2 -2
- package/dist/cjs/dso-table.cjs.entry.js.map +1 -1
- package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
- package/dist/cjs/dso-toolkit.cjs.js +3 -3
- package/dist/cjs/dso-toolkit.cjs.js.map +1 -1
- package/dist/cjs/dso-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
- package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
- package/dist/cjs/dsot-document-component-demo.cjs.entry.js +110 -0
- package/dist/cjs/dsot-document-component-demo.cjs.entry.js.map +1 -0
- package/dist/cjs/{has-overflow-dd552ec8.js → has-overflow-d7baff1e.js} +7 -13
- package/dist/cjs/has-overflow-d7baff1e.js.map +1 -0
- package/dist/cjs/{index-caf53ce3.js → index-efc2222e.js} +14 -2
- package/dist/cjs/index-efc2222e.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +6 -5
- package/dist/collection/components/accordion/accordion.interfaces.js.map +1 -1
- package/dist/collection/components/accordion/accordion.js +9 -254
- package/dist/collection/components/accordion/accordion.js.map +1 -1
- package/dist/collection/components/accordion/components/accordion-section.js +68 -126
- package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
- package/dist/collection/components/annotation-button/annotation-button.css +1003 -0
- package/dist/collection/components/annotation-button/annotation-button.js +48 -7
- package/dist/collection/components/annotation-button/annotation-button.js.map +1 -1
- package/dist/collection/components/annotation-output/annotation-output.css +2 -2
- package/dist/collection/components/annotation-output/annotation-output.js +32 -64
- package/dist/collection/components/annotation-output/annotation-output.js.map +1 -1
- package/dist/collection/components/document-component/document-component-heading.js +30 -0
- package/dist/collection/components/document-component/document-component-heading.js.map +1 -0
- package/dist/collection/components/document-component/document-component.css +135 -0
- package/dist/collection/components/document-component/document-component.demo.js +112 -0
- package/dist/collection/components/document-component/document-component.demo.js.map +1 -0
- package/dist/collection/components/document-component/document-component.js +414 -0
- package/dist/collection/components/document-component/document-component.js.map +1 -0
- package/dist/collection/components/document-component/document-component.types.js +2 -0
- package/dist/collection/components/document-component/document-component.types.js.map +1 -0
- package/dist/collection/components/expandable/expandable.js +28 -94
- package/dist/collection/components/expandable/expandable.js.map +1 -1
- package/dist/collection/components/header/header.css +11 -3
- package/dist/collection/components/header/header.js +3 -0
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/list-button/list-button.css +10 -31
- package/dist/collection/components/map-controls/map-controls.css +22 -0
- package/dist/collection/components/modal/modal.css +69 -15
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/modal/modal.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content-mapper.js +9 -1
- package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
- package/dist/collection/components/ozon-content/ozon-content.css +49 -1
- package/dist/collection/components/ozon-content/ozon-content.js +1 -1
- package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
- package/dist/collection/components/scrollable/scrollable.css +5 -0
- package/dist/collection/components/scrollable/scrollable.js +5 -5
- package/dist/collection/components/scrollable/scrollable.js.map +1 -1
- package/dist/collection/components/selectable/selectable.css +1 -1
- package/dist/collection/components/selectable/selectable.js +4 -2
- package/dist/collection/components/selectable/selectable.js.map +1 -1
- package/dist/collection/components/table/table.css +69 -15
- package/dist/{esm/dso-alert.entry.js → components/alert.js} +33 -9
- package/dist/components/alert.js.map +1 -0
- package/dist/components/annotation-button.js +46 -0
- package/dist/components/annotation-button.js.map +1 -0
- package/dist/components/annotation-output.js +60 -0
- package/dist/components/annotation-output.js.map +1 -0
- package/dist/{esm/dso-badge.entry.js → components/badge.js} +26 -9
- package/dist/components/badge.js.map +1 -0
- package/dist/components/document-component.js +163 -0
- package/dist/components/document-component.js.map +1 -0
- package/dist/components/dso-accordion-section.js +35 -94
- package/dist/components/dso-accordion-section.js.map +1 -1
- package/dist/components/dso-accordion.js +199 -113
- package/dist/components/dso-accordion.js.map +1 -1
- package/dist/components/dso-alert.js +1 -50
- package/dist/components/dso-alert.js.map +1 -1
- package/dist/components/dso-annotation-button.js +1 -40
- package/dist/components/dso-annotation-button.js.map +1 -1
- package/dist/components/dso-annotation-output.js +1 -71
- package/dist/components/dso-annotation-output.js.map +1 -1
- package/dist/components/dso-autosuggest.js +1 -1
- package/dist/components/dso-badge.js +1 -32
- package/dist/components/dso-badge.js.map +1 -1
- package/dist/components/dso-document-component.d.ts +11 -0
- package/dist/components/dso-document-component.js +8 -0
- package/dist/components/dso-document-component.js.map +1 -0
- package/dist/components/dso-header.js +5 -2
- package/dist/components/dso-header.js.map +1 -1
- package/dist/components/dso-image-overlay.js +1 -1
- package/dist/components/dso-label.js +1 -161
- package/dist/components/dso-label.js.map +1 -1
- package/dist/components/dso-list-button.js +1 -1
- package/dist/components/dso-list-button.js.map +1 -1
- package/dist/components/dso-map-controls.js +1 -1
- package/dist/components/dso-map-controls.js.map +1 -1
- package/dist/components/dso-modal.js +10 -4
- package/dist/components/dso-modal.js.map +1 -1
- package/dist/components/dso-ozon-content.js +1 -544
- package/dist/components/dso-ozon-content.js.map +1 -1
- package/dist/components/dso-slide-toggle.js +1 -52
- package/dist/components/dso-slide-toggle.js.map +1 -1
- package/dist/components/dso-table.js +2 -2
- package/dist/components/dso-table.js.map +1 -1
- package/dist/components/dsot-document-component-demo.d.ts +11 -0
- package/dist/components/dsot-document-component-demo.js +202 -0
- package/dist/components/dsot-document-component-demo.js.map +1 -0
- package/dist/components/expandable.js +19 -40
- package/dist/components/expandable.js.map +1 -1
- package/dist/components/has-overflow.js +6 -12
- package/dist/components/has-overflow.js.map +1 -1
- package/dist/components/index.d.ts +4 -2
- package/dist/components/index.js +2 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +61 -185
- package/dist/components/index2.js.map +1 -1
- package/dist/{esm/dso-label.entry.js → components/label.js} +50 -11
- package/dist/components/label.js.map +1 -0
- package/dist/{esm/dso-ozon-content.entry.js → components/ozon-content.js} +43 -14
- package/dist/components/ozon-content.js.map +1 -0
- package/dist/components/scrollable.js +7 -7
- package/dist/components/scrollable.js.map +1 -1
- package/dist/components/selectable.js +4 -2
- package/dist/components/selectable.js.map +1 -1
- package/dist/{esm/dso-slide-toggle.entry.js → components/slide-toggle.js} +31 -10
- package/dist/{dso-toolkit/p-a2c800de.entry.js.map → components/slide-toggle.js.map} +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
- package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
- package/dist/dso-toolkit/{p-8bc41dd6.entry.js → p-05ea1fba.entry.js} +2 -2
- package/dist/dso-toolkit/{p-59aebe2c.entry.js → p-0e5a93c3.entry.js} +2 -2
- package/dist/dso-toolkit/p-14453f73.entry.js +2 -0
- package/dist/dso-toolkit/p-14453f73.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-13905ac9.entry.js → p-168750a2.entry.js} +2 -2
- package/dist/dso-toolkit/{p-9d5c6ab6.entry.js → p-1cc75e0b.entry.js} +2 -2
- package/dist/dso-toolkit/{p-dd135c8e.entry.js → p-29752a45.entry.js} +2 -2
- package/dist/dso-toolkit/{p-679710f8.entry.js → p-29b741cb.entry.js} +2 -2
- package/dist/dso-toolkit/p-39f6447d.entry.js +2 -0
- package/dist/dso-toolkit/p-39f6447d.entry.js.map +1 -0
- package/dist/dso-toolkit/p-3c554a18.entry.js +2 -0
- package/dist/dso-toolkit/p-3c554a18.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-5dfadeea.entry.js → p-3fa7489e.entry.js} +2 -2
- package/dist/dso-toolkit/p-422bcf93.entry.js +2 -0
- package/dist/dso-toolkit/p-422bcf93.entry.js.map +1 -0
- package/dist/dso-toolkit/p-42d3c595.entry.js +2 -0
- package/dist/dso-toolkit/{p-6bec28f1.entry.js.map → p-42d3c595.entry.js.map} +1 -1
- package/dist/dso-toolkit/p-484ea1d2.entry.js +2 -0
- package/dist/dso-toolkit/p-484ea1d2.entry.js.map +1 -0
- package/dist/dso-toolkit/p-5265e22b.entry.js +2 -0
- package/dist/dso-toolkit/p-56d87a53.entry.js +2 -0
- package/dist/dso-toolkit/p-56d87a53.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-19ab7f7b.entry.js → p-6050e8e6.entry.js} +2 -2
- package/dist/dso-toolkit/p-674e2406.entry.js +2 -0
- package/dist/dso-toolkit/p-674e2406.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-2c69a645.entry.js → p-68e9f61b.entry.js} +2 -2
- package/dist/dso-toolkit/{p-0a07d968.entry.js → p-818d032e.entry.js} +2 -2
- package/dist/dso-toolkit/{p-6016d874.entry.js → p-83cdfde8.entry.js} +2 -2
- package/dist/dso-toolkit/{p-452b1234.js → p-871bfdf9.js} +1 -1
- package/dist/dso-toolkit/p-871bfdf9.js.map +1 -0
- package/dist/dso-toolkit/p-909ccf98.entry.js +2 -0
- package/dist/dso-toolkit/{p-106b3e01.entry.js.map → p-909ccf98.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-161952e8.entry.js → p-9b587a94.entry.js} +2 -2
- package/dist/dso-toolkit/p-9c0477fc.entry.js +2 -0
- package/dist/dso-toolkit/{p-348f8556.entry.js.map → p-9c0477fc.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-556308dd.entry.js → p-9f2bb98b.entry.js} +2 -2
- package/dist/dso-toolkit/{p-87189a75.entry.js → p-9fee52e5.entry.js} +2 -2
- package/dist/dso-toolkit/{p-54d863d2.entry.js → p-a616ab8a.entry.js} +2 -2
- package/dist/dso-toolkit/p-a616ab8a.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-fe53cdab.entry.js → p-b627d9ac.entry.js} +2 -2
- package/dist/dso-toolkit/{p-8098de75.entry.js → p-b67631ef.entry.js} +2 -2
- package/dist/dso-toolkit/p-bcae3f55.entry.js +2 -0
- package/dist/dso-toolkit/p-bcae3f55.entry.js.map +1 -0
- package/dist/dso-toolkit/{p-6bf87d2c.entry.js → p-bf203ab8.entry.js} +2 -2
- package/dist/dso-toolkit/{p-54b37feb.entry.js → p-c8165a50.entry.js} +2 -2
- package/dist/dso-toolkit/p-ce928197.js +3 -0
- package/dist/dso-toolkit/p-ce928197.js.map +1 -0
- package/dist/dso-toolkit/{p-4be5162c.entry.js → p-cfd6f4ef.entry.js} +2 -2
- package/dist/dso-toolkit/{p-71aec27c.entry.js → p-d3f69d06.entry.js} +2 -2
- package/dist/dso-toolkit/{p-d138fc15.entry.js → p-d8c137b5.entry.js} +2 -2
- package/dist/dso-toolkit/p-debbe184.entry.js +2 -0
- package/dist/dso-toolkit/{p-c4876680.entry.js.map → p-debbe184.entry.js.map} +1 -1
- package/dist/dso-toolkit/{p-eeb73369.entry.js → p-ec4b568d.entry.js} +2 -2
- package/dist/dso-toolkit/p-ec4b568d.entry.js.map +1 -0
- package/dist/dso-toolkit/p-fafa5ea1.entry.js +2 -0
- package/dist/dso-toolkit/p-fafa5ea1.entry.js.map +1 -0
- package/dist/esm/dso-accordion-section.entry.js +31 -88
- package/dist/esm/dso-accordion-section.entry.js.map +1 -1
- package/dist/esm/dso-accordion.entry.js +198 -108
- package/dist/esm/dso-accordion.entry.js.map +1 -1
- package/dist/esm/dso-action-list-item.entry.js +1 -1
- package/dist/esm/dso-action-list.entry.js +1 -1
- package/dist/esm/dso-alert_5.entry.js +711 -0
- package/dist/esm/dso-alert_5.entry.js.map +1 -0
- package/dist/esm/dso-annotation-output_3.entry.js +137 -0
- package/dist/esm/dso-annotation-output_3.entry.js.map +1 -0
- package/dist/esm/dso-attachments-counter.entry.js +1 -1
- package/dist/esm/dso-autosuggest.entry.js +1 -1
- package/dist/esm/dso-banner.entry.js +1 -1
- package/dist/esm/dso-card-container.entry.js +1 -1
- package/dist/esm/dso-card.entry.js +1 -1
- package/dist/esm/dso-date-picker.entry.js +1 -1
- package/dist/esm/dso-dropdown-menu.entry.js +2 -2
- package/dist/esm/dso-expandable.entry.js +18 -37
- package/dist/esm/dso-expandable.entry.js.map +1 -1
- package/dist/esm/dso-header.entry.js +5 -2
- package/dist/esm/dso-header.entry.js.map +1 -1
- package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
- package/dist/esm/dso-highlight-box.entry.js +1 -1
- package/dist/esm/dso-icon.entry.js +1 -1
- package/dist/esm/dso-image-overlay.entry.js +1 -1
- package/dist/esm/dso-info-button.entry.js +1 -1
- package/dist/esm/dso-info_2.entry.js +4 -3
- package/dist/esm/dso-info_2.entry.js.map +1 -1
- package/dist/esm/dso-list-button.entry.js +2 -2
- package/dist/esm/dso-list-button.entry.js.map +1 -1
- package/dist/esm/dso-map-base-layers.entry.js +1 -1
- package/dist/esm/dso-map-controls.entry.js +2 -2
- package/dist/esm/dso-map-controls.entry.js.map +1 -1
- package/dist/esm/dso-map-overlays.entry.js +1 -1
- package/dist/esm/dso-modal.entry.js +3 -3
- package/dist/esm/dso-modal.entry.js.map +1 -1
- package/dist/esm/dso-pagination.entry.js +1 -1
- package/dist/esm/dso-progress-bar.entry.js +1 -1
- package/dist/esm/dso-progress-indicator.entry.js +1 -1
- package/dist/esm/dso-responsive-element.entry.js +1 -1
- package/dist/esm/dso-scrollable.entry.js +7 -7
- package/dist/esm/dso-scrollable.entry.js.map +1 -1
- package/dist/esm/dso-table.entry.js +2 -2
- package/dist/esm/dso-table.entry.js.map +1 -1
- package/dist/esm/dso-toggletip.entry.js +1 -1
- package/dist/esm/dso-toolkit.js +4 -4
- package/dist/esm/dso-toolkit.js.map +1 -1
- package/dist/esm/dso-tooltip.entry.js +2 -2
- package/dist/esm/dso-tree-view.entry.js +1 -1
- package/dist/esm/dso-viewer-grid.entry.js +1 -1
- package/dist/esm/dsot-document-component-demo.entry.js +106 -0
- package/dist/esm/dsot-document-component-demo.entry.js.map +1 -0
- package/dist/esm/{has-overflow-fdc85d8f.js → has-overflow-814a0f4e.js} +7 -13
- package/dist/esm/has-overflow-814a0f4e.js.map +1 -0
- package/dist/esm/{index-8de88e7c.js → index-367cff36.js} +15 -3
- package/dist/esm/index-367cff36.js.map +1 -0
- package/dist/esm/loader.js +4 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/types/components/accordion/accordion.d.ts +6 -39
- package/dist/types/components/accordion/accordion.interfaces.d.ts +21 -15
- package/dist/types/components/accordion/components/accordion-section.d.ts +15 -18
- package/dist/types/components/annotation-button/annotation-button.d.ts +15 -4
- package/dist/types/components/annotation-output/annotation-output.d.ts +7 -5
- package/dist/types/components/document-component/document-component-heading.d.ts +7 -0
- package/dist/types/components/document-component/document-component.d.ts +84 -0
- package/dist/types/components/document-component/document-component.demo.d.ts +40 -0
- package/dist/types/components/document-component/document-component.types.d.ts +8 -0
- package/dist/types/components/expandable/expandable.d.ts +5 -12
- package/dist/types/components/scrollable/scrollable.d.ts +1 -0
- package/dist/types/components/selectable/selectable.d.ts +1 -0
- package/dist/types/components.d.ts +233 -125
- package/dist/types/stencil-public-runtime.d.ts +2 -0
- package/package.json +4 -4
- package/dist/cjs/annotation.service-99dd546f.js +0 -23
- package/dist/cjs/annotation.service-99dd546f.js.map +0 -1
- package/dist/cjs/dso-alert.cjs.entry.js +0 -34
- package/dist/cjs/dso-alert.cjs.entry.js.map +0 -1
- package/dist/cjs/dso-annotation-button.cjs.entry.js +0 -27
- package/dist/cjs/dso-annotation-button.cjs.entry.js.map +0 -1
- package/dist/cjs/dso-annotation-output.cjs.entry.js +0 -44
- package/dist/cjs/dso-annotation-output.cjs.entry.js.map +0 -1
- package/dist/cjs/dso-badge.cjs.entry.js +0 -23
- package/dist/cjs/dso-badge.cjs.entry.js.map +0 -1
- package/dist/cjs/dso-expandable-heading.cjs.entry.js +0 -54
- package/dist/cjs/dso-expandable-heading.cjs.entry.js.map +0 -1
- package/dist/cjs/dso-label.cjs.entry.js +0 -130
- package/dist/cjs/dso-label.cjs.entry.js.map +0 -1
- package/dist/cjs/dso-ozon-content.cjs.entry.js +0 -532
- package/dist/cjs/dso-ozon-content.cjs.entry.js.map +0 -1
- package/dist/cjs/dso-slide-toggle.cjs.entry.js +0 -39
- package/dist/cjs/dso-slide-toggle.cjs.entry.js.map +0 -1
- package/dist/cjs/has-overflow-dd552ec8.js.map +0 -1
- package/dist/cjs/index-3643f00e.js +0 -198
- package/dist/cjs/index-3643f00e.js.map +0 -1
- package/dist/cjs/index-caf53ce3.js.map +0 -1
- package/dist/collection/components/annotation-output/annotation-output.interfaces.js +0 -2
- package/dist/collection/components/annotation-output/annotation-output.interfaces.js.map +0 -1
- package/dist/collection/components/expandable/expandable.functions.js +0 -4
- package/dist/collection/components/expandable/expandable.functions.js.map +0 -1
- package/dist/collection/components/expandable-heading/expandable-heading.css +0 -200
- package/dist/collection/components/expandable-heading/expandable-heading.interfaces.js +0 -2
- package/dist/collection/components/expandable-heading/expandable-heading.interfaces.js.map +0 -1
- package/dist/collection/components/expandable-heading/expandable-heading.js +0 -163
- package/dist/collection/components/expandable-heading/expandable-heading.js.map +0 -1
- package/dist/collection/components/expandable-heading/heading.js +0 -17
- package/dist/collection/components/expandable-heading/heading.js.map +0 -1
- package/dist/collection/services/annotation.service.js +0 -17
- package/dist/collection/services/annotation.service.js.map +0 -1
- package/dist/components/annotation.service.js +0 -21
- package/dist/components/annotation.service.js.map +0 -1
- package/dist/components/dso-expandable-heading.d.ts +0 -11
- package/dist/components/dso-expandable-heading.js +0 -86
- package/dist/components/dso-expandable-heading.js.map +0 -1
- package/dist/components/index3.js +0 -72
- package/dist/components/index3.js.map +0 -1
- package/dist/dso-toolkit/p-01d41a89.entry.js +0 -2
- package/dist/dso-toolkit/p-01d41a89.entry.js.map +0 -1
- package/dist/dso-toolkit/p-106b3e01.entry.js +0 -2
- package/dist/dso-toolkit/p-180255f9.entry.js +0 -2
- package/dist/dso-toolkit/p-180255f9.entry.js.map +0 -1
- package/dist/dso-toolkit/p-18c1d44d.entry.js +0 -2
- package/dist/dso-toolkit/p-18c1d44d.entry.js.map +0 -1
- package/dist/dso-toolkit/p-25b9716f.entry.js +0 -2
- package/dist/dso-toolkit/p-25b9716f.entry.js.map +0 -1
- package/dist/dso-toolkit/p-348f8556.entry.js +0 -2
- package/dist/dso-toolkit/p-452b1234.js.map +0 -1
- package/dist/dso-toolkit/p-4cbb4962.entry.js +0 -2
- package/dist/dso-toolkit/p-4cbb4962.entry.js.map +0 -1
- package/dist/dso-toolkit/p-53c8538c.js +0 -3
- package/dist/dso-toolkit/p-53c8538c.js.map +0 -1
- package/dist/dso-toolkit/p-54d863d2.entry.js.map +0 -1
- package/dist/dso-toolkit/p-5e18dd5d.js +0 -2
- package/dist/dso-toolkit/p-5e18dd5d.js.map +0 -1
- package/dist/dso-toolkit/p-61be182f.entry.js +0 -2
- package/dist/dso-toolkit/p-61be182f.entry.js.map +0 -1
- package/dist/dso-toolkit/p-67d402c8.entry.js +0 -2
- package/dist/dso-toolkit/p-67d402c8.entry.js.map +0 -1
- package/dist/dso-toolkit/p-6bec28f1.entry.js +0 -2
- package/dist/dso-toolkit/p-6e38820b.js +0 -2
- package/dist/dso-toolkit/p-6e38820b.js.map +0 -1
- package/dist/dso-toolkit/p-81894dbc.entry.js +0 -2
- package/dist/dso-toolkit/p-81894dbc.entry.js.map +0 -1
- package/dist/dso-toolkit/p-90fda176.entry.js +0 -2
- package/dist/dso-toolkit/p-90fda176.entry.js.map +0 -1
- package/dist/dso-toolkit/p-95687fb7.entry.js +0 -2
- package/dist/dso-toolkit/p-95687fb7.entry.js.map +0 -1
- package/dist/dso-toolkit/p-a2c800de.entry.js +0 -2
- package/dist/dso-toolkit/p-b0d25e25.entry.js +0 -2
- package/dist/dso-toolkit/p-ba22a05a.entry.js +0 -2
- package/dist/dso-toolkit/p-ba22a05a.entry.js.map +0 -1
- package/dist/dso-toolkit/p-c4876680.entry.js +0 -2
- package/dist/dso-toolkit/p-cacefb87.entry.js +0 -2
- package/dist/dso-toolkit/p-cacefb87.entry.js.map +0 -1
- package/dist/dso-toolkit/p-cb6745a3.entry.js +0 -2
- package/dist/dso-toolkit/p-cb6745a3.entry.js.map +0 -1
- package/dist/dso-toolkit/p-eeb73369.entry.js.map +0 -1
- package/dist/esm/annotation.service-06eb23b6.js +0 -21
- package/dist/esm/annotation.service-06eb23b6.js.map +0 -1
- package/dist/esm/dso-alert.entry.js.map +0 -1
- package/dist/esm/dso-annotation-button.entry.js +0 -23
- package/dist/esm/dso-annotation-button.entry.js.map +0 -1
- package/dist/esm/dso-annotation-output.entry.js +0 -40
- package/dist/esm/dso-annotation-output.entry.js.map +0 -1
- package/dist/esm/dso-badge.entry.js.map +0 -1
- package/dist/esm/dso-expandable-heading.entry.js +0 -50
- package/dist/esm/dso-expandable-heading.entry.js.map +0 -1
- package/dist/esm/dso-label.entry.js.map +0 -1
- package/dist/esm/dso-ozon-content.entry.js.map +0 -1
- package/dist/esm/dso-slide-toggle.entry.js.map +0 -1
- package/dist/esm/has-overflow-fdc85d8f.js.map +0 -1
- package/dist/esm/index-05308e88.js +0 -196
- package/dist/esm/index-05308e88.js.map +0 -1
- package/dist/esm/index-8de88e7c.js.map +0 -1
- package/dist/types/components/annotation-output/annotation-output.interfaces.d.ts +0 -4
- package/dist/types/components/expandable/expandable.functions.d.ts +0 -1
- package/dist/types/components/expandable-heading/expandable-heading.d.ts +0 -33
- package/dist/types/components/expandable-heading/expandable-heading.interfaces.d.ts +0 -6
- package/dist/types/components/expandable-heading/heading.d.ts +0 -9
- package/dist/types/globals.d.ts +0 -16
- package/dist/types/services/annotation.service.d.ts +0 -10
- /package/dist/dso-toolkit/{p-8bc41dd6.entry.js.map → p-05ea1fba.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-59aebe2c.entry.js.map → p-0e5a93c3.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-13905ac9.entry.js.map → p-168750a2.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-9d5c6ab6.entry.js.map → p-1cc75e0b.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-dd135c8e.entry.js.map → p-29752a45.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-679710f8.entry.js.map → p-29b741cb.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-5dfadeea.entry.js.map → p-3fa7489e.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-b0d25e25.entry.js.map → p-5265e22b.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-19ab7f7b.entry.js.map → p-6050e8e6.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-2c69a645.entry.js.map → p-68e9f61b.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-0a07d968.entry.js.map → p-818d032e.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-6016d874.entry.js.map → p-83cdfde8.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-161952e8.entry.js.map → p-9b587a94.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-556308dd.entry.js.map → p-9f2bb98b.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-87189a75.entry.js.map → p-9fee52e5.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-fe53cdab.entry.js.map → p-b627d9ac.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-8098de75.entry.js.map → p-b67631ef.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-6bf87d2c.entry.js.map → p-bf203ab8.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-54b37feb.entry.js.map → p-c8165a50.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-4be5162c.entry.js.map → p-cfd6f4ef.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-71aec27c.entry.js.map → p-d3f69d06.entry.js.map} +0 -0
- /package/dist/dso-toolkit/{p-d138fc15.entry.js.map → p-d8c137b5.entry.js.map} +0 -0
|
@@ -36,7 +36,7 @@ export class OzonContent {
|
|
|
36
36
|
return (h(Host, { onClick: (e) => this.handleHostOnClick(e) }, h("slot", { name: "prefix" }), transformed, h("slot", { name: "suffix" })));
|
|
37
37
|
}
|
|
38
38
|
static get is() { return "dso-ozon-content"; }
|
|
39
|
-
static get encapsulation() { return "
|
|
39
|
+
static get encapsulation() { return "shadow"; }
|
|
40
40
|
static get originalStyleUrls() {
|
|
41
41
|
return {
|
|
42
42
|
"$": ["ozon-content.scss"]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ozon-content.js","sourceRoot":"","sources":["../../../src/components/ozon-content/ozon-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAsB,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AACvH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAU/C,MAAM,OAAO,WAAW;;IAkDd,WAAM,GAAG,IAAI,MAAM,EAAE,CAAC;;kBAvCrB,KAAK;mBAMJ,KAAK;uBAaqB,KAAK;iBAGX,EAAE;;EAmBxB,iBAAiB,CAAC,CAAU;IAClC,+CAA+C;IAC/C,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MAChD,OAAO;KACR;IAED,MAAM,IAAI,GACR,CAAC;OACE,YAAY,EAAE;OACd,IAAI,CACH,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,YAAY,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAC9G,KAAK,IAAI,CAAC,IAAI,CAAC;IAEpB,IAAI,IAAI,EAAE;MACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;KAC1C;EACH,CAAC;EAED,MAAM;;IACJ,MAAM,OAAO,GAAuB;MAClC,KAAK,EAAE,IAAI,CAAC,KAAK;MACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACzC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;KAC1C,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,OAAO,EAAE;MAChB,OAAO,CACL;QACE,YAAM,IAAI,EAAC,QAAQ,GAAG;QACtB,YAAM,KAAK,EAAC,eAAe,+BAAgC;QAC1D,WAAW;QACZ,YAAM,KAAK,EAAC,aAAa,+BAAgC;QACzD,YAAM,IAAI,EAAC,QAAQ,GAAG,CACd,CACX,CAAC;KACH;IAED,OAAO,CACL,EAAC,IAAI,IAAC,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;MACtD,YAAM,IAAI,EAAC,QAAQ,GAAG;MACrB,WAAW;MACZ,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, ComponentInterface, Element, Event, EventEmitter, Prop, State, Host, JSX } from \"@stencil/core\";\r\nimport { isTabbable } from \"tabbable\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentAnchorClick, OzonContentClick } from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n
|
|
1
|
+
{"version":3,"file":"ozon-content.js","sourceRoot":"","sources":["../../../src/components/ozon-content/ozon-content.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAsB,OAAO,EAAE,KAAK,EAAgB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAO,MAAM,eAAe,CAAC;AACvH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAU/C,MAAM,OAAO,WAAW;;IAkDd,WAAM,GAAG,IAAI,MAAM,EAAE,CAAC;;kBAvCrB,KAAK;mBAMJ,KAAK;uBAaqB,KAAK;iBAGX,EAAE;;EAmBxB,iBAAiB,CAAC,CAAU;IAClC,+CAA+C;IAC/C,IAAI,IAAI,CAAC,WAAW,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;MAChD,OAAO;KACR;IAED,MAAM,IAAI,GACR,CAAC;OACE,YAAY,EAAE;OACd,IAAI,CACH,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,YAAY,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAC9G,KAAK,IAAI,CAAC,IAAI,CAAC;IAEpB,IAAI,IAAI,EAAE;MACR,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;KAC1C;EACH,CAAC;EAED,MAAM;;IACJ,MAAM,OAAO,GAAuB;MAClC,KAAK,EAAE,IAAI,CAAC,KAAK;MACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;MACzC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;KAC1C,CAAC;IAEF,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,OAAO,EAAE;MAChB,OAAO,CACL;QACE,YAAM,IAAI,EAAC,QAAQ,GAAG;QACtB,YAAM,KAAK,EAAC,eAAe,+BAAgC;QAC1D,WAAW;QACZ,YAAM,KAAK,EAAC,aAAa,+BAAgC;QACzD,YAAM,IAAI,EAAC,QAAQ,GAAG,CACd,CACX,CAAC;KACH;IAED,OAAO,CACL,EAAC,IAAI,IAAC,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;MACtD,YAAM,IAAI,EAAC,QAAQ,GAAG;MACrB,WAAW;MACZ,YAAM,IAAI,EAAC,QAAQ,GAAG,CACjB,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { h, Component, ComponentInterface, Element, Event, EventEmitter, Prop, State, Host, JSX } from \"@stencil/core\";\r\nimport { isTabbable } from \"tabbable\";\r\n\r\nimport { Mapper } from \"./ozon-content-mapper\";\r\nimport { OzonContentContext } from \"./ozon-content-context.interface\";\r\nimport { OzonContentAnchorClick, OzonContentClick } from \"./ozon-content.interfaces\";\r\nimport { OzonContentNodeState } from \"./ozon-content-node-state.interface\";\r\n\r\n@Component({\r\n tag: \"dso-ozon-content\",\r\n styleUrl: \"ozon-content.scss\",\r\n shadow: true,\r\n})\r\nexport class OzonContent implements ComponentInterface {\r\n /**\r\n * The XML to be rendered.\r\n */\r\n @Prop()\r\n content: string | undefined;\r\n\r\n /**\r\n * Setting this property creates dso-ozon-content as inline element instead of a block element.\r\n */\r\n @Prop({ reflect: true })\r\n inline = false;\r\n\r\n /**\r\n * Marks content as deleted using visual and accessible clues.\r\n */\r\n @Prop({ reflect: true })\r\n deleted = false;\r\n\r\n /**\r\n * Visualize the component as interactive. This means that the component will emit `dsoClick` events when the user clicks non-interactive elements.\r\n *\r\n * **Do not** use this without an accessible companion element! `interactive` is only\r\n * meant to ease the use of the companion element for mouse/touch users.\r\n *\r\n * * `true`: Interactive anchor-look-alike\r\n * * `\"sub\"`: Interactive anchor-look-alike for sub navigation\r\n * * `false | undefined`: Disabled\r\n */\r\n @Prop({ reflect: true })\r\n interactive: \"sub\" | \"\" | boolean = false;\r\n\r\n @State()\r\n state: OzonContentNodeState = {};\r\n\r\n /**\r\n * Emitted when `<a>` is clicked.\r\n */\r\n @Event()\r\n dsoAnchorClick!: EventEmitter<OzonContentAnchorClick>;\r\n\r\n /**\r\n * These events are only emitted when the component is `interactive`.\r\n */\r\n @Event()\r\n dsoClick!: EventEmitter<OzonContentClick>;\r\n\r\n @Element()\r\n host!: HTMLDsoOzonContentElement;\r\n\r\n private mapper = new Mapper();\r\n\r\n private handleHostOnClick(e: UIEvent) {\r\n // '' is `true`: <dso-ozon-content interactive>\r\n if (this.interactive !== \"\" && !this.interactive) {\r\n return;\r\n }\r\n\r\n const doIt =\r\n e\r\n .composedPath()\r\n .find(\r\n (eventTarget) => eventTarget === this.host || (eventTarget instanceof HTMLElement && isTabbable(eventTarget))\r\n ) === this.host;\r\n\r\n if (doIt) {\r\n this.dsoClick.emit({ originalEvent: e });\r\n }\r\n }\r\n\r\n render(): JSX.Element {\r\n const context: OzonContentContext = {\r\n state: this.state,\r\n setState: (state) => (this.state = state),\r\n emitAnchorClick: this.dsoAnchorClick.emit,\r\n };\r\n\r\n const transformed = this.mapper.transform(this.content ?? \"\", context);\r\n\r\n if (this.deleted) {\r\n return (\r\n <section>\r\n <slot name=\"prefix\" />\r\n <span class=\"deleted-start\">Begin verwijderd element</span>\r\n {transformed}\r\n <span class=\"deleted-end\">Einde verwijderd element</span>\r\n <slot name=\"suffix\" />\r\n </section>\r\n );\r\n }\r\n\r\n return (\r\n <Host onClick={(e: UIEvent) => this.handleHostOnClick(e)}>\r\n <slot name=\"prefix\" />\r\n {transformed}\r\n <slot name=\"suffix\" />\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -12,10 +12,14 @@
|
|
|
12
12
|
|
|
13
13
|
.dso-shadow-container {
|
|
14
14
|
height: 100%;
|
|
15
|
+
max-height: inherit;
|
|
16
|
+
min-height: inherit;
|
|
15
17
|
position: relative;
|
|
16
18
|
}
|
|
17
19
|
.dso-shadow-container .dso-scroll-container {
|
|
18
20
|
height: 100%;
|
|
21
|
+
max-height: inherit;
|
|
22
|
+
min-height: inherit;
|
|
19
23
|
overflow-y: auto;
|
|
20
24
|
}
|
|
21
25
|
.dso-shadow-container .dso-scroll-container::before, .dso-shadow-container .dso-scroll-container::after {
|
|
@@ -30,6 +34,7 @@
|
|
|
30
34
|
position: absolute;
|
|
31
35
|
transition: opacity 150ms ease-in-out;
|
|
32
36
|
width: 100%;
|
|
37
|
+
pointer-events: none;
|
|
33
38
|
}
|
|
34
39
|
.dso-shadow-container .dso-scroll-container::before {
|
|
35
40
|
background-image: linear-gradient(to top, rgba(183, 183, 183, 0), rgba(183, 183, 183, 0.7));
|
|
@@ -68,20 +68,20 @@ export class Scrollable {
|
|
|
68
68
|
childList: false,
|
|
69
69
|
subtree: true,
|
|
70
70
|
});
|
|
71
|
-
if (this.
|
|
72
|
-
resizeObserver.observe(this.
|
|
71
|
+
if (this.shadowContainerDiv instanceof HTMLDivElement) {
|
|
72
|
+
resizeObserver.observe(this.shadowContainerDiv);
|
|
73
73
|
}
|
|
74
74
|
this.slottedElements.forEach((element) => resizeObserver.observe(element));
|
|
75
75
|
}
|
|
76
76
|
disconnectedCallback() {
|
|
77
|
-
if (this.
|
|
78
|
-
resizeObserver.unobserve(this.
|
|
77
|
+
if (this.shadowContainerDiv instanceof HTMLDivElement) {
|
|
78
|
+
resizeObserver.unobserve(this.shadowContainerDiv);
|
|
79
79
|
}
|
|
80
80
|
this.mutationObserver.disconnect();
|
|
81
81
|
this.slottedElements.forEach((element) => resizeObserver.unobserve(element));
|
|
82
82
|
}
|
|
83
83
|
render() {
|
|
84
|
-
return (h("div", { class: "dso-shadow-container" }, h("div", { ref: (el) => (this.scrollContainerDiv = el), class: clsx("dso-scroll-container", {
|
|
84
|
+
return (h("div", { ref: (el) => (this.shadowContainerDiv = el), class: "dso-shadow-container" }, h("div", { ref: (el) => (this.scrollContainerDiv = el), class: clsx("dso-scroll-container", {
|
|
85
85
|
[`dso-scroll-${this.scrollPosition}`]: this.scrollPosition !== "noScroll",
|
|
86
86
|
}), onScroll: () => this._setScrollState() }, h("slot", null))));
|
|
87
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollable.js","sourceRoot":"","sources":["../../../src/components/scrollable/scrollable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1F,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,QAAQ,MAAM,UAAU,CAAC;AAIhC,MAAM,cAAc,GAAG,IAAI,cAAc,CACvC,QAAQ,CACN,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,6CAA6C,CAAC,KAAK,CAAC,0CAAE,eAAe,EAAE,CAAA,EAAA,CAAC,EAChH,EAAE,CACH,CACF,CAAC;AAEF,SAAS,6CAA6C,CAAC,EACrD,MAAM,GACc;EACpB,IAAI,MAAM,CAAC,UAAU,YAAY,UAAU,IAAI,wBAAwB,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;IAC/F,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;GAC/B;EAED,IAAI,MAAM,CAAC,aAAa,IAAI,wBAAwB,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;IAC1E,OAAO,MAAM,CAAC,aAAa,CAAC;GAC7B;EAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAgB;EAChD,OAAO,OAAO,CAAC,OAAO,KAAK,gBAAgB,CAAC;AAC9C,CAAC;AAOD,MAAM,OAAO,UAAU;;IACrB,wFAAwF;IAChF,qBAAgB,GAAG,IAAI,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;;MAC7B,MAAM,OAAO,GAAG,MAAA,MAAM,CAAC,aAAa,0CAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;MAChE,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,EAAE;QACzB,OAAO;OACR;MAED,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CACH,CAAC;
|
|
1
|
+
{"version":3,"file":"scrollable.js","sourceRoot":"","sources":["../../../src/components/scrollable/scrollable.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Method, State } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport debounce from \"debounce\";\r\n\r\nimport { DsoScrollEndEvent, ScrollPosition } from \"./scrollable.interfaces\";\r\n\r\nconst resizeObserver = new ResizeObserver(\r\n debounce(\r\n (entries) => entries.forEach((entry) => getScrollableComponentFromResizeObserverEntry(entry)?._setScrollState()),\r\n 50\r\n )\r\n);\r\n\r\nfunction getScrollableComponentFromResizeObserverEntry({\r\n target,\r\n}: ResizeObserverEntry): HTMLDsoScrollableElement | undefined {\r\n if (target.parentNode instanceof ShadowRoot && isDsoScrollableComponent(target.parentNode.host)) {\r\n return target.parentNode.host;\r\n }\r\n\r\n if (target.parentElement && isDsoScrollableComponent(target.parentElement)) {\r\n return target.parentElement;\r\n }\r\n\r\n return undefined;\r\n}\r\n\r\nfunction isDsoScrollableComponent(element: Element): element is HTMLDsoScrollableElement {\r\n return element.tagName === \"DSO-SCROLLABLE\";\r\n}\r\n\r\n@Component({\r\n tag: \"dso-scrollable\",\r\n styleUrl: \"scrollable.scss\",\r\n shadow: true,\r\n})\r\nexport class Scrollable {\r\n // One MutationObserver per instance because of https://github.com/whatwg/dom/issues/126\r\n private mutationObserver = new MutationObserver((entries) =>\r\n entries.forEach(({ target }) => {\r\n const element = target.parentElement?.closest(\"dso-scrollable\");\r\n if (element !== this.host) {\r\n return;\r\n }\r\n\r\n this._setScrollState();\r\n })\r\n );\r\n\r\n private scrollContainerDiv?: HTMLDivElement;\r\n\r\n private shadowContainerDiv?: HTMLDivElement;\r\n\r\n @Element()\r\n host!: HTMLDsoScrollableElement;\r\n\r\n /**\r\n * Event emitted when the scrollbar has reached top or bottom.\r\n */\r\n @Event()\r\n dsoScrollEnd!: EventEmitter<DsoScrollEndEvent>;\r\n\r\n @State()\r\n scrollPosition: ScrollPosition = \"noScroll\";\r\n\r\n /**\r\n * @internal\r\n */\r\n @Method()\r\n async _setScrollState() {\r\n const scrollPosition = this.getScrollPosition();\r\n if (this.scrollPosition !== scrollPosition) {\r\n this.scrollPosition = scrollPosition;\r\n\r\n if (this.scrollPosition === \"top\" || this.scrollPosition === \"bottom\") {\r\n this.dsoScrollEnd.emit({ scrollEnd: this.scrollPosition });\r\n }\r\n }\r\n }\r\n\r\n private get slottedElements() {\r\n return Array.from(this.host.children);\r\n }\r\n\r\n private getScrollPosition(): ScrollPosition {\r\n if (!this.scrollContainerDiv) {\r\n return \"noScroll\";\r\n }\r\n\r\n const { scrollHeight, clientHeight, scrollTop } = this.scrollContainerDiv;\r\n\r\n if (scrollHeight <= clientHeight) {\r\n return \"noScroll\";\r\n }\r\n\r\n if (scrollTop === 0) {\r\n return \"top\";\r\n }\r\n\r\n if (scrollHeight - scrollTop - clientHeight < 1) {\r\n return \"bottom\";\r\n }\r\n\r\n if (scrollTop > 0) {\r\n return \"middle\";\r\n }\r\n\r\n return \"noScroll\";\r\n }\r\n\r\n componentDidLoad(): void {\r\n this.mutationObserver.observe(this.host, {\r\n characterData: true,\r\n attributes: false,\r\n childList: false,\r\n subtree: true,\r\n });\r\n\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.observe(this.shadowContainerDiv);\r\n }\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.observe(element));\r\n }\r\n\r\n disconnectedCallback(): void {\r\n if (this.shadowContainerDiv instanceof HTMLDivElement) {\r\n resizeObserver.unobserve(this.shadowContainerDiv);\r\n }\r\n\r\n this.mutationObserver.disconnect();\r\n\r\n this.slottedElements.forEach((element) => resizeObserver.unobserve(element));\r\n }\r\n\r\n render() {\r\n return (\r\n <div ref={(el) => (this.shadowContainerDiv = el)} class=\"dso-shadow-container\">\r\n <div\r\n ref={(el) => (this.scrollContainerDiv = el)}\r\n class={clsx(\"dso-scroll-container\", {\r\n [`dso-scroll-${this.scrollPosition}`]: this.scrollPosition !== \"noScroll\",\r\n })}\r\n onScroll={() => this._setScrollState()}\r\n >\r\n <slot></slot>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n"]}
|
|
@@ -165,7 +165,7 @@
|
|
|
165
165
|
min-height: 24px;
|
|
166
166
|
padding-inline: 32px;
|
|
167
167
|
}
|
|
168
|
-
.dso-selectable-container .dso-selectable-input-wrapper:focus-within {
|
|
168
|
+
.dso-selectable-container .dso-selectable-input-wrapper:focus-within.dso-keyboard-focus {
|
|
169
169
|
border-radius: 2px;
|
|
170
170
|
outline-offset: 3px;
|
|
171
171
|
outline: 3px solid #008ccc;
|
|
@@ -17,6 +17,7 @@ export class Selectable {
|
|
|
17
17
|
this.indeterminate = undefined;
|
|
18
18
|
this.infoFixed = undefined;
|
|
19
19
|
this.infoActive = false;
|
|
20
|
+
this.keyboardFocus = false;
|
|
20
21
|
}
|
|
21
22
|
/**
|
|
22
23
|
* Method to toggle the Info. Is set to `active` when passed.
|
|
@@ -49,7 +50,7 @@ export class Selectable {
|
|
|
49
50
|
render() {
|
|
50
51
|
var _a;
|
|
51
52
|
const hasInfo = !!this.host.querySelector('[slot="info"]');
|
|
52
|
-
return (h(Fragment, null, h("div", { class: clsx("dso-selectable-container", { "has-info-button": hasInfo }) }, h("div", { class: "dso-selectable-input-wrapper" }, h("input", { type: this.type, id: this.getIdentifier(), value: this.value, name: this.name, "aria-invalid": (_a = this.invalid) === null || _a === void 0 ? void 0 : _a.toString(), "aria-describedby": hasInfo && this.infoFixed ? this.describedById : undefined, "aria-labelledBy": this.labelledById, disabled: this.disabled, required: this.required, checked: this.checked, onChange: (e) => this.dsoChange.emit(e), ref: (el) => (this.input = el) }), !this.labelledById ? (h("label", { htmlFor: this.getIdentifier() }, h("slot", null))) : (h("label", null))), hasInfo && (h(Fragment, null, !this.infoFixed && (h("dso-info-button", { active: this.infoActive, onDsoToggle: (e) => (this.infoActive = e.detail.active) }))))), hasInfo && (h("dso-info", { id: hasInfo && this.infoFixed ? this.describedById : undefined, fixed: this.infoFixed, active: this.infoActive, onDsoClose: () => (this.infoActive = false) }, h("div", null, h("slot", { name: "info" }))))));
|
|
53
|
+
return (h(Fragment, null, h("div", { class: clsx("dso-selectable-container", { "has-info-button": hasInfo }) }, h("div", { class: clsx("dso-selectable-input-wrapper", { "dso-keyboard-focus": this.keyboardFocus }) }, h("input", { type: this.type, id: this.getIdentifier(), value: this.value, name: this.name, "aria-invalid": (_a = this.invalid) === null || _a === void 0 ? void 0 : _a.toString(), "aria-describedby": hasInfo && this.infoFixed ? this.describedById : undefined, "aria-labelledBy": this.labelledById, disabled: this.disabled, required: this.required, checked: this.checked, onChange: (e) => this.dsoChange.emit(e), onBlur: () => (this.keyboardFocus = false), onKeyUp: () => (this.keyboardFocus = true), ref: (el) => (this.input = el) }), !this.labelledById ? (h("label", { htmlFor: this.getIdentifier() }, h("slot", null))) : (h("label", null))), hasInfo && (h(Fragment, null, !this.infoFixed && (h("dso-info-button", { active: this.infoActive, onDsoToggle: (e) => (this.infoActive = e.detail.active) }))))), hasInfo && (h("dso-info", { id: hasInfo && this.infoFixed ? this.describedById : undefined, fixed: this.infoFixed, active: this.infoActive, onDsoClose: () => (this.infoActive = false) }, h("div", null, h("slot", { name: "info" }))))));
|
|
53
54
|
}
|
|
54
55
|
getIdentifier() {
|
|
55
56
|
var _a;
|
|
@@ -277,7 +278,8 @@ export class Selectable {
|
|
|
277
278
|
}
|
|
278
279
|
static get states() {
|
|
279
280
|
return {
|
|
280
|
-
"infoActive": {}
|
|
281
|
+
"infoActive": {},
|
|
282
|
+
"keyboardFocus": {}
|
|
281
283
|
};
|
|
282
284
|
}
|
|
283
285
|
static get events() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectable.js","sourceRoot":"","sources":["../../../src/components/selectable/selectable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,SAAS,EACT,IAAI,EACJ,KAAK,EAEL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,WAAW,EACX,KAAK,EACL,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQjE,MAAM,OAAO,UAAU;;
|
|
1
|
+
{"version":3,"file":"selectable.js","sourceRoot":"","sources":["../../../src/components/selectable/selectable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,CAAC,EACD,SAAS,EACT,IAAI,EACJ,KAAK,EAEL,QAAQ,EACR,OAAO,EACP,KAAK,EACL,WAAW,EACX,KAAK,EACL,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQjE,MAAM,OAAO,UAAU;;IA0Gb,uBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;;;;;;;;;;;;;sBAlBlD,KAAK;yBAGF,KAAK;;EAErB;;;;;KAKG;EAEH,KAAK,CAAC,UAAU,CAAC,MAAgB;IAC/B,IAAI,CAAC,UAAU,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,IAAI,CAAC,UAAU,CAAC;EAC/C,CAAC;EAQD,gBAAgB;;IACd,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;IAEpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;MACvC,SAAS,EAAE,IAAI;KAChB,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,CAAC;EAC1B,CAAC;EAED,oBAAoB;;IAClB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;EACtC,CAAC;EAGD,gBAAgB;IACd,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,YAAY,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE;MACzE,OAAO;KACR;IAED,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;EAClD,CAAC;EAED,MAAM;;IACJ,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAE3D,OAAO,CACL,EAAC,QAAQ;MACP,WAAK,KAAK,EAAE,IAAI,CAAC,0BAA0B,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC;QAC1E,WAAK,KAAK,EAAE,IAAI,CAAC,8BAA8B,EAAE,EAAE,oBAAoB,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;UAC5F,aACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,EACxB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,kBACD,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,EAAE,sBACpB,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,qBAC3D,IAAI,CAAC,YAAY,EAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACvC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,EAC1C,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,EAC1C,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAC9B;UACD,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CACpB,aAAO,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE;YAClC,eAAa,CACP,CACT,CAAC,CAAC,CAAC,CACF,gBAAe,CAChB,CACG;QACL,OAAO,IAAI,CACV,EAAC,QAAQ,QACN,CAAC,IAAI,CAAC,SAAS,IAAI,CAClB,uBACE,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GACtC,CACpB,CACQ,CACZ,CACG;MACL,OAAO,IAAI,CACV,gBACE,EAAE,EAAE,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,EAC9D,KAAK,EAAE,IAAI,CAAC,SAAS,EACrB,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAE3C;UACE,YAAM,IAAI,EAAC,MAAM,GAAQ,CACrB,CACG,CACZ,CACQ,CACZ,CAAC;EACJ,CAAC;EAEO,aAAa;;IACnB,OAAO,MAAA,IAAI,CAAC,UAAU,mCAAI,IAAI,CAAC,kBAAkB,CAAC;EACpD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\r\n h,\r\n Component,\r\n Prop,\r\n Event,\r\n EventEmitter,\r\n Fragment,\r\n Element,\r\n State,\r\n forceUpdate,\r\n Watch,\r\n Method,\r\n} from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { createIdentifier } from \"../../utils/create-identifier\";\r\nimport { SelectableChangeEvent } from \"./selectable.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-selectable\",\r\n styleUrl: \"selectable.scss\",\r\n scoped: true,\r\n})\r\nexport class Selectable {\r\n /**\r\n * Type of Selectable.\r\n *\r\n * `checkbox`: Multiple options\r\n * `radio`: Single option.\r\n */\r\n @Prop()\r\n type!: \"checkbox\" | \"radio\";\r\n\r\n /**\r\n * To set `<input id>` attribute for external references.\r\n */\r\n @Prop()\r\n identifier?: string;\r\n\r\n /**\r\n * Name of the Selectable. Can be used to group Selectables.\r\n */\r\n @Prop()\r\n name?: string;\r\n\r\n /**\r\n * The value of the Selectable.\r\n */\r\n @Prop()\r\n value!: string;\r\n\r\n /**\r\n * Set to true of the current value is not valid.\r\n */\r\n @Prop()\r\n invalid?: boolean;\r\n\r\n /**\r\n * To link this control to an element that describes it.\r\n */\r\n @Prop()\r\n describedById?: string;\r\n\r\n /**\r\n * To link this control to an element that labels it.\r\n */\r\n @Prop()\r\n labelledById?: string;\r\n\r\n /**\r\n * To disable the Selectable.\r\n */\r\n @Prop()\r\n disabled?: boolean;\r\n\r\n /**\r\n * To mark the Selectable as required.\r\n */\r\n @Prop()\r\n required?: boolean;\r\n\r\n /**\r\n * Mark the Selectable as checked\r\n */\r\n @Prop()\r\n checked?: boolean;\r\n\r\n /**\r\n * An indeterminate state is neither true or false. It means the answer is somewhere in between.\r\n *\r\n * Can be used to indicate child Selectables that are a mix of checked and unchecked.\r\n */\r\n @Prop()\r\n indeterminate?: boolean;\r\n\r\n /**\r\n * Set to true if the Info should not be toggled and always visible.\r\n */\r\n @Prop()\r\n infoFixed?: boolean;\r\n\r\n /**\r\n * Emitted when the user checks or unchecks the Selectable.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<SelectableChangeEvent>;\r\n\r\n @Element()\r\n host!: HTMLDsoSelectableElement;\r\n\r\n @State()\r\n infoActive = false;\r\n\r\n @State()\r\n keyboardFocus = false;\r\n\r\n /**\r\n * Method to toggle the Info. Is set to `active` when passed.\r\n *\r\n * If `active` is not passed, Info is toggled to opposite value.\r\n * @param active\r\n */\r\n @Method()\r\n async toggleInfo(active?: boolean) {\r\n this.infoActive = active ?? !this.infoActive;\r\n }\r\n\r\n private mutationObserver?: MutationObserver;\r\n\r\n private fallbackIdentifier = createIdentifier(\"DsoSelectable\");\r\n\r\n private input: HTMLInputElement | undefined;\r\n\r\n componentDidLoad() {\r\n this.mutationObserver?.disconnect();\r\n\r\n this.mutationObserver = new MutationObserver(() => forceUpdate(this.host));\r\n this.mutationObserver.observe(this.host, {\r\n childList: true,\r\n });\r\n\r\n this.setIndeterminate();\r\n }\r\n\r\n disconnectedCallback() {\r\n this.mutationObserver?.disconnect();\r\n }\r\n\r\n @Watch(\"indeterminate\")\r\n setIndeterminate() {\r\n if (!(this.input instanceof HTMLInputElement) || this.type !== \"checkbox\") {\r\n return;\r\n }\r\n\r\n this.input.indeterminate = !!this.indeterminate;\r\n }\r\n\r\n render() {\r\n const hasInfo = !!this.host.querySelector('[slot=\"info\"]');\r\n\r\n return (\r\n <Fragment>\r\n <div class={clsx(\"dso-selectable-container\", { \"has-info-button\": hasInfo })}>\r\n <div class={clsx(\"dso-selectable-input-wrapper\", { \"dso-keyboard-focus\": this.keyboardFocus })}>\r\n <input\r\n type={this.type}\r\n id={this.getIdentifier()}\r\n value={this.value}\r\n name={this.name}\r\n aria-invalid={this.invalid?.toString()}\r\n aria-describedby={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n aria-labelledBy={this.labelledById}\r\n disabled={this.disabled}\r\n required={this.required}\r\n checked={this.checked}\r\n onChange={(e) => this.dsoChange.emit(e)}\r\n onBlur={() => (this.keyboardFocus = false)}\r\n onKeyUp={() => (this.keyboardFocus = true)}\r\n ref={(el) => (this.input = el)}\r\n />\r\n {!this.labelledById ? (\r\n <label htmlFor={this.getIdentifier()}>\r\n <slot></slot>\r\n </label>\r\n ) : (\r\n <label></label>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <Fragment>\r\n {!this.infoFixed && (\r\n <dso-info-button\r\n active={this.infoActive}\r\n onDsoToggle={(e) => (this.infoActive = e.detail.active)}\r\n ></dso-info-button>\r\n )}\r\n </Fragment>\r\n )}\r\n </div>\r\n {hasInfo && (\r\n <dso-info\r\n id={hasInfo && this.infoFixed ? this.describedById : undefined}\r\n fixed={this.infoFixed}\r\n active={this.infoActive}\r\n onDsoClose={() => (this.infoActive = false)}\r\n >\r\n <div>\r\n <slot name=\"info\"></slot>\r\n </div>\r\n </dso-info>\r\n )}\r\n </Fragment>\r\n );\r\n }\r\n\r\n private getIdentifier(): string {\r\n return this.identifier ?? this.fallbackIdentifier;\r\n }\r\n}\r\n"]}
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
}
|
|
39
39
|
:host .dso-modal .dso-dialog {
|
|
40
40
|
animation: 1s ease-out 0s 1 slideInFromTop;
|
|
41
|
-
|
|
41
|
+
background-color: #fff;
|
|
42
|
+
box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);
|
|
42
43
|
margin-left: auto;
|
|
43
44
|
margin-right: auto;
|
|
45
|
+
margin-top: clamp(40px, 15vh, 15vh);
|
|
44
46
|
max-width: 640px;
|
|
45
47
|
opacity: 1;
|
|
46
|
-
background-color: #fff;
|
|
47
|
-
box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);
|
|
48
48
|
}
|
|
49
49
|
:host .dso-modal .dso-header {
|
|
50
50
|
border-bottom: 1px solid #ccc;
|
|
@@ -67,41 +67,74 @@
|
|
|
67
67
|
top: 16px;
|
|
68
68
|
width: 32px;
|
|
69
69
|
}
|
|
70
|
-
:host .dso-modal .dso-body {
|
|
70
|
+
:host .dso-modal > .dso-dialog > .dso-body {
|
|
71
71
|
height: calc(100% - 96px - 1.5rem);
|
|
72
72
|
max-height: calc(70vh - 144px - 1.5em);
|
|
73
73
|
min-height: 1.5rem;
|
|
74
74
|
overflow-x: auto;
|
|
75
75
|
padding: 32px;
|
|
76
76
|
}
|
|
77
|
-
:host .dso-modal .dso-body p {
|
|
77
|
+
:host .dso-modal > .dso-dialog > .dso-body p {
|
|
78
|
+
margin: 0 0 16px;
|
|
79
|
+
}
|
|
80
|
+
:host .dso-modal > .dso-dialog > .dso-body ul,
|
|
81
|
+
:host .dso-modal > .dso-dialog > .dso-body ol {
|
|
82
|
+
margin-bottom: 16px;
|
|
83
|
+
}
|
|
84
|
+
:host .dso-modal > .dso-dialog > .dso-body ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),
|
|
85
|
+
:host .dso-modal > .dso-dialog > .dso-body ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {
|
|
86
|
+
padding-inline-start: 24px;
|
|
87
|
+
}
|
|
88
|
+
:host .dso-modal > .dso-dialog > .dso-body pre {
|
|
89
|
+
margin: 0 0 16px;
|
|
90
|
+
}
|
|
91
|
+
:host .dso-modal > .dso-dialog > .dso-body blockquote {
|
|
92
|
+
padding: 16px 24px;
|
|
93
|
+
}
|
|
94
|
+
:host .dso-modal > .dso-dialog > .dso-body dso-highlight-box,
|
|
95
|
+
:host .dso-modal > .dso-dialog > .dso-body .dso-highlight-box {
|
|
96
|
+
margin-bottom: 24px;
|
|
97
|
+
}
|
|
98
|
+
:host .dso-modal > .dso-dialog > .dso-body img {
|
|
99
|
+
height: auto;
|
|
100
|
+
max-width: 100%;
|
|
101
|
+
}
|
|
102
|
+
:host .dso-modal > .dso-dialog > dso-scrollable {
|
|
103
|
+
height: calc(100% - 96px - 1.5rem);
|
|
104
|
+
max-height: calc(70vh - 144px - 1.5em);
|
|
105
|
+
min-height: 6.5rem;
|
|
106
|
+
}
|
|
107
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body {
|
|
108
|
+
padding: 32px;
|
|
109
|
+
}
|
|
110
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body p {
|
|
78
111
|
margin: 0 0 16px;
|
|
79
112
|
}
|
|
80
|
-
:host .dso-modal .dso-body ul,
|
|
81
|
-
:host .dso-modal .dso-body ol {
|
|
113
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body ul,
|
|
114
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body ol {
|
|
82
115
|
margin-bottom: 16px;
|
|
83
116
|
}
|
|
84
|
-
:host .dso-modal .dso-body ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),
|
|
85
|
-
:host .dso-modal .dso-body ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {
|
|
117
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body ul:not(.list-group):not(.dso-link-list):not(.dso-columns-list),
|
|
118
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body ol:not(.list-group):not(.dso-link-list):not(.dso-columns-list) {
|
|
86
119
|
padding-inline-start: 24px;
|
|
87
120
|
}
|
|
88
|
-
:host .dso-modal .dso-body pre {
|
|
121
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body pre {
|
|
89
122
|
margin: 0 0 16px;
|
|
90
123
|
}
|
|
91
|
-
:host .dso-modal .dso-body blockquote {
|
|
124
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body blockquote {
|
|
92
125
|
padding: 16px 24px;
|
|
93
126
|
}
|
|
94
|
-
:host .dso-modal .dso-body dso-highlight-box,
|
|
95
|
-
:host .dso-modal .dso-body .dso-highlight-box {
|
|
127
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body dso-highlight-box,
|
|
128
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body .dso-highlight-box {
|
|
96
129
|
margin-bottom: 24px;
|
|
97
130
|
}
|
|
98
|
-
:host .dso-modal .dso-body img {
|
|
131
|
+
:host .dso-modal > .dso-dialog > dso-scrollable .dso-body img {
|
|
99
132
|
height: auto;
|
|
100
133
|
max-width: 100%;
|
|
101
134
|
}
|
|
102
135
|
:host .dso-modal .dso-footer {
|
|
103
136
|
min-height: 80px;
|
|
104
|
-
padding:
|
|
137
|
+
padding: 16px 32px;
|
|
105
138
|
text-align: right;
|
|
106
139
|
}
|
|
107
140
|
@media screen and (max-width: 767px) {
|
|
@@ -150,6 +183,27 @@
|
|
|
150
183
|
float: none;
|
|
151
184
|
}
|
|
152
185
|
}
|
|
186
|
+
@media screen and (max-height: 380px) {
|
|
187
|
+
:host .dso-modal .dso-dialog {
|
|
188
|
+
margin-bottom: 8px;
|
|
189
|
+
margin-top: 8px;
|
|
190
|
+
min-height: 216px;
|
|
191
|
+
}
|
|
192
|
+
:host .dso-modal .dso-header {
|
|
193
|
+
padding: 8px 16px;
|
|
194
|
+
}
|
|
195
|
+
:host .dso-modal .dso-header .dso-close {
|
|
196
|
+
top: 8px;
|
|
197
|
+
}
|
|
198
|
+
:host .dso-modal .dso-body {
|
|
199
|
+
padding: 16px 24px;
|
|
200
|
+
}
|
|
201
|
+
:host .dso-modal .dso-footer {
|
|
202
|
+
min-height: auto;
|
|
203
|
+
overflow: auto;
|
|
204
|
+
padding: 8px 32px;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
153
207
|
|
|
154
208
|
.dso-modal .dso-dialog.dso-table-dialog {
|
|
155
209
|
margin-top: 1rem;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { c as clsx } from './clsx.m
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
|
|
2
|
+
import { c as clsx } from './clsx.m.js';
|
|
3
|
+
import { d as defineCustomElement$1 } from './icon.js';
|
|
3
4
|
|
|
4
5
|
const alertCss = ":host{display:block}:host(:not(:first-child)){margin-top:24px}*,*::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}.alert{border:1px solid transparent;line-height:1.5;margin-bottom:24px;min-height:64px;position:relative}@media screen and (min-width: 481px){.alert{padding:19px 16px 19px 63px}}@media screen and (max-width: 480px){.alert{padding:63px 16px 16px}}.alert:not(:first-child){margin-top:24px}.alert.alert-success{color:#000;background-color:#e4f1d4;border-color:#e4f1d4}.alert.alert-error{color:#000;background-color:#f5d8dc;border-color:#f5d8dc}.alert.alert-warning{color:#000;background-color:#f8f6cc;border-color:#f8f6cc}.alert.alert-info{color:#000;background-color:#e1ecf7;border-color:#e1ecf7}.alert dso-icon{left:15px;position:absolute;top:15px;height:32px;width:32px}";
|
|
5
6
|
|
|
6
|
-
const Alert = class {
|
|
7
|
-
constructor(
|
|
8
|
-
|
|
7
|
+
const Alert = /*@__PURE__*/ proxyCustomElement(class Alert extends HTMLElement {
|
|
8
|
+
constructor() {
|
|
9
|
+
super();
|
|
10
|
+
this.__registerHost();
|
|
11
|
+
this.__attachShadow();
|
|
9
12
|
this.status = undefined;
|
|
10
13
|
this.roleAlert = undefined;
|
|
11
14
|
}
|
|
@@ -16,15 +19,36 @@ const Alert = class {
|
|
|
16
19
|
}
|
|
17
20
|
return (h("div", { class: clsx("alert", `alert-${this.status}`), role: this.roleAlert ? "alert" : undefined }, h("dso-icon", { icon: "status-" + this.status }), h("span", { class: "sr-only" }, status, ":"), h("slot", null)));
|
|
18
21
|
}
|
|
19
|
-
}
|
|
22
|
+
static get style() { return alertCss; }
|
|
23
|
+
}, [1, "dso-alert", {
|
|
24
|
+
"status": [1],
|
|
25
|
+
"roleAlert": [4, "role-alert"]
|
|
26
|
+
}]);
|
|
20
27
|
Alert.statusMap = new Map([
|
|
21
28
|
["success", "Gelukt"],
|
|
22
29
|
["info", "Opmerking"],
|
|
23
30
|
["warning", "Waarschuwing"],
|
|
24
31
|
["error", "Fout"],
|
|
25
32
|
]);
|
|
26
|
-
|
|
33
|
+
function defineCustomElement() {
|
|
34
|
+
if (typeof customElements === "undefined") {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const components = ["dso-alert", "dso-icon"];
|
|
38
|
+
components.forEach(tagName => { switch (tagName) {
|
|
39
|
+
case "dso-alert":
|
|
40
|
+
if (!customElements.get(tagName)) {
|
|
41
|
+
customElements.define(tagName, Alert);
|
|
42
|
+
}
|
|
43
|
+
break;
|
|
44
|
+
case "dso-icon":
|
|
45
|
+
if (!customElements.get(tagName)) {
|
|
46
|
+
defineCustomElement$1();
|
|
47
|
+
}
|
|
48
|
+
break;
|
|
49
|
+
} });
|
|
50
|
+
}
|
|
27
51
|
|
|
28
|
-
export { Alert as
|
|
52
|
+
export { Alert as A, defineCustomElement as d };
|
|
29
53
|
|
|
30
|
-
//# sourceMappingURL=
|
|
54
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"alert.js","mappings":";;;;AAAA,MAAM,QAAQ,GAAG,83BAA83B;;MCQl4B,KAAK;;;;;;;;EAoBhB,MAAM;IACJ,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE;MACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;KAClD;IAED,QACE,WAAK,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,IAC3F,gBAAU,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC,MAAM,GAAa,EACpD,YAAM,KAAK,EAAC,SAAS,IAAE,MAAM,MAAS,EACtC,eAAa,CACT,EACN;GACH;;;;;;AApBc,eAAS,GAAG,IAAI,GAAG,CAAiB;EACjD,CAAC,SAAS,EAAE,QAAQ,CAAC;EACrB,CAAC,MAAM,EAAE,WAAW,CAAC;EACrB,CAAC,SAAS,EAAE,cAAc,CAAC;EAC3B,CAAC,OAAO,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/alert/alert.scss?tag=dso-alert&encapsulation=shadow","./src/components/alert/alert.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/components/alert\";\r\n\r\n:host {\r\n display: block;\r\n}\r\n\r\n:host(:not(:first-child)) {\r\n margin-top: units.$u3;\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.alert {\r\n @include alert.root();\r\n\r\n dso-icon {\r\n @include alert.icon-position();\r\n\r\n height: units.$u4;\r\n width: units.$u4;\r\n }\r\n}\r\n","import { Component, h, Prop } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\n\r\n@Component({\r\n tag: \"dso-alert\",\r\n styleUrl: \"alert.scss\",\r\n shadow: true,\r\n})\r\nexport class Alert {\r\n /**\r\n * Set status of alert\r\n */\r\n @Prop()\r\n status!: \"success\" | \"info\" | \"warning\" | \"error\";\r\n\r\n /**\r\n * Whether or not to show the role attribute with value \"alert\". To control the tooltip add the `role-alert` attribute.\r\n */\r\n @Prop()\r\n roleAlert?: boolean;\r\n\r\n private static statusMap = new Map<string, string>([\r\n [\"success\", \"Gelukt\"],\r\n [\"info\", \"Opmerking\"],\r\n [\"warning\", \"Waarschuwing\"],\r\n [\"error\", \"Fout\"],\r\n ]);\r\n\r\n render() {\r\n const status = Alert.statusMap.get(this.status);\r\n if (!status) {\r\n throw new Error(`Invalid status ${this.status}`);\r\n }\r\n\r\n return (\r\n <div class={clsx(\"alert\", `alert-${this.status}`)} role={this.roleAlert ? \"alert\" : undefined}>\r\n <dso-icon icon={\"status-\" + this.status}></dso-icon>\r\n <span class=\"sr-only\">{status}:</span>\r\n <slot></slot>\r\n </div>\r\n );\r\n }\r\n}\r\n"],"version":3}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
|
|
2
|
+
import { d as defineCustomElement$1 } from './icon.js';
|
|
3
|
+
|
|
4
|
+
const annotationButtonCss = "button {\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.btn {\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}\n.btn:focus, .btn:focus-visible {\n outline-offset: 2px;\n}\n.btn:active {\n outline: 0;\n}\n.btn.extern::after, .btn.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\n\n.btn-primary {\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 background-color: #b62f41;\n}\n.btn-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.btn-primary:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\n.btn-primary[disabled], .btn-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\n.btn-primary.btn-sm {\n line-height: 1rem;\n}\n.btn-primary.btn-sm dso-icon,\n.btn-primary.btn-sm svg.di, .btn-primary.btn-sm.extern::after, .btn-primary.btn-sm.download::after, .btn-primary.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.btn-primary.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.btn-primary.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.btn-primary dso-icon,\n.btn-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.btn-primary span + dso-icon,\n.btn-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.btn-primary.dso-spinner-left[disabled], .btn-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.btn-primary.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.btn-primary.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\na.btn-primary {\n text-decoration: none;\n background-color: #b62f41;\n}\na.btn-primary, a.btn-primary:visited {\n color: #fff;\n}\n\n.btn-default {\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 background-color: #b62f41;\n}\n.btn-default:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.btn-default:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.btn-default[disabled], .btn-default[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.btn-default.btn-sm {\n line-height: 1rem;\n}\n.btn-default.btn-sm dso-icon,\n.btn-default.btn-sm svg.di, .btn-default.btn-sm.extern::after, .btn-default.btn-sm.download::after, .btn-default.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.btn-default.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.btn-default.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.btn-default dso-icon,\n.btn-default svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n.btn-default span + dso-icon,\n.btn-default span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n.btn-default.dso-spinner-left[disabled], .btn-default.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.btn-default.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.btn-default.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.btn-default.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.btn-default.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.btn-default.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.btn-default.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n\na.btn-default {\n text-decoration: none;\n background-color: #b62f41;\n}\na.btn-default, a.btn-default:visited {\n color: #39870c;\n}\na.btn-default:hover, a.btn-default:visited:hover {\n color: #fff;\n}\n\n.btn-link {\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n background-color: #b62f41;\n}\n.btn-link[disabled] {\n color: #afcf9d;\n}\n.btn-link[disabled].dso-spinner-left, .btn-link[disabled].dso-spinner-right {\n color: #39870c;\n}\n.btn-link:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\n.btn-link:not([disabled]):active {\n color: #173521;\n}\n.btn-link.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n.btn-link.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.btn-link.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.btn-link dso-icon + span:not(.sr-only),\n.btn-link svg.di + span:not(.sr-only),\n.btn-link span:not(.sr-only) + dso-icon,\n.btn-link span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\n.btn-link svg.di.di-chevron-down + span:not(.sr-only),\n.btn-link svg.di.di-chevron-up + span:not(.sr-only),\n.btn-link span:not(.sr-only) + svg.di.di-chevron-down,\n.btn-link span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\n.btn-link dso-icon[icon=chevron-left] + span:not(.sr-only),\n.btn-link dso-icon[icon=chevron-right] + span:not(.sr-only),\n.btn-link svg.di.di-angle-down + span:not(.sr-only),\n.btn-link svg.di.di-angle-up + span:not(.sr-only),\n.btn-link span:not(.sr-only) + svg.di.di-angle-down,\n.btn-link span:not(.sr-only) + svg.di.di-angle-up,\n.btn-link span:not(.sr-only) + dso-icon[icon=chevron-left],\n.btn-link span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\n.btn-link dso-icon,\n.btn-link svg.di,\n.btn-link span {\n vertical-align: middle;\n}\n\na.btn-link {\n text-decoration: none;\n background-color: #b62f41;\n}\na.btn-link, a.btn-link:visited {\n color: #39870c;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\ninput[type=submit].btn-block,\ninput[type=reset].btn-block,\ninput[type=button].btn-block {\n width: 100%;\n}\n\na.dso-primary,\nbutton.dso-primary,\nlabel.dso-primary {\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}\na.dso-primary:focus, a.dso-primary:focus-visible,\nbutton.dso-primary:focus,\nbutton.dso-primary:focus-visible,\nlabel.dso-primary:focus,\nlabel.dso-primary:focus-visible {\n outline-offset: 2px;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n outline: 0;\n}\na.dso-primary.extern::after, a.dso-primary.download::after,\nbutton.dso-primary.extern::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.extern::after,\nlabel.dso-primary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-primary:hover,\nbutton.dso-primary:hover,\nlabel.dso-primary:hover {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-primary:active,\nbutton.dso-primary:active,\nlabel.dso-primary:active {\n background-color: #173521;\n border-color: #173521;\n color: #fff;\n}\na.dso-primary[disabled], a.dso-primary[disabled]:hover,\nbutton.dso-primary[disabled],\nbutton.dso-primary[disabled]:hover,\nlabel.dso-primary[disabled],\nlabel.dso-primary[disabled]:hover {\n background-color: #afcf9d;\n border-color: #afcf9d;\n color: #fff;\n}\na.dso-primary.btn-sm,\nbutton.dso-primary.btn-sm,\nlabel.dso-primary.btn-sm {\n line-height: 1rem;\n}\na.dso-primary.btn-sm dso-icon,\na.dso-primary.btn-sm svg.di, a.dso-primary.btn-sm.extern::after, a.dso-primary.btn-sm.download::after, a.dso-primary.btn-sm.dso-spinner::before,\nbutton.dso-primary.btn-sm dso-icon,\nbutton.dso-primary.btn-sm svg.di,\nbutton.dso-primary.btn-sm.extern::after,\nbutton.dso-primary.btn-sm.download::after,\nbutton.dso-primary.btn-sm.dso-spinner::before,\nlabel.dso-primary.btn-sm dso-icon,\nlabel.dso-primary.btn-sm svg.di,\nlabel.dso-primary.btn-sm.extern::after,\nlabel.dso-primary.btn-sm.download::after,\nlabel.dso-primary.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-primary.btn-sm.dso-spinner-left::before,\nbutton.dso-primary.btn-sm.dso-spinner-left::before,\nlabel.dso-primary.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-primary.btn-sm.dso-spinner-right::after,\nbutton.dso-primary.btn-sm.dso-spinner-right::after,\nlabel.dso-primary.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-primary dso-icon,\na.dso-primary svg.di,\nbutton.dso-primary dso-icon,\nbutton.dso-primary svg.di,\nlabel.dso-primary dso-icon,\nlabel.dso-primary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-primary span + dso-icon,\na.dso-primary span + svg.di,\nbutton.dso-primary span + dso-icon,\nbutton.dso-primary span + svg.di,\nlabel.dso-primary span + dso-icon,\nlabel.dso-primary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-primary.dso-spinner-left[disabled], a.dso-primary.dso-spinner-right[disabled],\nbutton.dso-primary.dso-spinner-left[disabled],\nbutton.dso-primary.dso-spinner-right[disabled],\nlabel.dso-primary.dso-spinner-left[disabled],\nlabel.dso-primary.dso-spinner-right[disabled] {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-primary.dso-spinner-left::before,\nbutton.dso-primary.dso-spinner-left::before,\nlabel.dso-primary.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}\na.dso-primary.dso-spinner-right::after,\nbutton.dso-primary.dso-spinner-right::after,\nlabel.dso-primary.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}\na.dso-primary.download::after,\nbutton.dso-primary.download::after,\nlabel.dso-primary.download::after {\n background: url(\"./dso-icons.svg#img-download-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-primary.extern::after,\nbutton.dso-primary.extern::after,\nlabel.dso-primary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link-wit\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary,\nbutton.dso-secondary,\nlabel.dso-secondary {\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}\na.dso-secondary:focus, a.dso-secondary:focus-visible,\nbutton.dso-secondary:focus,\nbutton.dso-secondary:focus-visible,\nlabel.dso-secondary:focus,\nlabel.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n outline: 0;\n}\na.dso-secondary.extern::after, a.dso-secondary.download::after,\nbutton.dso-secondary.extern::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.extern::after,\nlabel.dso-secondary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-secondary:hover,\nbutton.dso-secondary:hover,\nlabel.dso-secondary:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\na.dso-secondary:active,\nbutton.dso-secondary:active,\nlabel.dso-secondary:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\na.dso-secondary[disabled], a.dso-secondary[disabled]:hover,\nbutton.dso-secondary[disabled],\nbutton.dso-secondary[disabled]:hover,\nlabel.dso-secondary[disabled],\nlabel.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\na.dso-secondary.btn-sm,\nbutton.dso-secondary.btn-sm,\nlabel.dso-secondary.btn-sm {\n line-height: 1rem;\n}\na.dso-secondary.btn-sm dso-icon,\na.dso-secondary.btn-sm svg.di, a.dso-secondary.btn-sm.extern::after, a.dso-secondary.btn-sm.download::after, a.dso-secondary.btn-sm.dso-spinner::before,\nbutton.dso-secondary.btn-sm dso-icon,\nbutton.dso-secondary.btn-sm svg.di,\nbutton.dso-secondary.btn-sm.extern::after,\nbutton.dso-secondary.btn-sm.download::after,\nbutton.dso-secondary.btn-sm.dso-spinner::before,\nlabel.dso-secondary.btn-sm dso-icon,\nlabel.dso-secondary.btn-sm svg.di,\nlabel.dso-secondary.btn-sm.extern::after,\nlabel.dso-secondary.btn-sm.download::after,\nlabel.dso-secondary.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\na.dso-secondary.btn-sm.dso-spinner-left::before,\nbutton.dso-secondary.btn-sm.dso-spinner-left::before,\nlabel.dso-secondary.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.btn-sm.dso-spinner-right::after,\nbutton.dso-secondary.btn-sm.dso-spinner-right::after,\nlabel.dso-secondary.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary dso-icon,\na.dso-secondary svg.di,\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di,\nlabel.dso-secondary dso-icon,\nlabel.dso-secondary svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\na.dso-secondary span + dso-icon,\na.dso-secondary span + svg.di,\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di,\nlabel.dso-secondary span + dso-icon,\nlabel.dso-secondary span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\na.dso-secondary.dso-spinner-left[disabled], a.dso-secondary.dso-spinner-right[disabled],\nbutton.dso-secondary.dso-spinner-left[disabled],\nbutton.dso-secondary.dso-spinner-right[disabled],\nlabel.dso-secondary.dso-spinner-left[disabled],\nlabel.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\na.dso-secondary.dso-spinner-left::before,\nbutton.dso-secondary.dso-spinner-left::before,\nlabel.dso-secondary.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}\na.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before,\nlabel.dso-secondary.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}\na.dso-secondary.dso-spinner-left:not([disabled]).btn-sm:hover::before,\nbutton.dso-secondary.dso-spinner-left:not([disabled]).btn-sm:hover::before,\nlabel.dso-secondary.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.dso-spinner-right::after,\nbutton.dso-secondary.dso-spinner-right::after,\nlabel.dso-secondary.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}\na.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after,\nlabel.dso-secondary.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}\na.dso-secondary.dso-spinner-right:not([disabled]).btn-sm:hover::after,\nbutton.dso-secondary.dso-spinner-right:not([disabled]).btn-sm:hover::after,\nlabel.dso-secondary.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\na.dso-secondary.download::after,\nbutton.dso-secondary.download::after,\nlabel.dso-secondary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.download:hover::after,\nbutton.dso-secondary.download:hover::after,\nlabel.dso-secondary.download:hover::after {\n background-image: url(\"./dso-icons.svg#img-download-wit\");\n}\na.dso-secondary.download[disabled]::after,\nbutton.dso-secondary.download[disabled]::after,\nlabel.dso-secondary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-secondary.extern::after,\nbutton.dso-secondary.extern::after,\nlabel.dso-secondary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-secondary.extern:hover::after,\nbutton.dso-secondary.extern:hover::after,\nlabel.dso-secondary.extern:hover::after {\n background-image: url(\"./dso-icons.svg#img-external-link-wit\");\n}\na.dso-secondary.extern[disabled]::after,\nbutton.dso-secondary.extern[disabled]::after,\nlabel.dso-secondary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary,\nbutton.dso-tertiary,\nlabel.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}\na.dso-tertiary:focus, a.dso-tertiary:focus-visible,\nbutton.dso-tertiary:focus,\nbutton.dso-tertiary:focus-visible,\nlabel.dso-tertiary:focus,\nlabel.dso-tertiary:focus-visible {\n outline-offset: 2px;\n}\na.dso-tertiary:active,\nbutton.dso-tertiary:active,\nlabel.dso-tertiary:active {\n outline: 0;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n content: \"\";\n display: inline-block;\n margin-left: 8px;\n}\na.dso-tertiary[disabled],\nbutton.dso-tertiary[disabled],\nlabel.dso-tertiary[disabled] {\n color: #afcf9d;\n}\na.dso-tertiary[disabled].dso-spinner-left, a.dso-tertiary[disabled].dso-spinner-right,\nbutton.dso-tertiary[disabled].dso-spinner-left,\nbutton.dso-tertiary[disabled].dso-spinner-right,\nlabel.dso-tertiary[disabled].dso-spinner-left,\nlabel.dso-tertiary[disabled].dso-spinner-right {\n color: #39870c;\n}\na.dso-tertiary:not([disabled]):hover,\nbutton.dso-tertiary:not([disabled]):hover,\nlabel.dso-tertiary:not([disabled]):hover {\n color: #275937;\n text-decoration: underline;\n text-underline-position: under;\n}\na.dso-tertiary:not([disabled]):active,\nbutton.dso-tertiary:not([disabled]):active,\nlabel.dso-tertiary:not([disabled]):active {\n color: #173521;\n}\na.dso-tertiary.btn-align,\nbutton.dso-tertiary.btn-align,\nlabel.dso-tertiary.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\na.dso-tertiary.dso-spinner-left::before,\nbutton.dso-tertiary.dso-spinner-left::before,\nlabel.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}\na.dso-tertiary.dso-spinner-right::after,\nbutton.dso-tertiary.dso-spinner-right::after,\nlabel.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}\na.dso-tertiary dso-icon + span:not(.sr-only),\na.dso-tertiary svg.di + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + dso-icon,\na.dso-tertiary span:not(.sr-only) + svg.di,\nbutton.dso-tertiary dso-icon + span:not(.sr-only),\nbutton.dso-tertiary svg.di + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + dso-icon,\nbutton.dso-tertiary span:not(.sr-only) + svg.di,\nlabel.dso-tertiary dso-icon + span:not(.sr-only),\nlabel.dso-tertiary svg.di + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + dso-icon,\nlabel.dso-tertiary span:not(.sr-only) + svg.di {\n margin-left: 8px;\n}\na.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nbutton.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up,\nlabel.dso-tertiary svg.di.di-chevron-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-chevron-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-chevron-up {\n margin-left: 4px;\n}\na.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\na.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\na.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\na.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\na.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nbutton.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nbutton.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nbutton.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nbutton.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nbutton.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right],\nlabel.dso-tertiary dso-icon[icon=chevron-left] + span:not(.sr-only),\nlabel.dso-tertiary dso-icon[icon=chevron-right] + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-down + span:not(.sr-only),\nlabel.dso-tertiary svg.di.di-angle-up + span:not(.sr-only),\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-down,\nlabel.dso-tertiary span:not(.sr-only) + svg.di.di-angle-up,\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-left],\nlabel.dso-tertiary span:not(.sr-only) + dso-icon[icon=chevron-right] {\n margin-left: 0;\n}\na.dso-tertiary dso-icon,\na.dso-tertiary svg.di,\na.dso-tertiary span,\nbutton.dso-tertiary dso-icon,\nbutton.dso-tertiary svg.di,\nbutton.dso-tertiary span,\nlabel.dso-tertiary dso-icon,\nlabel.dso-tertiary svg.di,\nlabel.dso-tertiary span {\n vertical-align: middle;\n}\na.dso-tertiary.extern::after, a.dso-tertiary.download::after,\nbutton.dso-tertiary.extern::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.extern::after,\nlabel.dso-tertiary.download::after {\n position: relative;\n top: -2px;\n}\na.dso-tertiary.download::after,\nbutton.dso-tertiary.download::after,\nlabel.dso-tertiary.download::after {\n background: url(\"./dso-icons.svg#img-download\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.download[disabled]::after,\nbutton.dso-tertiary.download[disabled]::after,\nlabel.dso-tertiary.download[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-download-grasgroen-40\");\n}\na.dso-tertiary.download:not([disabled]):hover::after, a.dso-tertiary.download:not([disabled]):active::after,\nbutton.dso-tertiary.download:not([disabled]):hover::after,\nbutton.dso-tertiary.download:not([disabled]):active::after,\nlabel.dso-tertiary.download:not([disabled]):hover::after,\nlabel.dso-tertiary.download:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-download-scampi\");\n}\na.dso-tertiary.extern::after,\nbutton.dso-tertiary.extern::after,\nlabel.dso-tertiary.extern::after {\n background: url(\"./dso-icons.svg#img-external-link\") no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\na.dso-tertiary.extern[disabled]::after,\nbutton.dso-tertiary.extern[disabled]::after,\nlabel.dso-tertiary.extern[disabled]::after {\n background-image: url(\"./dso-icons.svg#img-external-link-grasgroen-40\");\n}\na.dso-tertiary.extern:not([disabled]):hover::after, a.dso-tertiary.extern:not([disabled]):active::after,\nbutton.dso-tertiary.extern:not([disabled]):hover::after,\nbutton.dso-tertiary.extern:not([disabled]):active::after,\nlabel.dso-tertiary.extern:not([disabled]):hover::after,\nlabel.dso-tertiary.extern:not([disabled]):active::after {\n background-image: url(\"./dso-icons.svg#img-external-link-scampi\");\n}\n\na.dso-primary {\n text-decoration: none;\n}\na.dso-primary, a.dso-primary:visited {\n color: #fff;\n}\na.dso-secondary {\n text-decoration: none;\n}\na.dso-secondary, a.dso-secondary:visited {\n color: #39870c;\n}\na.dso-secondary:hover, a.dso-secondary:visited:hover {\n color: #fff;\n}\na.dso-tertiary {\n text-decoration: none;\n}\na.dso-tertiary, a.dso-tertiary:visited {\n color: #39870c;\n}\n\n.btn:not(.dso-list-button) + .btn:not(.dso-list-button),\n.btn:not(.dso-list-button) + .dso-primary,\n.btn:not(.dso-list-button) + .dso-secondary,\n.btn:not(.dso-list-button) + .dso-tertiary,\n.dso-primary + .btn:not(.dso-list-button),\n.dso-primary + .dso-primary,\n.dso-primary + .dso-secondary,\n.dso-primary + .dso-tertiary,\n.dso-secondary + .btn:not(.dso-list-button),\n.dso-secondary + .dso-primary,\n.dso-secondary + .dso-secondary,\n.dso-secondary + .dso-tertiary,\n.dso-tertiary + .btn:not(.dso-list-button),\n.dso-tertiary + .dso-primary,\n.dso-tertiary + .dso-secondary,\n.dso-tertiary + .dso-tertiary {\n margin-left: 16px;\n}\n\ndso-annotation-button {\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}";
|
|
5
|
+
|
|
6
|
+
const AnnotationButton = /*@__PURE__*/ proxyCustomElement(class AnnotationButton extends HTMLElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super();
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
this.dsoClick = createEvent(this, "dsoClick", 3);
|
|
11
|
+
this.handleClick = (e) => {
|
|
12
|
+
this.dsoClick.emit({ originalEvent: e, open: !this.open });
|
|
13
|
+
};
|
|
14
|
+
this.identifier = undefined;
|
|
15
|
+
this.open = false;
|
|
16
|
+
}
|
|
17
|
+
render() {
|
|
18
|
+
return (h("button", { type: "button", class: "dso-tertiary", "aria-controls": this.identifier, "aria-expanded": this.open.toString(), onClick: this.handleClick }, h("dso-icon", { icon: "label" }), h("span", { class: "sr-only" }, "Toelichting bekijken")));
|
|
19
|
+
}
|
|
20
|
+
static get style() { return annotationButtonCss; }
|
|
21
|
+
}, [0, "dso-annotation-button", {
|
|
22
|
+
"identifier": [1],
|
|
23
|
+
"open": [4]
|
|
24
|
+
}]);
|
|
25
|
+
function defineCustomElement() {
|
|
26
|
+
if (typeof customElements === "undefined") {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const components = ["dso-annotation-button", "dso-icon"];
|
|
30
|
+
components.forEach(tagName => { switch (tagName) {
|
|
31
|
+
case "dso-annotation-button":
|
|
32
|
+
if (!customElements.get(tagName)) {
|
|
33
|
+
customElements.define(tagName, AnnotationButton);
|
|
34
|
+
}
|
|
35
|
+
break;
|
|
36
|
+
case "dso-icon":
|
|
37
|
+
if (!customElements.get(tagName)) {
|
|
38
|
+
defineCustomElement$1();
|
|
39
|
+
}
|
|
40
|
+
break;
|
|
41
|
+
} });
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { AnnotationButton as A, defineCustomElement as d };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=annotation-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"annotation-button.js","mappings":";;;AAAA,MAAM,mBAAmB,GAAG,qywCAAqywC;;MCYpzwC,gBAAgB;;;;;IAmBnB,gBAAW,GAAG,CAAC,CAAa;MAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;KAC5D,CAAC;;gBAVK,KAAK;;EAYZ,MAAM;IACJ,QACE,cACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,cAAc,mBACL,IAAI,CAAC,UAAU,mBACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACnC,OAAO,EAAE,IAAI,CAAC,WAAW,IAEzB,gBAAU,IAAI,EAAC,OAAO,GAAY,EAClC,YAAM,KAAK,EAAC,SAAS,2BAA4B,CAC1C,EACT;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/annotation-button/annotation-button.scss?tag=dso-annotation-button","./src/components/annotation-button/annotation-button.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n\r\ndso-annotation-button {\r\n display: block;\r\n}\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n","import { h, Component, ComponentInterface, Event, Prop, EventEmitter } from \"@stencil/core\";\r\n\r\nexport interface AnnotationButtonClickEvent {\r\n originalEvent: Event;\r\n open: boolean;\r\n}\r\n\r\n@Component({\r\n tag: \"dso-annotation-button\",\r\n styleUrl: \"annotation-button.scss\",\r\n // No shadowdom for a11y reasons (aria-controls pointing to element inside another component)\r\n})\r\nexport class AnnotationButton implements ComponentInterface {\r\n /**\r\n * To link the Annotation Button with `aria-controls` to a different element, most likely an Annotation Output.\r\n */\r\n @Prop()\r\n identifier!: string | undefined;\r\n\r\n /**\r\n * Set to true when the annotation is open.\r\n */\r\n @Prop()\r\n open = false;\r\n\r\n /**\r\n * Emitted when user activates the button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoClick!: EventEmitter<AnnotationButtonClickEvent>;\r\n\r\n private handleClick = (e: MouseEvent) => {\r\n this.dsoClick.emit({ originalEvent: e, open: !this.open });\r\n };\r\n\r\n render() {\r\n return (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n aria-controls={this.identifier}\r\n aria-expanded={this.open.toString()}\r\n onClick={this.handleClick}\r\n >\r\n <dso-icon icon=\"label\"></dso-icon>\r\n <span class=\"sr-only\">Toelichting bekijken</span>\r\n </button>\r\n );\r\n }\r\n}\r\n"],"version":3}
|