@ni/nimble-components 20.16.1 → 20.16.3

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 (68) hide show
  1. package/dist/all-components-bundle.js +802 -264
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +3417 -3290
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/rich-text/base/index.d.ts +1 -4
  6. package/dist/esm/rich-text/base/index.js +2 -2
  7. package/dist/esm/rich-text/base/index.js.map +1 -1
  8. package/dist/esm/rich-text/editor/index.d.ts +50 -0
  9. package/dist/esm/rich-text/editor/index.js +110 -8
  10. package/dist/esm/rich-text/editor/index.js.map +1 -1
  11. package/dist/esm/rich-text/editor/models/create-tiptap-editor.d.ts +3 -1
  12. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js +45 -6
  13. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js.map +1 -1
  14. package/dist/esm/rich-text/editor/template.js +29 -2
  15. package/dist/esm/rich-text/editor/template.js.map +1 -1
  16. package/dist/esm/rich-text/editor/testing/rich-text-editor-utils.d.ts +6 -0
  17. package/dist/esm/rich-text/editor/testing/rich-text-editor-utils.js +52 -0
  18. package/dist/esm/rich-text/editor/testing/rich-text-editor-utils.js.map +1 -0
  19. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.d.ts +20 -3
  20. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js +117 -10
  21. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
  22. package/dist/esm/rich-text/editor/testing/types.d.ts +7 -0
  23. package/dist/esm/rich-text/editor/testing/types.js +7 -0
  24. package/dist/esm/rich-text/editor/testing/types.js.map +1 -1
  25. package/dist/esm/rich-text/editor/types.d.ts +13 -0
  26. package/dist/esm/rich-text/editor/types.js.map +1 -1
  27. package/dist/esm/rich-text/mention-listbox/index.d.ts +116 -0
  28. package/dist/esm/rich-text/mention-listbox/index.js +234 -0
  29. package/dist/esm/rich-text/mention-listbox/index.js.map +1 -0
  30. package/dist/esm/rich-text/mention-listbox/styles.d.ts +1 -0
  31. package/dist/esm/rich-text/mention-listbox/styles.js +22 -0
  32. package/dist/esm/rich-text/mention-listbox/styles.js.map +1 -0
  33. package/dist/esm/rich-text/mention-listbox/template.d.ts +2 -0
  34. package/dist/esm/rich-text/mention-listbox/template.js +33 -0
  35. package/dist/esm/rich-text/mention-listbox/template.js.map +1 -0
  36. package/dist/esm/rich-text/mention-listbox/types.d.ts +7 -0
  37. package/dist/esm/rich-text/mention-listbox/types.js +2 -0
  38. package/dist/esm/rich-text/mention-listbox/types.js.map +1 -0
  39. package/dist/esm/rich-text/models/markdown-parser.js +10 -2
  40. package/dist/esm/rich-text/models/markdown-parser.js.map +1 -1
  41. package/dist/esm/rich-text/models/mention-extension-configuration.d.ts +6 -1
  42. package/dist/esm/rich-text/models/mention-extension-configuration.js +6 -0
  43. package/dist/esm/rich-text/models/mention-extension-configuration.js.map +1 -1
  44. package/dist/esm/rich-text-mention/base/index.d.ts +6 -0
  45. package/dist/esm/rich-text-mention/base/index.js +9 -1
  46. package/dist/esm/rich-text-mention/base/index.js.map +1 -1
  47. package/dist/esm/rich-text-mention/base/models/mention-internals.d.ts +7 -2
  48. package/dist/esm/rich-text-mention/base/models/mention-internals.js +5 -2
  49. package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -1
  50. package/dist/esm/rich-text-mention/users/index.d.ts +1 -0
  51. package/dist/esm/rich-text-mention/users/index.js +3 -0
  52. package/dist/esm/rich-text-mention/users/index.js.map +1 -1
  53. package/dist/esm/rich-text-mention/users/view/styles.js +5 -1
  54. package/dist/esm/rich-text-mention/users/view/styles.js.map +1 -1
  55. package/dist/esm/utilities/models/string-normalizers.d.ts +5 -0
  56. package/dist/esm/utilities/models/string-normalizers.js +13 -0
  57. package/dist/esm/utilities/models/string-normalizers.js.map +1 -0
  58. package/dist/esm/wafer-map/index.d.ts +2 -2
  59. package/dist/esm/wafer-map/index.js +4 -4
  60. package/dist/esm/wafer-map/index.js.map +1 -1
  61. package/dist/esm/wafer-map/modules/prerendering.d.ts +1 -0
  62. package/dist/esm/wafer-map/modules/prerendering.js +26 -30
  63. package/dist/esm/wafer-map/modules/prerendering.js.map +1 -1
  64. package/dist/esm/wafer-map/modules/wafer-map-update-tracker.d.ts +1 -1
  65. package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js +5 -5
  66. package/dist/esm/wafer-map/modules/wafer-map-update-tracker.js.map +1 -1
  67. package/dist/esm/wafer-map/types.d.ts +1 -0
  68. package/package.json +2 -1
