@dso-toolkit/core 62.2.2 → 62.3.0-ghi-2431.1

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 (127) hide show
  1. package/dist/cjs/create-identifier-5900c27b.js +19 -0
  2. package/dist/cjs/create-identifier-5900c27b.js.map +1 -0
  3. package/dist/cjs/dso-accordion-section.cjs.entry.js +16 -0
  4. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dso-alert_7.cjs.entry.js +22 -4
  6. package/dist/cjs/dso-alert_7.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dso-annotation-output_3.cjs.entry.js +3 -1
  8. package/dist/cjs/dso-annotation-output_3.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js +704 -0
  10. package/dist/cjs/dso-date-picker-legacy.cjs.entry.js.map +1 -0
  11. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  12. package/dist/cjs/dso-highlight-box.cjs.entry.js.map +1 -1
  13. package/dist/cjs/dso-info_2.cjs.entry.js +2 -15
  14. package/dist/cjs/dso-info_2.cjs.entry.js.map +1 -1
  15. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/collection/collection-manifest.json +1 -0
  18. package/dist/collection/components/accordion/components/accordion-section.js +16 -0
  19. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  20. package/dist/collection/components/annotation-button/annotation-button.js +1 -1
  21. package/dist/collection/components/annotation-output/annotation-output.js +1 -1
  22. package/dist/collection/components/date-picker-legacy/date-localization.js +30 -0
  23. package/dist/collection/components/date-picker-legacy/date-localization.js.map +1 -0
  24. package/dist/collection/components/date-picker-legacy/date-picker-day.js +20 -0
  25. package/dist/collection/components/date-picker-legacy/date-picker-day.js.map +1 -0
  26. package/dist/collection/components/date-picker-legacy/date-picker-legacy.css +487 -0
  27. package/dist/collection/components/date-picker-legacy/date-picker-legacy.interfaces.js +2 -0
  28. package/dist/collection/components/date-picker-legacy/date-picker-legacy.interfaces.js.map +1 -0
  29. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js +849 -0
  30. package/dist/collection/components/date-picker-legacy/date-picker-legacy.js.map +1 -0
  31. package/dist/collection/components/date-picker-legacy/date-picker-month.js +26 -0
  32. package/dist/collection/components/date-picker-legacy/date-picker-month.js.map +1 -0
  33. package/dist/collection/components/date-picker-legacy/date-utils.js +155 -0
  34. package/dist/collection/components/date-picker-legacy/date-utils.js.map +1 -0
  35. package/dist/collection/components/date-picker-legacy/utils/month-range.js +28 -0
  36. package/dist/collection/components/date-picker-legacy/utils/month-range.js.map +1 -0
  37. package/dist/collection/components/date-picker-legacy/utils/range.js +8 -0
  38. package/dist/collection/components/date-picker-legacy/utils/range.js.map +1 -0
  39. package/dist/collection/components/document-component/document-component.js +44 -1
  40. package/dist/collection/components/document-component/document-component.js.map +1 -1
  41. package/dist/collection/components/document-component/document-component.models.js.map +1 -1
  42. package/dist/collection/components/expandable/expandable.js +2 -2
  43. package/dist/collection/components/highlight-box/highlight-box.css +2 -0
  44. package/dist/collection/components/ozon-content/nodes/text.node.js +11 -2
  45. package/dist/collection/components/ozon-content/nodes/text.node.js.map +1 -1
  46. package/dist/collection/components/ozon-content/ozon-content-context.interface.js.map +1 -1
  47. package/dist/collection/components/ozon-content/ozon-content-mapper.js +2 -0
  48. package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
  49. package/dist/collection/components/ozon-content/ozon-content-node-context.interface.js.map +1 -1
  50. package/dist/collection/components/ozon-content/ozon-content.css +9 -0
  51. package/dist/collection/components/ozon-content/ozon-content.interfaces.js.map +1 -1
  52. package/dist/collection/components/ozon-content/ozon-content.js +49 -1
  53. package/dist/collection/components/ozon-content/ozon-content.js.map +1 -1
  54. package/dist/components/create-identifier.js +17 -0
  55. package/dist/components/create-identifier.js.map +1 -0
  56. package/dist/components/document-component.js +5 -2
  57. package/dist/components/document-component.js.map +1 -1
  58. package/dist/components/dso-accordion-section.js +16 -0
  59. package/dist/components/dso-accordion-section.js.map +1 -1
  60. package/dist/components/dso-date-picker-legacy.d.ts +11 -0
  61. package/dist/components/dso-date-picker-legacy.js +743 -0
  62. package/dist/components/dso-date-picker-legacy.js.map +1 -0
  63. package/dist/components/dso-highlight-box.js +1 -1
  64. package/dist/components/dso-highlight-box.js.map +1 -1
  65. package/dist/components/index.d.ts +2 -0
  66. package/dist/components/index.js +1 -0
  67. package/dist/components/index.js.map +1 -1
  68. package/dist/components/ozon-content.js +23 -4
  69. package/dist/components/ozon-content.js.map +1 -1
  70. package/dist/components/selectable.js +1 -14
  71. package/dist/components/selectable.js.map +1 -1
  72. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  73. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  74. package/dist/dso-toolkit/p-0fbddb1a.entry.js +2 -0
  75. package/dist/dso-toolkit/p-0fbddb1a.entry.js.map +1 -0
  76. package/dist/dso-toolkit/p-1db9f4a4.entry.js +2 -0
  77. package/dist/dso-toolkit/p-1db9f4a4.entry.js.map +1 -0
  78. package/dist/dso-toolkit/p-4423c2b5.entry.js +2 -0
  79. package/dist/dso-toolkit/{p-e88590a7.entry.js.map → p-4423c2b5.entry.js.map} +1 -1
  80. package/dist/dso-toolkit/{p-47e77e24.entry.js → p-76c0fc1b.entry.js} +2 -2
  81. package/dist/dso-toolkit/p-76c0fc1b.entry.js.map +1 -0
  82. package/dist/dso-toolkit/p-a377846a.entry.js +2 -0
  83. package/dist/dso-toolkit/p-a377846a.entry.js.map +1 -0
  84. package/dist/dso-toolkit/p-c19cfe3f.js +2 -0
  85. package/dist/dso-toolkit/p-c19cfe3f.js.map +1 -0
  86. package/dist/dso-toolkit/{p-000f7731.entry.js → p-e95bf0f4.entry.js} +2 -2
  87. package/dist/dso-toolkit/p-e95bf0f4.entry.js.map +1 -0
  88. package/dist/esm/create-identifier-479a4699.js +17 -0
  89. package/dist/esm/create-identifier-479a4699.js.map +1 -0
  90. package/dist/esm/dso-accordion-section.entry.js +16 -0
  91. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  92. package/dist/esm/dso-alert_7.entry.js +22 -4
  93. package/dist/esm/dso-alert_7.entry.js.map +1 -1
  94. package/dist/esm/dso-annotation-output_3.entry.js +3 -1
  95. package/dist/esm/dso-annotation-output_3.entry.js.map +1 -1
  96. package/dist/esm/dso-date-picker-legacy.entry.js +700 -0
  97. package/dist/esm/dso-date-picker-legacy.entry.js.map +1 -0
  98. package/dist/esm/dso-highlight-box.entry.js +1 -1
  99. package/dist/esm/dso-highlight-box.entry.js.map +1 -1
  100. package/dist/esm/dso-info_2.entry.js +1 -14
  101. package/dist/esm/dso-info_2.entry.js.map +1 -1
  102. package/dist/esm/dso-toolkit.js +1 -1
  103. package/dist/esm/loader.js +1 -1
  104. package/dist/types/components/date-picker-legacy/date-localization.d.ts +19 -0
  105. package/dist/types/components/date-picker-legacy/date-picker-day.d.ts +11 -0
  106. package/dist/types/components/date-picker-legacy/date-picker-legacy.d.ts +172 -0
  107. package/dist/types/components/date-picker-legacy/date-picker-legacy.interfaces.d.ts +14 -0
  108. package/dist/types/components/date-picker-legacy/date-picker-month.d.ts +20 -0
  109. package/dist/types/components/date-picker-legacy/date-utils.d.ts +46 -0
  110. package/dist/types/components/date-picker-legacy/utils/month-range.d.ts +2 -0
  111. package/dist/types/components/date-picker-legacy/utils/range.d.ts +1 -0
  112. package/dist/types/components/document-component/document-component.d.ts +9 -1
  113. package/dist/types/components/document-component/document-component.models.d.ts +8 -1
  114. package/dist/types/components/ozon-content/nodes/text.node.d.ts +2 -1
  115. package/dist/types/components/ozon-content/ozon-content-context.interface.d.ts +3 -1
  116. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +3 -1
  117. package/dist/types/components/ozon-content/ozon-content.d.ts +10 -1
  118. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +10 -0
  119. package/dist/types/components.d.ts +175 -4
  120. package/package.json +2 -2
  121. package/dist/dso-toolkit/p-000f7731.entry.js.map +0 -1
  122. package/dist/dso-toolkit/p-18152675.entry.js +0 -2
  123. package/dist/dso-toolkit/p-18152675.entry.js.map +0 -1
  124. package/dist/dso-toolkit/p-47e77e24.entry.js.map +0 -1
  125. package/dist/dso-toolkit/p-938f47d3.entry.js +0 -2
  126. package/dist/dso-toolkit/p-938f47d3.entry.js.map +0 -1
  127. package/dist/dso-toolkit/p-e88590a7.entry.js +0 -2
