@dso-toolkit/core 38.1.1 → 40.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/dist/cjs/dso-badge.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-date-picker.cjs.entry.js +25 -10
  3. package/dist/cjs/dso-header.cjs.entry.js +3 -2
  4. package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
  5. package/dist/cjs/dso-map-base-layers.cjs.entry.js +3 -1
  6. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  7. package/dist/cjs/dso-map-overlays.cjs.entry.js +3 -1
  8. package/dist/cjs/dso-ozon-content.cjs.entry.js +1 -1
  9. package/dist/cjs/dso-pagination.cjs.entry.js +38 -0
  10. package/dist/cjs/dso-responsive-element.cjs.entry.js +44 -0
  11. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  12. package/dist/cjs/dso-tooltip.cjs.entry.js +40 -0
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/collection-manifest.json +2 -0
  15. package/dist/collection/components/badge/badge.css +1 -1
  16. package/dist/collection/components/date-picker/date-picker.js +25 -10
  17. package/dist/collection/components/header/header.js +21 -2
  18. package/dist/collection/components/image-overlay/image-overlay.template.js +1 -1
  19. package/dist/collection/components/map-base-layers/map-base-layers.js +21 -1
  20. package/dist/collection/components/map-controls/map-controls.css +1 -1
  21. package/dist/collection/components/map-overlays/map-overlays.js +21 -1
  22. package/dist/collection/components/ozon-content/ozon-content.js +4 -1
  23. package/dist/collection/components/ozon-content/ozon-content.template.js +3 -3
  24. package/dist/collection/components/pagination/pagination.css +68 -0
  25. package/dist/collection/components/pagination/pagination.interfaces.js +1 -0
  26. package/dist/collection/components/pagination/pagination.js +114 -0
  27. package/dist/collection/components/pagination/pagination.template.js +11 -0
  28. package/dist/collection/components/responsive-element/responsive-element.css +3 -0
  29. package/dist/collection/components/responsive-element/responsive-element.js +46 -0
  30. package/dist/collection/components/responsive-element/responsive-element.template.js +8 -0
  31. package/dist/collection/components/selectable/selectable.js +5 -4
  32. package/dist/collection/components/tooltip/tooltip.js +60 -0
  33. package/dist/collection/components/viewer-grid/example-pages/viewer-grid-document-header.example-template.js +22 -0
  34. package/dist/collection/components/viewer-grid/example-pages/viewer-grid-document-list.example-template.js +12 -0
  35. package/dist/collection/components/viewer-grid/example-pages/viewer-grid-filterblok.example-template.js +60 -0
  36. package/dist/collection/components/viewer-grid/example-pages/viewer-grid-tiles.example-template.js +17 -0
  37. package/dist/collection/components/viewer-grid/templates/viewer-grid.template.js +20 -0
  38. package/dist/custom-elements/index.d.ts +12 -0
  39. package/dist/custom-elements/index.js +159 -26
  40. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  41. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  42. package/dist/dso-toolkit/p-02272301.entry.js +1 -0
  43. package/dist/dso-toolkit/p-0777c1c4.entry.js +1 -0
  44. package/dist/dso-toolkit/p-09b53589.entry.js +1 -0
  45. package/dist/dso-toolkit/p-202bd676.entry.js +1 -0
  46. package/dist/dso-toolkit/p-336bf5b9.entry.js +1 -0
  47. package/dist/dso-toolkit/{p-150fe323.entry.js → p-37e12c3c.entry.js} +1 -1
  48. package/dist/dso-toolkit/p-3ad06d9d.entry.js +1 -0
  49. package/dist/dso-toolkit/p-4a41728e.entry.js +1 -0
  50. package/dist/dso-toolkit/{p-6ec616ee.entry.js → p-60679db4.entry.js} +1 -1
  51. package/dist/dso-toolkit/{p-1894c7ae.entry.js → p-7796687c.entry.js} +1 -1
  52. package/dist/dso-toolkit/{p-a8cf15cf.entry.js → p-f1026921.entry.js} +1 -1
  53. package/dist/esm/dso-badge.entry.js +1 -1
  54. package/dist/esm/dso-date-picker.entry.js +25 -10
  55. package/dist/esm/dso-header.entry.js +3 -2
  56. package/dist/esm/dso-info_2.entry.js +2 -2
  57. package/dist/esm/dso-map-base-layers.entry.js +3 -1
  58. package/dist/esm/dso-map-controls.entry.js +1 -1
  59. package/dist/esm/dso-map-overlays.entry.js +3 -1
  60. package/dist/esm/dso-ozon-content.entry.js +2 -2
  61. package/dist/esm/dso-pagination.entry.js +34 -0
  62. package/dist/esm/dso-responsive-element.entry.js +40 -0
  63. package/dist/esm/dso-toolkit.js +1 -1
  64. package/dist/esm/dso-tooltip.entry.js +40 -0
  65. package/dist/esm/loader.js +1 -1
  66. package/dist/types/components/date-picker/date-picker.d.ts +1 -1
  67. package/dist/types/components/header/header.d.ts +7 -0
  68. package/dist/types/components/map-base-layers/map-base-layers.d.ts +1 -0
  69. package/dist/types/components/map-overlays/map-overlays.d.ts +1 -0
  70. package/dist/types/components/ozon-content/ozon-content.template.d.ts +1 -1
  71. package/dist/types/components/pagination/pagination.d.ts +22 -0
  72. package/dist/types/components/pagination/pagination.interfaces.d.ts +6 -0
  73. package/dist/types/components/pagination/pagination.template.d.ts +2 -0
  74. package/dist/types/components/responsive-element/responsive-element.d.ts +10 -0
  75. package/dist/types/components/responsive-element/responsive-element.template.d.ts +3 -0
  76. package/dist/types/components/tooltip/tooltip.d.ts +6 -0
  77. package/dist/types/components/viewer-grid/example-pages/viewer-grid-document-header.example-template.d.ts +2 -0
  78. package/dist/types/components/viewer-grid/example-pages/viewer-grid-document-list.example-template.d.ts +2 -0
  79. package/dist/types/components/viewer-grid/example-pages/viewer-grid-filterblok.example-template.d.ts +1 -0
  80. package/dist/types/components/viewer-grid/example-pages/viewer-grid-tiles.example-template.d.ts +2 -0
  81. package/dist/types/components/viewer-grid/templates/viewer-grid.template.d.ts +3 -0
  82. package/dist/types/components.d.ts +72 -1
  83. package/package.json +10 -10
  84. package/dist/collection/components/viewer-grid/viewer-grid-document-header.template.js +0 -39
  85. package/dist/collection/components/viewer-grid/viewer-grid-document-list-item.template.js +0 -19
  86. package/dist/collection/components/viewer-grid/viewer-grid-filterblok.template.js +0 -28
  87. package/dist/collection/components/viewer-grid/viewer-grid.template.js +0 -31
  88. package/dist/dso-toolkit/p-746d70f9.entry.js +0 -1
  89. package/dist/dso-toolkit/p-7abe091d.entry.js +0 -1
  90. package/dist/dso-toolkit/p-8bb8148f.entry.js +0 -1
  91. package/dist/dso-toolkit/p-c32860a3.entry.js +0 -1
  92. package/dist/dso-toolkit/p-d76c1151.entry.js +0 -1
  93. package/dist/types/components/viewer-grid/viewer-grid-document-header.template.d.ts +0 -3
  94. package/dist/types/components/viewer-grid/viewer-grid-document-list-item.template.d.ts +0 -3
  95. package/dist/types/components/viewer-grid/viewer-grid-filterblok.template.d.ts +0 -3
  96. package/dist/types/components/viewer-grid/viewer-grid.template.d.ts +0 -3
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-0a7c679a.js');
6
6
  const clsx_m = require('./clsx.m-b00fa5e1.js');
7
7
 
8
- const badgeCss = ":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-badge{background-color:#666;border-radius:1em;color:#fff;display:inline-block;font-size:0.875em;line-height:1em;padding:4px 8px}.dso-badge.badge-info{background-color:#6ca4d9;color:#191919}.dso-badge.badge-primary{background-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;color:#191919}.dso-badge.badge-danger{background-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;border:1px solid #191919;color:#191919}";
8
+ const badgeCss = ":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-badge{background-color:#666;border-radius:1em;color:#fff;display:inline-block;font-size:0.875em;line-height:1em;padding:4px 8px}.dso-badge.badge-info{background-color:#6ca4d9;color:#191919}.dso-badge.badge-primary{background-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;color:#191919}.dso-badge.badge-danger{background-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;color:#191919;outline:1px solid #191919}";
9
9
 
