@dso-toolkit/core 27.4.0 → 29.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 (126) hide show
  1. package/dist/cjs/dso-alert.cjs.entry.js +2 -2
  2. package/dist/cjs/dso-attachments-counter.cjs.entry.js +2 -2
  3. package/dist/cjs/dso-autosuggest.cjs.entry.js +3 -3
  4. package/dist/cjs/dso-badge.cjs.entry.js +2 -3
  5. package/dist/cjs/dso-banner.cjs.entry.js +2 -2
  6. package/dist/cjs/dso-date-picker.cjs.entry.js +2 -2
  7. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +47 -7
  8. package/dist/cjs/dso-highlight-box.cjs.entry.js +2 -2
  9. package/dist/cjs/dso-icon.cjs.entry.js +9 -3
  10. package/dist/cjs/dso-info_3.cjs.entry.js +4 -4
  11. package/dist/cjs/dso-label.cjs.entry.js +6 -7
  12. package/dist/cjs/dso-map-base-layers.cjs.entry.js +2 -2
  13. package/dist/cjs/dso-map-controls.cjs.entry.js +2 -2
  14. package/dist/cjs/dso-map-overlays.cjs.entry.js +2 -2
  15. package/dist/cjs/dso-ozon-content.cjs.entry.js +443 -0
  16. package/dist/cjs/dso-progress-bar.cjs.entry.js +2 -2
  17. package/dist/cjs/dso-progress-indicator.cjs.entry.js +2 -2
  18. package/dist/cjs/dso-toolkit.cjs.js +3 -3
  19. package/dist/cjs/dso-tooltip.cjs.entry.js +55 -23
  20. package/dist/cjs/{index-5c4e19ff.js → index-fcdfdd38.js} +97 -34
  21. package/dist/cjs/loader.cjs.js +3 -3
  22. package/dist/cjs/{v4-14140ff3.js → v4-8e8d6fbc.js} +0 -0
  23. package/dist/collection/collection-manifest.json +2 -1
  24. package/dist/collection/components/badge/badge.js +0 -1
  25. package/dist/collection/components/icon/icon.css +1 -0
  26. package/dist/collection/components/icon/icon.js +2 -0
  27. package/dist/collection/components/label/label.css +8 -0
  28. package/dist/collection/components/label/label.js +5 -6
  29. package/dist/collection/components/ozon-content/ozon-content.css +100 -0
  30. package/dist/collection/components/ozon-content/ozon-content.interfaces.js +2 -0
  31. package/dist/collection/components/ozon-content/ozon-content.js +80 -0
  32. package/dist/collection/components/ozon-content/ozon-content.template.js +9 -0
  33. package/dist/collection/components/ozon-content/ozon-content.transformer.js +91 -0
  34. package/dist/collection/icon/dso-icon-sass-function.js +2 -2
  35. package/dist/custom-elements/index.d.ts +6 -0
  36. package/dist/custom-elements/index.js +567 -52
  37. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  38. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  39. package/dist/dso-toolkit/p-08427682.entry.js +1 -0
  40. package/dist/dso-toolkit/p-0a7cb861.entry.js +1 -0
  41. package/dist/dso-toolkit/p-12f7e7d7.entry.js +5 -0
  42. package/dist/dso-toolkit/{p-ad90fe4d.js → p-19b890a3.js} +0 -0
  43. package/dist/dso-toolkit/p-262858dd.entry.js +1 -0
  44. package/dist/dso-toolkit/p-2c6e9460.entry.js +1 -0
  45. package/dist/dso-toolkit/p-2e7d535c.entry.js +1 -0
  46. package/dist/dso-toolkit/p-94500196.entry.js +1 -0
  47. package/dist/dso-toolkit/p-968d9e1d.entry.js +1 -0
  48. package/dist/dso-toolkit/p-a2357726.entry.js +1 -0
  49. package/dist/dso-toolkit/p-a40eeb32.js +1 -0
  50. package/dist/dso-toolkit/p-ae6209c6.entry.js +1 -0
  51. package/dist/dso-toolkit/p-b5b946de.entry.js +1 -0
  52. package/dist/dso-toolkit/p-c5acf7e2.entry.js +1 -0
  53. package/dist/dso-toolkit/p-c9c1bc8f.entry.js +1 -0
  54. package/dist/dso-toolkit/p-d748df48.entry.js +1 -0
  55. package/dist/dso-toolkit/p-dff52fb0.entry.js +1 -0
  56. package/dist/dso-toolkit/p-e4269e02.entry.js +1 -0
  57. package/dist/dso-toolkit/p-e7700d9e.entry.js +1 -0
  58. package/dist/dso-toolkit/p-eadba8c3.entry.js +1 -0
  59. package/dist/esm/dso-alert.entry.js +2 -2
  60. package/dist/esm/dso-attachments-counter.entry.js +2 -2
  61. package/dist/esm/dso-autosuggest.entry.js +3 -3
  62. package/dist/esm/dso-badge.entry.js +2 -3
  63. package/dist/esm/dso-banner.entry.js +2 -2
  64. package/dist/esm/dso-date-picker.entry.js +2 -2
  65. package/dist/esm/dso-dropdown-menu.entry.js +47 -7
  66. package/dist/esm/dso-highlight-box.entry.js +2 -2
  67. package/dist/esm/dso-icon.entry.js +9 -3
  68. package/dist/esm/dso-info_3.entry.js +4 -4
  69. package/dist/esm/dso-label.entry.js +6 -7
  70. package/dist/esm/dso-map-base-layers.entry.js +2 -2
  71. package/dist/esm/dso-map-controls.entry.js +2 -2
  72. package/dist/esm/dso-map-overlays.entry.js +2 -2
  73. package/dist/esm/dso-ozon-content.entry.js +439 -0
  74. package/dist/esm/dso-progress-bar.entry.js +2 -2
  75. package/dist/esm/dso-progress-indicator.entry.js +2 -2
  76. package/dist/esm/dso-toolkit.js +3 -3
  77. package/dist/esm/dso-tooltip.entry.js +55 -23
  78. package/dist/esm/{index-fbcbba93.js → index-61410be2.js} +97 -34
  79. package/dist/esm/loader.js +3 -3
  80. package/dist/esm/{v4-929670b7.js → v4-fa4bb814.js} +0 -0
  81. package/dist/types/components/alert/alert.template.d.ts +2 -2
  82. package/dist/types/components/attachments-counter/attachments-counter.template.d.ts +1 -1
  83. package/dist/types/components/autosuggest/autosuggest.d.ts +2 -3
  84. package/dist/types/components/autosuggest/autosuggest.template.d.ts +1 -1
  85. package/dist/types/components/badge/badge.template.d.ts +1 -1
  86. package/dist/types/components/banner/banner.template.d.ts +1 -1
  87. package/dist/types/components/date-picker/date-picker.template.d.ts +3 -3
  88. package/dist/types/components/dropdown-menu/dropdown-menu.template.d.ts +1 -1
  89. package/dist/types/components/highlight-box/highlight-box.template.d.ts +1 -1
  90. package/dist/types/components/icon/icon.template.d.ts +1 -1
  91. package/dist/types/components/info/info.template.d.ts +1 -1
  92. package/dist/types/components/info-button/info-button.template.d.ts +1 -1
  93. package/dist/types/components/label/label.d.ts +1 -1
  94. package/dist/types/components/label/label.template.d.ts +1 -1
  95. package/dist/types/components/map-controls/map-controls.template.d.ts +1 -1
  96. package/dist/types/components/ozon-content/ozon-content.d.ts +13 -0
  97. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +5 -0
  98. package/dist/types/components/ozon-content/ozon-content.template.d.ts +2 -0
  99. package/dist/types/components/ozon-content/ozon-content.transformer.d.ts +15 -0
  100. package/dist/types/components/progress-bar/progress-bar.template.d.ts +1 -1
  101. package/dist/types/components/progress-indicator/progress-indicator.template.d.ts +1 -1
  102. package/dist/types/components/selectable/selectable.template.d.ts +1 -1
  103. package/dist/types/components/tooltip/tooltip.template.d.ts +1 -1
  104. package/dist/types/components.d.ts +19 -2
  105. package/dist/types/globals.d.ts +12 -0
  106. package/dist/types/stencil-public-runtime.d.ts +190 -182
  107. package/loader/index.d.ts +0 -1
  108. package/package.json +34 -32
  109. package/dist/dso-toolkit/p-0acdd660.entry.js +0 -1
  110. package/dist/dso-toolkit/p-17e062d6.entry.js +0 -1
  111. package/dist/dso-toolkit/p-1b4843e8.entry.js +0 -1
  112. package/dist/dso-toolkit/p-28aaf3b6.entry.js +0 -1
  113. package/dist/dso-toolkit/p-372742ef.entry.js +0 -1
  114. package/dist/dso-toolkit/p-5d6816e3.entry.js +0 -1
  115. package/dist/dso-toolkit/p-6f031e8a.entry.js +0 -1
  116. package/dist/dso-toolkit/p-6f5a1e4e.entry.js +0 -1
  117. package/dist/dso-toolkit/p-70a658a0.entry.js +0 -1
  118. package/dist/dso-toolkit/p-8662814d.entry.js +0 -1
  119. package/dist/dso-toolkit/p-9174121a.entry.js +0 -1
  120. package/dist/dso-toolkit/p-a58e3c64.entry.js +0 -1
  121. package/dist/dso-toolkit/p-acae4c27.entry.js +0 -1
  122. package/dist/dso-toolkit/p-ae985488.js +0 -1
  123. package/dist/dso-toolkit/p-c06e43cd.entry.js +0 -1
  124. package/dist/dso-toolkit/p-e29b0619.entry.js +0 -1
  125. package/dist/dso-toolkit/p-e4ba88f4.entry.js +0 -5
  126. package/dist/dso-toolkit/p-f952c084.entry.js +0 -1
