@ni/nimble-components 20.14.4 → 20.14.6

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 (35) hide show
  1. package/dist/all-components-bundle.js +2 -2
  2. package/dist/all-components-bundle.js.map +1 -1
  3. package/dist/all-components-bundle.min.js +1 -1
  4. package/dist/all-components-bundle.min.js.map +1 -1
  5. package/dist/esm/drawer/styles.js +2 -2
  6. package/dist/esm/drawer/styles.js.map +1 -1
  7. package/dist/esm/mapping/base/types.d.ts +2 -0
  8. package/dist/esm/mapping/user/index.d.ts +15 -0
  9. package/dist/esm/mapping/user/index.js +21 -0
  10. package/dist/esm/mapping/user/index.js.map +1 -0
  11. package/dist/esm/rich-text-mention/base/index.d.ts +49 -0
  12. package/dist/esm/rich-text-mention/base/index.js +87 -0
  13. package/dist/esm/rich-text-mention/base/index.js.map +1 -0
  14. package/dist/esm/rich-text-mention/base/models/mapping-config.d.ts +8 -0
  15. package/dist/esm/rich-text-mention/base/models/mapping-config.js +10 -0
  16. package/dist/esm/rich-text-mention/base/models/mapping-config.js.map +1 -0
  17. package/dist/esm/rich-text-mention/base/models/mapping-user-config.d.ts +6 -0
  18. package/dist/esm/rich-text-mention/base/models/mapping-user-config.js +7 -0
  19. package/dist/esm/rich-text-mention/base/models/mapping-user-config.js.map +1 -0
  20. package/dist/esm/rich-text-mention/base/models/mention-internals.d.ts +30 -0
  21. package/dist/esm/rich-text-mention/base/models/mention-internals.js +22 -0
  22. package/dist/esm/rich-text-mention/base/models/mention-internals.js.map +1 -0
  23. package/dist/esm/rich-text-mention/base/models/mention-validator.d.ts +35 -0
  24. package/dist/esm/rich-text-mention/base/models/mention-validator.js +108 -0
  25. package/dist/esm/rich-text-mention/base/models/mention-validator.js.map +1 -0
  26. package/dist/esm/rich-text-mention/base/template.d.ts +2 -0
  27. package/dist/esm/rich-text-mention/base/template.js +6 -0
  28. package/dist/esm/rich-text-mention/base/template.js.map +1 -0
  29. package/dist/esm/rich-text-mention/users/index.d.ts +21 -0
  30. package/dist/esm/rich-text-mention/users/index.js +43 -0
  31. package/dist/esm/rich-text-mention/users/index.js.map +1 -0
  32. package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.d.ts +14 -0
  33. package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.js +23 -0
  34. package/dist/esm/rich-text-mention/users/models/rich-text-mention-users-validator.js.map +1 -0
  35. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  import { css } from '@microsoft/fast-element';
2
2
  import { display } from '@microsoft/fast-foundation';
3
- import { applicationBackgroundColor, bodyFont, bodyFontColor, borderWidth, popupBorderColor, standardPadding, titlePlus1Font, drawerWidth, largeDelay } from '../theme-provider/design-tokens';
3
+ import { applicationBackgroundColor, bodyFont, bodyFontColor, standardPadding, titlePlus1Font, drawerWidth, largeDelay, actionRgbPartialColor } from '../theme-provider/design-tokens';
4
4
  import { modalBackdropColorThemeColorStatic, modalBackdropColorThemeDarkStatic, modalBackdropColorThemeLightStatic, largeDelayStatic } from '../theme-provider/design-tokens-static';
5
5
  import { Theme } from '../theme-provider/types';
6
6
  import { themeBehavior } from '../utilities/style/theme';
