@ni/nimble-components 20.15.0 → 20.15.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 (76) hide show
  1. package/dist/all-components-bundle.js +12405 -11698
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +2923 -2830
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/rich-text/base/index.d.ts +36 -0
  6. package/dist/esm/rich-text/base/index.js +73 -0
  7. package/dist/esm/rich-text/base/index.js.map +1 -0
  8. package/dist/esm/rich-text/editor/index.d.ts +25 -27
  9. package/dist/esm/rich-text/editor/index.js +95 -173
  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 -0
  12. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js +228 -0
  13. package/dist/esm/rich-text/editor/models/create-tiptap-editor.js.map +1 -0
  14. package/dist/esm/rich-text/editor/styles.js +9 -1
  15. package/dist/esm/rich-text/editor/styles.js.map +1 -1
  16. package/dist/esm/rich-text/editor/template.js +2 -2
  17. package/dist/esm/rich-text/editor/template.js.map +1 -1
  18. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.d.ts +4 -0
  19. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js +24 -4
  20. package/dist/esm/rich-text/editor/testing/rich-text-editor.pageobject.js.map +1 -1
  21. package/dist/esm/rich-text/editor/testing/types.d.ts +15 -0
  22. package/dist/esm/rich-text/editor/testing/types.js.map +1 -1
  23. package/dist/esm/rich-text/editor/types.d.ts +1 -0
  24. package/dist/esm/rich-text/editor/types.js +1 -0
  25. package/dist/esm/rich-text/editor/types.js.map +1 -1
  26. package/dist/esm/rich-text/models/configuration.d.ts +10 -0
  27. package/dist/esm/rich-text/models/configuration.js +15 -0
  28. package/dist/esm/rich-text/models/configuration.js.map +1 -0
  29. package/dist/esm/rich-text/models/editor-configuration.d.ts +10 -0
  30. package/dist/esm/rich-text/models/editor-configuration.js +14 -0
  31. package/dist/esm/rich-text/models/editor-configuration.js.map +1 -0
  32. package/dist/esm/rich-text/models/markdown-parser-mention-configuration.d.ts +2 -2
  33. package/dist/esm/rich-text/models/markdown-parser-mention-configuration.js +5 -1
  34. package/dist/esm/rich-text/models/markdown-parser-mention-configuration.js.map +1 -1
  35. package/dist/esm/rich-text/models/markdown-parser.d.ts +8 -1
  36. package/dist/esm/rich-text/models/markdown-parser.js +20 -4
  37. package/dist/esm/rich-text/models/markdown-parser.js.map +1 -1
  38. package/dist/esm/rich-text/models/markdown-serializer.d.ts +4 -3
  39. package/dist/esm/rich-text/models/markdown-serializer.js +16 -5
  40. package/dist/esm/rich-text/models/markdown-serializer.js.map +1 -1
  41. package/dist/esm/rich-text/models/mention-extension-configuration.d.ts +15 -0
  42. package/dist/esm/rich-text/models/mention-extension-configuration.js +18 -0
  43. package/dist/esm/rich-text/models/mention-extension-configuration.js.map +1 -0
  44. package/dist/esm/rich-text/viewer/index.d.ts +5 -23
  45. package/dist/esm/rich-text/viewer/index.js +13 -61
  46. package/dist/esm/rich-text/viewer/index.js.map +1 -1
  47. package/dist/esm/rich-text/viewer/styles.js +2 -1
  48. package/dist/esm/rich-text/viewer/styles.js.map +1 -1
  49. package/dist/esm/rich-text-mention/base/index.d.ts +17 -16
  50. package/dist/esm/rich-text-mention/base/index.js +34 -20
  51. package/dist/esm/rich-text-mention/base/index.js.map +1 -1
  52. package/dist/esm/rich-text-mention/base/models/mention-internals.d.ts +9 -4
  53. package/dist/esm/rich-text-mention/base/models/mention-internals.js +6 -2
  54. package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -1
  55. package/dist/esm/rich-text-mention/base/models/mention-validator.d.ts +3 -5
  56. package/dist/esm/rich-text-mention/base/models/mention-validator.js +6 -10
  57. package/dist/esm/rich-text-mention/base/models/mention-validator.js.map +1 -1
  58. package/dist/esm/rich-text-mention/base/template.d.ts +1 -1
  59. package/dist/esm/rich-text-mention/base/template.js +1 -1
  60. package/dist/esm/rich-text-mention/base/template.js.map +1 -1
  61. package/dist/esm/rich-text-mention/base/types.d.ts +10 -0
  62. package/dist/esm/rich-text-mention/base/types.js +2 -0
  63. package/dist/esm/rich-text-mention/base/types.js.map +1 -0
  64. package/dist/esm/rich-text-mention/users/index.d.ts +2 -3
  65. package/dist/esm/rich-text-mention/users/index.js +1 -6
  66. package/dist/esm/rich-text-mention/users/index.js.map +1 -1
  67. package/dist/esm/rich-text-mention/{base → users}/models/mapping-user-config.d.ts +1 -1
  68. package/dist/esm/rich-text-mention/{base → users}/models/mapping-user-config.js +1 -1
  69. package/dist/esm/rich-text-mention/users/models/mapping-user-config.js.map +1 -0
  70. package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.d.ts +4 -2
  71. package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.js +11 -2
  72. package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.js.map +1 -1
  73. package/dist/esm/rich-text-mention/users/view/styles.js +8 -3
  74. package/dist/esm/rich-text-mention/users/view/styles.js.map +1 -1
  75. package/package.json +3 -1
  76. package/dist/esm/rich-text-mention/base/models/mapping-user-config.js.map +0 -1