@@ -58,8 +58,8 @@ export class Label {
58
58
  "type": "string",
59
59
  "mutable": false,
60
60
  "complexType": {
61
- "original": "'primary' | 'info' | 'success' | 'warning' | 'danger'",
62
- "resolved": "\"danger\" | \"info\" | \"primary\" | \"success\" | \"warning\" | undefined",
61
+ "original": "'primary' | 'info' | 'success' | 'warning' | 'danger' | 'bright'",
62
+ "resolved": "\"bright\" | \"danger\" | \"info\" | \"primary\" | \"success\" | \"warning\" | undefined",
63
63
  "references": {}
64
64
  },
65
65
  "required": false,
@@ -97,9 +97,8 @@ export class Label {
97
97
  }]; }
98
98
  }
99
99
  Label.statusMap = new Map([
100
- ['primary', 'Primair'],
101
- ['info', 'Info'],
102
- ['success', 'Succes'],
100
+ ['info', 'Opmerking'],
101
+ ['success', 'Gelukt'],
103
102
  ['warning', 'Waarschuwing'],
104
- ['danger', 'Gevaar']
103
+ ['danger', 'Fout']
105
104
  ]);
@@ -0,0 +1,100 @@
1
+ /* stylelint-disable value-keyword-case */
2
+ /* stylelint-disable string-no-newline */
3
+ /* stylelint-enable */
4
+ dso-ozon-content {
5
+ display: block;
6
+ }
7
+
8
+ .noot {
9
+ text-decoration: none;
10
+ }
11
+ .noot:not(.dso-open) + .od-Al {
12
+ display: none;
13
+ }
14
+ .noot.dso-open + .od-Al {
15
+ display: block;
16
+ }
17
+ .noot + .od-Al {
18
+ margin: 4px 0;
19
+ padding: 8px 32px 8px 8px;
20
+ position: relative;
21
+ }
22
+ .noot + .od-Al > a {
23
+ display: block;
24
+ height: 24px;
25
+ position: absolute;
26
+ right: 0;
27
+ text-align: center;
28
+ top: 0;
29
+ width: 24px;
30
+ }
31
+ .noot + .od-Al > a::before {
32
+ background: var(--dso-icon, var(--di-times-zwart)) no-repeat;
33
+ background-position: center;
34
+ background-size: cover;
35
+ height: 1.5em;
36
+ vertical-align: top;
37
+ width: 1.5em;
38
+ content: "";
39
+ display: block;
40
+ }
41
+ .noot + .od-Al {
42
+ background-color: #ebf3e6;
43
+ }
44
+
45
+ .od-Term {
46
+ font-weight: 700;
47
+ }
48
+
49
+ .od-Definitie,
50
+ .od-Tussenkop {
51
+ font-style: italic;
52
+ }
53
+
54
+ .od-Inhoud,
55
+ .od-Inhoud > .od-Lijst,
56
+ .od-IntIoRef,
57
+ .od-Lidnr,
58
+ .od-LiNr,
59
+ .od-Opschrift,
60
+ .od-Tussenkop {
61
+ display: inline;
62
+ }
63
+
64
+ .od-Al,
65
+ .od-Lijstaanhef {
66
+ margin-bottom: 0.75em;
67
+ }
68
+
69
+ .od-IntIoRef {
70
+ border-bottom: 1px dotted;
71
+ }
72
+
73
+ .od-LiNummer {
74
+ float: left;
75
+ min-width: 0.7em;
76
+ padding-right: 0.3em;
77
+ text-align: right;
78
+ }
79
+
80
+ .od-Figuur img {
81
+ margin-left: 25px;
82
+ max-width: 100%;
83
+ height: auto;
84
+ }
85
+
86
+ .od-Figuur .od-Bijschrift {
87
+ font-size: 0.75rem;
88
+ margin-left: 25px;
89
+ padding-bottom: 2.5rem;
90
+ }
91
+
92
+ .od-Tabel thead {
93
+ font-weight: 600;
94
+ }
95
+
96
+ .od-Kadertekst {
97
+ border: 1px solid #e5e5e5;
98
+ margin-bottom: 1rem;
99
+ padding: 1rem;
100
+ }
@@ -0,0 +1,2 @@
1
+ // Sync interfaces with readme.md
2
+ export {};
@@ -0,0 +1,80 @@
1
+ import { h, Event, Component, Prop, Listen } from '@stencil/core';
2
+ import { OzonContentTransformer } from './ozon-content.transformer';
3
+ export class OzonContent {
4
+ handleClick(event) {
5
+ this.transformer.handleClickEvent(event);
6
+ }
7
+ componentWillLoad() {
8
+ this.transformer = new OzonContentTransformer(this.anchorClick);
9
+ }
10
+ componentWillRender() {
11
+ this.transformer.setContent(this.content);
12
+ }
13
+ render() {
14
+ return h("div", { class: "dso-rich-content", ref: el => this.container = el });
15
+ }
16
+ componentDidRender() {
17
+ var _a;
18
+ const content = this.transformer.content;
19
+ if (this.container && content) {
20
+ this.container.replaceChildren(...Array.from(content));
21
+ }
22
+ else {
23
+ (_a = this.container) === null || _a === void 0 ? void 0 : _a.replaceChildren();
24
+ }
25
+ }
26
+ static get is() { return "dso-ozon-content"; }
27
+ static get originalStyleUrls() { return {
28
+ "$": ["ozon-content.scss"]
29
+ }; }
30
+ static get styleUrls() { return {
31
+ "$": ["ozon-content.css"]
32
+ }; }
33
+ static get properties() { return {
34
+ "content": {
35
+ "type": "string",
36
+ "mutable": false,
37
+ "complexType": {
38
+ "original": "string",
39
+ "resolved": "string",
40
+ "references": {}
41
+ },
42
+ "required": true,
43
+ "optional": false,
44
+ "docs": {
45
+ "tags": [],
46
+ "text": ""
47
+ },
48
+ "attribute": "content",
49
+ "reflect": false
50
+ }
51
+ }; }
52
+ static get events() { return [{
53
+ "method": "anchorClick",
54
+ "name": "anchorClick",
55
+ "bubbles": true,
56
+ "cancelable": true,
57
+ "composed": true,
58
+ "docs": {
59
+ "tags": [],
60
+ "text": ""
61
+ },
62
+ "complexType": {
63
+ "original": "ContentAnchor",
64
+ "resolved": "ContentAnchor",
65
+ "references": {
66
+ "ContentAnchor": {
67
+ "location": "import",
68
+ "path": "./ozon-content.interfaces"
69
+ }
70
+ }
71
+ }
72
+ }]; }
73
+ static get listeners() { return [{
74
+ "name": "click",
75
+ "method": "handleClick",
76
+ "target": undefined,
77
+ "capture": false,
78
+ "passive": false
79
+ }]; }
80
+ }
@@ -0,0 +1,9 @@
1
+ import { html } from 'lit-html';
2
+ export function ozonContentTemplate({ content, onAnchorClick }) {
3
+ return html `
4
+ <dso-ozon-content
5
+ .content=${content}
6
+ @anchorClick=${onAnchorClick}
7
+ ></dso-ozon-content>
8
+ `;
9
+ }
@@ -0,0 +1,91 @@
1
+ import isURL from 'validator/es/lib/isURL';
2
+ function transformDescriptionNote(body) {
3
+ body.querySelectorAll('a.noot > div.noot_popup').forEach((e, index) => {
4
+ const contentElement = e.querySelector('.od-Al');
5
+ const ozonPopupElement = contentElement === null || contentElement === void 0 ? void 0 : contentElement.parentElement;
6
+ const anchorElement = ozonPopupElement === null || ozonPopupElement === void 0 ? void 0 : ozonPopupElement.parentElement;
7
+ const supElement = document.createElement('sup');
8
+ supElement.replaceChildren(...Array.from(anchorElement.childNodes));
9
+ anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.replaceChildren(supElement);
10
+ anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.after(contentElement);
11
+ ozonPopupElement === null || ozonPopupElement === void 0 ? void 0 : ozonPopupElement.remove();
12
+ const id = (index + 1).toString(10);
13
+ const [termId, contentId] = [`dso-ozon-term-${id}`, `dso-ozon-content-${id}`];
14
+ anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('id', termId);
15
+ anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('aria-controls', contentId);
16
+ anchorElement === null || anchorElement === void 0 ? void 0 : anchorElement.setAttribute('aria-expanded', 'false');
17
+ contentElement === null || contentElement === void 0 ? void 0 : contentElement.setAttribute('id', contentId);
18
+ });
19
+ return body;
20
+ }
21
+ function transformDocumentComponent(body) {
22
+ body.querySelectorAll('span[data-verwijst-naar-documentcomponent]').forEach(e => {
23
+ const a = document.createElement('a');
24
+ a.href = `#${e.getAttribute('data-verwijst-naar-documentcomponent')}`;
25
+ a.replaceChildren(...Array.from(e.childNodes));
26
+ e.replaceWith(a);
27
+ });
28
+ return body;
29
+ }
30
+ const transformers = [transformDescriptionNote, transformDocumentComponent];
31
+ export class OzonContentTransformer {
32
+ constructor(anchorClick) {
33
+ this.anchorClick = anchorClick;
34
+ this.domParser = new DOMParser();
35
+ this.eventHandlers = [this.handleValidUrls, this.handleDescriptionNoteClick, this.handleContentAnchor];
36
+ }
37
+ setContent(content) {
38
+ this.content = transformers.reduce((c, t) => t(c), this.domParser.parseFromString(content, 'text/html').body).children;
39
+ }
40
+ handleClickEvent(event) {
41
+ this.eventHandlers.some(h => h.bind(this)(event.composedPath(), event));
42
+ }
43
+ handleDescriptionNoteClick(composedPath, event) {
44
+ var _a;
45
+ const containerIndex = composedPath.findIndex(this.isHostElement);
46
+ if (containerIndex === -1) {
47
+ return false;
48
+ }
49
+ const anchorElement = (_a = composedPath
50
+ .slice(0, containerIndex)) === null || _a === void 0 ? void 0 : _a.find((e) => e instanceof HTMLAnchorElement && e.classList.contains('noot'));
51
+ if (!anchorElement) {
52
+ return false;
53
+ }
54
+ event.preventDefault();
55
+ const open = anchorElement.classList.contains('dso-open');
56
+ if (open) {
57
+ anchorElement.classList.remove('dso-open');
58
+ anchorElement.setAttribute('aria-expanded', 'false');
59
+ }
60
+ else {
61
+ anchorElement.classList.add('dso-open');
62
+ anchorElement.setAttribute('aria-expanded', 'true');
63
+ }
64
+ return true;
65
+ }
66
+ handleContentAnchor(composedPath, event) {
67
+ if (composedPath.some(e => e instanceof HTMLAnchorElement)) {
68
+ event.preventDefault();
69
+ const anchor = composedPath.find((e) => e instanceof HTMLAnchorElement);
70
+ const href = anchor.href;
71
+ this.anchorClick.emit({
72
+ href,
73
+ documentComponent: href.substr(href.indexOf('#') + 1),
74
+ originalEvent: event
75
+ });
76
+ return true;
77
+ }
78
+ return false;
79
+ }
80
+ handleValidUrls(composedPath) {
81
+ var _a;
82
+ const containerIndex = composedPath.findIndex(this.isHostElement);
83
+ if (containerIndex === -1) {
84
+ return false;
85
+ }
86
+ return (_a = composedPath.slice(0, containerIndex)) === null || _a === void 0 ? void 0 : _a.some(e => e instanceof HTMLAnchorElement && isURL(e.href));
87
+ }
88
+ isHostElement(value) {
89
+ return value instanceof HTMLElement && value.tagName === 'DSO-OZON-CONTENT';
90
+ }
91
+ }
@@ -13,7 +13,7 @@ export const dsoIcon = {
13
13
  }