@@ -0,0 +1,172 @@
1
+ import { ComponentInterface, EventEmitter } from "../../stencil-public-runtime";
2
+ import { DsoDatePickerLegacyDirection, DsoDatePickerLegacyChangeEvent, DsoDatePickerLegacyFocusEvent, DsoDatePickerLegacyKeyboardEvent } from "./date-picker-legacy.interfaces";
3
+ export declare class DsoDatePickerLegacy implements ComponentInterface {
4
+ /**
5
+ * Own Properties
6
+ */
7
+ private monthSelectId;
8
+ private yearSelectId;
9
+ private dialogLabelId;
10
+ private datePickerLegacyButton;
11
+ private datePickerLegacyInput;
12
+ private firstFocusableElement;
13
+ private monthSelectNode;
14
+ private focusedDayNode;
15
+ private focusTimeoutId;
16
+ private hideTimeoutId;
17
+ private initialTouchX;
18
+ private initialTouchY;
19
+ private localization;
20
+ private firstDayOfWeek;
21
+ private previousValue;
22
+ /**
23
+ * Reference to host HTML element.
24
+ */
25
+ element: HTMLDsoDatePickerLegacyElement;
26
+ /**
27
+ * State() variables
28
+ */
29
+ activeFocus: boolean;
30
+ focusedDay: Date;
31
+ open: boolean;
32
+ visible: boolean;
33
+ /**
34
+ * Public Property API
35
+ */
36
+ /**
37
+ * Name of the date picker input.
38
+ */
39
+ name: string;
40
+ /**
41
+ * Adds a unique identifier for the date picker input. Use this instead of html `id` attribute.
42
+ */
43
+ identifier: string | undefined;
44
+ /**
45
+ * Makes the date picker input component disabled. This prevents users from being able to
46
+ * interact with the input, and conveys its inactive state to assistive technologies.
47
+ */
48
+ disabled: boolean;
49
+ /**
50
+ * Defines a specific role attribute for the date picker input.
51
+ */
52
+ role: string | null;
53
+ /**
54
+ * Forces the opening direction of the calendar modal to be always left or right.
55
+ * This setting can be useful when the input is smaller than the opening date picker
56
+ * would be as by default the picker always opens towards right.
57
+ */
58
+ direction: DsoDatePickerLegacyDirection;
59
+ /**
60
+ * Should the input be marked as required?
61
+ */
62
+ required: boolean;
63
+ /**
64
+ * Is input invalid?
65
+ */
66
+ invalid?: boolean;
67
+ /**
68
+ * ID of element that describes the input element
69
+ */
70
+ describedBy?: string;
71
+ /**
72
+ * Should the input be focused on load?
73
+ */
74
+ dsoAutofocus: boolean;
75
+ /**
76
+ * Date value. Must be in Dutch date format: DD-MM-YYYY.
77
+ */
78
+ value: string;
79
+ /**
80
+ * Minimum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.
81
+ * This setting can be used alone or together with the max property.
82
+ */
83
+ min: string | undefined;
84
+ /**
85
+ * Maximum date allowed to be picked. Must be in Dutch date format: DD-MM-YYYY.
86
+ * This setting can be used alone or together with the min property.
87
+ */
88
+ max: string | undefined;
89
+ /**
90
+ * Events section.
91
+ */
92
+ /**
93
+ * Event emitted when a date is selected.
94
+ */
95
+ dsoDateChange: EventEmitter<DsoDatePickerLegacyChangeEvent>;
96
+ /**
97
+ * Event emitted the date picker input is blurred.
98
+ */
99
+ dsoBlur: EventEmitter<DsoDatePickerLegacyFocusEvent>;
100
+ /**
101
+ * Event emitted on key up in the date picker input.
102
+ */
103
+ dsoKeyUp: EventEmitter<DsoDatePickerLegacyKeyboardEvent>;
104
+ /**
105
+ * Event emitted on key down in the date picker input.
106
+ */
107
+ dsoKeyDown: EventEmitter<DsoDatePickerLegacyKeyboardEvent>;
108
+ /**
109
+ * Event emitted the date picker input is focused.
110
+ */
111
+ dsoFocus: EventEmitter<DsoDatePickerLegacyFocusEvent>;
112
+ /**
113
+ * Component event handling.
114
+ */
115
+ handleDocumentClick(e: MouseEvent): void;
116
+ /**
117
+ * Sets focus on the date picker's input. Use this method instead of the global `focus()`.
118
+ */
119
+ setFocus(): Promise<void | undefined>;
120
+ /**
121
+ * Public methods API
122
+ */
123
+ /**
124
+ * Show the calendar modal, moving focus to the calendar inside.
125
+ */
126
+ show(): Promise<void>;
127
+ /**
128
+ * Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus
129
+ * returning to the date picker's button. Default is true.
130
+ */
131
+ hide(moveFocusToButton?: boolean): Promise<void>;
132
+ /**
133
+ * Local methods.
134
+ */
135
+ private enableActiveFocus;
136
+ private disableActiveFocus;
137
+ private addDays;
138
+ private addMonths;
139
+ private addYears;
140
+ private startOfWeek;
141
+ private endOfWeek;
142
+ private setMonth;
143
+ private setYear;
144
+ private setFocusedDay;
145
+ private toggleOpen;
146
+ private handleEscKey;
147
+ private handleBlur;
148
+ private handleKeyUp;
149
+ private handleKeyDown;
150
+ private handleFocus;
151
+ private handleTouchStart;
152
+ private handleTouchMove;
153
+ private handleTouchEnd;
154
+ private handleNextMonthClick;
155
+ private handlePreviousMonthClick;
156
+ private handleFirstFocusableKeydown;
157
+ private handleKeyboardNavigation;
158
+ private handleDaySelect;
159
+ private handleMonthSelect;
160
+ private handleYearSelect;
161
+ private handleInputChange;
162
+ private setValue;
163
+ private prepareEvent;
164
+ private processFocusedDayNode;
165
+ componentWillLoad(): void | Promise<void>;
166
+ componentDidLoad(): void;
167
+ /**
168
+ * render() function
169
+ * Always the last one in the class.
170
+ */
171
+ render(): any;
172
+ }
@@ -0,0 +1,14 @@
1
+ export type DsoDatePickerLegacyChangeEvent = {
2
+ component: "dso-date-picker-legacy";
3
+ valueAsDate: Date | undefined;
4
+ value: string;
5
+ error?: "invalid" | "required" | "min-range" | "max-range";
6
+ };
7
+ export type DsoDatePickerLegacyFocusEvent = {
8
+ component: "dso-date-picker-legacy";
9
+ };
10
+ export type DsoDatePickerLegacyKeyboardEvent = {
11
+ component: "dso-date-picker-legacy";
12
+ originalEvent: KeyboardEvent;
13
+ };
14
+ export type DsoDatePickerLegacyDirection = "left" | "right";
@@ -0,0 +1,20 @@
1
+ import { FunctionalComponent } from "../../stencil-public-runtime";
2
+ import { DsoLocalizedText } from "./date-localization";
3
+ import { DatePickerLegacyDayProps } from "./date-picker-day";
4
+ import { DaysOfWeek } from "./date-utils";
5
+ type DatePickerLegacyMonthProps = {
6
+ selectedDate: Date | undefined;
7
+ focusedDate: Date;
8
+ labelledById: string;
9
+ localization: DsoLocalizedText;
10
+ firstDayOfWeek: DaysOfWeek;
11
+ min?: Date;
12
+ max?: Date;
13
+ onDateSelect: DatePickerLegacyDayProps["onDaySelect"];
14
+ onKeyboardNavigation: DatePickerLegacyDayProps["onKeyboardNavigation"];
15
+ focusedDayRef: (element: HTMLButtonElement) => void;
16
+ onFocusIn?: (e: FocusEvent) => void;
17
+ onMouseDown?: (e: MouseEvent) => void;
18
+ };
19
+ export declare const DatePickerLegacyMonth: FunctionalComponent<DatePickerLegacyMonthProps>;
20
+ export {};
@@ -0,0 +1,46 @@
1
+ export declare enum DaysOfWeek {
2
+ Sunday = 0,
3
+ Monday = 1,
4
+ Tuesday = 2,
5
+ Wednesday = 3,
6
+ Thursday = 4,
7
+ Friday = 5,
8
+ Saturday = 6
9
+ }
10
+ export declare function createDate(year: string, month: string, day: string): Date | undefined;
11
+ /**
12
+ * @param value date string in Dutch format D-M-YYYY
13
+ */
14
+ export declare function parseDutchDate(value: string | undefined): Date | undefined;
15
+ /**
16
+ * print date in format DD-MM-YYYY
17
+ * @param date
18
+ */
19
+ export declare function printDutchDate(date: Date | undefined): string;
20
+ /**
21
+ * Compare if two dates are equal in terms of day, month, and year
22
+ */
23
+ export declare function isEqual(a: Date | undefined, b: Date | undefined): boolean;
24
+ export declare function addDays(date: Date, days: number): Date;
25
+ export declare function addMonths(date: Date, months: number): Date;
26
+ export declare function addYears(date: Date, years: number): Date;
27
+ export declare function startOfWeek(date: Date, firstDayOfWeek?: DaysOfWeek): Date;
28
+ export declare function endOfWeek(date: Date, firstDayOfWeek?: DaysOfWeek): Date;
29
+ export declare function startOfMonth(date: Date): Date;
30
+ export declare function endOfMonth(date: Date): Date;
31
+ export declare function setMonth(date: Date, month: number): Date;
32
+ export declare function setYear(date: Date, year: number): Date;
33
+ /**
34
+ * Check if date is within a min and max
35
+ */
36
+ export declare function inRange(date: Date, min?: Date, max?: Date): boolean;
37
+ /**
38
+ * Ensures date is within range, returns min or max if out of bounds
39
+ */
40
+ export declare function clamp(date: Date, min?: Date, max?: Date): Date;
41
+ /**
42
+ * given a date, return an array of dates from a calendar perspective
43
+ * @param date
44
+ * @param firstDayOfWeek
45
+ */
46
+ export declare function getViewOfMonth(date: Date, firstDayOfWeek?: DaysOfWeek): Date[];
@@ -0,0 +1,2 @@
1
+ import { DsoLocalizedText } from "../date-localization";
2
+ export declare function monthRange(localization: DsoLocalizedText, selectedYear: number, minDate?: Date, maxDate?: Date): string[];
@@ -0,0 +1 @@
1
+ export declare function range(from: number, to: number): number[];
@@ -1,5 +1,5 @@
1
1
  import { ComponentInterface, EventEmitter } from "../../stencil-public-runtime";
