@dso-toolkit/core 41.0.0 → 43.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.
Files changed (107) hide show
  1. package/dist/cjs/dso-alert.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-autosuggest.cjs.entry.js +17 -8
  3. package/dist/cjs/dso-badge.cjs.entry.js +1 -1
  4. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  5. package/dist/cjs/dso-header.cjs.entry.js +31 -21
  6. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +1 -1
  7. package/dist/cjs/dso-icon.cjs.entry.js +15 -24
  8. package/dist/cjs/dso-image-overlay.cjs.entry.js +1 -1
  9. package/dist/cjs/dso-label.cjs.entry.js +78 -3
  10. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  11. package/dist/cjs/dso-ozon-content.cjs.entry.js +32 -3
  12. package/dist/cjs/dso-pagination.cjs.entry.js +5 -2
  13. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  14. package/dist/cjs/dso-tooltip.cjs.entry.js +7 -0
  15. package/dist/cjs/dso-tree-view.cjs.entry.js +24 -2
  16. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  17. package/dist/cjs/loader.cjs.js +1 -1
  18. package/dist/collection/collection-manifest.json +1 -1
  19. package/dist/collection/components/alert/alert.css +4 -4
  20. package/dist/collection/components/autosuggest/autosuggest.js +37 -9
  21. package/dist/collection/components/autosuggest/autosuggest.template.js +2 -1
  22. package/dist/collection/components/badge/badge.css +4 -1
  23. package/dist/collection/components/banner/banner.css +2 -2
  24. package/dist/collection/components/header/header.css +146 -0
  25. package/dist/collection/components/header/header.interfaces.js +1 -0
  26. package/dist/collection/components/header/header.js +94 -100
  27. package/dist/collection/components/header/header.template.js +15 -31
  28. package/dist/collection/components/helpcenter-panel/helpcenter-panel.css +96 -2
  29. package/dist/collection/components/icon/icon.js +0 -2
  30. package/dist/collection/components/image-overlay/image-overlay.css +124 -2
  31. package/dist/collection/components/label/label.css +13 -0
  32. package/dist/collection/components/label/label.js +118 -12
  33. package/dist/collection/components/label/label.template.js +2 -1
  34. package/dist/collection/components/list/list.template.js +11 -4
  35. package/dist/collection/components/map-controls/map-controls.css +147 -2
  36. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js +27 -0
  37. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +1 -0
  38. package/dist/collection/components/ozon-content/ozon-content-mapper.js +3 -1
  39. package/dist/collection/components/ozon-content/ozon-content.css +23 -0
  40. package/dist/collection/components/ozon-content/ozon-content.js +3 -1
  41. package/dist/collection/components/pagination/pagination.js +8 -5
  42. package/dist/collection/components/tooltip/tooltip.js +7 -0
  43. package/dist/collection/components/tree-view/tree-item.js +1 -1
  44. package/dist/collection/components/tree-view/tree-view.js +58 -2
  45. package/dist/collection/components/viewer-grid/viewer-grid.css +207 -5
  46. package/dist/custom-elements/index.js +219 -73
  47. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  48. package/dist/dso-toolkit/p-04b8814d.entry.js +1 -0
  49. package/dist/dso-toolkit/p-15d0f2eb.entry.js +1 -0
  50. package/dist/dso-toolkit/{p-37e12c3c.entry.js → p-17e9802f.entry.js} +1 -1
  51. package/dist/dso-toolkit/p-19b5fae2.entry.js +1 -0
  52. package/dist/dso-toolkit/p-1bd0e0c3.entry.js +1 -0
  53. package/dist/dso-toolkit/p-1d52d4f2.entry.js +1 -0
  54. package/dist/dso-toolkit/p-553bd3aa.entry.js +1 -0
  55. package/dist/dso-toolkit/p-590cbab6.entry.js +1 -0
  56. package/dist/dso-toolkit/p-63e0f10d.entry.js +1 -0
  57. package/dist/dso-toolkit/p-8e6ee9f0.entry.js +1 -0
  58. package/dist/dso-toolkit/p-a5705dd1.entry.js +1 -0
  59. package/dist/dso-toolkit/p-a7bcd356.entry.js +1 -0
  60. package/dist/dso-toolkit/p-aa098949.entry.js +1 -0
  61. package/dist/dso-toolkit/p-c282135e.entry.js +1 -0
  62. package/dist/dso-toolkit/p-ca3a1440.entry.js +1 -0
  63. package/dist/esm/dso-alert.entry.js +1 -1
  64. package/dist/esm/dso-autosuggest.entry.js +17 -8
  65. package/dist/esm/dso-badge.entry.js +1 -1
  66. package/dist/esm/dso-banner.entry.js +1 -1
  67. package/dist/esm/dso-header.entry.js +31 -21
  68. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  69. package/dist/esm/dso-icon.entry.js +15 -24
  70. package/dist/esm/dso-image-overlay.entry.js +1 -1
  71. package/dist/esm/dso-label.entry.js +79 -4
  72. package/dist/esm/dso-map-controls.entry.js +1 -1
  73. package/dist/esm/dso-ozon-content.entry.js +32 -3
  74. package/dist/esm/dso-pagination.entry.js +5 -2
  75. package/dist/esm/dso-toolkit.js +1 -1
  76. package/dist/esm/dso-tooltip.entry.js +7 -0
  77. package/dist/esm/dso-tree-view.entry.js +24 -2
  78. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  79. package/dist/esm/loader.js +1 -1
  80. package/dist/types/components/autosuggest/autosuggest.d.ts +6 -0
  81. package/dist/types/components/autosuggest/autosuggest.template.d.ts +1 -1
  82. package/dist/types/components/header/header.d.ts +13 -20
  83. package/dist/types/components/header/header.interfaces.d.ts +17 -0
  84. package/dist/types/components/header/header.template.d.ts +1 -1
  85. package/dist/types/components/label/label.d.ts +21 -3
  86. package/dist/types/components/label/label.template.d.ts +1 -1
  87. package/dist/types/components/ozon-content/nodes/int-io-ref.node.d.ts +6 -0
  88. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +2 -1
  89. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +2 -0
  90. package/dist/types/components/tooltip/tooltip.d.ts +1 -0
  91. package/dist/types/components/tree-view/tree-view.d.ts +10 -2
  92. package/dist/types/components.d.ts +34 -7
  93. package/package.json +1 -1
  94. package/dist/dso-toolkit/p-076400f4.entry.js +0 -1
  95. package/dist/dso-toolkit/p-09b53589.entry.js +0 -1
  96. package/dist/dso-toolkit/p-2f64bded.entry.js +0 -1
  97. package/dist/dso-toolkit/p-5e614420.entry.js +0 -1
  98. package/dist/dso-toolkit/p-60679db4.entry.js +0 -1
  99. package/dist/dso-toolkit/p-7796687c.entry.js +0 -1
  100. package/dist/dso-toolkit/p-7f41f2a1.entry.js +0 -1
  101. package/dist/dso-toolkit/p-b1dc8d76.entry.js +0 -1
  102. package/dist/dso-toolkit/p-c0b7f435.entry.js +0 -1
  103. package/dist/dso-toolkit/p-d0d279cc.entry.js +0 -1
  104. package/dist/dso-toolkit/p-e01b1657.entry.js +0 -1
  105. package/dist/dso-toolkit/p-e1496a15.entry.js +0 -1
  106. package/dist/dso-toolkit/p-ea14647b.entry.js +0 -1
  107. package/dist/dso-toolkit/p-f1026921.entry.js +0 -1
@@ -229,8 +229,8 @@ const location = `<svg id="location" xmlns="http://www.w3.org/2000/svg" viewBox=
229
229
 
230
230
  const locationOutline = `<svg id="location-outline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
231
231
  <g>
