@dso-toolkit/core 34.1.0 → 35.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 (116) hide show
  1. package/dist/cjs/dso-autosuggest.cjs.entry.js +5 -1
  2. package/dist/cjs/dso-header.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-image-overlay.cjs.entry.js +62 -0
  4. package/dist/cjs/dso-info_2.cjs.entry.js +4 -1
  5. package/dist/cjs/dso-map-base-layers.cjs.entry.js +14 -1
  6. package/dist/cjs/dso-map-overlays.cjs.entry.js +14 -1
  7. package/dist/cjs/dso-ozon-content.cjs.entry.js +281 -423
  8. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  9. package/dist/cjs/dso-viewer-grid.cjs.entry.js +57 -726
  10. package/dist/cjs/focus-trap.esm-8d3e3fb6.js +712 -0
  11. package/dist/cjs/loader.cjs.js +1 -1
  12. package/dist/collection/collection-manifest.json +3 -2
  13. package/dist/collection/components/autosuggest/autosuggest.js +6 -2
  14. package/dist/collection/components/header/header.css +21 -13
  15. package/dist/collection/components/highlight-box/highlight-box.template.js +4 -1
  16. package/dist/collection/components/image-overlay/image-overlay.css +263 -0
  17. package/dist/collection/components/image-overlay/image-overlay.js +72 -0
  18. package/dist/collection/components/image-overlay/image-overlay.template.js +7 -0
  19. package/dist/collection/components/info/info.css +20 -0
  20. package/dist/collection/components/map-base-layers/map-base-layers.js +16 -1
  21. package/dist/collection/components/map-overlays/map-overlays.js +16 -1
  22. package/dist/collection/components/ozon-content/nodes/al.node.js +13 -0
  23. package/dist/collection/components/ozon-content/nodes/document.node.js +9 -0
  24. package/dist/collection/components/ozon-content/nodes/ext-ref.node.js +15 -0
  25. package/dist/collection/components/ozon-content/nodes/fallback.node.js +10 -0
  26. package/dist/collection/components/ozon-content/nodes/illustratie.node.js +13 -0
  27. package/dist/collection/components/ozon-content/nodes/inhoud.node.js +14 -0
  28. package/dist/collection/components/ozon-content/nodes/inline.nodes.js +21 -0
  29. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +26 -0
  30. package/dist/collection/components/ozon-content/nodes/noot.node.js +27 -0
  31. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec-mapper.js +39 -0
  32. package/dist/collection/components/ozon-content/nodes/table.node/colspec/colspec.interface.js +2 -0
  33. package/dist/collection/components/ozon-content/nodes/table.node/index.js +1 -0
  34. package/dist/collection/components/ozon-content/nodes/table.node/table-cell.js +25 -0
  35. package/dist/collection/components/ozon-content/nodes/table.node/table-colgroup.js +4 -0
  36. package/dist/collection/components/ozon-content/nodes/table.node/table-rows.js +5 -0
  37. package/dist/collection/components/ozon-content/nodes/table.node/table.node.js +32 -0
  38. package/dist/collection/components/ozon-content/nodes/text.node.js +9 -0
  39. package/dist/collection/components/ozon-content/ozon-content-context.interface.js +1 -0
  40. package/dist/collection/components/ozon-content/ozon-content-mapper.js +76 -0
  41. package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js +1 -0
  42. package/dist/collection/components/ozon-content/ozon-content-node-state.interface.js +1 -0
  43. package/dist/collection/components/ozon-content/ozon-content-node.interface.js +1 -0
  44. package/dist/collection/components/ozon-content/ozon-content.css +15 -7
  45. package/dist/collection/components/ozon-content/ozon-content.js +21 -33
  46. package/dist/collection/components/selectable/selectable.js +25 -1
  47. package/dist/collection/components/viewer-grid/viewer-grid-filterpanel-buttons.js +7 -0
  48. package/dist/collection/components/viewer-grid/viewer-grid.css +351 -3
  49. package/dist/collection/components/viewer-grid/viewer-grid.js +109 -19
  50. package/dist/collection/components/viewer-grid/viewer-grid.template.js +7 -3
  51. package/dist/custom-elements/index.d.ts +6 -0
  52. package/dist/custom-elements/index.js +3088 -3103
  53. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  54. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  55. package/dist/dso-toolkit/p-225bbb28.entry.js +1 -0
  56. package/dist/dso-toolkit/p-3c4dbd89.entry.js +1 -0
  57. package/dist/dso-toolkit/p-44905fb1.js +5 -0
  58. package/dist/dso-toolkit/p-50b63cf4.entry.js +1 -0
  59. package/dist/dso-toolkit/p-8b6e3abc.entry.js +1 -0
  60. package/dist/dso-toolkit/p-ad540748.entry.js +1 -0
  61. package/dist/dso-toolkit/p-c6f467b3.entry.js +1 -0
  62. package/dist/dso-toolkit/p-f193c258.entry.js +1 -0
  63. package/dist/esm/dso-autosuggest.entry.js +5 -1
  64. package/dist/esm/dso-header.entry.js +1 -1
  65. package/dist/esm/dso-image-overlay.entry.js +58 -0
  66. package/dist/esm/dso-info_2.entry.js +4 -1
  67. package/dist/esm/dso-map-base-layers.entry.js +14 -1
  68. package/dist/esm/dso-map-overlays.entry.js +14 -1
  69. package/dist/esm/dso-ozon-content.entry.js +282 -424
  70. package/dist/esm/dso-toolkit.js +1 -1
  71. package/dist/esm/dso-viewer-grid.entry.js +58 -727
  72. package/dist/esm/focus-trap.esm-299989f2.js +710 -0
  73. package/dist/esm/loader.js +1 -1
  74. package/dist/types/components/autosuggest/autosuggest.d.ts +15 -1
  75. package/dist/types/components/image-overlay/image-overlay.d.ts +15 -0
  76. package/dist/types/components/image-overlay/image-overlay.template.d.ts +2 -0
  77. package/dist/types/components/map-base-layers/map-base-layers.d.ts +7 -2
  78. package/dist/types/components/map-overlays/map-overlays.d.ts +7 -2
  79. package/dist/types/components/ozon-content/nodes/al.node.d.ts +6 -0
  80. package/dist/types/components/ozon-content/nodes/document.node.d.ts +6 -0
  81. package/dist/types/components/ozon-content/nodes/ext-ref.node.d.ts +6 -0
  82. package/dist/types/components/ozon-content/nodes/fallback.node.d.ts +6 -0
  83. package/dist/types/components/ozon-content/nodes/illustratie.node.d.ts +5 -0
  84. package/dist/types/components/ozon-content/nodes/inhoud.node.d.ts +6 -0
  85. package/dist/types/components/ozon-content/nodes/inline.nodes.d.ts +6 -0
  86. package/dist/types/components/ozon-content/nodes/int-ref.node.d.ts +6 -0
  87. package/dist/types/components/ozon-content/nodes/noot.node.d.ts +8 -0
  88. package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec-mapper.d.ts +2 -0
  89. package/dist/types/components/ozon-content/nodes/table.node/colspec/colspec.interface.d.ts +10 -0
  90. package/dist/types/components/ozon-content/nodes/table.node/index.d.ts +1 -0
  91. package/dist/types/components/ozon-content/nodes/table.node/table-cell.d.ts +8 -0
  92. package/dist/types/components/ozon-content/nodes/table.node/table-colgroup.d.ts +5 -0
  93. package/dist/types/components/ozon-content/nodes/table.node/table-rows.d.ts +8 -0
  94. package/dist/types/components/ozon-content/nodes/table.node/table.node.d.ts +7 -0
  95. package/dist/types/components/ozon-content/nodes/text.node.d.ts +5 -0
  96. package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +8 -0
  97. package/dist/types/components/ozon-content/ozon-content-mapper.d.ts +12 -0
  98. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +8 -0
  99. package/dist/types/components/ozon-content/ozon-content-node-state.interface.d.ts +3 -0
  100. package/dist/types/components/ozon-content/ozon-content-node.interface.d.ts +8 -0
  101. package/dist/types/components/ozon-content/ozon-content.d.ts +8 -10
  102. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +2 -2
  103. package/dist/types/components/selectable/selectable.d.ts +1 -0
  104. package/dist/types/components/viewer-grid/viewer-grid-filterpanel-buttons.d.ts +6 -0
  105. package/dist/types/components/viewer-grid/viewer-grid.d.ts +14 -3
  106. package/dist/types/components/viewer-grid/viewer-grid.template.d.ts +1 -1
  107. package/dist/types/components.d.ts +25 -6
  108. package/package.json +2 -2
  109. package/dist/collection/components/ozon-content/ozon-content.transformer.js +0 -105
  110. package/dist/dso-toolkit/p-06de0fa1.entry.js +0 -1
  111. package/dist/dso-toolkit/p-17f073d1.entry.js +0 -1
  112. package/dist/dso-toolkit/p-20856f91.entry.js +0 -1
  113. package/dist/dso-toolkit/p-7b006b11.entry.js +0 -1
  114. package/dist/dso-toolkit/p-aadc4f8e.entry.js +0 -1
  115. package/dist/dso-toolkit/p-b69134ed.entry.js +0 -5
  116. package/dist/types/components/ozon-content/ozon-content.transformer.d.ts +0 -15
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"baseLayers":[16]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"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-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],"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-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-viewer-grid",[[1,"dso-viewer-grid",{"overlayOpen":[4,"overlay-open"],"mainSize":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest",[[6,"dso-autosuggest",{"suggestions":[16],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["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",[[0,"dso-ozon-content",{"content":[1]},[[0,"click","handleClick"]]]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["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",{"position":[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",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-icon",[[1,"dso-icon",{"icon":[1]}]]]], options);
13
+ return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"baseLayers":[16]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"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-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],"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-viewer-grid",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"mainSize":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest",[[6,"dso-autosuggest",{"suggestions":[16],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["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",[[2,"dso-ozon-content",{"content":[1],"state":[32]}]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["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",{"position":[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",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32],"toggleInfo":[64]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-icon",[[1,"dso-icon",{"icon":[1]}]]]], options);
14
14
  });
15
15
  };
16
16
 
@@ -1,11 +1,25 @@
1
1
  import { Event, EventEmitter, VNode } from "../../stencil-public-runtime";
2
2
  export interface Suggestion {
3
+ /**
4
+ * The text that will be displayed as the suggestion.
5
+ */
3
6
  value: string;
7
+ /**
8
+ * The type of suggestion.
9
+ */
4
10
  type?: string;
11
+ /**
12
+ * A reference to the original object that was used to create the suggestion.
13
+ */
14
+ item?: unknown;
5
15
  }
6
16
  export declare class Autosuggest {
7
17
  /**
8
- * The suggestions for the value of the slotted input element
18
+ * The suggestions for the value of the slotted input element. Optionally a
19
+ * Suggestion can have a `type` and `item`.
20
+ *
21
+ * The `type` is used to style the suggestion. `item` can be use to reference
22
+ * the original object that was used to create the suggestion.
9
23
  */
10
24
  readonly suggestions: Suggestion[];
11
25
  /**
@@ -0,0 +1,15 @@
1
+ import { ComponentInterface } from "../../stencil-public-runtime";
2
+ import { FocusTrap } from 'focus-trap';
3
+ export declare class ImageOverlay implements ComponentInterface {
4
+ host: HTMLElement;
5
+ active: boolean;
6
+ focused: boolean;
7
+ buttonElement: HTMLButtonElement | undefined;
8
+ wrapperElement: HTMLDivElement | undefined;
9
+ trap: FocusTrap | undefined;
10
+ private mutationObserver?;
11
+ componentDidLoad(): void;
12
+ disconnectedCallback(): void;
13
+ render(): any;
14
+ componentDidRender(): void;
15
+ }
@@ -0,0 +1,2 @@
1
+ import { ImageOverlay } from '@dso-toolkit/sources';
2
+ export declare function imageOverlayTemplate({ image }: ImageOverlay): import("lit-html").TemplateResult<1>;
@@ -1,8 +1,13 @@
1
- import { EventEmitter } from '../../stencil-public-runtime';
1
+ import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime';
2
2
  import { BaseLayer, BaseLayerChangeEvent } from './map-base-layers.interfaces';
3
- export declare class MapBaseLayers {
3
+ export declare class MapBaseLayers implements ComponentInterface {
4
+ previousBaselayers: BaseLayer[] | undefined;
5
+ selectableRefs: {
6
+ [id: number]: HTMLDsoSelectableElement;
7
+ };
4
8
  baseLayerChange: EventEmitter<BaseLayerChangeEvent>;
5
9
  baseLayers: BaseLayer[];
6
10
  baseLayerChangeHandler(baseLayer: BaseLayer): void;
11
+ componentDidRender(): void;
7
12
  render(): any;
8
13
  }
@@ -1,9 +1,14 @@
1
- import { EventEmitter } from '../../stencil-public-runtime';
1
+ import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime';
2
2
  import { Overlay, OverlayChangeEvent } from './map-overlays.interfaces';
3
3
  import { SelectableChangeEvent } from '../selectable/selectable';
4
- export declare class MapOverlays {
4
+ export declare class MapOverlays implements ComponentInterface {
5
+ previousOverlays: Overlay[] | undefined;
6
+ selectableRefs: {
7
+ [id: number]: HTMLDsoSelectableElement;
8
+ };
5
9
  overlays: Overlay[];
6
10
  toggleOverlay: EventEmitter<OverlayChangeEvent>;
7
11
  overlayChangeHandler(overlay: Overlay, e: CustomEvent<SelectableChangeEvent>): void;
12
+ componentDidRender(): void;
8
13
  render(): any;
9
14
  }
@@ -0,0 +1,6 @@
1
+ import { OzonContentNodeContext } from '../ozon-content-node-context.interface';
2
+ import { OzonContentNode } from '../ozon-content-node.interface';
3
+ export declare class OzonContentAlNode implements OzonContentNode {
4
+ name: string;
5
+ render(node: Element, { mapNodeToJsx, path }: OzonContentNodeContext): any;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { OzonContentNodeContext } from '../ozon-content-node-context.interface';
2
+ import { OzonContentNode } from '../ozon-content-node.interface';
3
+ export declare class OzonContentDocumentNode implements OzonContentNode {
4
+ name: string;
5
+ render(node: Node, { mapNodeToJsx }: OzonContentNodeContext): any;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { OzonContentNodeContext } from '../ozon-content-node-context.interface';
2
+ import { OzonContentNode } from '../ozon-content-node.interface';
3
+ export declare class OzonContentExtRefNode implements OzonContentNode {
4
+ name: string[];
5
+ render(node: Element, { mapNodeToJsx }: OzonContentNodeContext): any;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { OzonContentNodeContext } from '../ozon-content-node-context.interface';
2
+ import { OzonContentNode } from '../ozon-content-node.interface';
3
+ export declare class OzonContentFallbackNode implements OzonContentNode {
4
+ name: string[];
5
+ render(node: Node, { mapNodeToJsx }: OzonContentNodeContext): any;
6
+ }
@@ -0,0 +1,5 @@
1
+ import { OzonContentNode } from '../ozon-content-node.interface';
2
+ export declare class OzonContentIllustratieNode implements OzonContentNode {
3
+ name: string[];
4
+ render(node: Element): any;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { OzonContentNodeContext } from '../ozon-content-node-context.interface';
2
+ import { OzonContentNode } from '../ozon-content-node.interface';
3
+ export declare class OzonContentInhoudNode implements OzonContentNode {
4
+ name: string[];
5
+ render(node: Element, { mapNodeToJsx }: OzonContentNodeContext): any;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { OzonContentNodeContext } from '../ozon-content-node-context.interface';
2
+ import { OzonContentNode } from '../ozon-content-node.interface';
3
+ export declare class OzonContentInlineNodes implements OzonContentNode {
4
+ name: string[];
5
+ render(node: Element, { mapNodeToJsx }: OzonContentNodeContext): any;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { OzonContentNodeContext } from '../ozon-content-node-context.interface';
2
+ import { OzonContentNode } from '../ozon-content-node.interface';
3
+ export declare class OzonContentIntRefNode implements OzonContentNode {
4
+ name: string;
5
+ render(node: Element, { mapNodeToJsx, emitAnchorClick }: OzonContentNodeContext): any;
6
+ }
@@ -0,0 +1,8 @@
1
+ import { OzonContentNodeContext } from '../ozon-content-node-context.interface';
2
+ import { OzonContentNode } from '../ozon-content-node.interface';
3
+ export declare class OzonContentNootNode implements OzonContentNode {
4
+ name: string;
5
+ handles: string[];
6
+ identify(node: Element): string | undefined;
7
+ render(node: Element, { mapNodeToJsx, state: noteIsOpen, setState }: OzonContentNodeContext<boolean>): any;
8
+ }
@@ -0,0 +1,2 @@
1
+ import { Colspecs } from './colspec.interface';
2
+ export declare function mapColspecs(count: number, nodeList: NodeListOf<Element>): Colspecs;
@@ -0,0 +1,10 @@
1
+ export interface Colspecs {
2
+ totalWidth: number;
3
+ count: number;
4
+ columns: Colspec[];
5
+ }
6
+ export interface Colspec {
7
+ name: string;
8
+ number: number;
9
+ width: string | undefined;
10
+ }
@@ -0,0 +1 @@
1
+ export { OzonContentTableNode } from './table.node';
@@ -0,0 +1,8 @@
1
+ import { FunctionalComponent } from '../../../../stencil-public-runtime';
2
+ import { OzonContentNodeContext } from '../../ozon-content-node-context.interface';
3
+ import { Colspecs } from './colspec/colspec.interface';
4
+ export declare const Cell: FunctionalComponent<{
5
+ context: OzonContentNodeContext;
6
+ colspecs: Colspecs | undefined;
7
+ cell: Element;
8
+ }>;
@@ -0,0 +1,5 @@
1
+ import { FunctionalComponent } from '../../../../stencil-public-runtime';
2
+ import { Colspecs } from './colspec/colspec.interface';
3
+ export declare const Colgroup: FunctionalComponent<{
4
+ colspecs: Colspecs;
5
+ }>;
@@ -0,0 +1,8 @@
1
+ import { FunctionalComponent } from '../../../../stencil-public-runtime';
2
+ import { OzonContentNodeContext } from '../../ozon-content-node-context.interface';
3
+ import { Colspecs } from './colspec/colspec.interface';
4
+ export declare const Rows: FunctionalComponent<{
5
+ context: OzonContentNodeContext;
6
+ colspecs: Colspecs | undefined;
7
+ rows: Element[];
8
+ }>;
@@ -0,0 +1,7 @@
1
+ import { OzonContentNodeContext } from '../../ozon-content-node-context.interface';
2
+ import { OzonContentNode } from '../../ozon-content-node.interface';
3
+ export declare class OzonContentTableNode implements OzonContentNode {
4
+ name: string;
5
+ handles: string[];
6
+ render(node: Element, context: OzonContentNodeContext): any;
7
+ }
@@ -0,0 +1,5 @@
1
+ import { OzonContentNode } from '../ozon-content-node.interface';
2
+ export declare class OzonContentTextNode implements OzonContentNode {
3
+ name: string;
4
+ render(node: Node): any;
5
+ }
@@ -0,0 +1,8 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { OzonContentNodeState } from './ozon-content-node-state.interface';
3
+ import { OzonContentAnchorClick } from './ozon-content.interfaces';
4
+ export interface OzonContentContext {
5
+ state: OzonContentNodeState;
6
+ setState(state: OzonContentNodeState): void;
7
+ emitAnchorClick: EventEmitter<OzonContentAnchorClick>['emit'];
8
+ }
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { OzonContentContext } from './ozon-content-context.interface';
3
+ export declare class Mapper {
4
+ private cache;
5
+ private mappers;
6
+ private skip;
7
+ private fallbackNode;
8
+ private domParser;
9
+ private findMapper;
10
+ mapNodeToJsx(node: Node | Node[] | NodeList, context: OzonContentContext, path: Node[]): JSX.Element;
11
+ transform(xml: string, context: OzonContentContext): JSX.Element;
12
+ }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ export interface OzonContentNodeContext<T = unknown> {
3
+ path: Node[];
4
+ mapNodeToJsx(node: Node | Node[] | NodeList): JSX.Element;
5
+ emitAnchorClick(event: any): void;
6
+ state?: T;
7
+ setState?(state: T): void;
8
+ }
@@ -0,0 +1,3 @@
1
+ export interface OzonContentNodeState {
2
+ [nodeId: string]: unknown;
3
+ }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { OzonContentNodeContext } from './ozon-content-node-context.interface';
3
+ export interface OzonContentNode<T = unknown> {
4
+ name: string | string[];
5
+ handles?: string[];
6
+ identify?(node: Node): string | undefined;
7
+ render(node: Node, context: OzonContentNodeContext<T>): JSX.Element;
8
+ }
@@ -1,13 +1,11 @@
1
+ /// <reference types="react" />
1
2
  import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
- import { ContentAnchor } from './ozon-content.interfaces';
3
+ import { OzonContentAnchorClick } from './ozon-content.interfaces';
4
+ import { OzonContentNodeState } from './ozon-content-node-state.interface';
3
5
  export declare class OzonContent implements ComponentInterface {
4
- content: string;
5
- anchorClick: EventEmitter<ContentAnchor>;
6
- handleClick(event: PointerEvent): void;
7
- private container?;
8
- private transformer;
9
- componentWillLoad(): void;
10
- componentWillRender(): void;
11
- render(): any;
12
- componentDidRender(): void;
6
+ content: string | undefined;
7
+ state: OzonContentNodeState;
8
+ anchorClick: EventEmitter<OzonContentAnchorClick>;
9
+ private mapper;
10
+ render(): JSX.Element;
13
11
  }
@@ -1,5 +1,5 @@
1
- export interface ContentAnchor {
1
+ export interface OzonContentAnchorClick {
2
2
  href: string;
3
3
  documentComponent: string;
4
- originalEvent: PointerEvent;
4
+ originalEvent: MouseEvent;
5
5
  }
@@ -16,6 +16,7 @@ export declare class Selectable {
16
16
  change: EventEmitter<SelectableChangeEvent>;
17
17
  host: HTMLElement;
18
18
  infoActive: boolean;
19
+ toggleInfo(active?: boolean): Promise<void>;
19
20
  private mutationObserver?;
20
21
  private fallbackIdentifier;
21
22
  private input;
@@ -0,0 +1,6 @@
1
+ import { FunctionalComponent } from '../../stencil-public-runtime';
2
+ export interface ViewerGridFilterpanelProps {
3
+ onApply: (mouseEvent: MouseEvent) => void;
4
+ onCancel: (mouseEvent: MouseEvent) => void;
5
+ }
6
+ export declare const ViewerGridFilterpanelButtons: FunctionalComponent<ViewerGridFilterpanelProps>;
@@ -1,14 +1,23 @@
1
1
  import { EventEmitter } from "../../stencil-public-runtime";
2
- import * as focusTrap from "focus-trap";
2
+ import { FocusTrap } from "focus-trap";
3
3
  declare type MainSize = "small" | "medium" | "large";
4
+ export interface FilterpanelEvent {
5
+ originalEvent: MouseEvent;
6
+ }
4
7
  export declare class ViewerGrid {
8
+ filterpanelOpen: boolean;
5
9
  overlayOpen: boolean;
6
10
  mainSize: MainSize;
7
11
  closeOverlay: EventEmitter<MouseEvent | KeyboardEvent>;
12
+ filterpanelCancel: EventEmitter<FilterpanelEvent>;
13
+ filterpanelApply: EventEmitter<FilterpanelEvent>;
8
14
  host: HTMLElement;
15
+ filterpanel: HTMLElement | undefined;
16
+ filterpanelSlot: HTMLElement | null;
17
+ filterpanelFocustrap: FocusTrap | undefined;
9
18
  overlay: HTMLDivElement | undefined;
10
- overlaySlot: HTMLDivElement | null | undefined;
11
- trap: focusTrap.FocusTrap | undefined;
19
+ overlaySlot: HTMLDivElement | null;
20
+ overlayFocustrap: FocusTrap | undefined;
12
21
  shrinkMain: () => void;
13
22
  expandMain: () => void;
14
23
  updateFocusTrap(): void;
@@ -17,6 +26,8 @@ export declare class ViewerGrid {
17
26
  componentDidLoad(): void;
18
27
  componentDidUpdate(): void;
19
28
  disconnectedCallback(): void;
29
+ handleFilterpanelApply(mouseEvent: MouseEvent): void;
30
+ handleFilterpanelCancel(mouseEvent: MouseEvent): void;
20
31
  render(): any;
21
32
  }
22
33
  export {};
@@ -1,3 +1,3 @@
1
1
  import { ViewerGrid } from "@dso-toolkit/sources";
2
2
  import { TemplateResult } from "lit-html";
3
- export declare function viewerGridTemplate({ main, map, overlay, noOverlay, overlayOpen, closeOverlay, }: ViewerGrid<TemplateResult>): TemplateResult<1>;
3
+ export declare function viewerGridTemplate({ filterpanel, main, map, overlay, noOverlay, filterpanelOpen, overlayOpen, filterpanelApply, filterpanelCancel, closeOverlay, }: ViewerGrid<TemplateResult>): TemplateResult<1>;
@@ -11,9 +11,10 @@ import { HeaderMenuItem } from "./components/header/header";
11
11
  import { InfoButtonToggleEvent } from "./components/info-button/info-button";
12
12
  import { BaseLayer, BaseLayerChangeEvent } from "./components/map-base-layers/map-base-layers.interfaces";
13
13
  import { Overlay, OverlayChangeEvent } from "./components/map-overlays/map-overlays.interfaces";
14
- import { ContentAnchor } from "./components/ozon-content/ozon-content.interfaces";
14
+ import { OzonContentAnchorClick } from "./components/ozon-content/ozon-content.interfaces";
15
15
  import { SelectableChangeEvent } from "./components/selectable/selectable";
16
16
  import { TreeViewItem, TreeViewPointerEvent } from "./components/tree-view/tree-view.interfaces";
17
+ import { FilterpanelEvent } from "./components/viewer-grid/viewer-grid";
17
18
  export namespace Components {
18
19
  interface DsoAlert {
19
20
  /**
@@ -34,7 +35,7 @@ export namespace Components {
34
35
  */
35
36
  "suggestOnFocus": boolean;
36
37
  /**
37
- * The suggestions for the value of the slotted input element
38
+ * The suggestions for the value of the slotted input element. Optionally a Suggestion can have a `type` and `item`. The `type` is used to style the suggestion. `item` can be use to reference the original object that was used to create the suggestion.
38
39
  */
39
40
  "suggestions": Suggestion[];
40
41
  }
@@ -136,6 +137,8 @@ export namespace Components {
136
137
  interface DsoIcon {
137
138
  "icon"?: string;
138
139
  }
140
+ interface DsoImageOverlay {
141
+ }
139
142
  interface DsoInfo {
140
143
  "active"?: boolean;
141
144
  "fixed"?: boolean;
@@ -161,7 +164,7 @@ export namespace Components {
161
164
  "overlays": Overlay[];
162
165
  }
163
166
  interface DsoOzonContent {
164
- "content": string;
167
+ "content": string | undefined;
165
168
  }
166
169
  interface DsoProgressBar {
167
170
  "max": number;
@@ -183,6 +186,7 @@ export namespace Components {
183
186
  "invalid"?: boolean;
184
187
  "name"?: string;
185
188
  "required"?: boolean;
189
+ "toggleInfo": (active?: boolean | undefined) => Promise<void>;
186
190
  "type": 'checkbox' | 'radio';
187
191
  "value": string;
188
192
  }
@@ -233,6 +237,7 @@ export namespace Components {
233
237
  "collection": TreeViewItem[];
234
238
  }
235
239
  interface DsoViewerGrid {
240
+ "filterpanelOpen": boolean;
236
241
  "overlayOpen": boolean;
237
242
  }
238
243
  }
@@ -303,6 +308,12 @@ declare global {
303
308
  prototype: HTMLDsoIconElement;
304
309
  new (): HTMLDsoIconElement;
305
310
  };
311
+ interface HTMLDsoImageOverlayElement extends Components.DsoImageOverlay, HTMLStencilElement {
312
+ }
313
+ var HTMLDsoImageOverlayElement: {
314
+ prototype: HTMLDsoImageOverlayElement;
315
+ new (): HTMLDsoImageOverlayElement;
316
+ };
306
317
  interface HTMLDsoInfoElement extends Components.DsoInfo, HTMLStencilElement {
307
318
  }
308
319
  var HTMLDsoInfoElement: {
@@ -399,6 +410,7 @@ declare global {
399
410
  "dso-helpcenter-panel": HTMLDsoHelpcenterPanelElement;
400
411
  "dso-highlight-box": HTMLDsoHighlightBoxElement;
401
412
  "dso-icon": HTMLDsoIconElement;
413
+ "dso-image-overlay": HTMLDsoImageOverlayElement;
402
414
  "dso-info": HTMLDsoInfoElement;
403
415
  "dso-info-button": HTMLDsoInfoButtonElement;
404
416
  "dso-label": HTMLDsoLabelElement;
@@ -447,7 +459,7 @@ declare namespace LocalJSX {
447
459
  */
448
460
  "suggestOnFocus"?: boolean;
449
461
  /**
450
- * The suggestions for the value of the slotted input element
462
+ * The suggestions for the value of the slotted input element. Optionally a Suggestion can have a `type` and `item`. The `type` is used to style the suggestion. `item` can be use to reference the original object that was used to create the suggestion.
451
463
  */
452
464
  "suggestions"?: Suggestion[];
453
465
  }
@@ -557,6 +569,8 @@ declare namespace LocalJSX {
557
569
  interface DsoIcon {
558
570
  "icon"?: string;
559
571
  }
572
+ interface DsoImageOverlay {
573
+ }
560
574
  interface DsoInfo {
561
575
  "active"?: boolean;
562
576
  "fixed"?: boolean;
@@ -589,8 +603,8 @@ declare namespace LocalJSX {
589
603
  "overlays": Overlay[];
590
604
  }
591
605
  interface DsoOzonContent {
592
- "content": string;
593
- "onAnchorClick"?: (event: CustomEvent<ContentAnchor>) => void;
606
+ "content"?: string | undefined;
607
+ "onAnchorClick"?: (event: CustomEvent<OzonContentAnchorClick>) => void;
594
608
  }
595
609
  interface DsoProgressBar {
596
610
  "max"?: number;
@@ -667,7 +681,10 @@ declare namespace LocalJSX {
667
681
  "onOpenItem"?: (event: CustomEvent<TreeViewItem[]>) => void;
668
682
  }
669
683
  interface DsoViewerGrid {
684
+ "filterpanelOpen"?: boolean;
670
685
  "onCloseOverlay"?: (event: CustomEvent<MouseEvent | KeyboardEvent>) => void;
686
+ "onFilterpanelApply"?: (event: CustomEvent<FilterpanelEvent>) => void;
687
+ "onFilterpanelCancel"?: (event: CustomEvent<FilterpanelEvent>) => void;
671
688
  "overlayOpen"?: boolean;
672
689
  }
673
690
  interface IntrinsicElements {
@@ -682,6 +699,7 @@ declare namespace LocalJSX {
682
699
  "dso-helpcenter-panel": DsoHelpcenterPanel;
683
700
  "dso-highlight-box": DsoHighlightBox;
684
701
  "dso-icon": DsoIcon;
702
+ "dso-image-overlay": DsoImageOverlay;
685
703
  "dso-info": DsoInfo;
686
704
  "dso-info-button": DsoInfoButton;
687
705
  "dso-label": DsoLabel;
@@ -713,6 +731,7 @@ declare module "@stencil/core" {
713
731
  "dso-helpcenter-panel": LocalJSX.DsoHelpcenterPanel & JSXBase.HTMLAttributes<HTMLDsoHelpcenterPanelElement>;
714
732
  "dso-highlight-box": LocalJSX.DsoHighlightBox & JSXBase.HTMLAttributes<HTMLDsoHighlightBoxElement>;
715
733
  "dso-icon": LocalJSX.DsoIcon & JSXBase.HTMLAttributes<HTMLDsoIconElement>;
734
+ "dso-image-overlay": LocalJSX.DsoImageOverlay & JSXBase.HTMLAttributes<HTMLDsoImageOverlayElement>;
716
735
  "dso-info": LocalJSX.DsoInfo & JSXBase.HTMLAttributes<HTMLDsoInfoElement>;
717
736
  "dso-info-button": LocalJSX.DsoInfoButton & JSXBase.HTMLAttributes<HTMLDsoInfoButtonElement>;
718
737
  "dso-label": LocalJSX.DsoLabel & JSXBase.HTMLAttributes<HTMLDsoLabelElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dso-toolkit/core",
3
- "version": "34.1.0",
3
+ "version": "35.0.0",
4
4
  "description": "DSO Toolkit Web Components",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/custom-elements/index.js",
@@ -19,7 +19,7 @@
19
19
  "build": "stencil build",
20
20
  "start": "yarn clear && cross-env DSO_ENV=development yarn node scripts/start.js",
21
21
  "watch": "yarn clear && cross-env DSO_ENV=development yarn node scripts/watch.js",
22
- "build-www": "cross-env DSO_ENV=production yarn bin_build-storybook --static-dir ./dist --output-dir ./www",
22
+ "build-www": "cross-env DSO_ENV=production yarn bin_build-storybook --static-dir ./dist,../sources/storybook-assets --output-dir ./www",
23
23
  "bin_stencil": "stencil",
24
24
  "bin_start-storybook": "start-storybook",
25
25
  "bin_cypress": "cypress",
@@ -1,105 +0,0 @@
1
- import isURL from 'validator/es/lib/isURL';
2
- function transformDescriptionNote(body) {
3
- body.querySelectorAll('div.noot').forEach((nootElement, index) => {
4
- const contentElement = nootElement.nextElementSibling;
5
- if (!(contentElement instanceof HTMLDivElement && contentElement.classList.value === 'noot_popup')) {
6
- return;
7
- }
8
- const nootAnchorElement = nootElement.querySelector('a');
9
- if (!(nootAnchorElement instanceof HTMLAnchorElement)) {
10
- return;
11
- }
12
- const contentAlElement = contentElement.querySelector(':scope > .od-Al');
13
- if (!(contentAlElement instanceof HTMLDivElement && contentAlElement.classList.value === 'od-Al')) {
14
- return;
15
- }
16
- nootElement.replaceWith(...Array.from(nootElement.childNodes));
17
- const contentWrapper = document.createElement('div');
18
- contentWrapper.replaceChildren(...Array.from(contentAlElement.childNodes));
19
- contentAlElement.replaceChildren(contentWrapper);
20
- contentElement.replaceWith(contentAlElement);
21
- const supElement = document.createElement('sup');
22
- supElement.replaceChildren(...Array.from(nootAnchorElement.childNodes));
23
- nootAnchorElement.replaceChildren(supElement);
24
- const id = (index + 1).toString(10);
25
- const [termId, contentId] = [`dso-ozon-term-${id}`, `dso-ozon-content-${id}`];
26
- nootAnchorElement.setAttribute('href', `#${termId}`);
27
- nootAnchorElement.setAttribute('id', termId);
28
- nootAnchorElement.setAttribute('aria-controls', contentId);
29
- nootAnchorElement.setAttribute('aria-expanded', 'false');
30
- contentAlElement === null || contentAlElement === void 0 ? void 0 : contentAlElement.setAttribute('id', contentId);
31
- });
32
- return body;
33
- }
34
- function transformDocumentComponent(body) {
35
- body.querySelectorAll('span[data-verwijst-naar-documentcomponent]').forEach(e => {
36
- const a = document.createElement('a');
37
- a.href = `#${e.getAttribute('data-verwijst-naar-documentcomponent')}`;
38
- a.replaceChildren(...Array.from(e.childNodes));
39
- e.replaceWith(a);
40
- });
41
- return body;
42
- }
43
- const transformers = [transformDescriptionNote, transformDocumentComponent];
44
- export class OzonContentTransformer {
45
- constructor(anchorClick) {
46
- this.anchorClick = anchorClick;
47
- this.domParser = new DOMParser();
48
- this.eventHandlers = [this.handleValidUrls, this.handleDescriptionNoteClick, this.handleContentAnchor];
49
- }
50
- setContent(content) {
51
- this.content = transformers.reduce((c, t) => t(c), this.domParser.parseFromString(content, 'text/html').body).children;
52
- }
53
- handleClickEvent(event) {
54
- this.eventHandlers.some(h => h.bind(this)(event.composedPath(), event));
55
- }
56
- handleDescriptionNoteClick(composedPath, event) {
57
- var _a;
58
- const containerIndex = composedPath.findIndex(this.isHostElement);
59
- if (containerIndex === -1) {
60
- return false;
61
- }
62
- const anchorElement = (_a = composedPath
63
- .slice(0, containerIndex)) === null || _a === void 0 ? void 0 : _a.find((e) => e instanceof HTMLAnchorElement && e.classList.contains('noot'));
64
- if (!anchorElement) {
65
- return false;
66
- }
67
- event.preventDefault();
68
- const open = anchorElement.classList.contains('dso-open');
69
- if (open) {
70
- anchorElement.classList.remove('dso-open');
71
- anchorElement.setAttribute('aria-expanded', 'false');
72
- }
73
- else {
74
- anchorElement.classList.add('dso-open');
75
- anchorElement.setAttribute('aria-expanded', 'true');
76
- }
77
- return true;
78
- }
79
- handleContentAnchor(composedPath, event) {
80
- if (composedPath.some(e => e instanceof HTMLAnchorElement)) {
81
- event.preventDefault();
82
- const anchor = composedPath.find((e) => e instanceof HTMLAnchorElement);
83
- const href = anchor.href;
84
- this.anchorClick.emit({
85
- href,
86
- documentComponent: href.substr(href.indexOf('#') + 1),
87
- originalEvent: event
88
- });
89
- return true;
90
- }
91
- return false;
92
- }
93
- handleValidUrls(composedPath) {
94
- var _a;
95
- const containerIndex = composedPath.findIndex(this.isHostElement);
96
- if (containerIndex === -1) {
97
- return false;
98
- }
99
- // require_tld: false is needed to allow http://localhost
100
- return (_a = composedPath.slice(0, containerIndex)) === null || _a === void 0 ? void 0 : _a.some(e => { var _a; return e instanceof HTMLAnchorElement && isURL((_a = e.getAttribute('href')) !== null && _a !== void 0 ? _a : '', { require_tld: false, require_protocol: true }); });
101
- }
102
- isHostElement(value) {
103
- return value instanceof HTMLElement && value.tagName === 'DSO-OZON-CONTENT';
104
- }
105
- }