2
- import { DocumentComponentOpenToggleEvent, DocumentComponentToggleAnnotationEvent, DocumentComponentOzonContentAnchorClickEvent, DocumentComponentWijzigactie, DocumentComponentInputType } from "./document-component.models";
2
+ import { DocumentComponentOpenToggleEvent, DocumentComponentToggleAnnotationEvent, DocumentComponentOzonContentAnchorClickEvent, DocumentComponentWijzigactie, DocumentComponentInputType, DocumentComponentMarkFunction, DocumentComponentMarkItemHighlightEvent } from "./document-component.models";
3
3
  export declare class DocumentComponent implements ComponentInterface {
4
4
  /**
5
5
  * The heading element to use.
@@ -69,6 +69,10 @@ export declare class DocumentComponent implements ComponentInterface {
69
69
  * The wijzigactie as in STOP.
70
70
  */
71
71
  wijzigactie?: DocumentComponentWijzigactie;
72
+ /**
73
+ * Voor het markeren in content.
74
+ */
75
+ mark?: DocumentComponentMarkFunction;
72
76
  /**
73
77
  * Emitted when the user activates the toggle.
74
78
  */
@@ -81,6 +85,10 @@ export declare class DocumentComponent implements ComponentInterface {
81
85
  * Emitted when the user activates the annotation button.
82
86
  */
83
87
  dsoAnnotationToggle: EventEmitter<DocumentComponentToggleAnnotationEvent>;
88
+ /**
89
+ * Emitted each time a marked item gets highlighted.
90
+ */
91
+ dsoMarkItemHighlight: EventEmitter<DocumentComponentMarkItemHighlightEvent>;
84
92
  private get wijzigactieLabel();
85
93
  private handleHeadingClick;
86
94
  private suffix;
@@ -1,5 +1,5 @@
1
1
  import { DsoOzonContentCustomEvent } from "../../components";
2
- import { OzonContentAnchorClickEvent } from "../ozon-content/ozon-content.interfaces";
2
+ import { OzonContentAnchorClickEvent, OzonContentText } from "../ozon-content/ozon-content.interfaces";
3
3
  export interface DocumentComponentOpenToggleEvent {
4
4
  originalEvent: Event;
5
5
  open: boolean;
@@ -13,3 +13,10 @@ export interface DocumentComponentOzonContentAnchorClickEvent {
13
13
  ozonContentAnchorClick: OzonContentAnchorClickEvent;
14
14
  }
15
15
  export type DocumentComponentInputType = XMLDocument | string;
16
+ export type DocumentComponentSource = "label" | "nummer" | "opschrift" | "inhoud";
17
+ export type DocumentComponentMarkFunction = (text: string, source: DocumentComponentSource) => OzonContentText[];
18
+ export interface DocumentComponentMarkItemHighlightEvent {
19
+ source: DocumentComponentSource;
20
+ text: string;
21
+ elementRef: HTMLElement;
22
+ }
@@ -1,5 +1,6 @@
1
1
  import { OzonContentNode } from "../ozon-content-node.interface";
2
+ import { OzonContentNodeContext } from "../ozon-content-node-context.interface";
2
3
  export declare class OzonContentTextNode implements OzonContentNode {
3
4
  name: string;
4
- render(node: Node): any;
5
+ render({ textContent }: Node, { mark, emitMarkItemHighlight }: OzonContentNodeContext): any;
5
6
  }
@@ -1,9 +1,11 @@
1
1
  import { EventEmitter } from "../../stencil-public-runtime";
2
2
  import { OzonContentNodeState } from "./ozon-content-node-state.interface";
3
- import { OzonContentAnchorClickEvent } from "./ozon-content.interfaces";
3
+ import { OzonContentAnchorClickEvent, OzonContentMarkFunction } from "./ozon-content.interfaces";
4
4
  export interface OzonContentContext {
5
5
  state: OzonContentNodeState;
6
6
  inline: boolean;
7
+ mark: OzonContentMarkFunction | undefined;
7
8
  setState(state: OzonContentNodeState): void;
8
9
  emitAnchorClick: EventEmitter<OzonContentAnchorClickEvent>["emit"];
10
+ emitMarkItemHighlight(text: string, ref: HTMLElement): void;
9
11
  }
@@ -1,10 +1,12 @@
1
1
  import { JSX } from "../../stencil-public-runtime";
2
- import { OzonContentAnchorClickEvent } from "./ozon-content.interfaces";
2
+ import { OzonContentAnchorClickEvent, OzonContentMarkFunction } from "./ozon-content.interfaces";
3
3
  export interface OzonContentNodeContext<T = unknown> {
4
4
  inline: boolean;
5
5
  path: Node[];
6
+ mark: OzonContentMarkFunction | undefined;
6
7
  mapNodeToJsx(node: Node | Node[] | NodeList): JSX.Element;
7
8
  emitAnchorClick(event: OzonContentAnchorClickEvent): void;
8
9
  state?: T;
9
10
  setState?(state: T): void;
11
+ emitMarkItemHighlight(text: string, elementRef: HTMLElement): void;
10
12
  }
@@ -1,5 +1,5 @@
1
1
  import { ComponentInterface, EventEmitter, JSX } from "../../stencil-public-runtime";
2
- import { OzonContentAnchorClickEvent, OzonContentInputType } from "./ozon-content.interfaces";
2
+ import { OzonContentAnchorClickEvent, OzonContentInputType, OzonContentMarkFunction, OzonContentMarkItemHighlightEvent } from "./ozon-content.interfaces";
3
3
  import { OzonContentNodeState } from "./ozon-content-node-state.interface";
4
4
  export declare class OzonContent implements ComponentInterface {
5
5
  /**
@@ -10,11 +10,20 @@ export declare class OzonContent implements ComponentInterface {
10
10
  * Setting this property creates dso-ozon-content as inline element instead of a block element.
11
11
  */
12
12
  inline: boolean;
13
+ /**
14
+ * To mark text.
15
+ */
16
+ mark?: OzonContentMarkFunction;
13
17
  /**
14
18
  * Emitted when `<a>` is clicked.
15
19
  */
16
20
  dsoAnchorClick: EventEmitter<OzonContentAnchorClickEvent>;
21
+ /**
22
+ * Emitted when a marked item is highlighted.
23
+ */
24
+ dsoOzonContentMarkItemHighlight: EventEmitter<OzonContentMarkItemHighlightEvent>;
17
25
  contentWatcher(): void;
18
26
  state: OzonContentNodeState;
27
+ private handleMarkItemHighlight;
19
28
  render(): JSX.Element;
20
29
  }
@@ -6,3 +6,13 @@ export interface OzonContentAnchorClickEvent {
6
6
  originalEvent: MouseEvent;
7
7
  }
8
8
  export type OzonContentInputType = XMLDocument | string;
9
+ export type OzonContentMarkFunction = (text: string) => OzonContentText[] | undefined;
10
+ export type OzonContentText = OzonContentMarkItem | string;
11
+ export interface OzonContentMarkItem {
12
+ text: string;
13
+ highlight?: boolean;
14
+ }
15
+ export interface OzonContentMarkItemHighlightEvent {
16
+ text: string;
17
+ elementRef: HTMLElement;
18
+ }