10
10
  let Badge = class {
11
11
  constructor(hostRef) {
@@ -268,6 +268,22 @@ const keyCode = {
268
268
  };
269
269
  const DISALLOWED_CHARACTERS = /[^0-9\-]+/g;
270
270
  const TRANSITION_MS = 300;
271
+ function cleanValue(input, regex) {
272
+ const value = input.value;
273
+ const cursor = input.selectionStart;
274
+ if (!cursor) {
275
+ return value;
276
+ }
277
+ const beforeCursor = value.slice(0, cursor);
278
+ const afterCursor = value.slice(cursor, value.length);
279
+ const filteredBeforeCursor = beforeCursor.replace(regex, "");
280
+ const filterAfterCursor = afterCursor.replace(regex, "");
281
+ const newValue = filteredBeforeCursor + filterAfterCursor;
282
+ const newCursor = filteredBeforeCursor.length;
283
+ input.value = newValue;
284
+ input.selectionStart = input.selectionEnd = newCursor;
285
+ return newValue;
286
+ }
271
287
  let DsoDatePicker = class {
272
288
  constructor(hostRef) {
273
289
  index.registerInstance(this, hostRef);
@@ -479,12 +495,8 @@ let DsoDatePicker = class {
479
495
  };
480
496
  this.handleInputChange = (e) => {
481
497
  const target = e.target;
482
- this.setValue(target.value);
483
- };
484
- this.handleKeyPress = (e) => {
485
- if (e.key.search(DISALLOWED_CHARACTERS) > -1) {
486
- e.preventDefault();
487
- }
498
+ const cleanedValue = cleanValue(target, DISALLOWED_CHARACTERS);
499
+ this.setValue(cleanedValue);
488
500
  };
489
501
  this.prepareEvent = (value) => {
490
502
  var event = {
@@ -622,13 +634,16 @@ let DsoDatePicker = class {
622
634
  }
623
635
  setValue(value) {
624
636
  const event = this.prepareEvent(value);
625
- this.value = event.value;
626
- this.dateChange.emit(event);
637
+ this.value = typeof value === 'string' ? value : event.value;
638
+ if (this.value !== this.previousValue) {
639
+ this.dateChange.emit(event);
640
+ this.previousValue = this.value;
641
+ }
627
642
  }
628
643
  componentDidLoad() {
629
644
  const valueAsDate = parseDutchDate(this.value);
630
645
  if (valueAsDate) {
631
- this.value = printDutchDate(valueAsDate);
646
+ this.previousValue = this.value = printDutchDate(valueAsDate);
632
647
  }
633
648
  if (this.dsoAutofocus) {
634
649
  this.setFocus();
@@ -656,7 +671,7 @@ let DsoDatePicker = class {
656
671
  if (maxDate) {
657
672
  maxYear = Math.min(maxYear, maxDate.getFullYear());
658
673
  }
659
- return (index.h(index.Host, null, index.h("div", { class: ({ 'dso-date': true, 'dso-visible': this.visible }) }, index.h("div", { class: "dso-date__input-wrapper" }, index.h("input", { class: "dso-date__input", value: this.value, placeholder: this.localization.placeholder, id: this.identifier, disabled: this.disabled, role: this.role, required: this.required ? true : undefined, "aria-autocomplete": "none", onKeyPress: this.handleKeyPress, onInput: this.handleInputChange, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, autoComplete: "off", ref: element => (this.datePickerInput = element) }), index.h("button", { type: "button", class: "dso-date__toggle", onClick: this.toggleOpen, disabled: this.disabled, ref: element => (this.datePickerButton = element) }, index.h("span", { class: "dso-date__toggle-icon" }, index.h("dso-icon", { icon: "calendar" })), index.h("span", { class: "dso-date__vhidden" }, this.localization.buttonLabel, formattedDate && (index.h("span", null, ", ", this.localization.selectedDateMessage, " ", formattedDate))))), index.h("div", { class: {
674
+ return (index.h(index.Host, null, index.h("div", { class: ({ 'dso-date': true, 'dso-visible': this.visible }) }, index.h("div", { class: "dso-date__input-wrapper" }, index.h("input", { class: "dso-date__input", value: this.value, placeholder: this.localization.placeholder, id: this.identifier, disabled: this.disabled, role: this.role, required: this.required ? true : undefined, "aria-autocomplete": "none", onInput: this.handleInputChange, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, autoComplete: "off", ref: element => (this.datePickerInput = element) }), index.h("button", { type: "button", class: "dso-date__toggle", onClick: this.toggleOpen, disabled: this.disabled, ref: element => (this.datePickerButton = element) }, index.h("span", { class: "dso-date__toggle-icon" }, index.h("dso-icon", { icon: "calendar" })), index.h("span", { class: "dso-date__vhidden" }, this.localization.buttonLabel, formattedDate && (index.h("span", null, ", ", this.localization.selectedDateMessage, " ", formattedDate))))), index.h("div", { class: {
660
675
  "dso-date__dialog": true,
661
676
  "is-left": this.direction === "left",
662
677
  "is-active": this.open,
@@ -13,6 +13,7 @@ let Header = class {
13
13
  constructor(hostRef) {
14
14
  index.registerInstance(this, hostRef);
15
15
  this.menuItemClick = index.createEvent(this, "menuItemClick", 7);
16
+ this.logoutClick = index.createEvent(this, "logoutClick", 7);
16
17
  this.mainMenu = [];
17
18
  this.useDropDownMenu = "auto";
18
19
  this.showDropDown = false;
@@ -90,9 +91,9 @@ let Header = class {
90
91
  ["has-sub-logo"]: this.hasSubLogo,
91
92
  }), ref: (element) => (this.wrapper = element) }, index.h("div", { class: "logo-container" }, index.h("div", { class: "logo" }, index.h("slot", { name: "logo" })), index.h("div", { class: "sub-logo" }, index.h("slot", { name: "sub-logo" }))), this.showDropDown && this.mainMenu.length > 0 && (index.h("div", { class: "dropdown" }, index.h("dso-dropdown-menu", { "dropdown-align": "right" }, index.h("button", { type: "button", class: "tertiary", slot: "toggle" }, index.h("span", null, "Menu")), index.h("div", { class: "dso-dropdown-options" }, index.h("dso-dropdown-options", null, index.h("ul", null, this.mainMenu.map(this.MenuItem), this.userHomeUrl && (index.h("li", null, index.h("a", { href: this.userHomeUrl }, "Mijn Omgevingsloket"))), this.loginUrl && !this.isLoggedIn && (index.h("li", null, index.h("a", { href: this.loginUrl }, "Inloggen"))), this.userProfileUrl &&
92
93
  this.userProfileName &&
93
- this.isLoggedIn && (index.h("li", null, index.h("a", { href: this.userProfileUrl }, this.userProfileName, index.h("span", { class: "profile-label" }, "- Mijn profiel")))), this.logoutUrl && this.isLoggedIn && (index.h("li", null, index.h("a", { href: this.logoutUrl }, "Uitloggen"))))))))), !this.showDropDown && this.mainMenu.length > 0 && (index.h(index.Fragment, null, index.h("div", { class: "dso-header-session" }, this.userProfileUrl &&
94
+ this.isLoggedIn && (index.h("li", null, index.h("a", { href: this.userProfileUrl }, this.userProfileName, index.h("span", { class: "profile-label" }, "- Mijn profiel")))), this.logoutUrl && this.isLoggedIn && (index.h("li", null, index.h("a", { href: this.logoutUrl, onClick: e => this.logoutClick.emit({ originalEvent: e }) }, "Uitloggen"))))))))), !this.showDropDown && this.mainMenu.length > 0 && (index.h(index.Fragment, null, index.h("div", { class: "dso-header-session" }, this.userProfileUrl &&
94
95
  this.userProfileName &&
95
- this.isLoggedIn && (index.h("div", { class: "profile" }, index.h("span", { class: "profile-label" }, "Welkom:"), index.h("a", { href: this.userProfileUrl }, this.userProfileName))), this.loginUrl && !this.isLoggedIn && (index.h("div", { class: "login" }, index.h("a", { href: this.loginUrl }, "Inloggen"))), this.logoutUrl && this.isLoggedIn && (index.h("div", { class: "logout" }, index.h("a", { href: this.logoutUrl }, "Uitloggen")))), index.h("nav", { class: "dso-navbar" }, index.h("ul", { class: "dso-nav dso-nav-main", ref: (element) => (this.nav = element) }, this.mainMenu
96
+ this.isLoggedIn && (index.h("div", { class: "profile" }, index.h("span", { class: "profile-label" }, "Welkom:"), index.h("a", { href: this.userProfileUrl }, this.userProfileName))), this.loginUrl && !this.isLoggedIn && (index.h("div", { class: "login" }, index.h("a", { href: this.loginUrl }, "Inloggen"))), this.logoutUrl && this.isLoggedIn && (index.h("div", { class: "logout" }, index.h("a", { href: this.logoutUrl, onClick: e => this.logoutClick.emit({ originalEvent: e }) }, "Uitloggen")))), index.h("nav", { class: "dso-navbar" }, index.h("ul", { class: "dso-nav dso-nav-main", ref: (element) => (this.nav = element) }, this.mainMenu
96
97
  .filter((_, index) => index < this.mainMenu.length - this.overflowMenuItems)
97
98
  .map(this.MenuItem), this.overflowMenuItems > 0 && (index.h("li", null, index.h("dso-dropdown-menu", { "dropdown-align": "left" }, index.h("button", { type: "button", class: "tertiary", slot: "toggle" }, index.h("span", null, "Meer")), index.h("div", { class: "dso-dropdown-options" }, index.h("dso-dropdown-options", null, index.h("ul", null, this.mainMenu
98
99
  .filter((_, index) => index >=
@@ -18,7 +18,7 @@ let Info = class {
18
18
  };
19
19
  Info.style = infoCss;
20
20
 
21
- const selectableCss = ":host{display:block;padding:0 0 0 32px;position:relative}:host .dso-selectable-options{list-style:none;margin-top:8px;padding-left:0}:host .dso-selectable-options li+li{margin-top:8px}:host label{font-weight:400;line-height:24px;margin:0}:host input[type=checkbox][disabled]+label::before,:host input[type=checkbox][disabled]:active+label::before,:host input[type=checkbox][disabled]:focus+label::before,:host input[type=radio][disabled]+label::before,:host input[type=radio][disabled]:active+label::before,:host input[type=radio][disabled]:focus+label::before{background-color:#fff;box-shadow:0 0 0 2px #e5e5e5}:host input[type=checkbox],:host input[type=radio]{height:24px;left:0;margin:0;opacity:0;position:absolute;top:0;width:24px;z-index:100;zoom:1}@media (prefers-contrast: more){:host input[type=checkbox],:host input[type=radio]{opacity:1}}:host input[type=checkbox]:not([disabled]),:host input[type=radio]:not([disabled]){cursor:pointer}:host input[type=checkbox]+label,:host input[type=radio]+label{display:inline;font-style:normal;padding-left:0}:host input[type=checkbox]+label::before,:host input[type=radio]+label::before{background:#fff;border:0;box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);content:\"\";height:20px;left:2px;position:absolute;top:2px;width:20px}:host input[type=checkbox]:focus,:host input[type=radio]:focus{outline:0}:host input[type=checkbox]:focus+label::before,:host input[type=radio]:focus+label::before{box-shadow:0 0 0 3px var(--dso-selectable-color, #275937);height:18px;left:3px;top:3px;width:18px}:host input[type=checkbox]:active+label::before,:host input[type=checkbox].active+label::before,:host input[type=radio]:active+label::before,:host input[type=radio].active+label::before{background-color:#ebf3e6;box-shadow:0 0 0 1px #275937;height:22px;left:1px;top:1px;width:22px}:host input[type=checkbox]+label::before{border-radius:4px}:host input[type=checkbox]+label::after{background:transparent;content:\"\";left:6px;opacity:0;position:absolute;top:6px;zoom:1}:host input[type=checkbox]:checked+label::after,:host input[type=checkbox]:indeterminate+label::after{opacity:1}:host input[type=checkbox]:checked+label::after{border:solid;border-color:var(--dso-selectable-color, #39870c);border-top-color:transparent;border-width:0 0 3px 3px;height:8px;transform:rotate(-45deg);width:13px}:host input[type=checkbox]:indeterminate+label::after{background-color:var(--dso-selectable-color, #39870c);height:12px;width:12px}:host input[type=radio]+label::before{border-radius:50%}:host input[type=radio]+label::after{background-color:transparent;border-radius:50%;content:\"\";height:12px;left:6px;opacity:0;position:absolute;top:6px;width:12px;zoom:1}:host input[type=radio]:checked+label::after{background-color:var(--dso-selectable-color, #39870c);opacity:1}:host>dso-info{float:none;margin:8px 16px 0 -32px;width:calc(100% + 32px)}:host(:not(:last-child)){margin-bottom:8px}*,*::after,*::before{box-sizing:border-box}";
21
+ const selectableCss = ".sc-dso-selectable-h{display:block;padding:0 0 0 32px;position:relative}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable{list-style:none;margin-top:8px;padding-left:0}.sc-dso-selectable-h .dso-selectable-options.sc-dso-selectable li.sc-dso-selectable+li.sc-dso-selectable{margin-top:8px}.sc-dso-selectable-h label.sc-dso-selectable{font-weight:400;line-height:24px;margin:0}.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio][disabled].sc-dso-selectable:focus+label.sc-dso-selectable::before{background-color:#fff;box-shadow:0 0 0 2px #e5e5e5}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{height:24px;left:0;margin:0;opacity:0;position:absolute;top:0;width:24px;z-index:100;zoom:1}@media (prefers-contrast: more){.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable{opacity:1}}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:not([disabled]),.sc-dso-selectable-h input[type=radio].sc-dso-selectable:not([disabled]){cursor:pointer}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable{display:inline;font-style:normal;padding-left:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{background:#fff;border:0;box-shadow:0 0 0 2px var(--dso-selectable-color, #275937);content:\"\";height:20px;left:2px;position:absolute;top:2px;width:20px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus{outline:0}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:focus+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:focus+label.sc-dso-selectable::before{box-shadow:0 0 0 3px var(--dso-selectable-color, #275937);height:18px;left:3px;top:3px;width:18px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=checkbox].active.sc-dso-selectable+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].sc-dso-selectable:active+label.sc-dso-selectable::before,.sc-dso-selectable-h input[type=radio].active.sc-dso-selectable+label.sc-dso-selectable::before{background-color:#ebf3e6;box-shadow:0 0 0 1px #275937;height:22px;left:1px;top:1px;width:22px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:4px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable+label.sc-dso-selectable::after{background:transparent;content:\"\";left:6px;opacity:0;position:absolute;top:6px;zoom:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after,.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{opacity:1}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:checked+label.sc-dso-selectable::after{border:solid;border-color:var(--dso-selectable-color, #39870c);border-top-color:transparent;border-width:0 0 3px 3px;height:8px;transform:rotate(-45deg);width:13px}.sc-dso-selectable-h input[type=checkbox].sc-dso-selectable:indeterminate+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);height:12px;width:12px}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::before{border-radius:50%}.sc-dso-selectable-h input[type=radio].sc-dso-selectable+label.sc-dso-selectable::after{background-color:transparent;border-radius:50%;content:\"\";height:12px;left:6px;opacity:0;position:absolute;top:6px;width:12px;zoom:1}.sc-dso-selectable-h input[type=radio].sc-dso-selectable:checked+label.sc-dso-selectable::after{background-color:var(--dso-selectable-color, #39870c);opacity:1}.sc-dso-selectable-h>dso-info.sc-dso-selectable{float:none;margin:8px 16px 0 -32px;width:calc(100% + 32px)}.sc-dso-selectable-h:not(:last-child){margin-bottom:8px}*.sc-dso-selectable,*.sc-dso-selectable::after,*.sc-dso-selectable::before{box-sizing:border-box}";
22
22
 
23
23
  let Selectable = class {
24
24
  constructor(hostRef) {
@@ -52,7 +52,7 @@ let Selectable = class {
52
52
  render() {
53
53
  var _a;
54
54
  const hasInfo = !!this.host.querySelector('[slot="info"]');
55
- return (index.h(index.Fragment, null, index.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": this.describedById, disabled: this.disabled, required: this.required, checked: this.checked, onChange: e => this.change.emit(e), ref: (el) => this.input = el }), index.h("label", { htmlFor: this.getIdentifier() }, index.h("slot", null)), hasInfo && (index.h(index.Fragment, null, !this.infoFixed && (index.h("dso-info-button", { active: this.infoActive, onToggle: e => this.infoActive = e.detail.active })), index.h("dso-info", { fixed: this.infoFixed, active: this.infoActive, onClose: () => this.infoActive = false }, index.h("slot", { name: "info" }))))));
55
+ return (index.h(index.Fragment, null, index.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, disabled: this.disabled, required: this.required, checked: this.checked, onChange: e => this.change.emit(e), ref: (el) => this.input = el }), index.h("label", { htmlFor: this.getIdentifier() }, index.h("slot", null)), hasInfo && (index.h(index.Fragment, null, !this.infoFixed && (index.h("dso-info-button", { active: this.infoActive, onToggle: e => this.infoActive = e.detail.active })), index.h("dso-info", { id: (hasInfo && this.infoFixed) ? this.describedById : undefined, fixed: this.infoFixed, active: this.infoActive, onClose: () => this.infoActive = false }, index.h("div", null, index.h("slot", { name: "info" })))))));
56
56
  }
57
57
  getIdentifier() {
58
58
  var _a;
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-0a7c679a.js');
6
+ const v4 = require('./v4-8e8d6fbc.js');
6
7
 
7
8
  const mapBaseLayersCss = ":host{display:block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}fieldset{border:0;margin:0;min-width:0;padding:0}fieldset .control-label{display:inline-block;font-weight:bold;margin-bottom:8px;max-width:100%;text-align:left}p[slot=info]{margin:0}";
8
9
 
@@ -11,6 +12,7 @@ let MapBaseLayers = class {
11
12
  index.registerInstance(this, hostRef);
12
13
  this.baseLayerChange = index.createEvent(this, "baseLayerChange", 7);
13
14
  this.selectableRefs = {};
15
+ this.group = v4.v4();
14
16
  }
15
17
  baseLayerChangeHandler(baseLayer) {
16
18
  this.baseLayerChange.emit({ activeBaseLayer: baseLayer });
@@ -28,7 +30,7 @@ let MapBaseLayers = class {
28
30
  for (const ref in this.selectableRefs) {
29
31
  delete this.selectableRefs[ref];
30
32
  }
31
- return (index.h("fieldset", { class: "form-group dso-radios" }, index.h("legend", { class: "sr-only" }, "Achtergrond"), index.h("div", { class: "dso-label-container" }, index.h("span", { class: "control-label", "aria-hidden": "true" }, "Achtergrond")), index.h("div", { class: "dso-field-container" }, this.baseLayers.map(baseLayer => (index.h("dso-selectable", { key: baseLayer.id, type: "radio", value: baseLayer.name, checked: baseLayer.checked, disabled: baseLayer.disabled, ref: ref => this.selectableRefs[baseLayer.id] = ref, onDsoChange: () => this.baseLayerChangeHandler(baseLayer) }, baseLayer.name, baseLayer.info
33
+ return (index.h("fieldset", { class: "form-group dso-radios" }, index.h("legend", { class: "sr-only" }, "Achtergrond"), index.h("div", { class: "dso-label-container" }, index.h("span", { class: "control-label", "aria-hidden": "true" }, "Achtergrond")), index.h("div", { class: "dso-field-container" }, this.baseLayers.map(baseLayer => (index.h("dso-selectable", { key: baseLayer.id, type: "radio", value: baseLayer.name, checked: baseLayer.checked, disabled: baseLayer.disabled, name: this.group, ref: ref => this.selectableRefs[baseLayer.id] = ref, onDsoChange: () => this.baseLayerChangeHandler(baseLayer) }, baseLayer.name, baseLayer.info
32
34
  ? index.h("p", { slot: "info" }, baseLayer.info)
33
35
  : null))))));
34
36
  }
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-0a7c679a.js');
6
6
 
7
- const mapControlsCss = "button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}:host{background-color:#fff;border:1px solid #ccc;bottom:0;display:block;font-family:Asap, sans-serif;position:absolute;top:0;left:100%;transition:transform 300ms ease;width:300px}*,*::after,*::before{box-sizing:border-box}:host([open]){box-shadow:0 1px 4px 0 rgba(0, 0, 0, 0.3);transform:translateX(-100%)}:host([open]) #toggle-visibility-button{display:none}#toggle-visibility-button{display:inline-block;font-size:1em;font-weight:500;margin-bottom:0;text-decoration:none;touch-action:manipulation;text-align:left;user-select:none;vertical-align:middle;background-color:#fff;border-color:#39870c;color:#39870c;border-width:1px;border-style:solid;border-radius:4px;line-height:1.5;min-width:56px;padding:11px 15px;border:0;box-shadow:0 1px 4px 0 rgba(0, 0, 0, 0.5);font-weight:600;margin-right:16px;padding:8px 16px;white-space:nowrap;position:absolute;right:calc(100% + 56px);top:16px}#toggle-visibility-button:focus,#toggle-visibility-button:focus-visible{outline-offset:2px}#toggle-visibility-button:active{outline:0}#toggle-visibility-button.extern::after,#toggle-visibility-button.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}#toggle-visibility-button:hover{background-color:#39870c;border-color:#39870c;color:#fff}#toggle-visibility-button:active{background-color:#275937;border-color:#275937;color:#fff}#toggle-visibility-button[disabled],#toggle-visibility-button[disabled]:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d}#toggle-visibility-button.btn-sm{line-height:16px}#toggle-visibility-button.btn-sm dso-icon,#toggle-visibility-button.btn-sm svg.di,#toggle-visibility-button.btn-sm.extern::after,#toggle-visibility-button.btn-sm.download::after{margin-bottom:-4px;margin-top:-4px}#toggle-visibility-button.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#toggle-visibility-button.download:hover::after{--dso-icon:var(--di-download-wit)}#toggle-visibility-button.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}#toggle-visibility-button.extern::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#toggle-visibility-button.extern:hover::after{--dso-icon:var(--di-external-link-wit)}#toggle-visibility-button.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}#toggle-visibility-button dso-icon,#toggle-visibility-button svg.di{margin-left:-8px;margin-right:8px}#toggle-visibility-button span+dso-icon,#toggle-visibility-button span+svg.di{margin-left:8px;margin-right:-8px}#toggle-visibility-button:focus-visible{background-color:#39870c;border-color:#39870c;color:#fff;outline:none}#zoom-buttons{border-radius:4px;box-shadow:0 1px 4px 0 rgba(0, 0, 0, 0.5);display:flex;flex-wrap:wrap;flex:0 0;position:absolute;right:calc(100% + 16px);top:16px}#zoom-buttons button{display:inline-block;font-size:1em;font-weight:500;margin-bottom:0;text-decoration:none;touch-action:manipulation;text-align:left;user-select:none;vertical-align:middle;background-color:#fff;border-color:#39870c;color:#39870c;border-width:1px;border-style:solid;border-radius:4px;line-height:1.5;min-width:56px;padding:11px 15px;border:0;padding:8px;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;flex:0 0 100%;height:40px;min-width:auto;width:40px}#zoom-buttons button:focus,#zoom-buttons button:focus-visible{outline-offset:2px}#zoom-buttons button:active{outline:0}#zoom-buttons button.extern::after,#zoom-buttons button.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}#zoom-buttons button:hover{background-color:#39870c;border-color:#39870c;color:#fff}#zoom-buttons button:active{background-color:#275937;border-color:#275937;color:#fff}#zoom-buttons button[disabled],#zoom-buttons button[disabled]:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d}#zoom-buttons button.btn-sm{line-height:16px}#zoom-buttons button.btn-sm dso-icon,#zoom-buttons button.btn-sm svg.di,#zoom-buttons button.btn-sm.extern::after,#zoom-buttons button.btn-sm.download::after{margin-bottom:-4px;margin-top:-4px}#zoom-buttons button.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#zoom-buttons button.download:hover::after{--dso-icon:var(--di-download-wit)}#zoom-buttons button.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}#zoom-buttons button.extern::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#zoom-buttons button.extern:hover::after{--dso-icon:var(--di-external-link-wit)}#zoom-buttons button.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}#zoom-buttons button>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#zoom-buttons button:focus-visible{background-color:#39870c;border-color:#39870c;color:#fff;outline:none}#zoom-buttons button+button{border-radius:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:1px solid #ccc}#close-button{display:inline-block;font-size:1em;font-weight:500;margin-bottom:0;text-decoration:none;touch-action:manipulation;text-align:left;user-select:none;vertical-align:middle;border:0;color:#39870c;line-height:1;padding:0;background-color:transparent;padding:0;position:absolute;right:16px;top:16px}#close-button:focus,#close-button:focus-visible{outline-offset:2px}#close-button:active{outline:0}#close-button.extern::after,#close-button.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}#close-button[disabled]{color:#afcf9d}#close-button:not([disabled]):hover{color:#676cb0;text-decoration:underline}#close-button:not([disabled]):active{color:#676cb0}#close-button.btn-align{line-height:calc(1.5em - 1px);padding:11px 0;position:relative}#close-button.extern::after,#close-button.download::after{position:relative;top:-2px}#close-button.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#close-button.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}#close-button.download:not([disabled]):hover::after,#close-button.download:not([disabled]):active::after{--dso-icon:var(--di-download-scampi)}#close-button.extern::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#close-button.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}#close-button.extern:not([disabled]):hover::after,#close-button.extern:not([disabled]):active::after{--dso-icon:var(--di-external-link-scampi)}#close-button>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}section{display:flex;flex-direction:column;height:100%}header,.content{padding:16px}header{border-bottom:1px solid #ccc;flex-grow:0;position:relative}header h2{color:#275937;font-family:\"Asap\", sans-serif;line-height:1;margin:0}.content{flex-grow:1;overflow-y:auto}";
7
+ const mapControlsCss = "button{-webkit-appearance:button;color:inherit;cursor:pointer;font:inherit;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}button[disabled]{cursor:default}button::-moz-focus-inner{border:0;padding:0}:host{background-color:#fff;border:1px solid #ccc;bottom:0;display:block;font-family:Asap, sans-serif;position:absolute;top:0;left:100%;transition:transform 300ms ease;width:300px}*,*::after,*::before{box-sizing:border-box}:host([open]){box-shadow:0 1px 4px 0 rgba(0, 0, 0, 0.3);transform:translateX(-100%)}:host([open]) #toggle-visibility-button{display:none}#toggle-visibility-button{display:inline-block;font-size:1em;font-weight:500;margin-bottom:0;text-decoration:none;touch-action:manipulation;text-align:left;user-select:none;vertical-align:middle;background-color:#fff;border-color:#39870c;color:#39870c;border-width:1px;border-style:solid;border-radius:4px;line-height:1.5;min-width:56px;padding:11px 15px;border:0;box-shadow:0 1px 4px 0 rgba(0, 0, 0, 0.5);font-weight:600;margin-right:16px;padding:8px 16px;white-space:nowrap;position:absolute;right:calc(100% + 56px);top:16px}#toggle-visibility-button:focus,#toggle-visibility-button:focus-visible{outline-offset:2px}#toggle-visibility-button:active{outline:0}#toggle-visibility-button.extern::after,#toggle-visibility-button.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}#toggle-visibility-button:hover{background-color:#39870c;border-color:#39870c;color:#fff}#toggle-visibility-button:active{background-color:#275937;border-color:#275937;color:#fff}#toggle-visibility-button[disabled],#toggle-visibility-button[disabled]:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d}#toggle-visibility-button.btn-sm{line-height:16px}#toggle-visibility-button.btn-sm dso-icon,#toggle-visibility-button.btn-sm svg.di,#toggle-visibility-button.btn-sm.extern::after,#toggle-visibility-button.btn-sm.download::after{margin-bottom:-4px;margin-top:-4px}#toggle-visibility-button.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#toggle-visibility-button.download:hover::after{--dso-icon:var(--di-download-wit)}#toggle-visibility-button.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}#toggle-visibility-button.extern::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#toggle-visibility-button.extern:hover::after{--dso-icon:var(--di-external-link-wit)}#toggle-visibility-button.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}#toggle-visibility-button dso-icon,#toggle-visibility-button svg.di{margin-left:-8px;margin-right:8px}#toggle-visibility-button span+dso-icon,#toggle-visibility-button span+svg.di{margin-left:8px;margin-right:-8px}#toggle-visibility-button:focus-visible{background-color:#39870c;border-color:#39870c;color:#fff;outline:none}#zoom-buttons{border-radius:4px;box-shadow:0 1px 4px 0 rgba(0, 0, 0, 0.5);display:flex;flex-wrap:wrap;flex:0 0;position:absolute;right:calc(100% + 16px);top:16px}#zoom-buttons button{display:inline-block;font-size:1em;font-weight:500;margin-bottom:0;text-decoration:none;touch-action:manipulation;text-align:left;user-select:none;vertical-align:middle;background-color:#fff;border-color:#39870c;color:#39870c;border-width:1px;border-style:solid;border-radius:4px;line-height:1.5;min-width:56px;padding:11px 15px;border:0;padding:8px;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;flex:0 0 100%;height:40px;min-width:auto;width:40px}#zoom-buttons button:focus,#zoom-buttons button:focus-visible{outline-offset:2px}#zoom-buttons button:active{outline:0}#zoom-buttons button.extern::after,#zoom-buttons button.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}#zoom-buttons button:hover{background-color:#39870c;border-color:#39870c;color:#fff}#zoom-buttons button:active{background-color:#275937;border-color:#275937;color:#fff}#zoom-buttons button[disabled],#zoom-buttons button[disabled]:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d}#zoom-buttons button.btn-sm{line-height:16px}#zoom-buttons button.btn-sm dso-icon,#zoom-buttons button.btn-sm svg.di,#zoom-buttons button.btn-sm.extern::after,#zoom-buttons button.btn-sm.download::after{margin-bottom:-4px;margin-top:-4px}#zoom-buttons button.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#zoom-buttons button.download:hover::after{--dso-icon:var(--di-download-wit)}#zoom-buttons button.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}#zoom-buttons button.extern::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#zoom-buttons button.extern:hover::after{--dso-icon:var(--di-external-link-wit)}#zoom-buttons button.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}#zoom-buttons button>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#zoom-buttons button:focus-visible{background-color:#39870c;border-color:#39870c;color:#fff;outline:none}#zoom-buttons button+button{border-radius:0;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:1px solid #ccc}#close-button{display:inline-block;font-size:1em;font-weight:500;margin-bottom:0;text-decoration:none;touch-action:manipulation;text-align:left;user-select:none;vertical-align:middle;border:0;color:#39870c;line-height:1;padding:0;background-color:transparent;padding:0;position:absolute;right:16px;top:16px}#close-button:focus,#close-button:focus-visible{outline-offset:2px}#close-button:active{outline:0}#close-button.extern::after,#close-button.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}#close-button[disabled]{color:#afcf9d}#close-button:not([disabled]):hover{color:#676cb0;text-decoration:underline}#close-button:not([disabled]):active{color:#676cb0}#close-button.btn-align{line-height:calc(1.5em - 1px);padding:11px 0;position:relative}#close-button.extern::after,#close-button.download::after{position:relative;top:-2px}#close-button.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#close-button.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}#close-button.download:not([disabled]):hover::after,#close-button.download:not([disabled]):active::after{--dso-icon:var(--di-download-scampi)}#close-button.extern::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}#close-button.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}#close-button.extern:not([disabled]):hover::after,#close-button.extern:not([disabled]):active::after{--dso-icon:var(--di-external-link-scampi)}#close-button>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}section:not([hidden]){display:flex;flex-direction:column;height:100%}header,.content{padding:16px}header{border-bottom:1px solid #ccc;flex-grow:0;position:relative}header h2{color:#275937;font-family:\"Asap\", sans-serif;line-height:1;margin:0}.content{flex-grow:1;overflow-y:auto}";
8
8
 
9
9
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
10
10
  if (kind === "a" && !f)
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-0a7c679a.js');
6
+ const v4 = require('./v4-8e8d6fbc.js');
6
7
 
7
8
  const mapOverlaysCss = ":host{display:block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}fieldset{border:0;margin:0;min-width:0;padding:0}fieldset .control-label{display:inline-block;font-weight:bold;margin-bottom:8px;max-width:100%;text-align:left}p[slot=info]{margin:0}";
8
9
 
@@ -11,6 +12,7 @@ let MapOverlays = class {
11
12
  index.registerInstance(this, hostRef);
12
13
  this.toggleOverlay = index.createEvent(this, "toggleOverlay", 7);
13
14
  this.selectableRefs = {};
15
+ this.group = v4.v4();
14
16
  }
15
17
  overlayChangeHandler(overlay, e) {
16
18
  const checked = e.detail.target instanceof HTMLInputElement ? !!e.detail.target.checked : false;
@@ -29,7 +31,7 @@ let MapOverlays = class {
29
31
  for (const ref in this.selectableRefs) {
30
32
  delete this.selectableRefs[ref];
31
33
  }
32
- return (index.h("fieldset", { class: "form-group dso-checkboxes" }, index.h("legend", { class: "sr-only" }, "Kaartlagen"), index.h("div", { class: "dso-label-container" }, index.h("span", { class: "control-label", "aria-hidden": "true" }, "Kaartlagen")), index.h("div", { class: "dso-field-container" }, this.overlays.map(overlay => (index.h("dso-selectable", { key: overlay.id, type: "checkbox", value: overlay.name, checked: overlay.checked, disabled: overlay.disabled, ref: ref => this.selectableRefs[overlay.id] = ref, onDsoChange: e => this.overlayChangeHandler(overlay, e) }, overlay.name, overlay.info
34
+ return (index.h("fieldset", { class: "form-group dso-checkboxes" }, index.h("legend", { class: "sr-only" }, "Kaartlagen"), index.h("div", { class: "dso-label-container" }, index.h("span", { class: "control-label", "aria-hidden": "true" }, "Kaartlagen")), index.h("div", { class: "dso-field-container" }, this.overlays.map(overlay => (index.h("dso-selectable", { key: overlay.id, type: "checkbox", value: overlay.name, checked: overlay.checked, disabled: overlay.disabled, name: this.group, ref: ref => this.selectableRefs[overlay.id] = ref, onDsoChange: e => this.overlayChangeHandler(overlay, e) }, overlay.name, overlay.info
33
35
  ? index.h("p", { slot: "info" }, overlay.info)
34
36
  : null))))));
35
37
  }
@@ -398,7 +398,7 @@ let OzonContent = class {
398
398
  if (this.deleted) {
399
399
  return (index.h("section", null, index.h("span", { class: "deleted-start" }, "Begin verwijderd element"), transformed, index.h("span", { class: "deleted-end" }, "Einde verwijderd element")));
400
400
  }
401
- return (index.h(index.Host, { onClick: (e) => this.handleHostOnClick(e) }, transformed));
401
+ return (index.h(index.Host, { onClick: (e) => this.handleHostOnClick(e) }, index.h("slot", { name: "prefix" }), transformed, index.h("slot", { name: "suffix" })));
402
402
  }
403
403
  get host() { return index.getElement(this); }
404
404
  };
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-0a7c679a.js');
6
+
7
+ const paginationCss = ":host{display:block}*,*::after,*::before{box-sizing:border-box}.pagination{text-align:center}.pagination>li{display:inline-block;font-weight:bold;line-height:28px;text-align:center;vertical-align:middle}.pagination>li>a,.pagination>li>span{align-items:center;color:#39870c;display:flex;height:32px;justify-content:center;position:relative;width:32px}.pagination>li>a:active,.pagination>li>span:active{background-color:#ebf3e6}.pagination>li>span{border:2px solid transparent;border-radius:50%}.pagination>li a{line-height:32px;text-decoration:none}.pagination>li a:hover,.pagination>li a:focus{text-decoration:none}.pagination>li a:hover::after,.pagination>li a:focus::after{border-bottom-color:#39870c}.pagination>li a::after{border-bottom:3px solid transparent;bottom:0;content:\"\";display:inline-block;left:0;position:absolute;width:100%}.pagination>li.active span{background-color:#39870c;color:#fff}.pagination>li+li{margin-left:8px}.dso-page-hidden{visibility:hidden}";
8
+
9
+ let Pagination = class {
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.selectPage = index.createEvent(this, "selectPage", 7);
13
+ /**
14
+ * This function is called to format the href
15
+ */
16
+ this.formatHref = (page) => '#' + page;
17
+ }
18
+ clickHandler(e, page) {
19
+ if (e.button !== 0 || e.ctrlKey || e.shiftKey || e.altKey || e.metaKey) {
20
+ return;
21
+ }
22
+ e.preventDefault();
23
+ this.selectPage.emit({ originalEvent: e, page });
24
+ }
25
+ ;
26
+ render() {
27
+ if (!this.totalPages) {
28
+ return null;
29
+ }
30
+ const pages = Array.from({ length: this.totalPages }, (_value, i) => i + 1);
31
+ return (index.h("ul", { class: "pagination" }, index.h("li", { class: this.currentPage === pages[0] ? 'dso-page-hidden' : undefined }, index.h("a", { href: this.formatHref(pages[0]), "aria-label": "Vorige", onClick: e => this.clickHandler(e, pages[0]) }, index.h("dso-icon", { icon: "chevron-left" }))), pages.map(page => (index.h("li", { key: page, class: this.currentPage === page ? 'active' : undefined }, this.currentPage === page
32
+ ? (index.h("span", { "aria-current": "page" }, page))
33
+ : (index.h("a", { href: this.formatHref(page), onClick: e => this.clickHandler(e, page) }, page))))), index.h("li", { class: this.currentPage === pages[pages.length - 1] ? 'dso-page-hidden' : undefined }, index.h("a", { href: this.formatHref(pages[pages.length - 1]), "aria-label": "Volgende", onClick: e => this.clickHandler(e, pages[pages.length - 1]) }, index.h("dso-icon", { icon: "chevron-right" })))));
34
+ }
35
+ };
36
+ Pagination.style = paginationCss;
37
+
38
+ exports.dso_pagination = Pagination;
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-0a7c679a.js');
6
+
7
+ const responsiveElementCss = ":host{display:block}";
8
+
9
+ const elementSizes = [
10
+ {
11
+ width: 624, alias: 'large'
12
+ },
13
+ {
14
+ width: 375, alias: 'medium'
15
+ },
16
+ {
17
+ width: 0, alias: 'small'
18
+ }
19
+ ];
20
+ let ResponsiveElement = class {
21
+ constructor(hostRef) {
22
+ index.registerInstance(this, hostRef);
23
+ this.sizeAlias = elementSizes[0].alias;
24
+ this.sizeWidth = 0;
25
+ this.observer = new ResizeObserver(([entry]) => {
26
+ var _a, _b;
27
+ const size = (_b = (_a = elementSizes.find(s => entry.contentRect.width >= s.width)) === null || _a === void 0 ? void 0 : _a.alias) !== null && _b !== void 0 ? _b : elementSizes[0].alias;
28
+ this.sizeAlias = size;
29
+ });
30
+ }
31
+ componentWillLoad() {
32
+ this.observer.observe(this.host);
33
+ }
34
+ disconnectedCallback() {
35
+ this.observer.unobserve(this.host);
36
+ }
37
+ render() {
38
+ return (index.h(index.Host, { small: this.sizeAlias === 'small', medium: this.sizeAlias === 'medium', large: this.sizeAlias === 'large' }, index.h("slot", null)));
39
+ }
40
+ get host() { return index.getElement(this); }
41
+ };
42
+ ResponsiveElement.style = responsiveElementCss;
43
+
44
+ exports.dso_responsive_element = ResponsiveElement;
@@ -15,5 +15,5 @@ const patchBrowser = () => {
15
15
  };
16
16
 
17
17
  patchBrowser().then(options => {
18
- return index.bootstrapLazy([["dso-map-base-layers.cjs",[[1,"dso-map-base-layers",{"baseLayers":[16]}]]],["dso-map-overlays.cjs",[[1,"dso-map-overlays",{"overlays":[16]}]]],["dso-header.cjs",[[1,"dso-header",{"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"isLoggedIn":[4,"is-logged-in"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32]}]]],["dso-toggletip.cjs",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view.cjs",[[1,"dso-tree-view",{"collection":[16]}]]],["dso-autosuggest.cjs",[[6,"dso-autosuggest",{"suggestions":[16],"loading":[4],"loadingLabel":[1,"loading-label"],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-date-picker.cjs",[[2,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"visible":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel.cjs",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]}]]],["dso-image-overlay.cjs",[[1,"dso-image-overlay",{"active":[32],"focused":[32]}]]],["dso-label.cjs",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls.cjs",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-viewer-grid.cjs",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32]}]]],["dso-alert.cjs",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter.cjs",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-badge.cjs",[[1,"dso-badge",{"status":[1]}]]],["dso-banner.cjs",[[1,"dso-banner",{"status":[1]}]]],["dso-highlight-box.cjs",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content.cjs",[[2,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[516],"state":[32]}]]],["dso-progress-bar.cjs",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-dropdown-menu.cjs",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-tooltip.cjs",[[1,"dso-tooltip",{"descriptive":[516],"position":[1],"for":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-progress-indicator.cjs",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-info-button.cjs",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2.cjs",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32],"toggleInfo":[64]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-icon.cjs",[[1,"dso-icon",{"icon":[1]}]]]], options);
18
+ return index.bootstrapLazy([["dso-map-base-layers.cjs",[[1,"dso-map-base-layers",{"group":[1],"baseLayers":[16]}]]],["dso-map-overlays.cjs",[[1,"dso-map-overlays",{"group":[1],"overlays":[16]}]]],["dso-header.cjs",[[1,"dso-header",{"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"isLoggedIn":[4,"is-logged-in"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32]}]]],["dso-toggletip.cjs",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view.cjs",[[1,"dso-tree-view",{"collection":[16]}]]],["dso-autosuggest.cjs",[[6,"dso-autosuggest",{"suggestions":[16],"loading":[4],"loadingLabel":[1,"loading-label"],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-date-picker.cjs",[[2,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"visible":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel.cjs",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]}]]],["dso-image-overlay.cjs",[[1,"dso-image-overlay",{"active":[32],"focused":[32]}]]],["dso-label.cjs",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls.cjs",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-pagination.cjs",[[1,"dso-pagination",{"totalPages":[2,"total-pages"],"currentPage":[2,"current-page"],"formatHref":[16]}]]],["dso-viewer-grid.cjs",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32]}]]],["dso-alert.cjs",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter.cjs",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-badge.cjs",[[1,"dso-badge",{"status":[1]}]]],["dso-banner.cjs",[[1,"dso-banner",{"status":[1]}]]],["dso-highlight-box.cjs",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content.cjs",[[6,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[516],"state":[32]}]]],["dso-progress-bar.cjs",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-responsive-element.cjs",[[1,"dso-responsive-element",{"sizeAlias":[32],"sizeWidth":[32]}]]],["dso-dropdown-menu.cjs",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-tooltip.cjs",[[1,"dso-tooltip",{"descriptive":[516],"position":[1],"strategy":[1],"for":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-progress-indicator.cjs",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-info-button.cjs",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2.cjs",[[6,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32],"toggleInfo":[64]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-icon.cjs",[[1,"dso-icon",{"icon":[1]}]]]], options);
19
19
  });
@@ -1830,6 +1830,13 @@ const tooltipCss = ":host(.hidden){visibility:hidden}:host-context(dso-toggletip
1830
1830
 
1831
1831
  // Keep const in sync with $tooltip-transition-duration in @dso-toolkit/sources/tooltip.scss tooltip_root() mixin
1832
1832
  const transitionDuration = 150;
1833
+ function hasOverflow(el) {
1834
+ const style = window.getComputedStyle(el);
1835
+ const overflowX = style.getPropertyValue('overflow-x');
1836
+ const overflowY = style.getPropertyValue('overflow-y');
1837
+ const overflowValues = ['hidden', 'clip'];
1838
+ return overflowValues.indexOf(overflowX) != -1 || overflowValues.indexOf(overflowY) != -1;
1839
+ }
1833
1840
  let Tooltip = class {
1834
1841
  constructor(hostRef) {
1835
1842
  index.registerInstance(this, hostRef);
@@ -1841,6 +1848,10 @@ let Tooltip = class {
1841
1848
  * Set position of tooltip relative to target
1842
1849
  */
1843
1850
  this.position = 'top';
1851
+ /**
1852
+ * Set position strategy of tooltip
1853
+ */
1854
+ this.strategy = 'auto';
1844
1855
  /**
1845
1856
  * Set attribute `no-arrow` to hide the arrow
1846
1857
  */
@@ -1884,6 +1895,33 @@ let Tooltip = class {
1884
1895
  placement: this.position
1885
1896
  });
1886
1897
  }
1898
+ watchStrategy() {
1899
+ this.setStrategy();
1900
+ }
1901
+ setStrategy() {
1902
+ if (!this.popper) {
1903
+ return;
1904
+ }
1905
+ if (this.strategy == 'absolute' || this.strategy == 'fixed') {
1906
+ this.popper.setOptions({
1907
+ strategy: this.strategy,
1908
+ });
1909
+ return;
1910
+ }
1911
+ let element = this.element;
1912
+ while ((element === null || element === void 0 ? void 0 : element.parentNode) != null && element.parentNode != document) {
1913
+ element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;
1914
+ if (element != null && hasOverflow(element)) {
1915
+ this.popper.setOptions({
1916
+ strategy: 'fixed',
1917
+ });
1918
+ return;
1919
+ }
1920
+ }
1921
+ this.popper.setOptions({
1922
+ strategy: 'absolute',
1923
+ });
1924
+ }
1887
1925
  watchActive() {
1888
1926
  var _a;
1889
1927
  if (this.active) {
@@ -1948,6 +1986,7 @@ let Tooltip = class {
1948
1986
  }
1949
1987
  componentDidRender() {
1950
1988
  var _a;
1989
+ this.setStrategy();
1951
1990
  if (this.active) {
1952
1991
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
1953
1992
  }
@@ -1979,6 +2018,7 @@ let Tooltip = class {
1979
2018
  get element() { return index.getElement(this); }
1980
2019
  static get watchers() { return {
1981
2020
  "position": ["watchPosition"],
2021
+ "strategy": ["watchStrategy"],
1982
2022
  "active": ["watchActive"]
1983
2023
  }; }
1984
2024
  };
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["dso-map-base-layers.cjs",[[1,"dso-map-base-layers",{"baseLayers":[16]}]]],["dso-map-overlays.cjs",[[1,"dso-map-overlays",{"overlays":[16]}]]],["dso-header.cjs",[[1,"dso-header",{"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"isLoggedIn":[4,"is-logged-in"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32]}]]],["dso-toggletip.cjs",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view.cjs",[[1,"dso-tree-view",{"collection":[16]}]]],["dso-autosuggest.cjs",[[6,"dso-autosuggest",{"suggestions":[16],"loading":[4],"loadingLabel":[1,"loading-label"],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-date-picker.cjs",[[2,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"visible":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel.cjs",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]}]]],["dso-image-overlay.cjs",[[1,"dso-image-overlay",{"active":[32],"focused":[32]}]]],["dso-label.cjs",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls.cjs",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-viewer-grid.cjs",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32]}]]],["dso-alert.cjs",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter.cjs",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-badge.cjs",[[1,"dso-badge",{"status":[1]}]]],["dso-banner.cjs",[[1,"dso-banner",{"status":[1]}]]],["dso-highlight-box.cjs",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content.cjs",[[2,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[516],"state":[32]}]]],["dso-progress-bar.cjs",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-dropdown-menu.cjs",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-tooltip.cjs",[[1,"dso-tooltip",{"descriptive":[516],"position":[1],"for":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-progress-indicator.cjs",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-info-button.cjs",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2.cjs",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32],"toggleInfo":[64]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-icon.cjs",[[1,"dso-icon",{"icon":[1]}]]]], options);
17
+ return index.bootstrapLazy([["dso-map-base-layers.cjs",[[1,"dso-map-base-layers",{"group":[1],"baseLayers":[16]}]]],["dso-map-overlays.cjs",[[1,"dso-map-overlays",{"group":[1],"overlays":[16]}]]],["dso-header.cjs",[[1,"dso-header",{"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"isLoggedIn":[4,"is-logged-in"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32]}]]],["dso-toggletip.cjs",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view.cjs",[[1,"dso-tree-view",{"collection":[16]}]]],["dso-autosuggest.cjs",[[6,"dso-autosuggest",{"suggestions":[16],"loading":[4],"loadingLabel":[1,"loading-label"],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-date-picker.cjs",[[2,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"visible":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel.cjs",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]}]]],["dso-image-overlay.cjs",[[1,"dso-image-overlay",{"active":[32],"focused":[32]}]]],["dso-label.cjs",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls.cjs",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-pagination.cjs",[[1,"dso-pagination",{"totalPages":[2,"total-pages"],"currentPage":[2,"current-page"],"formatHref":[16]}]]],["dso-viewer-grid.cjs",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32]}]]],["dso-alert.cjs",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter.cjs",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-badge.cjs",[[1,"dso-badge",{"status":[1]}]]],["dso-banner.cjs",[[1,"dso-banner",{"status":[1]}]]],["dso-highlight-box.cjs",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content.cjs",[[6,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[516],"state":[32]}]]],["dso-progress-bar.cjs",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-responsive-element.cjs",[[1,"dso-responsive-element",{"sizeAlias":[32],"sizeWidth":[32]}]]],["dso-dropdown-menu.cjs",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-tooltip.cjs",[[1,"dso-tooltip",{"descriptive":[516],"position":[1],"strategy":[1],"for":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-progress-indicator.cjs",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-info-button.cjs",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2.cjs",[[6,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32],"toggleInfo":[64]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-icon.cjs",[[1,"dso-icon",{"icon":[1]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -21,8 +21,10 @@
21
21
  "./components/map-controls/map-controls.js",
22
22
  "./components/map-overlays/map-overlays.js",
23
23
  "./components/ozon-content/ozon-content.js",
24
+ "./components/pagination/pagination.js",
24
25
  "./components/progress-bar/progress-bar.js",
25
26
  "./components/progress-indicator/progress-indicator.js",
27
+ "./components/responsive-element/responsive-element.js",
26
28
  "./components/toggletip/toggletip.js",
27
29
  "./components/tooltip/tooltip.js",
28
30
  "./components/tree-view/tree-view.js"
@@ -50,6 +50,6 @@
50
50
  }
51
51
  .dso-badge.badge-outline {
52
52
  background-color: #fff;
53
- border: 1px solid #191919;
54
53
  color: #191919;
54
+ outline: 1px solid #191919;
55
55
  }
@@ -25,6 +25,22 @@ const keyCode = {
25
25
  };
26
26
  const DISALLOWED_CHARACTERS = /[^0-9\-]+/g;
27
27
  const TRANSITION_MS = 300;
28
+ function cleanValue(input, regex) {
29
+ const value = input.value;
30
+ const cursor = input.selectionStart;
31
+ if (!cursor) {
32
+ return value;
33
+ }
34
+ const beforeCursor = value.slice(0, cursor);
35
+ const afterCursor = value.slice(cursor, value.length);
36
+ const filteredBeforeCursor = beforeCursor.replace(regex, "");
37
+ const filterAfterCursor = afterCursor.replace(regex, "");
38
+ const newValue = filteredBeforeCursor + filterAfterCursor;
39
+ const newCursor = filteredBeforeCursor.length;
40
+ input.value = newValue;
41
+ input.selectionStart = input.selectionEnd = newCursor;
42
+ return newValue;
43
+ }
28
44
  export class DsoDatePicker {
29
45
  constructor() {
30
46
  /**
@@ -230,12 +246,8 @@ export class DsoDatePicker {
230
246
  };
231
247
  this.handleInputChange = (e) => {
232
248
  const target = e.target;
233
- this.setValue(target.value);
234
- };
235
- this.handleKeyPress = (e) => {
236
- if (e.key.search(DISALLOWED_CHARACTERS) > -1) {
237
- e.preventDefault();
238
- }
249
+ const cleanedValue = cleanValue(target, DISALLOWED_CHARACTERS);
250
+ this.setValue(cleanedValue);
239
251
  };
240
252
  this.prepareEvent = (value) => {
241
253
  var event = {
@@ -373,13 +385,16 @@ export class DsoDatePicker {
373
385
  }
374
386
  setValue(value) {
375
387
  const event = this.prepareEvent(value);
376
- this.value = event.value;
377
- this.dateChange.emit(event);
388
+ this.value = typeof value === 'string' ? value : event.value;
389
+ if (this.value !== this.previousValue) {
390
+ this.dateChange.emit(event);
391
+ this.previousValue = this.value;
392
+ }
378
393
  }
379
394
  componentDidLoad() {
380
395
  const valueAsDate = parseDutchDate(this.value);
381
396
  if (valueAsDate) {
382
- this.value = printDutchDate(valueAsDate);
397
+ this.previousValue = this.value = printDutchDate(valueAsDate);
383
398
  }
384
399
  if (this.dsoAutofocus) {
385
400
  this.setFocus();
@@ -410,7 +425,7 @@ export class DsoDatePicker {
410
425
  return (h(Host, null,
411
426
  h("div", { class: ({ 'dso-date': true, 'dso-visible': this.visible }) },
412
427
  h("div", { class: "dso-date__input-wrapper" },
413
- h("input", { class: "dso-date__input", value: this.value, placeholder: this.localization.placeholder, id: this.identifier, disabled: this.disabled, role: this.role, required: this.required ? true : undefined, "aria-autocomplete": "none", onKeyPress: this.handleKeyPress, onInput: this.handleInputChange, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, autoComplete: "off", ref: element => (this.datePickerInput = element) }),
428
+ h("input", { class: "dso-date__input", value: this.value, placeholder: this.localization.placeholder, id: this.identifier, disabled: this.disabled, role: this.role, required: this.required ? true : undefined, "aria-autocomplete": "none", onInput: this.handleInputChange, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown, autoComplete: "off", ref: element => (this.datePickerInput = element) }),
414
429
  h("button", { type: "button", class: "dso-date__toggle", onClick: this.toggleOpen, disabled: this.disabled, ref: element => (this.datePickerButton = element) },
415
430
  h("span", { class: "dso-date__toggle-icon" },
416
431
  h("dso-icon", { icon: "calendar" })),
@@ -106,7 +106,7 @@ export class Header {
106
106
  this.userProfileName,
107
107
  h("span", { class: "profile-label" }, "- Mijn profiel")))),
108
108
  this.logoutUrl && this.isLoggedIn && (h("li", null,
109
- h("a", { href: this.logoutUrl }, "Uitloggen"))))))))),
109
+ h("a", { href: this.logoutUrl, onClick: e => this.logoutClick.emit({ originalEvent: e }) }, "Uitloggen"))))))))),
110
110
  !this.showDropDown && this.mainMenu.length > 0 && (h(Fragment, null,
111
111
  h("div", { class: "dso-header-session" },
112
112
  this.userProfileUrl &&
@@ -117,7 +117,7 @@ export class Header {
117
117
  this.loginUrl && !this.isLoggedIn && (h("div", { class: "login" },
118
118
  h("a", { href: this.loginUrl }, "Inloggen"))),
119
119
  this.logoutUrl && this.isLoggedIn && (h("div", { class: "logout" },
120
- h("a", { href: this.logoutUrl }, "Uitloggen")))),
120
+ h("a", { href: this.logoutUrl, onClick: e => this.logoutClick.emit({ originalEvent: e }) }, "Uitloggen")))),
121
121
  h("nav", { class: "dso-navbar" },
122
122
  h("ul", { class: "dso-nav dso-nav-main", ref: (element) => (this.nav = element) },
123
123
  this.mainMenu
@@ -314,6 +314,25 @@ export class Header {
314
314
  }
315
315
  }
316
316
  }
317
+ }, {
318
+ "method": "logoutClick",
319
+ "name": "logoutClick",
320
+ "bubbles": true,
321
+ "cancelable": true,
322
+ "composed": true,
323
+ "docs": {
324
+ "tags": [],
325
+ "text": "Only available when `logout-url` is set"
326
+ },
327
+ "complexType": {
328
+ "original": "HeaderMenuLogoutClick",
329
+ "resolved": "HeaderMenuLogoutClick",
330
+ "references": {
331
+ "HeaderMenuLogoutClick": {
332
+ "location": "local"
333
+ }
334
+ }
335
+ }
317
336
  }]; }
318
337
  static get elementRef() { return "host"; }
319
338
  static get watchers() { return [{
@@ -1,5 +1,5 @@
1
1
  import { html } from "lit-html";
2
- import { imageTemplate } from '@dso-toolkit/css/src/components/image/image.template';
2
+ import { imageTemplate } from "@dso-toolkit/css/src/components/image/image.template";
3
3
  export function imageOverlayTemplate({ image }) {
4
4
  return html `
5
5
  <dso-image-overlay>${imageTemplate(image)}</dso-image-overlay>