232
- <ellipse cx="12" cy="8.57" rx="4.5" ry="4.29" style="fill: none"/>
233
- <path d="M12,1.71A7.28,7.28,0,0,0,4.8,8.57c0,6,6.2,13.72,7.2,13.72s7.2-7.72,7.2-13.72C19.2,5.14,15.6,1.71,12,1.71Zm0,11.15A4.4,4.4,0,0,1,7.5,8.57,4.39,4.39,0,0,1,12,4.29a4.39,4.39,0,0,1,4.5,4.28A4.4,4.4,0,0,1,12,12.86Z" style="fill: #e17000"/>
232
+ <ellipse cx="12" cy="8.57" rx="4.5" ry="4.29" fill="none"/>
233
+ <path d="M12,1.71A7.28,7.28,0,0,0,4.8,8.57c0,6,6.2,13.72,7.2,13.72s7.2-7.72,7.2-13.72C19.2,5.14,15.6,1.71,12,1.71Zm0,11.15A4.4,4.4,0,0,1,7.5,8.57,4.39,4.39,0,0,1,12,4.29a4.39,4.39,0,0,1,4.5,4.28A4.4,4.4,0,0,1,12,12.86Z" fill="#e17000"/>
234
234
  <path d="M12,0C7.21,0,3,4,3,8.57c0,3.85,2.18,7.91,3.48,10C8,21,10.25,24,12,24s4-3,5.53-5.45c1.3-2.07,3.47-6.13,3.47-10C21,4.17,16.63,0,12,0Zm0,22.29c-1,0-7.2-7.72-7.2-13.72A7.28,7.28,0,0,1,12,1.71c3.6,0,7.2,3.43,7.2,6.86C19.2,14.57,13,22.29,12,22.29Z"/>
235
235
  </g>
236
236
  </svg>
@@ -318,8 +318,8 @@ const pin = `<svg id="pin" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24
318
318
 
319
319
  const pinOutline = `<svg id="pin-outline" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
320
320
  <g>
321
- <path d="M8.18,7.54a4.94,4.94,0,0,1,1.41-4A5.16,5.16,0,0,0,7,8.64a5.07,5.07,0,0,0,5.55,4.58,5,5,0,0,0,4.08-3,4.77,4.77,0,0,1-3.13,1.68A4.83,4.83,0,0,1,8.18,7.54Z" style="fill: none"/>
322
- <path d="M12,1.71A6.45,6.45,0,0,0,9.61,14.09L10.74,21a1.26,1.26,0,1,0,2.52,0l1.13-6.91A6.45,6.45,0,0,0,12,1.71Zm.5,11.51A5.07,5.07,0,0,1,7,8.64,5.16,5.16,0,0,1,9.59,3.58a4.94,4.94,0,0,0-1.41,4,4.83,4.83,0,0,0,5.27,4.35,4.77,4.77,0,0,0,3.13-1.68A5,5,0,0,1,12.5,13.22Z" style="fill: #79b929"/>
321
+ <path d="M8.18,7.54a4.94,4.94,0,0,1,1.41-4A5.16,5.16,0,0,0,7,8.64a5.07,5.07,0,0,0,5.55,4.58,5,5,0,0,0,4.08-3,4.77,4.77,0,0,1-3.13,1.68A4.83,4.83,0,0,1,8.18,7.54Z" fill="none"/>
322
+ <path d="M12,1.71A6.45,6.45,0,0,0,9.61,14.09L10.74,21a1.26,1.26,0,1,0,2.52,0l1.13-6.91A6.45,6.45,0,0,0,12,1.71Zm.5,11.51A5.07,5.07,0,0,1,7,8.64,5.16,5.16,0,0,1,9.59,3.58a4.94,4.94,0,0,0-1.41,4,4.83,4.83,0,0,0,5.27,4.35,4.77,4.77,0,0,0,3.13-1.68A5,5,0,0,1,12.5,13.22Z" fill="#79b929"/>
323
323
  <path d="M12,0A8.08,8.08,0,0,0,4,8.14a8.13,8.13,0,0,0,4.09,7.1l1,5.93a2.94,2.94,0,0,0,5.88,0l1-5.93A8.13,8.13,0,0,0,20,8.14,8.08,8.08,0,0,0,12,0Zm2.39,14.09L13.26,21a1.26,1.26,0,1,1-2.52,0L9.61,14.09A6.45,6.45,0,0,1,12,1.71a6.45,6.45,0,0,1,2.39,12.38Z"/>
324
324
  </g>
325
325
  </svg>
@@ -394,45 +394,37 @@ const sound = `<svg id="sound" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2
394
394
  </svg>
395
395
  `;
396
396
 
397
- const statusForbidden = `<svg id="forbidden" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
398
- <g>
399
- <path d="M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm8.25,11a8.19,8.19,0,0,1-1.53,4.77L7.23,5.28a8.24,8.24,0,0,1,13,6.72ZM3.75,12A8.19,8.19,0,0,1,5.28,7.23L16.77,18.72A8.24,8.24,0,0,1,3.75,12Z" style="fill: #ce3f51"/>
400
- <path d="M12,1A11,11,0,1,1,1,12,11,11,0,0,1,12,1m6.72,15.77A8.24,8.24,0,0,0,7.23,5.28L18.72,16.77M12,20.25a8.19,8.19,0,0,0,4.77-1.53L5.28,7.23a8.24,8.24,0,0,0,6.72,13M12,0A12,12,0,1,0,24,12,12,12,0,0,0,12,0ZM8.84,5.48A7.18,7.18,0,0,1,12,4.75,7.26,7.26,0,0,1,19.25,12a7.18,7.18,0,0,1-.73,3.16L8.84,5.48ZM12,19.25A7.26,7.26,0,0,1,4.75,12a7.18,7.18,0,0,1,.73-3.16l9.68,9.68a7.18,7.18,0,0,1-3.16.73Z" style="fill: #fff"/>
401
- </g>
402
- </svg>
403
- `;
404
-
405
397
  const statusDanger = `<svg id="status-danger-line" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
406
398
  <g>
407
- <path d="M22.6,18.51c.86,1.37.29,2.49-1.25,2.49H2.65C1.11,21,.54,19.88,1.4,18.51L10.44,4a1.7,1.7,0,0,1,3.12,0Z" style="fill: #ce3f51"/>
408
- <path d="M12,3a1.9,1.9,0,0,1,1.56,1l9,14.48c.86,1.37.29,2.49-1.25,2.49H2.65C1.11,21,.54,19.88,1.4,18.51L10.44,4A1.9,1.9,0,0,1,12,3m0-1A2.89,2.89,0,0,0,9.6,3.5L.55,18a2.75,2.75,0,0,0-.28,2.81A2.59,2.59,0,0,0,2.65,22h18.7a2.59,2.59,0,0,0,2.38-1.21A2.75,2.75,0,0,0,23.45,18L14.4,3.5A2.89,2.89,0,0,0,12,2Z" style="fill: #fff"/>
399
+ <path d="M22.6,18.51c.86,1.37.29,2.49-1.25,2.49H2.65C1.11,21,.54,19.88,1.4,18.51L10.44,4a1.7,1.7,0,0,1,3.12,0Z" fill="#ce3f51"/>
400
+ <path d="M12,3a1.9,1.9,0,0,1,1.56,1l9,14.48c.86,1.37.29,2.49-1.25,2.49H2.65C1.11,21,.54,19.88,1.4,18.51L10.44,4A1.9,1.9,0,0,1,12,3m0-1A2.89,2.89,0,0,0,9.6,3.5L.55,18a2.75,2.75,0,0,0-.28,2.81A2.59,2.59,0,0,0,2.65,22h18.7a2.59,2.59,0,0,0,2.38-1.21A2.75,2.75,0,0,0,23.45,18L14.4,3.5A2.89,2.89,0,0,0,12,2Z" fill="#fff"/>
409
401
  </g>
410
- <path d="M12,16a1,1,0,0,1-1-.91V8.91a1,1,0,0,1,2,0v6.18A1,1,0,0,1,12,16Zm0,1a1,1,0,1,0,1,1A1,1,0,0,0,12,17Z" style="fill: #fff"/>
402
+ <path d="M12,16a1,1,0,0,1-1-.91V8.91a1,1,0,0,1,2,0v6.18A1,1,0,0,1,12,16Zm0,1a1,1,0,1,0,1,1A1,1,0,0,0,12,17Z" fill="#fff"/>
411
403
  </svg>
412
404
  `;
413
405
 