@@ -0,0 +1,234 @@
1
+ import { __decorate } from "tslib";
2
+ import { Observable, observable } from '@microsoft/fast-element';
3
+ import { DesignSystem, ListboxElement as FoundationListbox } from '@microsoft/fast-foundation';
4
+ import { keyEnter, keyEscape, keyTab } from '@microsoft/fast-web-utilities';
5
+ import { styles } from './styles';
6
+ import { template } from './template';
7
+ import { diacriticInsensitiveStringNormalizer } from '../../utilities/models/string-normalizers';
8
+ /**
9
+ * A rich text mention listbox which acts as a popup for "@mention" support in editor
10
+ */
11
+ export class RichTextMentionListbox extends FoundationListbox {
12
+ constructor() {
13
+ super(...arguments);
14
+ /**
15
+ * @internal
16
+ */
17
+ this.filter = '';
18
+ /**
19
+ * The collection of currently filtered options.
20
+ * The approach is defined based on the `Combobox.filteredOptions` implementation.
21
+ *
22
+ * @internal
23
+ */
24
+ this.filteredOptions = [];
25
+ this.anchorElementIntersectionObserver = new IntersectionObserver(entries => {
26
+ if (!entries[0]?.isIntersecting) {
27
+ this.setOpen(false);
28
+ }
29
+ }, { threshold: 1.0, root: document });
30
+ }
31
+ /**
32
+ * @public
33
+ */
34
+ close() {
35
+ this.setOpen(false);
36
+ }
37
+ /**
38
+ * The list of options.
39
+ *
40
+ * @public
41
+ * @remarks
42
+ * Overrides `Listbox.options`.
43
+ */
44
+ get options() {
45
+ Observable.track(this, 'options');
46
+ return this.filteredOptions?.length ? this.filteredOptions : [];
47
+ }
48
+ set options(value) {
49
+ this._options = value;
50
+ Observable.notify(this, 'options');
51
+ }
52
+ /**
53
+ * Triggers when the mention plugin is activated upon pressing the `key`
54
+ *
55
+ * @public
56
+ */
57
+ show(options) {
58
+ this.filter = options.filter;
59
+ this.anchorElement = options.anchorNode;
60
+ this.setOpen(true);
61
+ this.filterOptions();
62
+ }
63
+ /**
64
+ * Handle keydown actions for listbox navigation and selection.
65
+ *
66
+ * @param e - the keyboard event
67
+ * @public
68
+ */
69
+ keydownHandler(event) {
70
+ if (!this.open) {
71
+ return false;
72
+ }
73
+ switch (event.key) {
74
+ case keyTab:
75
+ case keyEnter: {
76
+ if (!this.hasSelectableOptions) {
77
+ return false;
78
+ }
79
+ const mentionDetail = {
80
+ href: this.firstSelectedOption.value,
81
+ displayName: this.firstSelectedOption.text
82
+ };
83
+ this.emitMentionSelected(mentionDetail);
84
+ return true;
85
+ }
86
+ case keyEscape: {
87
+ this.setOpen(false);
88
+ return false;
89
+ }
90
+ default: {
91
+ super.keydownHandler(event);
92
+ return false;
93
+ }
94
+ }
95
+ }
96
+ /**
97
+ * Filter available options by filter value.
98
+ * The method is defined based on the `Combobox.filterOptions` and `Combobox.inputHandler` implementation.
99
+ *
100
+ * @internal
101
+ */
102
+ filterOptions() {
103
+ if (!this.filter) {
104
+ this.filteredOptions = this._options;
105
+ }
106
+ else {
107
+ const normalizedFilter = diacriticInsensitiveStringNormalizer(this.filter);
108
+ this.filteredOptions = this._options.filter(o => diacriticInsensitiveStringNormalizer(o.text).includes(normalizedFilter));
109
+ }
110
+ this._options.forEach(o => {
111
+ o.hidden = !this.filteredOptions.includes(o);
112
+ });
113
+ if (this.filteredOptions.length) {
114
+ this.selectedOptions = [this.filteredOptions[0]];
115
+ this.selectedIndex = this.options.indexOf(this.firstSelectedOption);
116
+ }
117
+ else {
118
+ this.selectedOptions = [];
119
+ this.selectedIndex = -1;
120
+ }
121
+ }
122
+ /**
123
+ * Synchronize the form-associated proxy and update the value property of the element.
124
+ *
125
+ * @param prev - the previous collection of slotted option elements
126
+ * @param next - the next collection of slotted option elements
127
+ *
128
+ * @internal
129
+ */
130
+ slottedOptionsChanged(prev, next) {
131
+ super.slottedOptionsChanged(prev, next);
132
+ this.filterOptions();
133
+ }
134
+ /**
135
+ * Triggers the `suggestionProps` command to notify the tiptap editor to select the option.
136
+ * The method is defined based on the `Listbox.clickHandler` implementation.
137
+ *
138
+ * @internal
139
+ */
140
+ clickHandler(e) {
141
+ const capturedElement = e.target.closest('option,[role=option]');
142
+ const capturedListOption = capturedElement;
143
+ if (!capturedListOption || capturedListOption.disabled) {
144
+ return false;
145
+ }
146
+ const mentionDetail = {
147
+ href: capturedListOption.value,
148
+ displayName: capturedListOption.text
149
+ };
150
+ this.emitMentionSelected(mentionDetail);
151
+ return true;
152
+ }
153
+ /**
154
+ * Observes the anchor element using intersection observer.
155
+ * Once the anchor element intersects, the anchor region will be closed.
156
+ *
157
+ * @internal
158
+ */
159
+ anchorElementChanged(prev, next) {
160
+ if (prev) {
161
+ this.anchorElementIntersectionObserver.unobserve(prev);
162
+ }
163
+ if (this.region && this.anchorElement) {
164
+ this.region.anchorElement = this.anchorElement;
165
+ this.region.update();
166
+ this.anchorElementIntersectionObserver.observe(next);
167
+ }
168
+ }
169
+ /**
170
+ * Observes the anchor region.
171
+ *
172
+ * @internal
173
+ */
174
+ regionChanged() {
175
+ if (this.regionNotifier) {
176
+ this.regionNotifier.unsubscribe(this);
177
+ }
178
+ this.regionNotifier = Observable.getNotifier(this.region);
179
+ this.regionNotifier.subscribe(this);
180
+ }
181
+ /**
182
+ * Handles the events of the anchored region.
183
+ * Repositions the listbox scroll bar when the `initialLayoutComplete` event is triggered.
184
+ * Other events will be passed to the base class.
185
+ *
186
+ * @internal
187
+ */
188
+ handleChange(source, args) {
189
+ super.handleChange(source, args);
190
+ if (args === 'initialLayoutComplete') {
191
+ this.focusAndScrollOptionIntoView();
192
+ }
193
+ }
194
+ /**
195
+ * Focus the control and scroll the first selected option into view.
196
+ *
197
+ * @internal
198
+ * @remarks
199
+ * Overrides: `Listbox.focusAndScrollOptionIntoView`
200
+ */
201
+ focusAndScrollOptionIntoView() {
202
+ if (this.firstSelectedOption) {
203
+ requestAnimationFrame(() => {
204
+ this.firstSelectedOption?.scrollIntoView({ block: 'nearest' });
205
+ });
206
+ }
207
+ }
208
+ emitMentionSelected(mentionDetail) {
209
+ this.$emit('mention-selected', mentionDetail);
210
+ this.setOpen(false);
211
+ }
212
+ setOpen(value) {
213
+ this.open = value;
214
+ }
215
+ }
216
+ __decorate([
217
+ observable
218
+ ], RichTextMentionListbox.prototype, "open", void 0);
219
+ __decorate([
220
+ observable
221
+ ], RichTextMentionListbox.prototype, "region", void 0);
222
+ __decorate([
223
+ observable
224
+ ], RichTextMentionListbox.prototype, "anchorElement", void 0);
225
+ const nimbleRichTextMentionListbox = RichTextMentionListbox.compose({
226
+ baseName: 'rich-text-mention-listbox',
227
+ template,
228
+ styles
229
+ });
230
+ DesignSystem.getOrCreate()
231
+ .withPrefix('nimble')
232
+ .register(nimbleRichTextMentionListbox());
233
+ export const richTextMentionListboxTag = DesignSystem.tagFor(RichTextMentionListbox);
234
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text/mention-listbox/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
@@ -0,0 +1,22 @@
1
+ import { css } from '@microsoft/fast-element';
2
+ import { styles as dropdownStyles } from '../../patterns/dropdown/styles';
3
+ import { focusVisible } from '../../utilities/style/focus';
4
+ import { controlHeight, menuMinWidth } from '../../theme-provider/design-tokens';
5
+ export const styles = css `
6
+ ${dropdownStyles}
7
+
8
+ :host {
9
+ height: auto;
10
+ }
11
+
12
+ :host(:hover)::after,
13
+ :host(${focusVisible})::after {
14
+ width: auto;
15
+ }
16
+
17
+ .listbox {
18
+ min-width: ${menuMinWidth};
19
+ max-height: calc(5.5 * ${controlHeight});
20
+ }
21
+ `;
22
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/rich-text/mention-listbox/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACH,aAAa,EACb,YAAY,EACf,MAAM,oCAAoC,CAAC;AAE5C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,cAAc;;;;;;;YAOR,YAAY;;;;;qBAKH,YAAY;iCACA,aAAa;;CAE7C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { RichTextMentionListbox } from '.';
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<RichTextMentionListbox, any>;
@@ -0,0 +1,33 @@
1
+ import { html, ref, slotted } from '@microsoft/fast-element';
2
+ import { Listbox } from '../../listbox';
3
+ import { anchoredRegionTag } from '../../anchored-region';
4
+ // prettier-ignore
5
+ export const template = html `
6
+ <template>
7
+ <${anchoredRegionTag}
8
+ ${ref('region')}
9
+ class="anchored-region"
10
+ fixed-placement
11
+ auto-update-mode="auto"
12
+ vertical-default-position="bottom"
13
+ vertical-positioning-mode="locktodefault"
14
+ horizontal-default-position="center"
15
+ horizontal-positioning-mode="locktodefault"
16
+ horizontal-scaling="anchor"
17
+ ?hidden="${x => !x.open}">
18
+ <div
19
+ class="listbox"
20
+ part="listbox"
21
+ role="listbox"
22
+ @click="${(x, c) => x.clickHandler(c.event)}"
23
+ ?disabled="${x => x.disabled}"
24
+ >
25
+ <slot
26
+ ${slotted({ filter: (n) => n instanceof HTMLElement && Listbox.slottedOptionFilter(n), flatten: true, property: 'slottedOptions' })}
27
+ >
28
+ </slot>
29
+ </div>
30
+ </${anchoredRegionTag}>
31
+ </template>
32
+ `;
33
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/rich-text/mention-listbox/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,kBAAkB;AAClB,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAwB;;WAEzC,iBAAiB;cACd,GAAG,CAAC,QAAQ,CAAC;;;;;;;;;uBASJ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;;;;;0BAKT,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAmB,CAAC;6BAC5C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ;;;sBAGtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,YAAY,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;;;;gBAI7I,iBAAiB;;CAEhC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Options passed to the `show()` method of the mention listbox
3
+ */
4
+ export interface MentionListboxShowOptions {
5
+ anchorNode: HTMLElement;
6
+ filter: string;
7
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/rich-text/mention-listbox/types.ts"],"names":[],"mappings":""}
@@ -65,7 +65,11 @@ export class RichTextMarkdownParser {
65
65
  link: {
66
66
  attrs: {
67
67
  href: {},
68
- rel: { default: 'noopener noreferrer' }
68
+ rel: { default: 'noopener noreferrer' },
69
+ // Adding `class` here is a workaround to render two mentions without a whitespace as display names
70
+ // This attribute can be removed when the below issue is resolved
71
+ // https://github.com/ni/nimble/issues/1707
72
+ class: { default: '' }
69
73
  },
70
74
  // Inclusive can be updated when hyperlink support added
71
75
  // See: https://github.com/ni/nimble/issues/1527
@@ -99,7 +103,11 @@ export class RichTextMarkdownParser {
99
103
  * With this, the user can click the links only when the scheme is HTTP/HTTPS
100
104
  */
101
105
  href: /^https?:\/\//i.test(href) ? href : null,
102
- rel: node.attrs.rel
106
+ rel: node.attrs.rel,
107
+ // Adding `class` here is a workaround to render two mentions without a whitespace as display names
108
+ // This attribute can be removed when the below issue is resolved
109
+ // https://github.com/ni/nimble/issues/1707
110
+ class: href
103
111
  }
104
112
  ];
105
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-parser.js","sourceRoot":"","sources":["../../../../src/rich-text/models/markdown-parser.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,MAAM,EACN,qBAAqB,EACrB,cAAc,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQzC;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAgB/B;;;;OAIG;IACI,MAAM,CAAC,kBAAkB,CAC5B,KAAa,EACb,2BAAkE;QAElE,IAAI;YACA,sBAAsB,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC1D,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,qBAAqB,KAAK,IAAI,EAAE;gBAChC,OAAO;oBACH,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,EAAE;oBAC3C,cAAc,EAAE,KAAK,CAAC,IAAI,CACtB,sBAAsB,CAAC,cAAc,CACxC;iBACJ,CAAC;aACL;YACD,OAAO;gBACH,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAC1C,qBAAqB,CAAC,OAAO,CAChC;gBACD,cAAc,EAAE,KAAK,CAAC,IAAI,CACtB,sBAAsB,CAAC,cAAc,CACxC;aACJ,CAAC;SACL;gBAAS;YACN,sBAAsB,CAAC,OAAO,EAAE,CAAC;SACpC;IACL,CAAC;IAEO,MAAM,CAAC,wBAAwB;QACnC;;;;;WAKG;QACH,MAAM,0BAA0B,GAAG,qBAAqB,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAErF,uGAAuG;QACvG,oCAAoC;QACpC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC,MAAM,CAAC;YAC9D,UAAU;YACV,MAAM;YACN,QAAQ;YACR,UAAU;YACV,SAAS;SACZ,CAAC,CAAC;QAEH;;;;;;;WAOG;QACH,uBAAuB,CAAC,iBAAiB,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC;QAEvD,OAAO,IAAI,cAAc,CACrB,IAAI,CAAC,aAAa,EAClB,uBAAuB,EACvB,qBAAqB,CAAC,MAAM,CAC/B,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,4BAA4B;QACvC,OAAO,IAAI,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;YACxB,KAAK,EAAE;gBACH,IAAI,EAAE;oBACF,KAAK,EAAE;wBACH,IAAI,EAAE,EAAE;wBACR,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE;qBAC1C;oBACD,wDAAwD;oBACxD,gDAAgD;oBAChD,SAAS,EAAE,KAAK;oBAChB,+DAA+D;oBAC/D,gDAAgD;oBAChD,QAAQ,EAAE,GAAG;oBACb,KAAK,CAAC,IAAI;wBACN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAc,CAAC;wBACvC,MAAM,cAAc,GAAG,sBAAsB,CAAC,cAAc,EAAE,IAAI,CAC9D,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAC9C,CAAC;wBACF,MAAM,WAAW,GAAG,cAAc,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;wBAEzD,IAAI,cAAc,IAAI,WAAW,EAAE;4BAC/B,sBAAsB,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4BAEhD,OAAO;gCACH,cAAc,CAAC,WAAW;gCAC1B;oCACI,cAAc,EAAE,IAAI;oCACpB,eAAe,EAAE,WAAW;oCAC5B,iBAAiB,EAAE,IAAI;iCAC1B;6BACJ,CAAC;yBACL;wBAED,OAAO;4BACH,SAAS;4BACT;gCACI;;;;;;mCAMG;gCACH,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gCAC9C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAW;6BAC9B;yBACJ,CAAC;oBACN,CAAC;iBACJ;gBACD,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAE;gBAChC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAE;aAC3C;SACJ,CAAC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,KAAK,CAChB,2BAEW;QAEX,sBAAsB,CAAC,cAAc,GAAG,2BAA2B,CAAC;QACpE,sBAAsB,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;IAEO,MAAM,CAAC,OAAO;QAClB,sBAAsB,CAAC,cAAc,GAAG,SAAS,CAAC;QAClD,sBAAsB,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;;;AAzJuB,qCAAc,GAAgB,IAAI,GAAG,EAAE,CAAC;AACxC,oCAAa,GAAG,EAAI,CAAC,4BAA4B,EAAE,CAAC;AAEpD,qCAAc,GAAG,EAAI,CAAC,wBAAwB,EAAE,CAAC;AACjD,oCAAa,GAAG,aAAa,CAAC,UAAU,CAC5D,EAAI,CAAC,aAAa,CACrB,CAAC"}
1
+ {"version":3,"file":"markdown-parser.js","sourceRoot":"","sources":["../../../../src/rich-text/models/markdown-parser.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
+ import type { ViewTemplate } from '@microsoft/fast-element';
1
2
  import type { MentionInternals } from '../../rich-text-mention/base/models/mention-internals';
2
- import type { MentionUpdateEmitter } from '../../rich-text-mention/base/types';
3
+ import type { MappingConfigs, MentionUpdateEmitter } from '../../rich-text-mention/base/types';
3
4
  /**
4
5
  * A configuration object for a Mention extension, to be used by the editor for loading mention plugins in tiptap.
5
6
  * This object maintains the necessary internal values for loading mention extension.
6
7
  */
7
8
  export declare class MentionExtensionConfiguration {
8
9
  private static instance;
10
+ readonly iconTemplate: ViewTemplate;
9
11
  readonly viewElement: string;
10
12
  readonly character: string;
11
13
  readonly name: string;
12
14
  readonly key: string;
15
+ readonly mappingConfigs?: MappingConfigs;
16
+ readonly buttonLabel: string;
13
17
  readonly mentionUpdateEmitter: MentionUpdateEmitter;
14
18
  constructor(mentionInternals: MentionInternals);
19
+ static isObservedMentionInternalsProperty(arg: unknown): boolean;
15
20
  }
@@ -11,8 +11,14 @@ export class MentionExtensionConfiguration {
11
11
  this.key = key;
12
12
  this.viewElement = mentionInternals.viewElement;
13
13
  this.character = mentionInternals.character;
14
+ this.mappingConfigs = mentionInternals.mappingConfigs;
15
+ this.iconTemplate = mentionInternals.iconTemplate;
16
+ this.buttonLabel = mentionInternals.buttonLabel ?? '';
14
17
  this.mentionUpdateEmitter = mentionInternals.mentionUpdateEmitter;
15
18
  }
19
+ static isObservedMentionInternalsProperty(arg) {
20
+ return typeof arg === 'string' && ['buttonLabel'].includes(arg);
21
+ }
16
22
  }
17
23
  MentionExtensionConfiguration.instance = 0;
18
24
  //# sourceMappingURL=mention-extension-configuration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mention-extension-configuration.js","sourceRoot":"","sources":["../../../../src/rich-text/models/mention-extension-configuration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;GAGG;AACH,MAAM,OAAO,6BAA6B;IAStC,YAAmB,gBAAkC;QACjD,6BAA6B,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,mBAAmB,GAAG,6BAA6B,CAAC,QAAQ,EAAE,CAAC;QAC9E,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QAEf,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC;IACtE,CAAC;;AAjBc,sCAAQ,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"mention-extension-configuration.js","sourceRoot":"","sources":["../../../../src/rich-text/models/mention-extension-configuration.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAMtD;;;GAGG;AACH,MAAM,OAAO,6BAA6B;IAWtC,YAAmB,gBAAkC;QACjD,6BAA6B,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,GAAG,mBAAmB,GAAG,6BAA6B,CAAC,QAAQ,EAAE,CAAC;QAC9E,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,IAAI,EAAE,CAAC;QACtD,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC;IACtE,CAAC;IAEM,MAAM,CAAC,kCAAkC,CAAC,GAAY;QACzD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC;;AAzBc,sCAAQ,GAAG,CAAC,CAAC"}
@@ -18,6 +18,10 @@ export declare abstract class RichTextMention<TValidator extends RichTextMention
18
18
  * A regex used to extract user ID from user key (url) while parsing and serializing a markdown.
19
19
  */
20
20
  pattern?: string;
21
+ /**
22
+ * @public
23
+ */
24
+ buttonLabel?: string;
21
25
  /** @internal */
22
26
  mappingNotifiers: Notifier[];
23
27
  /** @internal */
@@ -39,12 +43,14 @@ export declare abstract class RichTextMention<TValidator extends RichTextMention
39
43
  */
40
44
  handleChange(source: unknown, args: unknown): void;
41
45
  protected abstract createValidator(): TValidator;
46
+ protected abstract getObservedMappingProperty(): string[];
42
47
  protected abstract getMentionInternalsOptions(): MentionInternalsOptions;
43
48
  protected abstract createMappingConfig(mapping: Mapping<unknown>): MappingConfig;
44
49
  private getMappingConfigs;
45
50
  private updateMappingConfigs;
46
51
  private mappingElementsChanged;
47
52
  private patternChanged;
53
+ private buttonLabelChanged;
48
54
  private removeMappingElementObservers;
49
55
  private observeMappingElements;
50
56
  }
@@ -47,7 +47,9 @@ export class RichTextMention extends FoundationElement {
47
47
  * @internal
48
48
  */
49
49
  handleChange(source, args) {
50
- if (source instanceof Mapping && typeof args === 'string') {
50
+ if (source instanceof Mapping
51
+ && typeof args === 'string'
52
+ && this.getObservedMappingProperty().includes(args)) {
51
53
  this.updateMappingConfigs();
52
54
  }
53
55
  }
@@ -77,6 +79,9 @@ export class RichTextMention extends FoundationElement {
77
79
  this.validator.validate(this.mappingElements, this.pattern);
78
80
  this.mentionInternals.pattern = this.pattern;
79
81
  }
82
+ buttonLabelChanged() {
83
+ this.mentionInternals.buttonLabel = this.buttonLabel;
84
+ }
80
85
  removeMappingElementObservers() {
81
86
  this.mappingNotifiers.forEach(notifier => {
82
87
  notifier.unsubscribe(this);
@@ -95,6 +100,9 @@ export class RichTextMention extends FoundationElement {
95
100
  __decorate([
96
101
  attr
97
102
  ], RichTextMention.prototype, "pattern", void 0);
103
+ __decorate([
104
+ attr({ attribute: 'button-label' })
105
+ ], RichTextMention.prototype, "buttonLabel", void 0);
98
106
  __decorate([
99
107
  observable
100
108
  ], RichTextMention.prototype, "mappingElements", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text-mention/base/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text-mention/base/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { ViewTemplate } from '@microsoft/fast-element';
1
2
  import type { MappingConfigs, MentionUpdateEmitter } from '../types';
2
3
  export interface MentionInternalsOptions {
3
4
  readonly icon: string;
@@ -21,9 +22,13 @@ export declare class MentionInternals {
21
22
  */
22
23
  pattern?: string;
23
24
  /**
24
- * Icon to display on RichTextEditor Toolbar
25
+ * Label to use as accessible name and title of mention button
25
26
  */
26
- readonly icon: string;
27
+ buttonLabel?: string;
28
+ /**
29
+ * Template of the Icon to display on RichTextEditor Toolbar
30
+ */
31
+ readonly iconTemplate: ViewTemplate;
27
32
  /**
28
33
  * Character to show respective mention list
29
34
  */
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { observable } from '@microsoft/fast-element';
2
+ import { html, observable } from '@microsoft/fast-element';
3
3
  /**
4
4
  * Internal mention state
5
5
  */
@@ -9,7 +9,7 @@ export class MentionInternals {
9
9
  * Whether this mention has a valid configuration.
10
10
  */
11
11
  this.validConfiguration = true;
12
- this.icon = options.icon;
12
+ this.iconTemplate = html `<${options.icon} slot="start"></${options.icon}>`;
13
13
  this.character = options.character;
14
14
  this.viewElement = options.viewElement;
15
15
  this.mentionUpdateEmitter = mentionUpdateEmitter;
@@ -24,4 +24,7 @@ __decorate([
24
24
  __decorate([
25
25
  observable
26
26
  ], MentionInternals.prototype, "pattern", void 0);
27
+ __decorate([
28
+ observable
29
+ ], MentionInternals.prototype, "buttonLabel", void 0);
27
30
  //# sourceMappingURL=mention-internals.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mention-internals.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/base/models/mention-internals.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AASrD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAuCzB,YACI,OAAgC,EAChC,oBAA0C;QAlC9C;;WAEG;QAEI,uBAAkB,GAAG,IAAI,CAAC;QAgC7B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACrD,CAAC;CACJ;AA3CG;IADC,UAAU;wDAC4B;AAMvC;IADC,UAAU;4DACsB;AAMjC;IADC,UAAU;iDACa"}
1
+ {"version":3,"file":"mention-internals.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/base/models/mention-internals.ts"],"names":[],"mappings":";AAAA,OAAO,EAAgB,IAAI,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AASzE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IA6CzB,YACI,OAAgC,EAChC,oBAA0C;QAxC9C;;WAEG;QAEI,uBAAkB,GAAG,IAAI,CAAC;QAsC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAA,IAAI,OAAO,CAAC,IAAI,mBAAmB,OAAO,CAAC,IAAI,GAAG,CAAC;QAC3E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACrD,CAAC;CACJ;AAjDG;IADC,UAAU;wDAC4B;AAMvC;IADC,UAAU;4DACsB;AAMjC;IADC,UAAU;iDACa;AAMxB;IADC,UAAU;qDACiB"}
@@ -15,6 +15,7 @@ declare global {
15
15
  export declare class RichTextMentionUsers extends RichTextMention<RichTextMentionUsersValidator> {
16
16
  protected createValidator(): RichTextMentionUsersValidator;
17
17
  protected getMentionInternalsOptions(): MentionInternalsOptions;
18
+ protected getObservedMappingProperty(): string[];
18
19
  protected createMappingConfig(mapping: Mapping<MappingUserKey>): MappingConfig;
19
20
  }
20
21
  export declare const richTextMentionUsersTag: string;
@@ -20,6 +20,9 @@ export class RichTextMentionUsers extends RichTextMention {
20
20
  viewElement: richTextMentionUsersViewTag
21
21
  };
22
22
  }
23
+ getObservedMappingProperty() {
24
+ return ['key', 'displayName'];
25
+ }
23
26
  createMappingConfig(mapping) {
24
27
  if (mapping instanceof MappingUser) {
25
28
  return new MappingUserConfig(mapping.key, mapping.displayName);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text-mention/users/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,QAAQ,CAAC;AAQrD;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,eAA8C;IACjE,eAAe;QAC9B,OAAO,IAAI,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpE,CAAC;IAEkB,0BAA0B;QACzC,OAAO;YACH,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,2BAA2B;SAC3C,CAAC;IACN,CAAC;IAES,mBAAmB,CACzB,OAAgC;QAEhC,IAAI,OAAO,YAAY,WAAW,EAAE;YAChC,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;SAClE;QACD,+EAA+E;QAC/E,mEAAmE;QACnE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;CACJ;AACD,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,OAAO,CAAC;IAC5D,QAAQ,EAAE,yBAAyB;IACnC,QAAQ;CACX,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,0BAA0B,EAAE,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text-mention/users/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,QAAQ,CAAC;AAQrD;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,eAA8C;IACjE,eAAe;QAC9B,OAAO,IAAI,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpE,CAAC;IAEkB,0BAA0B;QACzC,OAAO;YACH,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,GAAG;YACd,WAAW,EAAE,2BAA2B;SAC3C,CAAC;IACN,CAAC;IAEkB,0BAA0B;QACzC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAClC,CAAC;IAES,mBAAmB,CACzB,OAAgC;QAEhC,IAAI,OAAO,YAAY,WAAW,EAAE;YAChC,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;SAClE;QACD,+EAA+E;QAC/E,mEAAmE;QACnE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC3C,CAAC;CACJ;AACD,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,OAAO,CAAC;IAC5D,QAAQ,EAAE,yBAAyB;IACnC,QAAQ;CACX,CAAC,CAAC;AAEH,YAAY,CAAC,WAAW,EAAE;KACrB,UAAU,CAAC,QAAQ,CAAC;KACpB,QAAQ,CAAC,0BAA0B,EAAE,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { css } from '@microsoft/fast-element';
2
2
  import { display } from '@microsoft/fast-foundation';
3
- import { mentionDisabledFontColor, bodyFontColor, bodyFont, mentionFont, bodyDisabledFontColor } from '../../../theme-provider/design-tokens';
3
+ import { mentionFont, mentionDisabledFontColor, bodyFontColor, bodyFont, bodyDisabledFontColor } from '../../../theme-provider/design-tokens';
4
4
  export const styles = css `
5
5
  ${display('inline-block')}
6
6
 
@@ -29,6 +29,10 @@ export const styles = css `
29
29
  color: ${bodyDisabledFontColor};
30
30
  }
31
31
 
32
+ :host([disable-editing]) {
33
+ font: ${mentionFont};
34
+ }
35
+
32
36
  :host([disable-editing]) slot {
33
37
  display: none;
34
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/users/view/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,wBAAwB,EACxB,aAAa,EACb,QAAQ,EACR,WAAW,EACX,qBAAqB,EACxB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,cAAc,CAAC;;;;gBAIb,QAAQ;iBACP,aAAa;;;;;gBAKd,WAAW;;;;;;;;;;iBAUV,wBAAwB;;;;iBAIxB,qBAAqB;;;;;;CAMrC,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/users/view/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,WAAW,EACX,wBAAwB,EACxB,aAAa,EACb,QAAQ,EACR,qBAAqB,EACxB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,cAAc,CAAC;;;;gBAIb,QAAQ;iBACP,aAAa;;;;;gBAKd,WAAW;;;;;;;;;;iBAUV,wBAAwB;;;;iBAIxB,qBAAqB;;;;gBAItB,WAAW;;;;;;CAM1B,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generic normalize method that removes the accents and special characters.
3
+ * This method can be used to normalize the string before performing diacritic-insensitive string comparisons
4
+ */
5
+ export declare const diacriticInsensitiveStringNormalizer: (value: string) => string;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Generic normalize method that removes the accents and special characters.
3
+ * This method can be used to normalize the string before performing diacritic-insensitive string comparisons
4
+ */
5
+ export const diacriticInsensitiveStringNormalizer = (value) => {
6
+ // This implementation is based on the below reference.
7
+ // https://claritydev.net/blog/diacritic-insensitive-string-comparison-javascript
8
+ return value
9
+ .normalize('NFD')
10
+ .replace(/[\u0300-\u036f]/g, '')
11
+ .toLowerCase();
12
+ };
13
+ //# sourceMappingURL=string-normalizers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-normalizers.js","sourceRoot":"","sources":["../../../../src/utilities/models/string-normalizers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,KAAa,EAAU,EAAE;IAC1E,uDAAuD;IACvD,iFAAiF;IACjF,OAAO,KAAK;SACP,SAAS,CAAC,KAAK,CAAC;SAChB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,WAAW,EAAE,CAAC;AACvB,CAAC,CAAC"}