@memberjunction/ng-composer 0.0.0 → 5.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +81 -28
- package/dist/lib/components/mention/mention-dropdown.component.d.ts +53 -0
- package/dist/lib/components/mention/mention-dropdown.component.d.ts.map +1 -0
- package/dist/lib/components/mention/mention-dropdown.component.js +297 -0
- package/dist/lib/components/mention/mention-dropdown.component.js.map +1 -0
- package/dist/lib/components/mention/mention-editor.component.d.ts +294 -0
- package/dist/lib/components/mention/mention-editor.component.d.ts.map +1 -0
- package/dist/lib/components/mention/mention-editor.component.js +1342 -0
- package/dist/lib/components/mention/mention-editor.component.js.map +1 -0
- package/dist/lib/components/message/message-input-box.component.d.ts +139 -0
- package/dist/lib/components/message/message-input-box.component.d.ts.map +1 -0
- package/dist/lib/components/message/message-input-box.component.js +340 -0
- package/dist/lib/components/message/message-input-box.component.js.map +1 -0
- package/dist/lib/composer-trigger-provider.d.ts +123 -0
- package/dist/lib/composer-trigger-provider.d.ts.map +1 -0
- package/dist/lib/composer-trigger-provider.js +91 -0
- package/dist/lib/composer-trigger-provider.js.map +1 -0
- package/dist/lib/composer.module.d.ts +32 -0
- package/dist/lib/composer.module.d.ts.map +1 -0
- package/dist/lib/composer.module.js +62 -0
- package/dist/lib/composer.module.js.map +1 -0
- package/dist/public-api.d.ts +6 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/public-api.js +15 -0
- package/dist/public-api.js.map +1 -0
- package/package.json +37 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer-trigger-provider.js","sourceRoot":"","sources":["../../src/lib/composer-trigger-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAmElD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAgB,uBAAuB;IAU3C;;;OAGG;IACa,QAAQ,GAAW,CAAC,CAAC;IASrC;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,WAA4B;QAClD,oDAAoD;QACpD,KAAK,WAAW,CAAC;IACnB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,IAAI,GAAG,EAAoC,CAAC;AAEhF;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gCAAgC,CAAC,YAAuB;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;IAC3E,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,SAAS,GAA8B,EAAE,CAAC;IAEhD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7D,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACjF,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAE5B,8EAA8E;QAC9E,iFAAiF;QACjF,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,uBAAuB,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,GAAG,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,mBAAmB,GAAG,MAAM,CAAC,QAA6C,CAAC;YACjF,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;YACrC,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7B,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QAC9D,OAAO,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { IMetadataProvider, UserInfo } from '@memberjunction/core';\nimport { MJGlobal } from '@memberjunction/global';\n\n/**\n * A configuration preset attached to a mention suggestion (e.g. an agent's\n * Fast / Standard / High Power presets). When a suggestion carries 2+ presets the\n * mention editor renders a preset picker on the inserted chip; the selected preset's\n * ID/Name travel with the chip (`data-preset-id` / `data-preset-name`) and survive\n * serialization via `getPlainTextWithJsonMentions()`.\n *\n * This is a deliberately generic shape — the composer has no knowledge of what a\n * preset IS. Trigger providers map their domain objects (e.g. `MJ: AI Agent\n * Configurations` rows) into this shape when building suggestions.\n */\nexport interface MentionSuggestionPreset {\n /** Stable identifier stored on the chip (`data-preset-id`). */\n ID: string;\n /** Machine name stored on the chip (`data-preset-name`). */\n Name: string;\n /** Friendly label shown in the preset picker (falls back to Name). */\n DisplayName?: string;\n /** Optional descriptive text shown under the preset label. */\n Description?: string;\n /** The preset preselected on chip insert. First preset wins when none is flagged. */\n IsDefault?: boolean;\n}\n\n/**\n * Item in the mention-autocomplete dropdown, and the payload carried by an inserted\n * mention chip. Fully generic — `type` is an open string (providers choose their own\n * vocabulary, e.g. 'agent' | 'user' | 'entity' | 'query' | 'skill'); the editor and\n * dropdown only use it for cosmetic styling (chip palette, badge label) and for the\n * plain-text serialization prefix.\n */\nexport interface MentionSuggestion {\n /** Open string discriminator chosen by the provider (drives chip/badge styling). */\n type: string;\n id: string;\n name: string;\n displayName: string;\n description?: string;\n /** Image rendered in the dropdown row + chip when present (e.g. an agent LogoURL). */\n imageUrl?: string;\n /** Font Awesome (or custom) icon class for the dropdown row + chip. */\n icon?: string;\n /** Accent color for the chip/badge (e.g. a skill's own Color UX metadata). */\n color?: string;\n /** Optional presets — 2+ presets render a preset picker on the inserted chip. */\n presets?: MentionSuggestionPreset[];\n /** Provider-defined extra payload; the composer never inspects it. */\n data?: Record<string, unknown>;\n}\n\n/**\n * Request passed to {@link ComposerTriggerProvider.GetSuggestions} each time the user\n * types after an active trigger character.\n */\nexport interface ComposerSuggestionRequest {\n /** The text typed after the trigger character (may be empty — show the full list). */\n Query: string;\n /** Maximum number of suggestions the editor will display; providers should honor it. */\n MaxResults: number;\n /** The current user, when the host supplied one. Providers should fail closed (return []) if they require a user and none is present. */\n ContextUser: UserInfo | null;\n /** The metadata provider scoping this editor instance, when the host supplied one (multi-provider support). */\n Provider: IMetadataProvider | null;\n}\n\n/**\n * Pluggable mention/command trigger for the composer's mention editor.\n *\n * Each provider owns ONE trigger character (e.g. '@', '#', '/') and supplies the\n * suggestions shown while the user types after it. The composer itself ships with\n * ZERO providers — it is a plain text editor until providers are supplied, either:\n *\n * 1. **Explicitly** — bind `[TriggerProviders]` on `mj-mention-editor` /\n * `mj-message-input-box` with provider instances (explicit list always wins), or\n * 2. **By discovery** — register subclasses with the MJ ClassFactory via\n * `@RegisterClass(ComposerTriggerProvider, '<Key>')`; the editor resolves them\n * through {@link DiscoverComposerTriggerProviders} when no explicit list is bound.\n * Hosts opt individual triggers out with `[ExcludedTriggerKeys]`.\n *\n * The AI-aware providers (agent mentions, entity/query record mentions, skill\n * commands) live in `@memberjunction/ng-conversations` — see its `composer-plugins`\n * folder and the `mj-ai-composer` wrapper component.\n */\nexport abstract class ComposerTriggerProvider {\n /** The single character that opens this provider's autocomplete (e.g. '@'). */\n public abstract readonly TriggerChar: string;\n\n /**\n * Stable identifier for this provider (e.g. 'agent-mentions'). Used as the\n * ClassFactory registration key and by `ExcludedTriggerKeys` filtering.\n */\n public abstract readonly Key: string;\n\n /**\n * Ordering weight — higher runs first. When multiple providers share a\n * TriggerChar, results are concatenated in priority order (then Key order).\n */\n public readonly Priority: number = 0;\n\n /**\n * Returns the suggestions for the current query. Called on every keystroke after\n * an active trigger; implementations should be fast (serve from warm caches) and\n * must never throw — return [] on failure.\n */\n public abstract GetSuggestions(request: ComposerSuggestionRequest): Promise<MentionSuggestion[]>;\n\n /**\n * Optional warm-up hook, invoked once by the editor when it initializes with this\n * provider active. Default is a no-op; override to pre-load caches so the first\n * keystroke is fast. Must be safe to call repeatedly and concurrently.\n */\n public async Initialize(contextUser: UserInfo | null): Promise<void> {\n // default no-op — providers override to warm caches\n void contextUser;\n }\n}\n\n/**\n * One instance per registered provider subclass, shared across all editors in the\n * process — providers are expected to be stateless facades over shared engines, so a\n * single instance avoids duplicate cache warm-ups.\n */\nconst discoveredProviderInstances = new Map<unknown, ComposerTriggerProvider>();\n\n/**\n * Resolves every `@RegisterClass(ComposerTriggerProvider, ...)` registration in the\n * MJ ClassFactory into a provider instance list.\n *\n * - Instantiates each winning registration once (module-level cache keyed by the\n * registered subclass) — repeated calls are cheap.\n * - When multiple registrations share a Key, the ClassFactory's highest-priority\n * registration wins (standard override-by-import-order semantics).\n * - `excludedKeys` filters providers out by their stable Key (case-insensitive).\n * - Returns [] gracefully when nothing is registered — the editor then behaves as a\n * plain text editor.\n *\n * Results are sorted by provider `Priority` (desc), then `Key` (asc) for stability.\n */\nexport function DiscoverComposerTriggerProviders(excludedKeys?: string[]): ComposerTriggerProvider[] {\n const factory = MJGlobal.Instance.ClassFactory;\n const registrations = factory.GetAllRegistrations(ComposerTriggerProvider);\n if (!registrations || registrations.length === 0) {\n return [];\n }\n\n const excluded = new Set((excludedKeys ?? []).map((k) => k.trim().toLowerCase()));\n const seenKeys = new Set<string>();\n const providers: ComposerTriggerProvider[] = [];\n\n for (const registration of registrations) {\n const normalizedKey = registration.Key?.trim().toLowerCase();\n if (!normalizedKey || seenKeys.has(normalizedKey) || excluded.has(normalizedKey)) {\n continue;\n }\n seenKeys.add(normalizedKey);\n\n // Resolve the WINNING registration for this key (there may be multiple when a\n // consumer overrides a provider) — mirrors GetRegistration's priority semantics.\n const winner = factory.GetRegistration(ComposerTriggerProvider, registration.Key);\n if (!winner?.SubClass) {\n continue;\n }\n\n let instance = discoveredProviderInstances.get(winner.SubClass);\n if (!instance) {\n const ProviderConstructor = winner.SubClass as new () => ComposerTriggerProvider;\n instance = new ProviderConstructor();\n discoveredProviderInstances.set(winner.SubClass, instance);\n }\n providers.push(instance);\n }\n\n return providers.sort((a, b) => {\n if (b.Priority !== a.Priority) return b.Priority - a.Priority;\n return a.Key.localeCompare(b.Key);\n });\n}\n"]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./components/mention/mention-editor.component";
|
|
3
|
+
import * as i2 from "./components/mention/mention-dropdown.component";
|
|
4
|
+
import * as i3 from "./components/message/message-input-box.component";
|
|
5
|
+
import * as i4 from "@angular/common";
|
|
6
|
+
import * as i5 from "@angular/forms";
|
|
7
|
+
import * as i6 from "@memberjunction/ng-ui-components";
|
|
8
|
+
/**
|
|
9
|
+
* Module providing the generic message-composer components.
|
|
10
|
+
*
|
|
11
|
+
* Components:
|
|
12
|
+
* - `<mj-mention-editor>` — ContentEditable editor with pluggable mention/command trigger
|
|
13
|
+
* chips (see `ComposerTriggerProvider`), attachment support, and ControlValueAccessor
|
|
14
|
+
* (works with `[(ngModel)]`). With no trigger providers supplied/registered it behaves
|
|
15
|
+
* as a plain text editor.
|
|
16
|
+
* - `<mj-mention-dropdown>` — Autocomplete dropdown for mention suggestions
|
|
17
|
+
* - `<mj-message-input-box>` — Send-button wrapper around the mention editor
|
|
18
|
+
*
|
|
19
|
+
* Usage:
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { ComposerModule } from '@memberjunction/ng-composer';
|
|
22
|
+
*
|
|
23
|
+
* @NgModule({ imports: [ComposerModule] })
|
|
24
|
+
* export class MyModule {}
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export declare class ComposerModule {
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ComposerModule, never>;
|
|
29
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<ComposerModule, [typeof i1.MentionEditorComponent, typeof i2.MentionDropdownComponent, typeof i3.MessageInputBoxComponent], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.MJEmptyStateComponent], [typeof i1.MentionEditorComponent, typeof i2.MentionDropdownComponent, typeof i3.MessageInputBoxComponent]>;
|
|
30
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<ComposerModule>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=composer.module.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.module.d.ts","sourceRoot":"","sources":["../../src/lib/composer.module.ts"],"names":[],"mappings":";;;;;;;AAUA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAiBa,cAAc;yCAAd,cAAc;0CAAd,cAAc;0CAAd,cAAc;CAAI"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { MJEmptyStateComponent } from '@memberjunction/ng-ui-components';
|
|
5
|
+
import { MentionEditorComponent } from './components/mention/mention-editor.component';
|
|
6
|
+
import { MentionDropdownComponent } from './components/mention/mention-dropdown.component';
|
|
7
|
+
import { MessageInputBoxComponent } from './components/message/message-input-box.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Module providing the generic message-composer components.
|
|
11
|
+
*
|
|
12
|
+
* Components:
|
|
13
|
+
* - `<mj-mention-editor>` — ContentEditable editor with pluggable mention/command trigger
|
|
14
|
+
* chips (see `ComposerTriggerProvider`), attachment support, and ControlValueAccessor
|
|
15
|
+
* (works with `[(ngModel)]`). With no trigger providers supplied/registered it behaves
|
|
16
|
+
* as a plain text editor.
|
|
17
|
+
* - `<mj-mention-dropdown>` — Autocomplete dropdown for mention suggestions
|
|
18
|
+
* - `<mj-message-input-box>` — Send-button wrapper around the mention editor
|
|
19
|
+
*
|
|
20
|
+
* Usage:
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { ComposerModule } from '@memberjunction/ng-composer';
|
|
23
|
+
*
|
|
24
|
+
* @NgModule({ imports: [ComposerModule] })
|
|
25
|
+
* export class MyModule {}
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export class ComposerModule {
|
|
29
|
+
static ɵfac = function ComposerModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ComposerModule)(); };
|
|
30
|
+
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: ComposerModule });
|
|
31
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule,
|
|
32
|
+
FormsModule,
|
|
33
|
+
MJEmptyStateComponent] });
|
|
34
|
+
}
|
|
35
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ComposerModule, [{
|
|
36
|
+
type: NgModule,
|
|
37
|
+
args: [{
|
|
38
|
+
declarations: [
|
|
39
|
+
MentionEditorComponent,
|
|
40
|
+
MentionDropdownComponent,
|
|
41
|
+
MessageInputBoxComponent
|
|
42
|
+
],
|
|
43
|
+
imports: [
|
|
44
|
+
CommonModule,
|
|
45
|
+
FormsModule,
|
|
46
|
+
MJEmptyStateComponent
|
|
47
|
+
],
|
|
48
|
+
exports: [
|
|
49
|
+
MentionEditorComponent,
|
|
50
|
+
MentionDropdownComponent,
|
|
51
|
+
MessageInputBoxComponent
|
|
52
|
+
]
|
|
53
|
+
}]
|
|
54
|
+
}], null, null); })();
|
|
55
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(ComposerModule, { declarations: [MentionEditorComponent,
|
|
56
|
+
MentionDropdownComponent,
|
|
57
|
+
MessageInputBoxComponent], imports: [CommonModule,
|
|
58
|
+
FormsModule,
|
|
59
|
+
MJEmptyStateComponent], exports: [MentionEditorComponent,
|
|
60
|
+
MentionDropdownComponent,
|
|
61
|
+
MessageInputBoxComponent] }); })();
|
|
62
|
+
//# sourceMappingURL=composer.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.module.js","sourceRoot":"","sources":["../../src/lib/composer.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;;AAE5F;;;;;;;;;;;;;;;;;;GAkBG;AAkBH,MAAM,OAAO,cAAc;wGAAd,cAAc;4DAAd,cAAc;gEAVvB,YAAY;YACZ,WAAW;YACX,qBAAqB;;iFAQZ,cAAc;cAjB1B,QAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,sBAAsB;oBACtB,wBAAwB;oBACxB,wBAAwB;iBACzB;gBACD,OAAO,EAAE;oBACP,YAAY;oBACZ,WAAW;oBACX,qBAAqB;iBACtB;gBACD,OAAO,EAAE;oBACP,sBAAsB;oBACtB,wBAAwB;oBACxB,wBAAwB;iBACzB;aACF;;wFACY,cAAc,mBAfvB,sBAAsB;QACtB,wBAAwB;QACxB,wBAAwB,aAGxB,YAAY;QACZ,WAAW;QACX,qBAAqB,aAGrB,sBAAsB;QACtB,wBAAwB;QACxB,wBAAwB","sourcesContent":["import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MJEmptyStateComponent } from '@memberjunction/ng-ui-components';\n\nimport { MentionEditorComponent } from './components/mention/mention-editor.component';\nimport { MentionDropdownComponent } from './components/mention/mention-dropdown.component';\nimport { MessageInputBoxComponent } from './components/message/message-input-box.component';\n\n/**\n * Module providing the generic message-composer components.\n *\n * Components:\n * - `<mj-mention-editor>` — ContentEditable editor with pluggable mention/command trigger\n * chips (see `ComposerTriggerProvider`), attachment support, and ControlValueAccessor\n * (works with `[(ngModel)]`). With no trigger providers supplied/registered it behaves\n * as a plain text editor.\n * - `<mj-mention-dropdown>` — Autocomplete dropdown for mention suggestions\n * - `<mj-message-input-box>` — Send-button wrapper around the mention editor\n *\n * Usage:\n * ```typescript\n * import { ComposerModule } from '@memberjunction/ng-composer';\n *\n * @NgModule({ imports: [ComposerModule] })\n * export class MyModule {}\n * ```\n */\n@NgModule({\n declarations: [\n MentionEditorComponent,\n MentionDropdownComponent,\n MessageInputBoxComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n MJEmptyStateComponent\n ],\n exports: [\n MentionEditorComponent,\n MentionDropdownComponent,\n MessageInputBoxComponent\n ]\n})\nexport class ComposerModule { }\n"]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './lib/composer.module';
|
|
2
|
+
export * from './lib/components/mention/mention-editor.component';
|
|
3
|
+
export * from './lib/components/mention/mention-dropdown.component';
|
|
4
|
+
export * from './lib/components/message/message-input-box.component';
|
|
5
|
+
export * from './lib/composer-trigger-provider';
|
|
6
|
+
//# sourceMappingURL=public-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAKA,cAAc,uBAAuB,CAAC;AAGtC,cAAc,mDAAmD,CAAC;AAClE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sDAAsD,CAAC;AAIrE,cAAc,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of @memberjunction/ng-composer
|
|
3
|
+
*/
|
|
4
|
+
// Module
|
|
5
|
+
export * from './lib/composer.module';
|
|
6
|
+
// Components (+ their exported types: PendingAttachment, etc.)
|
|
7
|
+
export * from './lib/components/mention/mention-editor.component';
|
|
8
|
+
export * from './lib/components/mention/mention-dropdown.component';
|
|
9
|
+
export * from './lib/components/message/message-input-box.component';
|
|
10
|
+
// Pluggable trigger-provider contract (+ MentionSuggestion / MentionSuggestionPreset /
|
|
11
|
+
// ComposerSuggestionRequest / DiscoverComposerTriggerProviders)
|
|
12
|
+
export * from './lib/composer-trigger-provider';
|
|
13
|
+
// NOTE: MentionAutocompleteService (the AI-aware suggestion engine) moved to
|
|
14
|
+
// @memberjunction/ng-conversations — import it from there directly.
|
|
15
|
+
//# sourceMappingURL=public-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,SAAS;AACT,cAAc,uBAAuB,CAAC;AAEtC,+DAA+D;AAC/D,cAAc,mDAAmD,CAAC;AAClE,cAAc,qDAAqD,CAAC;AACpE,cAAc,sDAAsD,CAAC;AAErE,uFAAuF;AACvF,gEAAgE;AAChE,cAAc,iCAAiC,CAAC;AAChD,6EAA6E;AAC7E,oEAAoE","sourcesContent":["/*\n * Public API Surface of @memberjunction/ng-composer\n */\n\n// Module\nexport * from './lib/composer.module';\n\n// Components (+ their exported types: PendingAttachment, etc.)\nexport * from './lib/components/mention/mention-editor.component';\nexport * from './lib/components/mention/mention-dropdown.component';\nexport * from './lib/components/message/message-input-box.component';\n\n// Pluggable trigger-provider contract (+ MentionSuggestion / MentionSuggestionPreset /\n// ComposerSuggestionRequest / DiscoverComposerTriggerProviders)\nexport * from './lib/composer-trigger-provider';\n// NOTE: MentionAutocompleteService (the AI-aware suggestion engine) moved to\n// @memberjunction/ng-conversations — import it from there directly.\n"]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-composer",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
]
|
|
3
|
+
"version": "5.45.0",
|
|
4
|
+
"description": "MemberJunction: Generic message composer components — mention editor with pluggable trigger providers (ComposerTriggerProvider), mention dropdown, and send-button input box wrapper. Ships zero AI knowledge; trigger plugins are supplied by hosts (see @memberjunction/ng-conversations).",
|
|
5
|
+
"main": "./dist/public-api.js",
|
|
6
|
+
"typings": "./dist/public-api.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"/dist"
|
|
9
|
+
],
|
|
10
|
+
"scripts": {
|
|
11
|
+
"test": "vitest run",
|
|
12
|
+
"build": "ngc",
|
|
13
|
+
"test:watch": "vitest"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [],
|
|
16
|
+
"author": "",
|
|
17
|
+
"license": "ISC",
|
|
18
|
+
"devDependencies": {
|
|
19
|
+
"@angular/compiler": "21.1.3",
|
|
20
|
+
"@angular/compiler-cli": "21.1.3",
|
|
21
|
+
"@memberjunction/ng-test-utils": "5.45.0",
|
|
22
|
+
"vitest": "^4.0.18"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"@angular/common": "21.1.3",
|
|
26
|
+
"@angular/core": "21.1.3",
|
|
27
|
+
"@angular/forms": "21.1.3"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@memberjunction/core": "5.45.0",
|
|
31
|
+
"@memberjunction/global": "5.45.0",
|
|
32
|
+
"@memberjunction/ng-ui-components": "5.45.0",
|
|
33
|
+
"tslib": "^2.8.1"
|
|
34
|
+
},
|
|
35
|
+
"sideEffects": false,
|
|
36
|
+
"repository": {
|
|
37
|
+
"type": "git",
|
|
38
|
+
"url": "https://github.com/MemberJunction/MJ"
|
|
39
|
+
}
|
|
10
40
|
}
|