414
406
  const statusInfo = `<svg id="status-info" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
415
407
  <g>
416
- <circle cx="12" cy="12" r="11" style="fill: #2b5780"/>
417
- <path d="M12,1A11,11,0,1,1,1,12,11,11,0,0,1,12,1m0-1A12,12,0,1,0,24,12,12,12,0,0,0,12,0Z" style="fill: #fff"/>
408
+ <circle cx="12" cy="12" r="11" fill="#2b5780"/>
409
+ <path d="M12,1A11,11,0,1,1,1,12,11,11,0,0,1,12,1m0-1A12,12,0,1,0,24,12,12,12,0,0,0,12,0Z" fill="#fff"/>
418
410
  </g>
419
- <path d="M11,8a1,1,0,1,1,1,1A1,1,0,0,1,11,8Zm2,8.79V11.21A1.12,1.12,0,0,0,12,10a1.12,1.12,0,0,0-1,1.21v5.58A1.12,1.12,0,0,0,12,18,1.12,1.12,0,0,0,13,16.79Z" style="fill: #fff"/>
411
+ <path d="M11,8a1,1,0,1,1,1,1A1,1,0,0,1,11,8Zm2,8.79V11.21A1.12,1.12,0,0,0,12,10a1.12,1.12,0,0,0-1,1.21v5.58A1.12,1.12,0,0,0,12,18,1.12,1.12,0,0,0,13,16.79Z" fill="#fff"/>
420
412
  </svg>
421
413
  `;
422
414
 
423
415
  const statusSuccess = `<svg id="status-success" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
424
416
  <g>
425
- <circle cx="12" cy="12" r="11" style="fill: #39870c"/>
426
- <path d="M12,1A11,11,0,1,1,1,12,11,11,0,0,1,12,1m0-1A12,12,0,1,0,24,12,12,12,0,0,0,12,0Z" style="fill: #fff"/>
417
+ <circle cx="12" cy="12" r="11" fill="#39870c"/>
418
+ <path d="M12,1A11,11,0,1,1,1,12,11,11,0,0,1,12,1m0-1A12,12,0,1,0,24,12,12,12,0,0,0,12,0Z" fill="#fff"/>
427
419
  </g>
428
- <path d="M10.11,18,5.29,13.31A.92.92,0,0,1,5.3,12a1,1,0,0,1,1.41,0l3.4,3.3,7.18-7a1,1,0,0,1,1.41,0,.92.92,0,0,1,0,1.35Z" style="fill: #fff"/>
420
+ <path d="M10.11,18,5.29,13.31A.92.92,0,0,1,5.3,12a1,1,0,0,1,1.41,0l3.4,3.3,7.18-7a1,1,0,0,1,1.41,0,.92.92,0,0,1,0,1.35Z" fill="#fff"/>
429
421
  </svg>
430
422
  `;
431
423
 