@@ -4,14 +4,13 @@ import type { MentionInternals } from './mention-internals';
4
4
  export interface RichTextMentionValidity extends ValidityObject {
5
5
  }
6
6
  declare type FlagNames<T> = T extends readonly (infer U)[] ? U : never;
7
- export declare const baseValidityFlagNames: readonly ["unsupportedMappingType", "duplicateMappingMentionHref", "missingMentionHrefValue", "mentionHrefNotValidUrl", "mentionHrefDoesNotMatchPattern", "missingPatternAttribute", "unsupportedPatternValue"];
7
+ export declare const baseValidityFlagNames: readonly ["duplicateMappingMentionHref", "missingMentionHrefValue", "mentionHrefNotValidUrl", "mentionHrefDoesNotMatchPattern", "missingPatternAttribute", "unsupportedPatternValue"];
8
8
  /**
9
9
  * Validator for RichTextMention
10
10
  */
11
- export declare class RichTextMentionValidator<ValidityFlagNames extends readonly string[]> extends Validator<typeof baseValidityFlagNames | ValidityFlagNames> {
11
+ export declare class RichTextMentionValidator<ValidityFlagNames extends readonly string[] = typeof baseValidityFlagNames> extends Validator<typeof baseValidityFlagNames | ValidityFlagNames> {
12
12
  private readonly mentionInternals;
13
- private readonly supportedMappingElements;
14
- constructor(mentionInternals: MentionInternals<unknown>, configValidityKeys: ValidityFlagNames, supportedMappingElements: readonly (typeof Mapping<unknown>)[]);
13
+ constructor(mentionInternals: MentionInternals, configValidityKeys: ValidityFlagNames);
15
14
  validate(mappings: Mapping<unknown>[], pattern: string | undefined): void;
16
15
  /**
17
16
  * @returns an object containing flags for various ways the configuation can be invalid
@@ -24,7 +23,6 @@ export declare class RichTextMentionValidator<ValidityFlagNames extends readonly
24
23
  private updateMentionInternalsFlag;
25
24
  private validateMissingPattern;
26
25
  private validatePattern;
27
- private validateMappingTypes;
28
26
  private validateUniqueMentionHref;
29
27
  private validateNoMissingMentionHref;
30
28
  private validateHrefForUrl;
@@ -1,6 +1,5 @@
1
1
  import { Validator } from '../../../utilities/models/validator';
2
2
  export const baseValidityFlagNames = [
3
- 'unsupportedMappingType',
4
3
  'duplicateMappingMentionHref',
5
4
  'missingMentionHrefValue',
6
5
  'mentionHrefNotValidUrl',
@@ -12,15 +11,13 @@ export const baseValidityFlagNames = [
12
11
  * Validator for RichTextMention
13
12
  */
14
13
  export class RichTextMentionValidator extends Validator {
15
- constructor(mentionInternals, configValidityKeys, supportedMappingElements) {
14
+ constructor(mentionInternals, configValidityKeys) {
16
15
  super(configValidityKeys);
17
16
  this.mentionInternals = mentionInternals;
18
- this.supportedMappingElements = supportedMappingElements;
19
17
  }
20
18
  validate(mappings, pattern) {
21
19
  this.untrackAll();
22
20
  const mentionHrefs = mappings.map(mapping => mapping.key);
23
- this.validateMappingTypes(mappings);
24
21
  this.validateNoMissingMentionHref(mentionHrefs);
25
22
  this.validateUniqueMentionHref(mentionHrefs);
26
23
  this.validateMissingPattern(pattern);
@@ -55,10 +52,6 @@ export class RichTextMentionValidator extends Validator {
55
52
  validatePattern(pattern) {
56
53
  this.setConditionValue('unsupportedPatternValue', pattern === undefined || this.isInvalidRegex(pattern));
57
54
  }
58
- validateMappingTypes(mappings) {
59
- const valid = mappings.every(mapping => this.supportedMappingElements.some(mappingClass => mapping instanceof mappingClass));
60
- this.setConditionValue('unsupportedMappingType', !valid);
61
- }
62
55
  validateUniqueMentionHref(mentionHref) {
63
56
  const invalid = new Set(mentionHref).size !== mentionHref.length;
64
57
  this.setConditionValue('duplicateMappingMentionHref', invalid);
@@ -81,12 +74,13 @@ export class RichTextMentionValidator extends Validator {
81
74
  : mentionHrefs.some(href => {
82
75
  return (href === undefined
83
76
  || typeof href !== 'string'
84
- || !RegExp(pattern).test(href));
77
+ || !new RegExp(pattern).test(href));
85
78
  });
86
79
  this.setConditionValue('mentionHrefDoesNotMatchPattern', invalid);
87
80
  }
88
81
  isInvalidUrl(url) {
89
82
  try {
83
+ // Check whether the constructor throws an error for an Invalid URL.
90
84
  // eslint-disable-next-line no-new
91
85
  new URL(url);
92
86
  return false;
@@ -97,7 +91,9 @@ export class RichTextMentionValidator extends Validator {
97
91
  }
98
92
  isInvalidRegex(pattern) {
99
93
  try {
100
- RegExp(pattern);
94
+ // Check whether the constructor throws an error when it cannot be parsed as a valid regular expression.
95
+ // eslint-disable-next-line no-new
96
+ new RegExp(pattern);
101
97
  return false;
102
98
  }
103
99
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"mention-validator.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/base/models/mention-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mention-validator.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/base/models/mention-validator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
1
  import type { RichTextMention } from '.';
2
- export declare const template: import("@microsoft/fast-element").ViewTemplate<RichTextMention<import(".").RichTextMentionConfig, import("./models/mention-validator").RichTextMentionValidator<[]>>, any>;
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<RichTextMention<import("./models/mention-validator").RichTextMentionValidator<readonly ["duplicateMappingMentionHref", "missingMentionHrefValue", "mentionHrefNotValidUrl", "mentionHrefDoesNotMatchPattern", "missingPatternAttribute", "unsupportedPatternValue"]>>, any>;
@@ -1,6 +1,6 @@
1
1
  import { slotted, html } from '@microsoft/fast-element';
2
2
  export const template = html `<slot
3
- ${slotted('mappings')}
3
+ ${slotted('mappingElements')}
4
4
  name="mapping"
5
5
  ></slot>`;
6
6
  //# sourceMappingURL=template.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/rich-text-mention/base/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAiB;MACvC,OAAO,CAAC,UAAU,CAAC;;SAEhB,CAAC"}
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../src/rich-text-mention/base/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAiB;MACvC,OAAO,CAAC,iBAAiB,CAAC;;SAEvB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { MappingConfig } from './models/mapping-config';
2
+ /**
3
+ * The type of the detail associated with the `mention-update`
4
+ * event on the banner.
5
+ */
6
+ export interface MentionUpdateEventDetail {
7
+ filter: string;
8
+ }
9
+ export declare type MappingConfigs = ReadonlyMap<string, MappingConfig>;
10
+ export declare type MentionUpdateEmitter = (filter: string) => void;
@@ -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/base/types.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import type { MentionInternalsOptions } from '../base/models/mention-internals';
2
- import { MappingConfigs, RichTextMention, RichTextMentionConfig } from '../base';
2
+ import { RichTextMention } from '../base';
3
3
  import type { MappingConfig } from '../base/models/mapping-config';
4
4
  import type { Mapping } from '../../mapping/base';
5
5
  import type { MappingUserKey } from '../../mapping/base/types';
@@ -12,10 +12,9 @@ declare global {
12
12
  /**
13
13
  * Rich Text user mention configuration element which will have MappingMentionUser elements as children
14
14
  */
15
- export declare class RichTextMentionUsers extends RichTextMention<RichTextMentionConfig, RichTextMentionUsersValidator> {
15
+ export declare class RichTextMentionUsers extends RichTextMention<RichTextMentionUsersValidator> {
16
16
  protected createValidator(): RichTextMentionUsersValidator;
17
17
  protected getMentionInternalsOptions(): MentionInternalsOptions;
18
- protected createMentionConfig(mappingConfigs: MappingConfigs): RichTextMentionConfig;
19
18
  protected createMappingConfig(mapping: Mapping<MappingUserKey>): MappingConfig;
20
19
  }
21
20
  export declare const richTextMentionUsersTag: string;
@@ -1,6 +1,6 @@
1
1
  import { DesignSystem } from '@microsoft/fast-foundation';
2
2
  import { RichTextMention } from '../base';
3
- import { MappingUserConfig } from '../base/models/mapping-user-config';
3
+ import { MappingUserConfig } from './models/mapping-user-config';
4
4
  import { template } from '../base/template';
5
5
  import { iconAtTag } from '../../icons/at';
6
6
  import { MappingUser } from '../../mapping/user';
@@ -20,11 +20,6 @@ export class RichTextMentionUsers extends RichTextMention {
20
20
  viewElement: richTextMentionUsersViewTag
21
21
  };
22
22
  }
23
- createMentionConfig(mappingConfigs) {
24
- return {
25
- mappingConfigs
26
- };
27
- }
28
23
  createMappingConfig(mapping) {
29
24
  if (mapping instanceof MappingUser) {
30
25
  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,EAEH,eAAe,EAElB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,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,eAGzC;IACsB,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,mBAAmB,CAClC,cAA8B;QAE9B,OAAO;YACH,cAAc;SACjB,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;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,4 +1,4 @@
1
- import { MappingConfig } from './mapping-config';
1
+ import { MappingConfig } from '../../base/models/mapping-config';
2
2
  /**
3
3
  * Mapping configuration corresponding to a user mapping
4
4
  */
@@ -1,4 +1,4 @@
1
- import { MappingConfig } from './mapping-config';
1
+ import { MappingConfig } from '../../base/models/mapping-config';
2
2
  /**
3
3
  * Mapping configuration corresponding to a user mapping
4
4
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping-user-config.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/users/models/mapping-user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAa;CAAG"}
@@ -2,13 +2,15 @@ import type { Mapping } from '../../../mapping/base';
2
2
  import type { MappingUserKey } from '../../../mapping/base/types';
3
3
  import type { MentionInternals } from '../../base/models/mention-internals';
4
4
  import { RichTextMentionValidator } from '../../base/models/mention-validator';
5
- declare const usersValidityFlagNames: readonly ["unsupportedMappingType", "duplicateMappingMentionHref", "missingMentionHrefValue", "mentionHrefNotValidUrl", "mentionHrefDoesNotMatchPattern", "missingPatternAttribute", "unsupportedPatternValue", "missingDisplayNameValue"];
5
+ declare const usersValidityFlagNames: readonly ["duplicateMappingMentionHref", "missingMentionHrefValue", "mentionHrefNotValidUrl", "mentionHrefDoesNotMatchPattern", "missingPatternAttribute", "unsupportedPatternValue", "missingDisplayNameValue", "unsupportedMappingType"];
6
6
  /**
7
7
  * Validator for RichTextMentionUsers
8
8
  */
9
9
  export declare class RichTextMentionUsersValidator extends RichTextMentionValidator<typeof usersValidityFlagNames> {
10
- constructor(columnInternals: MentionInternals<unknown>);
10
+ constructor(columnInternals: MentionInternals);
11
+ private static isSupportedMappingElement;
11
12
  validate(mappings: Mapping<MappingUserKey>[], pattern: string): void;
12
13
  private validateNoMissingDisplayName;
14
+ private validateMappingTypes;
13
15
  }
14
16
  export {};
@@ -2,22 +2,31 @@ import { MappingUser } from '../../../mapping/user';
2
2
  import { baseValidityFlagNames, RichTextMentionValidator } from '../../base/models/mention-validator';
3
3
  const usersValidityFlagNames = [
4
4
  ...baseValidityFlagNames,
5
- 'missingDisplayNameValue'
5
+ 'missingDisplayNameValue',
6
+ 'unsupportedMappingType'
6
7
  ];
7
8
  /**
8
9
  * Validator for RichTextMentionUsers
9
10
  */
10
11
  export class RichTextMentionUsersValidator extends RichTextMentionValidator {
11
12
  constructor(columnInternals) {
12
- super(columnInternals, usersValidityFlagNames, [MappingUser]);
13
+ super(columnInternals, usersValidityFlagNames);
14
+ }
15
+ static isSupportedMappingElement(mapping) {
16
+ return mapping instanceof MappingUser;
13
17
  }
14
18
  validate(mappings, pattern) {
15
19
  super.validate(mappings, pattern);
20
+ this.validateMappingTypes(mappings);
16
21
  this.validateNoMissingDisplayName(mappings);
17
22
  }
18
23
  validateNoMissingDisplayName(mappings) {
19
24
  const invalid = mappings.some(mapping => mapping.displayName === undefined);
20
25
  this.setConditionValue('missingDisplayNameValue', invalid);
21
26
  }
27
+ validateMappingTypes(mappings) {
28
+ const valid = mappings.every(RichTextMentionUsersValidator.isSupportedMappingElement);
29
+ this.setConditionValue('unsupportedMappingType', !valid);
30
+ }
22
31
  }
23
32
  //# sourceMappingURL=rich-text-mention-users-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text-mention-users-validator.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/users/models/rich-text-mention-users-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EAC3B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,sBAAsB,GAAG;IAC3B,GAAG,qBAAqB;IACxB,yBAAyB;CACnB,CAAC;AAEX;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,wBAElD;IACG,YAAmB,eAA0C;QACzD,KAAK,CAAC,eAAe,EAAE,sBAAsB,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAClE,CAAC;IAEe,QAAQ,CACpB,QAAmC,EACnC,OAAe;QAEf,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEO,4BAA4B,CAAC,QAAuB;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CACzB,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAC/C,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;CACJ"}
1
+ {"version":3,"file":"rich-text-mention-users-validator.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/users/models/rich-text-mention-users-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EAC3B,MAAM,qCAAqC,CAAC;AAE7C,MAAM,sBAAsB,GAAG;IAC3B,GAAG,qBAAqB;IACxB,yBAAyB;IACzB,wBAAwB;CAClB,CAAC;AAEX;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,wBAElD;IACG,YAAmB,eAAiC;QAChD,KAAK,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAAC;IACnD,CAAC;IAEO,MAAM,CAAC,yBAAyB,CACpC,OAAyB;QAEzB,OAAO,OAAO,YAAY,WAAW,CAAC;IAC1C,CAAC;IAEe,QAAQ,CACpB,QAAmC,EACnC,OAAe;QAEf,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAEO,4BAA4B,CAAC,QAAuB;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CACzB,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAC/C,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAEO,oBAAoB,CAAC,QAA4B;QACrD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CACxB,6BAA6B,CAAC,yBAAyB,CAC1D,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7D,CAAC;CACJ"}
@@ -1,18 +1,19 @@
1
1
  import { css } from '@microsoft/fast-element';
2
2
  import { display } from '@microsoft/fast-foundation';
3
- import { mentionFont, mentionFontColor, mentionDisabledFontColor, bodyFontColor } from '../../../theme-provider/design-tokens';
3
+ import { mentionDisabledFontColor, bodyFontColor, bodyFont, mentionFont, bodyDisabledFontColor } from '../../../theme-provider/design-tokens';
4
4
  export const styles = css `
5
5
  ${display('inline-block')}
6
6
 
7
7
  :host {
8
8
  box-sizing: border-box;
9
- font: ${mentionFont};
9
+ font: ${bodyFont};
10
10
  color: ${bodyFontColor};
11
11
  white-space: normal;
12
12
  }
13
13
 
14
14
  .control {
15
- color: ${mentionFontColor};
15
+ font: ${mentionFont};
16
+ color: var(--ni-nimble-private-mention-font-color);
16
17
  display: none;
17
18
  }
18
19
 
@@ -24,6 +25,10 @@ export const styles = css `
24
25
  color: ${mentionDisabledFontColor};
25
26
  }
26
27
 
28
+ :host([disabled]) {
29
+ color: ${bodyDisabledFontColor};
30
+ }
31
+
27
32
  :host([disable-editing]) slot {
28
33
  display: none;
29
34
  }
@@ -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,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EAChB,MAAM,uCAAuC,CAAC;AAE/C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,cAAc,CAAC;;;;gBAIb,WAAW;iBACV,aAAa;;;;;iBAKb,gBAAgB;;;;;;;;;iBAShB,wBAAwB;;;;;;CAMxC,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ni/nimble-components",
3
- "version": "20.15.0",
3
+ "version": "20.15.1",
4
4
  "description": "Styled web components for the NI Nimble Design System",
5
5
  "scripts": {
6
6
  "build": "npm run generate-icons && npm run build-components && npm run bundle-components && npm run generate-scss && npm run build-storybook",
@@ -72,6 +72,7 @@
72
72
  "@tiptap/extension-italic": "^2.1.6",
73
73
  "@tiptap/extension-link": "^2.1.6",
74
74
  "@tiptap/extension-list-item": "^2.1.6",
75
+ "@tiptap/extension-mention": "^2.1.6",
75
76
  "@tiptap/extension-ordered-list": "^2.1.6",
76
77
  "@tiptap/extension-paragraph": "^2.1.6",
77
78
  "@tiptap/extension-placeholder": "^2.1.6",
@@ -90,6 +91,7 @@
90
91
  "d3-zoom": "^3.0.0",
91
92
  "prosemirror-markdown": "^1.11.2",
92
93
  "prosemirror-model": "^1.19.2",
94
+ "prosemirror-state": "^1.4.3",
93
95
  "tslib": "^2.2.0"
94
96
  },
95
97
  "devDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapping-user-config.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/base/models/mapping-user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,aAAa;CAAG"}