14
14
  const iconAlias = sassIconAlias.getValue();
15
15
  const iconPath = resolve(iconsPath, `${iconAlias}.svg`);
16
- const icon = readFileSync(iconPath).toString('UTF-8');
16
+ const icon = readFileSync(iconPath).toString('utf-8');
17
17
  const style = getStyle(iconAlias, sassVariant instanceof sass.types.String ? sassVariant.getValue() : null);
18
18
  const svg = style ? bundleSvgStyle(icon, style) : icon;
19
19
  const dataUri = svgToDataUri(svg);
@@ -29,7 +29,7 @@ function getStyle(icon, variant) {
29
29
  const css = sass
30
30
  .renderSync({ file: stylesheetPath })
31
31
  .css
32
- .toString('UTF-8');
32
+ .toString('utf-8');
33
33
  const selector = `${icon}${variant ? `:${variant}` : ''}`;
34
34
  const regex = styleRegex(selector);
35
35
  return (_b = (_a = css.match(regex)) === null || _a === void 0 ? void 0 : _a[1]) !== null && _b !== void 0 ? _b : null;
@@ -92,6 +92,12 @@ export const DsoMapOverlays: {
92
92
  new (): DsoMapOverlays;
93
93
  };
94
94
 
95
+ interface DsoOzonContent extends Components.DsoOzonContent, HTMLElement {}
96
+ export const DsoOzonContent: {
97
+ prototype: DsoOzonContent;
98
+ new (): DsoOzonContent;
99
+ };
100
+
95
101
  interface DsoProgressBar extends Components.DsoProgressBar, HTMLElement {}
96
102
  export const DsoProgressBar: {
97
103
  prototype: DsoProgressBar;