432
424
  const statusWarning = `<svg id="status-warning" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
433
425
  <g>
434
- <path d="M22.6,18.51c.86,1.37.29,2.49-1.25,2.49H2.65C1.11,21,.54,19.88,1.4,18.51L10.44,4a1.7,1.7,0,0,1,3.12,0Z" style="fill: #dcd400"/>
435
- <path d="M12,3a1.9,1.9,0,0,1,1.56,1l9,14.48c.86,1.37.29,2.49-1.25,2.49H2.65C1.11,21,.54,19.88,1.4,18.51L10.44,4A1.9,1.9,0,0,1,12,3m0-1A2.89,2.89,0,0,0,9.6,3.5L.55,18a2.75,2.75,0,0,0-.28,2.81A2.59,2.59,0,0,0,2.65,22h18.7a2.59,2.59,0,0,0,2.38-1.21A2.75,2.75,0,0,0,23.45,18L14.4,3.5A2.89,2.89,0,0,0,12,2Z" style="fill: #fff"/>
426
+ <path d="M22.6,18.51c.86,1.37.29,2.49-1.25,2.49H2.65C1.11,21,.54,19.88,1.4,18.51L10.44,4a1.7,1.7,0,0,1,3.12,0Z" fill="#dcd400"/>
427
+ <path d="M12,3a1.9,1.9,0,0,1,1.56,1l9,14.48c.86,1.37.29,2.49-1.25,2.49H2.65C1.11,21,.54,19.88,1.4,18.51L10.44,4A1.9,1.9,0,0,1,12,3m0-1A2.89,2.89,0,0,0,9.6,3.5L.55,18a2.75,2.75,0,0,0-.28,2.81A2.59,2.59,0,0,0,2.65,22h18.7a2.59,2.59,0,0,0,2.38-1.21A2.75,2.75,0,0,0,23.45,18L14.4,3.5A2.89,2.89,0,0,0,12,2Z" fill="#fff"/>
436
428
  </g>
437
429
  <path d="M11.73,15.85a1,1,0,0,1-1-.91V8.76a1,1,0,0,1,2,0v6.18A1,1,0,0,1,11.73,15.85Zm0,1a1,1,0,1,0,1,1A1,1,0,0,0,11.73,16.85Z"/>
438
430
  </svg>
@@ -563,7 +555,6 @@ const icons = [
563
555
  { alias: 'sort', svg: sort },
564
556
  { alias: 'sound', svg: sound },
565
557
  { alias: 'status-danger', svg: statusDanger },
566
- { alias: 'status-forbidden', svg: statusForbidden },
567
558
  { alias: 'status-info', svg: statusInfo },
568
559
  { alias: 'status-success', svg: statusSuccess },
569
560
  { alias: 'status-warning', svg: statusWarning },
@@ -2,7 +2,7 @@ import { r as registerInstance, f as forceUpdate, h, H as Host, g as getElement
2
2
  import { c as createFocusTrap } from './focus-trap.esm-a01ad6c9.js';
3
3
  import './index.esm-45465af7.js';
4
4
 
5
- const imageOverlayCss = "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{display:inline-block;position:relative}:host(:hover) .open,.open:focus{opacity:1}.open{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);min-width:auto;padding:8px;opacity:0;position:absolute;right:16px;top:16px}.open:focus,.open:focus-visible{outline-offset:2px}.open:active{outline:0}.open.extern::after,.open.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}.open:hover{background-color:#39870c;border-color:#39870c;color:#fff}.open:active{background-color:#275937;border-color:#275937;color:#fff}.open[disabled],.open[disabled]:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d}.open.btn-sm{line-height:16px}.open.btn-sm dso-icon,.open.btn-sm svg.di,.open.btn-sm.extern::after,.open.btn-sm.download::after{margin-bottom:-4px;margin-top:-4px}.open.download::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}.open.download:hover::after{--dso-icon:var(--di-download-wit)}.open.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}.open.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}.open.extern:hover::after{--dso-icon:var(--di-external-link-wit)}.open.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}.open>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dimmer{position:fixed;top:0;left:0;right:0;bottom:0;z-index:19;display:flex;padding:32px;background-color:rgba(255, 255, 255, 0.8);justify-content:center}.wrapper{box-shadow:0 8px 24px 0 rgba(25, 25, 25, 0.4);position:relative;z-index:20;align-self:center;line-height:0}.wrapper img{width:auto;height:auto;max-width:100%;max-height:calc(100vh - 64px)}.close{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);min-width:auto;padding:8px;position:absolute;top:16px;right:16px}.close:focus,.close:focus-visible{outline-offset:2px}.close:active{outline:0}.close.extern::after,.close.download::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}.close:hover{background-color:#39870c;border-color:#39870c;color:#fff}.close:active{background-color:#275937;border-color:#275937;color:#fff}.close[disabled],.close[disabled]:hover{background-color:#fff;border-color:#afcf9d;color:#afcf9d}.close.btn-sm{line-height:16px}.close.btn-sm dso-icon,.close.btn-sm svg.di,.close.btn-sm.extern::after,.close.btn-sm.download::after{margin-bottom:-4px;margin-top:-4px}.close.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.download:hover::after{--dso-icon:var(--di-download-wit)}.close.download[disabled]::after{--dso-icon:var(--di-download-grasgroen-40)}.close.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.extern:hover::after{--dso-icon:var(--di-external-link-wit)}.close.extern[disabled]::after{--dso-icon:var(--di-external-link-grasgroen-40)}.close>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}";
5
+ const imageOverlayCss = "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:host {\n display: inline-block;\n position: relative;\n}\n\n:host(:hover) .open,\n.open:focus {\n opacity: 1;\n}\n\n.open {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n min-width: auto;\n padding: 8px;\n opacity: 0;\n position: absolute;\n right: 16px;\n top: 16px;\n}\n.open:focus, .open:focus-visible {\n outline-offset: 2px;\n}\n.open:active {\n outline: 0;\n}\n.open.extern::after, .open.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n.open:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.open:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.open[disabled], .open[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.open.btn-sm {\n line-height: 16px;\n}\n.open.btn-sm dso-icon,\n.open.btn-sm svg.di, .open.btn-sm.extern::after, .open.btn-sm.download::after, .open.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.open.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.open.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.open.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.open.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\n.open.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.open.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.open.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\n.open.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.open > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.open.dso-spinner-left[disabled], .open.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.open.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.open.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.open.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.open.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.open.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.open.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n\n.dimmer {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 19;\n display: flex;\n padding: 32px;\n background-color: rgba(255, 255, 255, 0.8);\n justify-content: center;\n}\n\n.wrapper {\n box-shadow: 0 8px 24px 0 rgba(25, 25, 25, 0.4);\n position: relative;\n z-index: 20;\n align-self: center;\n line-height: 0;\n}\n.wrapper img {\n width: auto;\n height: auto;\n max-width: 100%;\n max-height: calc(100vh - 64px);\n}\n\n.close {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n min-width: auto;\n padding: 8px;\n position: absolute;\n top: 16px;\n right: 16px;\n}\n.close:focus, .close:focus-visible {\n outline-offset: 2px;\n}\n.close:active {\n outline: 0;\n}\n.close.extern::after, .close.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n.close:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n.close:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n.close[disabled], .close[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n.close.btn-sm {\n line-height: 16px;\n}\n.close.btn-sm dso-icon,\n.close.btn-sm svg.di, .close.btn-sm.extern::after, .close.btn-sm.download::after, .close.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n.close.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n.close.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n.close.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.close.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\n.close.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n.close.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n.close.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\n.close.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n.close > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.close.dso-spinner-left[disabled], .close.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n.close.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.close.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n.close.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n.close.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.close.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n.close.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}";
6
6
 
7
7
  let ImageOverlay = class {
8
8
  constructor(hostRef) {
@@ -1,23 +1,98 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-1602fde1.js';
1
+ import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './index-1602fde1.js';
2
2
  import { c as clsx } from './clsx.m-071989db.js';
3
3
 
4
- const labelCss = ":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-label{background-color:#f2f2f2;border-radius:4px;color:#191919;display:inline-block;line-height:1.5}.dso-label:not(.dso-label-bright){padding:4px 8px}.dso-label:focus-within,.dso-label.dso-hover{text-decoration:line-through}.dso-label button{background:none;border:0;border-radius:0 4px 4px 0;color:inherit;float:right;font-size:16px;margin-bottom:-4px;margin-left:8px;margin-right:-4px;margin-top:0;padding:0}.dso-label button:hover{cursor:pointer}.dso-label button>dso-icon,.dso-label button>svg.di{display:block}.dso-label.dso-compact{border:0;padding:0 8px}.dso-label.dso-label-info{background-color:#6ca4d9;color:#191919}.dso-label.dso-label-primary{background-color:#275937;color:#fff}.dso-label.dso-label-success{background-color:#39870c;color:#fff}.dso-label.dso-label-warning{background-color:#dcd400;color:#191919}.dso-label.dso-label-danger{background-color:#ce3f51;color:#fff}.dso-label.dso-label-bright{background-color:#fff;color:#191919;border:1px solid #ccc;padding:3px 7px}";
4
+ const labelCss = ":host{display:inline-block;max-width:100%}*,*::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-label{background-color:#f2f2f2;border-radius:4px;color:#191919;display:inline-block;line-height:1.5}.dso-label:not(.dso-label-bright){padding:4px 8px}.dso-label:focus-within,.dso-label.dso-hover{text-decoration:line-through}.dso-label button{background:none;border:0;border-radius:0 4px 4px 0;color:inherit;float:right;font-size:16px;margin-bottom:-4px;margin-left:8px;margin-right:-4px;margin-top:0;padding:0}.dso-label button:hover{cursor:pointer}.dso-label button>dso-icon,.dso-label button>svg.di{display:block}.dso-label.dso-compact{border:0;padding:0 8px}.dso-label.dso-label-info{background-color:#6ca4d9;color:#191919}.dso-label.dso-label-primary{background-color:#275937;color:#fff}.dso-label.dso-label-success{background-color:#39870c;color:#fff}.dso-label.dso-label-warning{background-color:#dcd400;color:#191919}.dso-label.dso-label-danger{background-color:#ce3f51;color:#fff}.dso-label.dso-label-bright{background-color:#fff;color:#191919;border:1px solid #ccc;padding:3px 7px}.dso-label.dso-hover .dso-label-content{text-decoration:line-through}.dso-truncate.dso-label-content{display:inline-block;max-width:184px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}";
5
5
 
6
+ function hasEllipses(el) {
7
+ return el.scrollWidth > el.clientWidth;
8
+ }
6
9
  let Label = class {
7
10
  constructor(hostRef) {
8
11
  registerInstance(this, hostRef);
9
12
  this.removeClick = createEvent(this, "removeClick", 7);
13
+ this.resizeObserver = new ResizeObserver(() => this.truncateLabel());
14
+ this.keydownListenerActive = false;
15
+ this.keyDownListener = (event) => {
16
+ if (event.key == 'Escape') {
17
+ this.textHover = false;
18
+ this.textFocus = false;
19
+ }
20
+ };
21
+ }
22
+ watchTruncate(truncate) {
23
+ if (truncate) {
24
+ this.startTruncate();
25
+ }
26
+ else {
27
+ this.stopTruncate();
28
+ }
29
+ }
30
+ watchTooltipActive() {
31
+ if (!this.keydownListenerActive && (this.textHover || this.textFocus)) {
32
+ document.addEventListener('keydown', this.keyDownListener);
33
+ this.keydownListenerActive = true;
34
+ }
35
+ if (!this.textHover && !this.textFocus) {
36
+ document.removeEventListener('keydown', this.keyDownListener);
37
+ this.keydownListenerActive = false;
38
+ }
39
+ }
40
+ truncateLabel() {
41
+ setTimeout(() => {
42
+ if (this.labelContent) {
43
+ this.truncatedContent = hasEllipses(this.labelContent) ? this.host.innerText : undefined;
44
+ }
45
+ });
46
+ }
47
+ componentDidLoad() {
48
+ if (this.truncate) {
49
+ this.startTruncate();
50
+ }
51
+ }
52
+ disconnectedCallback() {
53
+ this.stopTruncate();
54
+ }
55
+ startTruncate() {
56
+ this.mutationObserver = new MutationObserver(() => {
57
+ this.truncateLabel();
58
+ });
59
+ this.mutationObserver.observe(this.host, {
60
+ attributes: true,
61
+ subtree: true
62
+ });
63
+ this.resizeObserver.observe(this.host);
64
+ this.truncateLabel();
65
+ }
66
+ stopTruncate() {
67
+ var _a;
68
+ document.removeEventListener('keydown', this.keyDownListener);
69
+ (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
70
+ this.resizeObserver.unobserve(this.host);
71
+ this.truncatedContent = undefined;
72
+ this.keydownListenerActive = false;
10
73
  }
11
74
  render() {
12
75
  const status = this.status && Label.statusMap.get(this.status);
13
- return (h("span", { class: clsx('dso-label', { [`dso-label-${this.status}`]: this.status, 'dso-compact': this.compact && !this.removable, 'dso-hover': this.hover }) }, h("slot", { name: "symbol" }), status && (h("span", { class: "sr-only" }, status, ": ")), h("slot", null), this.removable && (h("button", { type: "button", onClick: e => this.removeClick.emit(e), onMouseEnter: () => this.hover = true, onMouseLeave: () => this.hover = false }, h("span", { class: "sr-only" }, "Verwijder"), h("dso-icon", { icon: "times" })))));
76
+ return (h(Fragment, null, h("span", { id: "toggle-anchor", class: clsx('dso-label', {
77
+ [`dso-label-${this.status}`]: this.status,
78
+ 'dso-compact': this.compact && !this.removable,
79
+ 'dso-hover': this.removeHover || this.removeFocus,
80
+ }) }, h("slot", { name: "symbol" }), status && (h("span", { class: "sr-only" }, status, ": ")), h("span", { class: clsx('dso-label-content', {
81
+ 'dso-truncate': !!this.truncate,
82
+ }), ref: element => this.labelContent = element, tabindex: (this.truncate && this.truncatedContent) ? 0 : -1, onMouseEnter: () => this.textHover = true, onMouseLeave: () => this.textHover = false, onFocus: () => this.textFocus = true, onBlur: () => this.textFocus = false }, h("slot", null)), this.removable && (h("button", { type: "button", onClick: e => this.removeClick.emit(e), onMouseEnter: () => this.removeHover = true, onMouseLeave: () => this.removeHover = false, onFocus: () => this.removeFocus = true, onBlur: () => this.removeFocus = false }, h("span", { class: "sr-only" }, "Verwijder"), h("dso-icon", { icon: "times" })))), h("dso-tooltip", { stateless: true, for: "toggle-anchor", active: !!this.truncatedContent && (this.textHover || this.textFocus), position: "top" }, this.truncatedContent)));
14
83
  }
84
+ get host() { return getElement(this); }
85
+ static get watchers() { return {
86
+ "truncate": ["watchTruncate"],
87
+ "textHover": ["watchTooltipActive"],
88
+ "textFocus": ["watchTooltipActive"]
89
+ }; }
15
90
  };
16
91
  Label.statusMap = new Map([
17
92
  ['info', 'Opmerking'],
18
93
  ['success', 'Gelukt'],
19
94
  ['warning', 'Waarschuwing'],
20
- ['danger', 'Fout']
95
+ ['danger', 'Fout'],
21
96
  ]);
22
97
  Label.style = labelCss;
23
98
 
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-1602fde1.js';
2
2
 
3
- 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}";
3
+ const mapControlsCss = "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:host {\n background-color: #fff;\n border: 1px solid #ccc;\n bottom: 0;\n display: block;\n font-family: Asap, sans-serif;\n position: absolute;\n top: 0;\n left: 100%;\n transition: transform 300ms ease;\n width: 300px;\n}\n\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n:host([open]) {\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.3);\n transform: translateX(-100%);\n}\n:host([open]) #toggle-visibility-button {\n display: none;\n}\n\n#toggle-visibility-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n font-weight: 600;\n margin-right: 16px;\n padding: 8px 16px;\n white-space: nowrap;\n position: absolute;\n right: calc(100% + 56px);\n top: 16px;\n}\n#toggle-visibility-button:focus, #toggle-visibility-button:focus-visible {\n outline-offset: 2px;\n}\n#toggle-visibility-button:active {\n outline: 0;\n}\n#toggle-visibility-button.extern::after, #toggle-visibility-button.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n#toggle-visibility-button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n#toggle-visibility-button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n#toggle-visibility-button[disabled], #toggle-visibility-button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n#toggle-visibility-button.btn-sm {\n line-height: 16px;\n}\n#toggle-visibility-button.btn-sm dso-icon,\n#toggle-visibility-button.btn-sm svg.di, #toggle-visibility-button.btn-sm.extern::after, #toggle-visibility-button.btn-sm.download::after, #toggle-visibility-button.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n#toggle-visibility-button.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n#toggle-visibility-button.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n#toggle-visibility-button.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n#toggle-visibility-button.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\n#toggle-visibility-button.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n#toggle-visibility-button.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n#toggle-visibility-button.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\n#toggle-visibility-button.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n#toggle-visibility-button dso-icon,\n#toggle-visibility-button svg.di {\n margin-left: -8px;\n margin-right: 8px;\n}\n#toggle-visibility-button span + dso-icon,\n#toggle-visibility-button span + svg.di {\n margin-left: 8px;\n margin-right: -8px;\n}\n#toggle-visibility-button.dso-spinner-left[disabled], #toggle-visibility-button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n#toggle-visibility-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n#toggle-visibility-button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n#toggle-visibility-button.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n#toggle-visibility-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n#toggle-visibility-button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n#toggle-visibility-button.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n#toggle-visibility-button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n\n#zoom-buttons {\n border-radius: 4px;\n box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.5);\n display: flex;\n flex-wrap: wrap;\n flex: 0 0;\n position: absolute;\n right: calc(100% + 16px);\n top: 16px;\n}\n#zoom-buttons button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-width: 56px;\n padding: 11px 15px;\n border: 0;\n padding: 8px;\n border-radius: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n flex: 0 0 100%;\n height: 40px;\n min-width: auto;\n width: 40px;\n}\n#zoom-buttons button:focus, #zoom-buttons button:focus-visible {\n outline-offset: 2px;\n}\n#zoom-buttons button:active {\n outline: 0;\n}\n#zoom-buttons button.extern::after, #zoom-buttons button.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n#zoom-buttons button:hover {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\n#zoom-buttons button:active {\n background-color: #275937;\n border-color: #275937;\n color: #fff;\n}\n#zoom-buttons button[disabled], #zoom-buttons button[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\n#zoom-buttons button.btn-sm {\n line-height: 16px;\n}\n#zoom-buttons button.btn-sm dso-icon,\n#zoom-buttons button.btn-sm svg.di, #zoom-buttons button.btn-sm.extern::after, #zoom-buttons button.btn-sm.download::after, #zoom-buttons button.btn-sm.dso-spinner::before {\n margin-bottom: -4px;\n margin-top: -4px;\n}\n#zoom-buttons button.btn-sm.dso-spinner-left::before {\n height: 16px;\n width: 16px;\n}\n#zoom-buttons button.btn-sm.dso-spinner-right::after {\n height: 16px;\n width: 16px;\n}\n#zoom-buttons button.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n#zoom-buttons button.download:hover::after {\n --dso-icon: var(--di-download-wit);\n}\n#zoom-buttons button.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n#zoom-buttons button.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n#zoom-buttons button.extern:hover::after {\n --dso-icon: var(--di-external-link-wit);\n}\n#zoom-buttons button.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n#zoom-buttons button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n#zoom-buttons button.dso-spinner-left[disabled], #zoom-buttons button.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\n#zoom-buttons button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n#zoom-buttons button.dso-spinner-left:not([disabled]):hover::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-right: 8px;\n}\n#zoom-buttons button.dso-spinner-left:not([disabled]).btn-sm:hover::before {\n height: 16px;\n width: 16px;\n}\n#zoom-buttons button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n#zoom-buttons button.dso-spinner-right:not([disabled]):hover::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: top;\n width: 24px;\n margin-left: 8px;\n}\n#zoom-buttons button.dso-spinner-right:not([disabled]).btn-sm:hover::after {\n height: 16px;\n width: 16px;\n}\n#zoom-buttons button:focus-visible {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n outline: none;\n}\n#zoom-buttons button + button {\n border-radius: 0;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n border-top: 1px solid #ccc;\n}\n\n#close-button {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-bottom: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: left;\n user-select: none;\n vertical-align: middle;\n border: 0;\n color: #39870c;\n line-height: 1;\n padding: 0;\n background-color: transparent;\n padding: 0;\n position: absolute;\n right: 16px;\n top: 16px;\n}\n#close-button:focus, #close-button:focus-visible {\n outline-offset: 2px;\n}\n#close-button:active {\n outline: 0;\n}\n#close-button.extern::after, #close-button.download::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\n#close-button[disabled] {\n color: #afcf9d;\n}\n#close-button[disabled].dso-spinner-left, #close-button[disabled].dso-spinner-right {\n color: #39870c;\n}\n#close-button:not([disabled]):hover {\n color: #676cb0;\n text-decoration: underline;\n}\n#close-button:not([disabled]):active {\n color: #676cb0;\n}\n#close-button.btn-align {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\n#close-button.extern::after, #close-button.download::after {\n position: relative;\n top: -2px;\n}\n#close-button.download::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n#close-button.download[disabled]::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\n#close-button.download:not([disabled]):hover::after, #close-button.download:not([disabled]):active::after {\n --dso-icon: var(--di-download-scampi);\n}\n#close-button.extern::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\n#close-button.extern[disabled]::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\n#close-button.extern:not([disabled]):hover::after, #close-button.extern:not([disabled]):active::after {\n --dso-icon: var(--di-external-link-scampi);\n}\n#close-button.dso-spinner-left::before {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-right: 8px;\n}\n#close-button.dso-spinner-right::after {\n background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n content: \"\";\n display: inline-block;\n height: 24px;\n vertical-align: middle;\n width: 24px;\n margin-left: 8px;\n}\n#close-button > span {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nsection:not([hidden]) {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\nheader,\n.content {\n padding: 16px;\n}\n\nheader {\n border-bottom: 1px solid #ccc;\n flex-grow: 0;\n position: relative;\n}\nheader h2 {\n color: #275937;\n font-family: \"Asap\", sans-serif;\n line-height: 1;\n margin: 0;\n}\n\n.content {\n flex-grow: 1;\n overflow-y: auto;\n}";
4
4
 
5
5
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
6
6
  if (kind === "a" && !f)
@@ -124,6 +124,7 @@ class OzonContentIntRefNode {
124
124
  }
125
125
  const { href } = target;
126
126
  emitAnchorClick({
127
+ node: this.name,
127
128
  href,
128
129
  documentComponent: ref,
129
130
  originalEvent: event
@@ -280,6 +281,33 @@ class OzonContentFallbackNode {
280
281
  }
281
282
  }
282
283
 
284
+ class OzonContentIntIoRefNode {
285
+ constructor() {
286
+ this.name = 'IntIoRef';
287
+ }
288
+ render(node, { mapNodeToJsx, emitAnchorClick }) {
289
+ const ref = node.getAttribute('ref');
290
+ if (!ref) {
291
+ return mapNodeToJsx(node.childNodes);
292
+ }
293
+ const intRefOnClick = (event) => {
294
+ event.preventDefault();
295
+ const target = event.currentTarget;
296
+ if (!(target instanceof HTMLAnchorElement)) {
297
+ return;
298
+ }
299
+ const { href } = target;
300
+ emitAnchorClick({
301
+ node: this.name,
302
+ href,
303
+ documentComponent: ref,
304
+ originalEvent: event
305
+ });
306
+ };
307
+ return (h("a", { href: `#${ref}`, onClick: intRefOnClick }, mapNodeToJsx(node.childNodes)));
308
+ }
309
+ }
310
+
283
311
  class Mapper {
284
312
  constructor() {
285
313
  this.mappers = [
@@ -293,7 +321,8 @@ class Mapper {
293
321
  new OzonContentInlineNodes(),
294
322
  new OzonContentIllustratieNode(),
295
323
  new OzonContentNootNode(),
296
- new OzonContentTableNode()
324
+ new OzonContentTableNode(),
325
+ new OzonContentIntIoRefNode(),
297
326
  ];
298
327
  this.skip = this.mappers.reduce((t, m) => {
299
328
  if (m.handles) {
@@ -349,7 +378,7 @@ class Mapper {
349
378
  }
350
379
  }
351
380
 
352
- const ozonContentCss = ".sc-dso-ozon-content-h:not([inline]){display:block}[inline].sc-dso-ozon-content-h{display:inline}[deleted].sc-dso-ozon-content-h *.sc-dso-ozon-content{text-decoration:line-through !important}[interactive].sc-dso-ozon-content-h{background-color:transparent;color:#39870c;text-decoration:underline;cursor:pointer}[interactive].sc-dso-ozon-content-h:hover,[interactive].sc-dso-ozon-content-h:focus{color:#676cb0;text-decoration:underline}[interactive].sc-dso-ozon-content-h:active{text-decoration:none}.deleted-start.sc-dso-ozon-content,.deleted-end.sc-dso-ozon-content{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}button.toggle-note.sc-dso-ozon-content{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}button.toggle-note.sc-dso-ozon-content:focus,button.toggle-note.sc-dso-ozon-content:focus-visible{outline-offset:2px}button.toggle-note.sc-dso-ozon-content:active{outline:0}button.toggle-note.extern.sc-dso-ozon-content::after,button.toggle-note.download.sc-dso-ozon-content::after{content:\"\";display:inline-block;height:1.5em;margin-left:8px;vertical-align:top;width:1.5em}button.toggle-note[disabled].sc-dso-ozon-content{color:#afcf9d}button.toggle-note.sc-dso-ozon-content:not([disabled]):hover{color:#676cb0;text-decoration:underline}button.toggle-note.sc-dso-ozon-content:not([disabled]):active{color:#676cb0}button.toggle-note.btn-align.sc-dso-ozon-content{line-height:calc(1.5em - 1px);padding:11px 0;position:relative}button.toggle-note.extern.sc-dso-ozon-content::after,button.toggle-note.download.sc-dso-ozon-content::after{position:relative;top:-2px}button.toggle-note.download.sc-dso-ozon-content::after{background:var(--dso-icon, var(--di-download)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}button.toggle-note.download[disabled].sc-dso-ozon-content::after{--dso-icon:var(--di-download-grasgroen-40)}button.toggle-note.download.sc-dso-ozon-content:not([disabled]):hover::after,button.toggle-note.download.sc-dso-ozon-content:not([disabled]):active::after{--dso-icon:var(--di-download-scampi)}button.toggle-note.extern.sc-dso-ozon-content::after{background:var(--dso-icon, var(--di-external-link)) no-repeat;background-position:center;background-size:cover;height:24px;vertical-align:top;width:24px}button.toggle-note.extern[disabled].sc-dso-ozon-content::after{--dso-icon:var(--di-external-link-grasgroen-40)}button.toggle-note.extern.sc-dso-ozon-content:not([disabled]):hover::after,button.toggle-note.extern.sc-dso-ozon-content:not([disabled]):active::after{--dso-icon:var(--di-external-link-scampi)}button.toggle-note.sc-dso-ozon-content dso-icon.sc-dso-ozon-content+span.sc-dso-ozon-content:not(.sr-only),button.toggle-note.sc-dso-ozon-content svg.di.sc-dso-ozon-content+span.sc-dso-ozon-content:not(.sr-only),button.toggle-note.sc-dso-ozon-content span.sc-dso-ozon-content:not(.sr-only)+dso-icon.sc-dso-ozon-content,button.toggle-note.sc-dso-ozon-content span.sc-dso-ozon-content:not(.sr-only)+svg.di.sc-dso-ozon-content{margin-left:8px}button.toggle-note.sc-dso-ozon-content dso-icon.sc-dso-ozon-content,button.toggle-note.sc-dso-ozon-content svg.di.sc-dso-ozon-content,button.toggle-note.sc-dso-ozon-content span.sc-dso-ozon-content{vertical-align:middle}span[role=section].sc-dso-ozon-content,span[role=paragraph].sc-dso-ozon-content{display:block}.fallback.sc-dso-ozon-content{display:block}.od-Term.sc-dso-ozon-content{font-weight:700}.od-Definitie.sc-dso-ozon-content,.od-Tussenkop.sc-dso-ozon-content{font-style:italic}.od-Inhoud.sc-dso-ozon-content,.od-Inhoud.sc-dso-ozon-content>.od-Lijst.sc-dso-ozon-content,.od-IntIoRef.sc-dso-ozon-content,.od-Lidnr.sc-dso-ozon-content,.od-LiNr.sc-dso-ozon-content,.od-Opschrift.sc-dso-ozon-content,.od-Tussenkop.sc-dso-ozon-content{display:inline}.od-Al.sc-dso-ozon-content,.od-Lijstaanhef.sc-dso-ozon-content{margin-bottom:0.75em}.od-IntIoRef.sc-dso-ozon-content{border-bottom:1px dotted}.od-LiNummer.sc-dso-ozon-content{float:left;min-width:0.7em;padding-right:0.3em;text-align:right}.od-Figuur.sc-dso-ozon-content img.sc-dso-ozon-content{margin-left:25px;max-width:100%;height:auto}.od-Figuur.sc-dso-ozon-content .od-Bijschrift.sc-dso-ozon-content{font-size:0.75rem;margin-left:25px;padding-bottom:2.5rem}.od-Tabel.sc-dso-ozon-content thead.sc-dso-ozon-content{font-weight:600}.od-Kadertekst.sc-dso-ozon-content{border:1px solid #e5e5e5;margin-bottom:1rem;padding:1rem}";
381
+ const ozonContentCss = ".sc-dso-ozon-content-h:not([inline]) {\n display: block;\n}\n\n[inline].sc-dso-ozon-content-h {\n display: inline;\n}\n\n[deleted].sc-dso-ozon-content-h *.sc-dso-ozon-content {\n text-decoration: line-through !important;\n}\n\n[interactive].sc-dso-ozon-content-h {\n background-color: transparent;\n color: #39870c;\n text-decoration: underline;\n cursor: pointer;\n}\n[interactive].sc-dso-ozon-content-h:hover, [interactive].sc-dso-ozon-content-h:focus {\n color: #676cb0;\n text-decoration: underline;\n}\n[interactive].sc-dso-ozon-content-h:active {\n text-decoration: none;\n}\n\n.deleted-start.sc-dso-ozon-content, .deleted-end.sc-dso-ozon-content {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\nbutton.toggle-note.sc-dso-ozon-content {\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}\nbutton.toggle-note.sc-dso-ozon-content:focus, button.toggle-note.sc-dso-ozon-content:focus-visible {\n outline-offset: 2px;\n}\nbutton.toggle-note.sc-dso-ozon-content:active {\n outline: 0;\n}\nbutton.toggle-note.extern.sc-dso-ozon-content::after, button.toggle-note.download.sc-dso-ozon-content::after {\n content: \"\";\n display: inline-block;\n height: 1.5em;\n margin-left: 8px;\n vertical-align: top;\n width: 1.5em;\n}\nbutton.toggle-note[disabled].sc-dso-ozon-content {\n color: #afcf9d;\n}\nbutton.toggle-note[disabled].dso-spinner-left.sc-dso-ozon-content, button.toggle-note[disabled].dso-spinner-right.sc-dso-ozon-content {\n color: #39870c;\n}\nbutton.toggle-note.sc-dso-ozon-content:not([disabled]):hover {\n color: #676cb0;\n text-decoration: underline;\n}\nbutton.toggle-note.sc-dso-ozon-content:not([disabled]):active {\n color: #676cb0;\n}\nbutton.toggle-note.btn-align.sc-dso-ozon-content {\n line-height: calc(1.5em - 1px);\n padding: 11px 0;\n position: relative;\n}\nbutton.toggle-note.extern.sc-dso-ozon-content::after, button.toggle-note.download.sc-dso-ozon-content::after {\n position: relative;\n top: -2px;\n}\nbutton.toggle-note.download.sc-dso-ozon-content::after {\n background: var(--dso-icon, var(--di-download)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\nbutton.toggle-note.download[disabled].sc-dso-ozon-content::after {\n --dso-icon: var(--di-download-grasgroen-40);\n}\nbutton.toggle-note.download.sc-dso-ozon-content:not([disabled]):hover::after, button.toggle-note.download.sc-dso-ozon-content:not([disabled]):active::after {\n --dso-icon: var(--di-download-scampi);\n}\nbutton.toggle-note.extern.sc-dso-ozon-content::after {\n background: var(--dso-icon, var(--di-external-link)) no-repeat;\n background-position: center;\n background-size: cover;\n height: 24px;\n vertical-align: top;\n width: 24px;\n}\nbutton.toggle-note.extern[disabled].sc-dso-ozon-content::after {\n --dso-icon: var(--di-external-link-grasgroen-40);\n}\nbutton.toggle-note.extern.sc-dso-ozon-content:not([disabled]):hover::after, button.toggle-note.extern.sc-dso-ozon-content:not([disabled]):active::after {\n --dso-icon: var(--di-external-link-scampi);\n}\nbutton.toggle-note.dso-spinner-left.sc-dso-ozon-content::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}\nbutton.toggle-note.dso-spinner-right.sc-dso-ozon-content::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}\nbutton.toggle-note.sc-dso-ozon-content dso-icon.sc-dso-ozon-content + span.sc-dso-ozon-content:not(.sr-only), button.toggle-note.sc-dso-ozon-content svg.di.sc-dso-ozon-content + span.sc-dso-ozon-content:not(.sr-only), button.toggle-note.sc-dso-ozon-content span.sc-dso-ozon-content:not(.sr-only) + dso-icon.sc-dso-ozon-content, button.toggle-note.sc-dso-ozon-content span.sc-dso-ozon-content:not(.sr-only) + svg.di.sc-dso-ozon-content {\n margin-left: 8px;\n}\nbutton.toggle-note.sc-dso-ozon-content dso-icon.sc-dso-ozon-content, button.toggle-note.sc-dso-ozon-content svg.di.sc-dso-ozon-content, button.toggle-note.sc-dso-ozon-content span.sc-dso-ozon-content {\n vertical-align: middle;\n}\n\nspan[role=section].sc-dso-ozon-content, span[role=paragraph].sc-dso-ozon-content {\n display: block;\n}\n\n.fallback.sc-dso-ozon-content {\n display: block;\n}\n\n.od-Term.sc-dso-ozon-content {\n font-weight: 700;\n}\n\n.od-Definitie.sc-dso-ozon-content, .od-Tussenkop.sc-dso-ozon-content {\n font-style: italic;\n}\n\n.od-Inhoud.sc-dso-ozon-content, .od-Inhoud.sc-dso-ozon-content > .od-Lijst.sc-dso-ozon-content, .od-IntIoRef.sc-dso-ozon-content, .od-Lidnr.sc-dso-ozon-content, .od-LiNr.sc-dso-ozon-content, .od-Opschrift.sc-dso-ozon-content, .od-Tussenkop.sc-dso-ozon-content {\n display: inline;\n}\n\n.od-Al.sc-dso-ozon-content, .od-Lijstaanhef.sc-dso-ozon-content {\n margin-bottom: 0.75em;\n}\n\n.od-IntIoRef.sc-dso-ozon-content {\n border-bottom: 1px dotted;\n}\n\n.od-LiNummer.sc-dso-ozon-content {\n float: left;\n min-width: 0.7em;\n padding-right: 0.3em;\n text-align: right;\n}\n\n.od-Figuur.sc-dso-ozon-content img.sc-dso-ozon-content {\n margin-left: 25px;\n max-width: 100%;\n height: auto;\n}\n\n.od-Figuur.sc-dso-ozon-content .od-Bijschrift.sc-dso-ozon-content {\n font-size: 0.75rem;\n margin-left: 25px;\n padding-bottom: 2.5rem;\n}\n\n.od-Tabel.sc-dso-ozon-content thead.sc-dso-ozon-content {\n font-weight: 600;\n}\n\n.od-Kadertekst.sc-dso-ozon-content {\n border: 1px solid #e5e5e5;\n margin-bottom: 1rem;\n padding: 1rem;\n}";
353
382
 
354
383
  let OzonContent = class {
355
384
  constructor(hostRef) {
@@ -392,7 +421,7 @@ let OzonContent = class {
392
421
  };
393
422
  const transformed = this.mapper.transform((_a = this.content) !== null && _a !== void 0 ? _a : '', context);
394
423
  if (this.deleted) {
395
- return (h("section", null, h("span", { class: "deleted-start" }, "Begin verwijderd element"), transformed, h("span", { class: "deleted-end" }, "Einde verwijderd element")));
424
+ return (h("section", null, h("slot", { name: "prefix" }), h("span", { class: "deleted-start" }, "Begin verwijderd element"), transformed, h("span", { class: "deleted-end" }, "Einde verwijderd element"), h("slot", { name: "suffix" })));
396
425
  }
397
426
  return (h(Host, { onClick: (e) => this.handleHostOnClick(e) }, h("slot", { name: "prefix" }), transformed, h("slot", { name: "suffix" })));
398
427
  }
@@ -20,13 +20,16 @@ let Pagination = class {
20
20
  }
21
21
  ;
22
22
  render() {
23
+ var _a;
23
24
  if (!this.totalPages) {
24
25
  return null;
25
26
  }
27
+ const currentPage = (_a = this.currentPage) !== null && _a !== void 0 ? _a : 0;
26
28
  const pages = Array.from({ length: this.totalPages }, (_value, i) => i + 1);
27
- return (h("ul", { class: "pagination" }, h("li", { class: this.currentPage === pages[0] ? 'dso-page-hidden' : undefined }, h("a", { href: this.formatHref(pages[0]), "aria-label": "Vorige", onClick: e => this.currentPage && this.clickHandler(e, pages[this.currentPage - 2]) }, h("dso-icon", { icon: "chevron-left" }))), pages.map(page => (h("li", { key: page, class: this.currentPage === page ? 'active' : undefined }, this.currentPage === page
29
+ const currentPageOutOfBounds = currentPage < pages[0] || currentPage > pages[pages.length - 1];
30
+ return (h("ul", { class: "pagination" }, h("li", { class: (currentPage <= pages[0] || currentPageOutOfBounds) ? 'dso-page-hidden' : undefined }, h("a", { href: this.formatHref(pages[0]), "aria-label": "Vorige", onClick: e => currentPage && this.clickHandler(e, pages[currentPage - 2]) }, h("dso-icon", { icon: "chevron-left" }))), pages.map(page => (h("li", { key: page, class: currentPage === page ? 'active' : undefined }, currentPage === page
28
31
  ? (h("span", { "aria-current": "page" }, page))
29
- : (h("a", { href: this.formatHref(page), onClick: e => this.clickHandler(e, page) }, page))))), h("li", { class: this.currentPage === pages[pages.length - 1] ? 'dso-page-hidden' : undefined }, h("a", { href: this.formatHref(pages[pages.length - 1]), "aria-label": "Volgende", onClick: e => this.currentPage && this.clickHandler(e, pages[this.currentPage]) }, h("dso-icon", { icon: "chevron-right" })))));
32
+ : (h("a", { href: this.formatHref(page), onClick: e => this.clickHandler(e, page) }, page))))), h("li", { class: (currentPage >= pages[pages.length - 1] || currentPageOutOfBounds) ? 'dso-page-hidden' : undefined }, h("a", { href: this.formatHref(pages[pages.length - 1]), "aria-label": "Volgende", onClick: e => currentPage && this.clickHandler(e, pages[currentPage]) }, h("dso-icon", { icon: "chevron-right" })))));
30
33
  }
31
34
  };
32
35
  Pagination.style = paginationCss;
@@ -13,5 +13,5 @@ const patchBrowser = () => {
13
13
  };
14
14
 
15
15
  patchBrowser().then(options => {
16
- return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"group":[1],"baseLayers":[16]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"group":[1],"overlays":[16]}]]],["dso-header",[[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",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view",[[1,"dso-tree-view",{"collection":[16]}]]],["dso-autosuggest",[[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",[[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",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]}]]],["dso-image-overlay",[[1,"dso-image-overlay",{"active":[32],"focused":[32]}]]],["dso-label",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-pagination",[[1,"dso-pagination",{"totalPages":[2,"total-pages"],"currentPage":[2,"current-page"],"formatHref":[16]}]]],["dso-viewer-grid",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-badge",[[1,"dso-badge",{"status":[1]}]]],["dso-banner",[[1,"dso-banner",{"status":[1]}]]],["dso-highlight-box",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content",[[6,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[516],"state":[32]}]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-responsive-element",[[1,"dso-responsive-element",{"sizeAlias":[32],"sizeWidth":[32]}]]],["dso-dropdown-menu",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-tooltip",[[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",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-info-button",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2",[[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",[[1,"dso-icon",{"icon":[1]}]]]], options);
16
+ return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"group":[1],"baseLayers":[16]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"group":[1],"overlays":[16]}]]],["dso-header",[[1,"dso-header",{"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"authStatus":[1,"auth-status"],"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32]}]]],["dso-label",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"truncate":[4],"removeHover":[32],"removeFocus":[32],"textHover":[32],"textFocus":[32],"truncatedContent":[32]}]]],["dso-toggletip",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view",[[1,"dso-tree-view",{"collection":[16],"focusItem":[64]}]]],["dso-autosuggest",[[6,"dso-autosuggest",{"suggestions":[16],"loading":[4],"loadingLabel":[1,"loading-label"],"notFoundLabel":[1,"not-found-label"],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32],"notFound":[32]},[[4,"click","onDocumentClick"]]]]],["dso-date-picker",[[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",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]}]]],["dso-image-overlay",[[1,"dso-image-overlay",{"active":[32],"focused":[32]}]]],["dso-map-controls",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-pagination",[[1,"dso-pagination",{"totalPages":[2,"total-pages"],"currentPage":[2,"current-page"],"formatHref":[16]}]]],["dso-viewer-grid",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-badge",[[1,"dso-badge",{"status":[1]}]]],["dso-banner",[[1,"dso-banner",{"status":[1]}]]],["dso-highlight-box",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content",[[6,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[516],"state":[32]}]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-responsive-element",[[1,"dso-responsive-element",{"sizeAlias":[32],"sizeWidth":[32]}]]],["dso-dropdown-menu",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-progress-indicator",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-tooltip",[[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-info-button",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2",[[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",[[1,"dso-icon",{"icon":[1]}]]]], options);
17
17
  });
@@ -1870,6 +1870,11 @@ let Tooltip = class {
1870
1870
  state.styles.popper = Object.assign(Object.assign({}, state.styles.popper), { maxWidth: `${width}px` });
1871
1871
  },
1872
1872
  };
1873
+ this.keyDownListener = (event) => {
1874
+ if (event.key === 'Escape') {
1875
+ this.deactivate();
1876
+ }
1877
+ };
1873
1878
  }
1874
1879
  /**
1875
1880
  * Activate the tooltip (Sets the `active` attribute)
@@ -1928,6 +1933,7 @@ let Tooltip = class {
1928
1933
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions({
1929
1934
  modifiers: [{ name: 'eventListeners', enabled: true }]
1930
1935
  });
1936
+ document.addEventListener('keydown', this.keyDownListener);
1931
1937
  });
1932
1938
  }
1933
1939
  }
@@ -1936,6 +1942,7 @@ let Tooltip = class {
1936
1942
  (_a = this.popper) === null || _a === void 0 ? void 0 : _a.setOptions({
1937
1943
  modifiers: [{ name: 'eventListeners', enabled: false }]
1938
1944
  });
1945
+ document.removeEventListener('keydown', this.keyDownListener);
1939
1946
  }
1940
1947
  setTimeout(() => (this.hidden = true), transitionDuration);
1941
1948
  }
@@ -9,7 +9,7 @@ const DsoTreeItem = ({ owner, ancestors, item, index, level, setSize }) => {
9
9
  h("div", { onClick: (e) => owner.itemClick(e, ancestors, item) },
10
10
  h("dso-icon", { icon: item.open ? 'minus-square' : 'plus-square' }))
11
11
  : h("dso-icon", null)),
12
- h("p", { class: clsx('tree-content', { 'active': item.active }, { 'selected': item.selected }), tabindex: level === 1 && index === 0 ? 0 : -1, role: "treeitem", "aria-expanded": item.hasItems ? '' + (!!item.open && !!((_b = item.items) === null || _b === void 0 ? void 0 : _b.length)) : undefined, "aria-current": item.active ? 'true' : undefined, "aria-level": level, "aria-setsize": setSize, "aria-posinset": index + 1, "aria-busy": item.loading ? 'true' : undefined, onClick: (e) => owner.itemClick(e, ancestors, item) },
12
+ h("p", { class: clsx('tree-content', { 'active': item.active }, { 'selected': item.selected }), tabindex: level === 1 && index === 0 ? 0 : -1, role: "treeitem", "aria-expanded": item.hasItems ? '' + (!!item.open && !!((_b = item.items) === null || _b === void 0 ? void 0 : _b.length)) : undefined, "aria-current": item.active ? 'true' : undefined, "aria-level": level, "aria-setsize": setSize, "aria-posinset": index + 1, "aria-busy": item.loading ? 'true' : undefined, "data-item-id": item.id, onClick: (e) => owner.itemClick(e, ancestors, item) },
13
13
  item.selected && h("span", { class: "sr-only" }, "Resultaat: "),
14
14
  item.href
15
15
  ? h("a", { href: item.href, tabindex: "-1" }, item.label)
@@ -93,6 +93,28 @@ let TreeView = class {
93
93
  }
94
94
  };
95
95
  }
96
+ /**
97
+ * Set focus on the last item in the specified path.
98
+ * The consumer is responsible for providing a TreeView collection where the last item is visible.
99
+ * @async
100
+ * @returns Whether the item was found.
101
+ */
102
+ async focusItem(path) {
103
+ var _a;
104
+ const tree = this.tree;
105
+ if (!tree || path.length === 0) {
106
+ return false;
107
+ }
108
+ const itemToFocus = path[path.length - 1];
109
+ const elementToFocus = Array.from((_a = tree.querySelectorAll('p')) !== null && _a !== void 0 ? _a : [])
110
+ .filter(item => item.offsetWidth > 0 && item.offsetHeight > 0)
111
+ .find(item => item.dataset['itemId'] === itemToFocus.id);
112
+ if (!elementToFocus) {
113
+ return false;
114
+ }
115
+ TreeView.setFocus(tree, elementToFocus);
116
+ return true;
117
+ }
96
118
  static setFocus(tree, target) {
97
119
  if (target) {
98
120
  Array.from(tree.querySelectorAll('p'))
@@ -169,7 +191,7 @@ let TreeView = class {
169
191
  }
170
192
  render() {
171
193
  var _a;
172
- return (h("div", { id: "tree", class: "dso-tree", onKeyDown: (e) => this.keyDownListener(e) }, h("ul", { role: "tree", "aria-label": "Objectenboom" }, (_a = this.collection) === null || _a === void 0 ? void 0 : _a.map((item, index) => h(DsoTreeItem, { owner: this, ancestors: [], item: item, index: index, level: 1, setSize: this.collection.length })))));
194
+ return (h("div", { id: "tree", class: "dso-tree", onKeyDown: (e) => this.keyDownListener(e), ref: element => this.tree = element }, h("ul", { role: "tree", "aria-label": "Objectenboom" }, (_a = this.collection) === null || _a === void 0 ? void 0 : _a.map((item, index) => h(DsoTreeItem, { owner: this, ancestors: [], item: item, index: index, level: 1, setSize: this.collection.length })))));
173
195
  }
174
196
  };
175
197
  TreeView.style = treeViewCss;