@@ -136,7 +136,7 @@ export const styles = css `
136
136
  flex: none;
137
137
  display: flex;
138
138
  justify-content: flex-end;
139
- border-top: ${borderWidth} solid ${popupBorderColor};
139
+ border-top: 2px solid rgba(${actionRgbPartialColor}, 0.1);
140
140
  }
141
141
  `.withBehaviors(
142
142
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/drawer/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,QAAQ,EACR,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACH,kCAAkC,EAClC,iCAAiC,EACjC,kCAAkC,EAClC,gBAAgB,EACnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,OAAO,CAAC;;;;;;;gBAON,QAAQ;iBACP,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA8B2B,gBAAgB;;;;;;;;;;;;;iBAaxD,WAAW;;4BAEA,0BAA0B;;;;;;;;;;;;;;;;;+DAiBS,UAAU;;;;;;;;;;;;;;;;;;;gEAmBT,UAAU;;;;;;;6DAOb,UAAU;;;;;;;;;;;;MAYjE;AACE;;;EAGE,CAAC,EACP;;;mBAGe,eAAe;;gBAElB,cAAc;;;;mBAIX,eAAe;;;;;;mBAMf,eAAe;;;;sBAIZ,WAAW,UAAU,gBAAgB;;CAE1D,CAAC,aAAa;AACX;;;GAGG;AACH,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;8BAEmB,kCAAkC;;SAEvD,CACJ,EACD,aAAa,CACT,KAAK,CAAC,IAAI,EACV,GAAG,CAAA;;8BAEmB,iCAAiC;;SAEtD,CACJ,EACD,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;8BAEmB,kCAAkC;;SAEvD,CACJ,CACJ,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/drawer/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACH,0BAA0B,EAC1B,QAAQ,EACR,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,qBAAqB,EACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACH,kCAAkC,EAClC,iCAAiC,EACjC,kCAAkC,EAClC,gBAAgB,EACnB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;MACnB,OAAO,CAAC,OAAO,CAAC;;;;;;;gBAON,QAAQ;iBACP,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA8B2B,gBAAgB;;;;;;;;;;;;;iBAaxD,WAAW;;4BAEA,0BAA0B;;;;;;;;;;;;;;;;;+DAiBS,UAAU;;;;;;;;;;;;;;;;;;;gEAmBT,UAAU;;;;;;;6DAOb,UAAU;;;;;;;;;;;;MAYjE;AACE;;;EAGE,CAAC,EACP;;;mBAGe,eAAe;;gBAElB,cAAc;;;;mBAIX,eAAe;;;;;;mBAMf,eAAe;;;;qCAIG,qBAAqB;;CAEzD,CAAC,aAAa;AACX;;;GAGG;AACH,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;8BAEmB,kCAAkC;;SAEvD,CACJ,EACD,aAAa,CACT,KAAK,CAAC,IAAI,EACV,GAAG,CAAA;;8BAEmB,iCAAiC;;SAEtD,CACJ,EACD,aAAa,CACT,KAAK,CAAC,KAAK,EACX,GAAG,CAAA;;8BAEmB,kCAAkC;;SAEvD,CACJ,CACJ,CAAC"}
@@ -1 +1,3 @@
1
1
  export declare type MappingKey = string | number | boolean;
2
+ /** For user mapping, a string formatted as a URL. */
3
+ export declare type MappingUserKey = string;
@@ -0,0 +1,15 @@
1
+ import { Mapping } from '../base';
2
+ import type { MappingUserKey } from '../base/types';
3
+ declare global {
4
+ interface HTMLElementTagNameMap {
5
+ 'nimble-mapping-user': MappingUser;
6
+ }
7
+ }
8
+ /**
9
+ * Maps key (url) to a user
10
+ * Non-visible configuration element for mapping rich text user mention keys to a user
11
+ */
12
+ export declare class MappingUser extends Mapping<MappingUserKey> {
13
+ displayName?: string;
14
+ }
15
+ export declare const mappingUserTag: string;
@@ -0,0 +1,21 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr } from '@microsoft/fast-element';
3
+ import { DesignSystem } from '@microsoft/fast-foundation';
4
+ import { Mapping } from '../base';
5
+ import { template } from '../base/template';
6
+ /**
7
+ * Maps key (url) to a user
8
+ * Non-visible configuration element for mapping rich text user mention keys to a user
9
+ */
10
+ export class MappingUser extends Mapping {
11
+ }
12
+ __decorate([
13
+ attr({ attribute: 'display-name' })
14
+ ], MappingUser.prototype, "displayName", void 0);
15
+ const mappingUser = MappingUser.compose({
16
+ baseName: 'mapping-user',
17
+ template
18
+ });
19
+ DesignSystem.getOrCreate().withPrefix('nimble').register(mappingUser());
20
+ export const mappingUserTag = DesignSystem.tagFor(MappingUser);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mapping/user/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAO5C;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,OAAuB;CAGvD;AADG;IADC,IAAI,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;gDACR;AAEhC,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IACpC,QAAQ,EAAE,cAAc;IACxB,QAAQ;CACX,CAAC,CAAC;AACH,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { Notifier, Subscriber } from '@microsoft/fast-element';
2
+ import { FoundationElement } from '@microsoft/fast-foundation';
3
+ import type { MappingConfig } from './models/mapping-config';
4
+ import type { RichTextMentionValidator, RichTextMentionValidity } from './models/mention-validator';
5
+ import { MentionInternals, MentionInternalsOptions } from './models/mention-internals';
6
+ import { Mapping } from '../../mapping/base';
7
+ export declare type MappingConfigs = ReadonlyMap<string, MappingConfig>;
8
+ export interface RichTextMentionConfig {
9
+ mappingConfigs: MappingConfigs;
10
+ }
11
+ /**
12
+ * The base class for Mention configuration
13
+ */
14
+ export declare abstract class RichTextMention<TMentionConfig extends RichTextMentionConfig = RichTextMentionConfig, TValidator extends RichTextMentionValidator<[
15
+ ]> = RichTextMentionValidator<[]>> extends FoundationElement implements Subscriber {
16
+ /**
17
+ * @internal
18
+ */
19
+ readonly mentionInternals: MentionInternals<TMentionConfig>;
20
+ /** @internal */
21
+ readonly validator: TValidator;
22
+ /**
23
+ * A regex used to extract user ID from user key (url) while parsing and serializing a markdown.
24
+ */
25
+ pattern?: string;
26
+ /** @internal */
27
+ mappingNotifiers: Notifier[];
28
+ /** @internal */
29
+ mappings: Mapping<unknown>[];
30
+ checkValidity(): boolean;
31
+ get validity(): RichTextMentionValidity;
32
+ /**
33
+ * @internal
34
+ */
35
+ handleChange(source: unknown, args: unknown): void;
36
+ protected abstract createValidator(): TValidator;
37
+ protected abstract getMentionInternalsOptions(): MentionInternalsOptions;
38
+ protected abstract createMentionConfig(mappingConfigs: MappingConfigs): TMentionConfig;
39
+ protected abstract createMappingConfig(mapping: Mapping<unknown>): MappingConfig;
40
+ private getMappingConfigs;
41
+ /**
42
+ * Called when any Mapping related state has changed.
43
+ */
44
+ private updateMentionConfig;
45
+ private mappingsChanged;
46
+ private patternChanged;
47
+ private removeMappingObservers;
48
+ private observeMappings;
49
+ }
@@ -0,0 +1,87 @@
1
+ import { __decorate } from "tslib";
2
+ import { attr, Observable, observable } from '@microsoft/fast-element';
3
+ import { FoundationElement } from '@microsoft/fast-foundation';
4
+ import { MentionInternals } from './models/mention-internals';
5
+ import { Mapping } from '../../mapping/base';
6
+ /**
7
+ * The base class for Mention configuration
8
+ */
9
+ export class RichTextMention extends FoundationElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ /**
13
+ * @internal
14
+ */
15
+ this.mentionInternals = new MentionInternals(this.getMentionInternalsOptions());
16
+ /** @internal */
17
+ this.validator = this.createValidator();
18
+ /** @internal */
19
+ this.mappingNotifiers = [];
20
+ /** @internal */
21
+ this.mappings = [];
22
+ }
23
+ checkValidity() {
24
+ return this.mentionInternals.validConfiguration;
25
+ }
26
+ get validity() {
27
+ return this.validator.getValidity();
28
+ }
29
+ /**
30
+ * @internal
31
+ */
32
+ handleChange(source, args) {
33
+ if (source instanceof Mapping && typeof args === 'string') {
34
+ this.updateMentionConfig();
35
+ }
36
+ }
37
+ getMappingConfigs() {
38
+ const mappingConfigs = new Map();
39
+ this.mappings.forEach(mapping => {
40
+ const href = mapping.key ?? undefined;
41
+ if (href === undefined || typeof href !== 'string') {
42
+ throw Error('mentionHref was invalid for type. Validation should have prevented this.');
43
+ }
44
+ const mappingConfig = this.createMappingConfig(mapping);
45
+ mappingConfigs.set(href, mappingConfig);
46
+ });
47
+ return mappingConfigs;
48
+ }
49
+ /**
50
+ * Called when any Mapping related state has changed.
51
+ */
52
+ updateMentionConfig() {
53
+ this.validator.validate(this.mappings, this.pattern);
54
+ this.mentionInternals.mentionConfig = this.validator.isValid()
55
+ ? this.createMentionConfig(this.getMappingConfigs())
56
+ : undefined;
57
+ }
58
+ mappingsChanged() {
59
+ this.updateMentionConfig();
60
+ this.observeMappings();
61
+ }
62
+ patternChanged() {
63
+ this.mentionInternals.pattern = this.pattern;
64
+ this.updateMentionConfig();
65
+ }
66
+ removeMappingObservers() {
67
+ this.mappingNotifiers.forEach(notifier => {
68
+ notifier.unsubscribe(this);
69
+ });
70
+ this.mappingNotifiers = [];
71
+ }
72
+ observeMappings() {
73
+ this.removeMappingObservers();
74
+ for (const mapping of this.mappings) {
75
+ const notifier = Observable.getNotifier(mapping);
76
+ notifier.subscribe(this);
77
+ this.mappingNotifiers.push(notifier);
78
+ }
79
+ }
80
+ }
81
+ __decorate([
82
+ attr
83
+ ], RichTextMention.prototype, "pattern", void 0);
84
+ __decorate([
85
+ observable
86
+ ], RichTextMention.prototype, "mappings", void 0);
87
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/rich-text-mention/base/index.ts"],"names":[],"mappings":";AAAA,OAAO,EACH,IAAI,EAEJ,UAAU,EACV,UAAU,EAEb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAM/D,OAAO,EACH,gBAAgB,EAEnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAQ7C;;GAEG;AACH,MAAM,OAAgB,eAMlB,SAAQ,iBAAiB;IAN7B;;QAQI;;WAEG;QACa,qBAAgB,GAAqC,IAAI,gBAAgB,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;QAE7H,gBAAgB;QACA,cAAS,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAQnD,gBAAgB;QACT,qBAAgB,GAAe,EAAE,CAAC;QAEzC,gBAAgB;QAET,aAAQ,GAAuB,EAAE,CAAC;IAkF7C,CAAC;IAhFU,aAAa;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;IACpD,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,YAAY,CAAC,MAAe,EAAE,IAAa;QAC9C,IAAI,MAAM,YAAY,OAAO,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACvD,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC9B;IACL,CAAC;IAcO,iBAAiB;QACrB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC;YACtC,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAChD,MAAM,KAAK,CACP,0EAA0E,CAC7E,CAAC;aACL;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YACxD,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,mBAAmB;QACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;YAC1D,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;IACpB,CAAC;IAEO,eAAe;QACnB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IAEO,cAAc;QAClB,IAAI,CAAC,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAEO,sBAAsB;QAC1B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC/B,CAAC;IAEO,eAAe;QACnB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACjD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxC;IACL,CAAC;CACJ;AAzFG;IADC,IAAI;gDACmB;AAOxB;IADC,UAAU;iDAC8B"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Common state shared across Mapping Config
3
+ */
4
+ export declare abstract class MappingConfig {
5
+ readonly mentionHref: string | undefined;
6
+ readonly displayName: string | undefined;
7
+ constructor(mentionHref: string | undefined, displayName: string | undefined);
8
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Common state shared across Mapping Config
3
+ */
4
+ export class MappingConfig {
5
+ constructor(mentionHref, displayName) {
6
+ this.mentionHref = mentionHref;
7
+ this.displayName = displayName;
8
+ }
9
+ }
10
+ //# sourceMappingURL=mapping-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping-config.js","sourceRoot":"","sources":["../../../../../src/rich-text-mention/base/models/mapping-config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAgB,aAAa;IAC/B,YACoB,WAA+B,EAC/B,WAA+B;QAD/B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,gBAAW,GAAX,WAAW,CAAoB;IAChD,CAAC;CACP"}
@@ -0,0 +1,6 @@
1
+ import { MappingConfig } from './mapping-config';
2
+ /**
3
+ * Mapping configuration corresponding to a user mapping
4
+ */
5
+ export declare class MappingUserConfig extends MappingConfig {
6
+ }
@@ -0,0 +1,7 @@
1
+ import { MappingConfig } from './mapping-config';
2
+ /**
3
+ * Mapping configuration corresponding to a user mapping
4
+ */
5
+ export class MappingUserConfig extends MappingConfig {
6
+ }
7
+ //# sourceMappingURL=mapping-user-config.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,30 @@
1
+ export interface MentionInternalsOptions {
2
+ readonly icon: string;
3
+ readonly character: string;
4
+ }
5
+ /**
6
+ * Internal mention state
7
+ */
8
+ export declare class MentionInternals<TMentionConfig> {
9
+ /**
10
+ * Configuration which will hold mentioning info, character, icon and pattern
11
+ */
12
+ mentionConfig?: TMentionConfig;
13
+ /**
14
+ * Whether this mention has a valid configuration.
15
+ */
16
+ validConfiguration: boolean;
17
+ /**
18
+ * Regex used to extract user ID from user key (url)
19
+ */
20
+ pattern?: string;
21
+ /**
22
+ * Icon to display on RichTextEditor Toolbar
23
+ */
24
+ readonly icon: string;
25
+ /**
26
+ * Character to show respective mention list
27
+ */
28
+ readonly character: string;
29
+ constructor(options: MentionInternalsOptions);
30
+ }
@@ -0,0 +1,22 @@
1
+ import { __decorate } from "tslib";
2
+ import { observable } from '@microsoft/fast-element';
3
+ /**
4
+ * Internal mention state
5
+ */
6
+ export class MentionInternals {
7
+ constructor(options) {
8
+ /**
9
+ * Whether this mention has a valid configuration.
10
+ */
11
+ this.validConfiguration = true;
12
+ this.icon = options.icon;
13
+ this.character = options.character;
14
+ }
15
+ }
16
+ __decorate([
17
+ observable
18
+ ], MentionInternals.prototype, "mentionConfig", void 0);
19
+ __decorate([
20
+ observable
21
+ ], MentionInternals.prototype, "validConfiguration", void 0);
22
+ //# sourceMappingURL=mention-internals.js.map
@@ -0,0 +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;AAOrD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IA4BzB,YAAmB,OAAgC;QArBnD;;WAEG;QAEI,uBAAkB,GAAG,IAAI,CAAC;QAkB7B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACvC,CAAC;CACJ;AA3BG;IADC,UAAU;uDAC2B;AAMtC;IADC,UAAU;4DACsB"}
@@ -0,0 +1,35 @@
1
+ import type { Mapping } from '../../../mapping/base';
2
+ import { Validator, ValidityObject } from '../../../utilities/models/validator';
3
+ import type { MentionInternals } from './mention-internals';
4
+ export interface RichTextMentionValidity extends ValidityObject {
5
+ }
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"];
8
+ /**
9
+ * Validator for RichTextMention
10
+ */
11
+ export declare class RichTextMentionValidator<ValidityFlagNames extends readonly string[]> extends Validator<typeof baseValidityFlagNames | ValidityFlagNames> {
12
+ private readonly mentionInternals;
13
+ private readonly supportedMappingElements;
14
+ constructor(mentionInternals: MentionInternals<unknown>, configValidityKeys: ValidityFlagNames, supportedMappingElements: readonly (typeof Mapping<unknown>)[]);
15
+ validate(mappings: Mapping<unknown>[], pattern: string | undefined): void;
16
+ /**
17
+ * @returns an object containing flags for various ways the configuation can be invalid
18
+ */
19
+ getValidity(): RichTextMentionValidity;
20
+ /**
21
+ * Sets a particular validity condition flag's value, e.g. "hasInvalidFooValue" = true
22
+ */
23
+ protected setConditionValue(name: FlagNames<typeof baseValidityFlagNames | ValidityFlagNames>, isInvalid: boolean): void;
24
+ private updateMentionInternalsFlag;
25
+ private validateMissingPattern;
26
+ private validatePattern;
27
+ private validateMappingTypes;
28
+ private validateUniqueMentionHref;
29
+ private validateNoMissingMentionHref;
30
+ private validateHrefForUrl;
31
+ private validateHrefForPattern;
32
+ private isInvalidUrl;
33
+ private isInvalidRegex;
34
+ }
35
+ export {};
@@ -0,0 +1,108 @@
1
+ import { Validator } from '../../../utilities/models/validator';
2
+ export const baseValidityFlagNames = [
3
+ 'unsupportedMappingType',
4
+ 'duplicateMappingMentionHref',
5
+ 'missingMentionHrefValue',
6
+ 'mentionHrefNotValidUrl',
7
+ 'mentionHrefDoesNotMatchPattern',
8
+ 'missingPatternAttribute',
9
+ 'unsupportedPatternValue'
10
+ ];
11
+ /**
12
+ * Validator for RichTextMention
13
+ */
14
+ export class RichTextMentionValidator extends Validator {
15
+ constructor(mentionInternals, configValidityKeys, supportedMappingElements) {
16
+ super(configValidityKeys);
17
+ this.mentionInternals = mentionInternals;
18
+ this.supportedMappingElements = supportedMappingElements;
19
+ }
20
+ validate(mappings, pattern) {
21
+ this.untrackAll();
22
+ const mentionHrefs = mappings.map(mapping => mapping.key);
23
+ this.validateMappingTypes(mappings);
24
+ this.validateNoMissingMentionHref(mentionHrefs);
25
+ this.validateUniqueMentionHref(mentionHrefs);
26
+ this.validateMissingPattern(pattern);
27
+ this.validatePattern(pattern);
28
+ this.validateHrefForPattern(mentionHrefs, pattern);
29
+ this.validateHrefForUrl(mentionHrefs);
30
+ }
31
+ /**
32
+ * @returns an object containing flags for various ways the configuation can be invalid
33
+ */
34
+ getValidity() {
35
+ return this.getValidationFlags();
36
+ }
37
+ /**
38
+ * Sets a particular validity condition flag's value, e.g. "hasInvalidFooValue" = true
39
+ */
40
+ setConditionValue(name, isInvalid) {
41
+ if (isInvalid) {
42
+ this.track(name);
43
+ }
44
+ else {
45
+ this.untrack(name);
46
+ }
47
+ this.updateMentionInternalsFlag();
48
+ }
49
+ updateMentionInternalsFlag() {
50
+ this.mentionInternals.validConfiguration = this.isValid();
51
+ }
52
+ validateMissingPattern(pattern) {
53
+ this.setConditionValue('missingPatternAttribute', pattern === undefined);
54
+ }
55
+ validatePattern(pattern) {
56
+ this.setConditionValue('unsupportedPatternValue', pattern === undefined || this.isInvalidRegex(pattern));
57
+ }
58
+ validateMappingTypes(mappings) {
59
+ const valid = mappings.every(mapping => this.supportedMappingElements.some(mappingClass => mapping instanceof mappingClass));
60
+ this.setConditionValue('unsupportedMappingType', !valid);
61
+ }
62
+ validateUniqueMentionHref(mentionHref) {
63
+ const invalid = new Set(mentionHref).size !== mentionHref.length;
64
+ this.setConditionValue('duplicateMappingMentionHref', invalid);
65
+ }
66
+ validateNoMissingMentionHref(mentionHrefs) {
67
+ const invalid = mentionHrefs.some(href => href === undefined);
68
+ this.setConditionValue('missingMentionHrefValue', invalid);
69
+ }
70
+ validateHrefForUrl(mentionHrefs) {
71
+ const invalid = mentionHrefs.some(href => {
72
+ return (href === undefined
73
+ || typeof href !== 'string'
74
+ || this.isInvalidUrl(href));
75
+ });
76
+ this.setConditionValue('mentionHrefNotValidUrl', invalid);
77
+ }
78
+ validateHrefForPattern(mentionHrefs, pattern) {
79
+ const invalid = pattern === undefined || this.isInvalidRegex(pattern)
80
+ ? true
81
+ : mentionHrefs.some(href => {
82
+ return (href === undefined
83
+ || typeof href !== 'string'
84
+ || !RegExp(pattern).test(href));
85
+ });
86
+ this.setConditionValue('mentionHrefDoesNotMatchPattern', invalid);
87
+ }
88
+ isInvalidUrl(url) {
89
+ try {
90
+ // eslint-disable-next-line no-new
91
+ new URL(url);
92
+ return false;
93
+ }
94
+ catch (error) {
95
+ return true;
96
+ }
97
+ }
98
+ isInvalidRegex(pattern) {
99
+ try {
100
+ RegExp(pattern);
101
+ return false;
102
+ }
103
+ catch (error) {
104
+ return true;
105
+ }
106
+ }
107
+ }
108
+ //# sourceMappingURL=mention-validator.js.map
@@ -0,0 +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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"}
@@ -0,0 +1,2 @@
1
+ import type { RichTextMention } from '.';
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<RichTextMention<import(".").RichTextMentionConfig, import("./models/mention-validator").RichTextMentionValidator<[]>>, any>;
@@ -0,0 +1,6 @@
1
+ import { slotted, html } from '@microsoft/fast-element';
2
+ export const template = html `<slot
3
+ ${slotted('mappings')}
4
+ name="mapping"
5
+ ></slot>`;
6
+ //# sourceMappingURL=template.js.map
@@ -0,0 +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"}
@@ -0,0 +1,21 @@
1
+ import type { MentionInternalsOptions } from '../base/models/mention-internals';
2
+ import { MappingConfigs, RichTextMention, RichTextMentionConfig } from '../base';
3
+ import type { MappingConfig } from '../base/models/mapping-config';
4
+ import type { Mapping } from '../../mapping/base';
5
+ import type { MappingUserKey } from '../../mapping/base/types';
6
+ import { RichTextMentionUsersValidator } from './models/rich-text-mention-users-validator';
7
+ declare global {
8
+ interface HTMLElementTagNameMap {
9
+ 'nimble-rich-text-mention-users': RichTextMentionUsers;
10
+ }
11
+ }
12
+ /**
13
+ * Rich Text user mention configuration element which will have MappingMentionUser elements as children
14
+ */
15
+ export declare class RichTextMentionUsers extends RichTextMention<RichTextMentionConfig, RichTextMentionUsersValidator> {
16
+ protected createValidator(): RichTextMentionUsersValidator;
17
+ protected getMentionInternalsOptions(): MentionInternalsOptions;
18
+ protected createMentionConfig(mappingConfigs: MappingConfigs): RichTextMentionConfig;
19
+ protected createMappingConfig(mapping: Mapping<MappingUserKey>): MappingConfig;
20
+ }
21
+ export declare const richTextMentionUsersTag: string;
@@ -0,0 +1,43 @@
1
+ import { DesignSystem } from '@microsoft/fast-foundation';
2
+ import { RichTextMention } from '../base';
3
+ import { MappingUserConfig } from '../base/models/mapping-user-config';
4
+ import { template } from '../base/template';
5
+ import { iconAtTag } from '../../icons/at';
6
+ import { MappingUser } from '../../mapping/user';
7
+ import { RichTextMentionUsersValidator } from './models/rich-text-mention-users-validator';
8
+ /**
9
+ * Rich Text user mention configuration element which will have MappingMentionUser elements as children
10
+ */
11
+ export class RichTextMentionUsers extends RichTextMention {
12
+ createValidator() {
13
+ return new RichTextMentionUsersValidator(this.mentionInternals);
14
+ }
15
+ getMentionInternalsOptions() {
16
+ return {
17
+ icon: iconAtTag,
18
+ character: '@'
19
+ };
20
+ }
21
+ createMentionConfig(mappingConfigs) {
22
+ return {
23
+ mappingConfigs
24
+ };
25
+ }
26
+ createMappingConfig(mapping) {
27
+ if (mapping instanceof MappingUser) {
28
+ return new MappingUserConfig(mapping.key, mapping.displayName);
29
+ }
30
+ // Getting here would indicate a programming error, b/c validation will prevent
31
+ // this function from running when there is an unsupported mapping.
32
+ throw new Error('Unsupported mapping');
33
+ }
34
+ }
35
+ const nimbleRichTextMentionUsers = RichTextMentionUsers.compose({
36
+ baseName: 'rich-text-mention-users',
37
+ template
38
+ });
39
+ DesignSystem.getOrCreate()
40
+ .withPrefix('nimble')
41
+ .register(nimbleRichTextMentionUsers());
42
+ export const richTextMentionUsersTag = DesignSystem.tagFor(RichTextMentionUsers);
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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;AAQ3F;;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;SACjB,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"}
@@ -0,0 +1,14 @@
1
+ import type { Mapping } from '../../../mapping/base';
2
+ import type { MappingUserKey } from '../../../mapping/base/types';
3
+ import type { MentionInternals } from '../../base/models/mention-internals';
4
+ import { RichTextMentionValidator } from '../../base/models/mention-validator';
5
+ declare const usersValidityFlagNames: readonly ["unsupportedMappingType", "duplicateMappingMentionHref", "missingMentionHrefValue", "mentionHrefNotValidUrl", "mentionHrefDoesNotMatchPattern", "missingPatternAttribute", "unsupportedPatternValue", "missingDisplayNameValue"];
6
+ /**
7
+ * Validator for RichTextMentionUsers
8
+ */
9
+ export declare class RichTextMentionUsersValidator extends RichTextMentionValidator<typeof usersValidityFlagNames> {
10
+ constructor(columnInternals: MentionInternals<unknown>);
11
+ validate(mappings: Mapping<MappingUserKey>[], pattern: string): void;
12
+ private validateNoMissingDisplayName;
13
+ }
14
+ export {};
@@ -0,0 +1,23 @@
1
+ import { MappingUser } from '../../../mapping/user';
2
+ import { baseValidityFlagNames, RichTextMentionValidator } from '../../base/models/mention-validator';
3
+ const usersValidityFlagNames = [
4
+ ...baseValidityFlagNames,
5
+ 'missingDisplayNameValue'
6
+ ];
7
+ /**
8
+ * Validator for RichTextMentionUsers
9
+ */
10
+ export class RichTextMentionUsersValidator extends RichTextMentionValidator {
11
+ constructor(columnInternals) {
12
+ super(columnInternals, usersValidityFlagNames, [MappingUser]);
13
+ }
14
+ validate(mappings, pattern) {
15
+ super.validate(mappings, pattern);
16
+ this.validateNoMissingDisplayName(mappings);
17
+ }
18
+ validateNoMissingDisplayName(mappings) {
19
+ const invalid = mappings.some(mapping => mapping.displayName === undefined);
20
+ this.setConditionValue('missingDisplayNameValue', invalid);
21
+ }
22
+ }
23
+ //# sourceMappingURL=rich-text-mention-users-validator.js.map
@@ -0,0 +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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ni/nimble-components",
3
- "version": "20.14.4",
3
+ "version": "20.14.6",
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",