@magicx-eng/ai-autocomplete-angular 0.1.0 → 0.2.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 +1 -0
- package/esm2020/lib/ai-autocomplete/ai-autocomplete.component.mjs +72 -28
- package/esm2020/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.mjs +33 -12
- package/esm2020/lib/controller/ai-autocomplete.controller.mjs +88 -7
- package/esm2020/lib/input/ai-autocomplete-input.directive.mjs +85 -6
- package/esm2020/lib/internal/editor-host/editor-host.directive.mjs +4 -2
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs +280 -51
- package/fesm2015/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs +276 -50
- package/fesm2020/magicx-eng-ai-autocomplete-angular.mjs.map +1 -1
- package/lib/ai-autocomplete/ai-autocomplete.component.d.ts +10 -2
- package/lib/ai-autocomplete/ai-autocomplete.component.d.ts.map +1 -1
- package/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.d.ts +27 -12
- package/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.d.ts.map +1 -1
- package/lib/controller/ai-autocomplete.controller.d.ts.map +1 -1
- package/lib/input/ai-autocomplete-input.directive.d.ts +15 -0
- package/lib/input/ai-autocomplete-input.directive.d.ts.map +1 -1
- package/lib/internal/editor-host/editor-host.directive.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -44,18 +44,26 @@ export declare class AIAutocompleteComponent implements OnInit, AfterViewInit, O
|
|
|
44
44
|
readonly completedParamsChange: EventEmitter<CompletedParamState[]>;
|
|
45
45
|
readonly focused: EventEmitter<void>;
|
|
46
46
|
readonly blurred: EventEmitter<void>;
|
|
47
|
+
containerRef: ElementRef<HTMLDivElement>;
|
|
47
48
|
editorRef?: ElementRef<HTMLDivElement>;
|
|
48
49
|
pillContainerRef?: ElementRef<HTMLSpanElement>;
|
|
49
50
|
controller: AIAutocompleteController;
|
|
51
|
+
/**
|
|
52
|
+
* Concrete light/dark value bound to `[attr.data-mode]`. Seeded in ngOnInit
|
|
53
|
+
* so the attribute is present during SSR (where ModeController, gated behind
|
|
54
|
+
* isPlatformBrowser in ngAfterViewInit, never runs). On the browser the
|
|
55
|
+
* ModeController's resolve callback keeps this in sync — so its runtime
|
|
56
|
+
* prefers-color-scheme updates and this binding always agree (no clobber).
|
|
57
|
+
*/
|
|
50
58
|
resolvedMode: "light" | "dark";
|
|
51
59
|
private modeController?;
|
|
52
60
|
private resizeObserver?;
|
|
53
61
|
private onChangeFn;
|
|
54
62
|
private onTouchedFn;
|
|
63
|
+
private pendingWriteValue;
|
|
55
64
|
private readonly platformId;
|
|
56
|
-
private readonly el;
|
|
57
|
-
private readonly cdr;
|
|
58
65
|
private readonly zone;
|
|
66
|
+
private readonly cdr;
|
|
59
67
|
ngOnInit(): void;
|
|
60
68
|
ngAfterViewInit(): void;
|
|
61
69
|
ngOnChanges(changes: SimpleChanges): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-autocomplete.component.d.ts","sourceRoot":"","sources":["../../../src/lib/ai-autocomplete/ai-autocomplete.component.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAIlB,UAAU,EACV,YAAY,EAKZ,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,MAAM,EAGX,KAAK,aAAa,EAClB,KAAK,WAAW,EAGjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EACL,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,kBAAkB,EAEvB,KAAK,mBAAmB,EAGxB,KAAK,eAAe,EAErB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;;
|
|
1
|
+
{"version":3,"file":"ai-autocomplete.component.d.ts","sourceRoot":"","sources":["../../../src/lib/ai-autocomplete/ai-autocomplete.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type OnChanges, type OnInit, type SimpleChanges } from "@angular/core";
|
|
2
|
+
import type { Suggestion, SuggestionOption } from "@magicx-eng/ai-autocomplete-vanilla";
|
|
3
|
+
import { type Observable } from "rxjs";
|
|
2
4
|
import type { AIAutocompleteController } from "../controller/ai-autocomplete.controller";
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
interface DropdownVm {
|
|
7
|
+
pills: Suggestion[];
|
|
8
|
+
options: SuggestionOption[];
|
|
9
|
+
activeIndex: number;
|
|
10
|
+
isLoading: boolean;
|
|
11
|
+
showsPills: boolean;
|
|
12
|
+
showsOptions: boolean;
|
|
13
|
+
showsFallbackSkeleton: boolean;
|
|
14
|
+
isVisible: boolean;
|
|
15
|
+
}
|
|
4
16
|
/**
|
|
5
17
|
* Tier 2 dropdown component — the Angular equivalent of React's
|
|
6
18
|
* `<AIAutocompleteDropdown />`. Renders the pillbar, options grid, and
|
|
@@ -16,7 +28,7 @@ import * as i0 from "@angular/core";
|
|
|
16
28
|
*
|
|
17
29
|
* @public
|
|
18
30
|
*/
|
|
19
|
-
export declare class AIAutocompleteDropdownComponent {
|
|
31
|
+
export declare class AIAutocompleteDropdownComponent implements OnInit, OnChanges {
|
|
20
32
|
/** The controller that owns the autocomplete state. Required. */
|
|
21
33
|
controller: AIAutocompleteController;
|
|
22
34
|
/** Whether to render the pillbar above the options grid. Default: true. */
|
|
@@ -29,17 +41,19 @@ export declare class AIAutocompleteDropdownComponent {
|
|
|
29
41
|
* View-model derived from the controller's `dropdown$`. Adds three booleans
|
|
30
42
|
* (`showsPills`, `showsOptions`, `showsFallbackSkeleton`, `isVisible`) that
|
|
31
43
|
* keep template-level logic to a property read per §19.6.
|
|
44
|
+
*
|
|
45
|
+
* Initialized once in `ngOnInit` — must NOT be a getter. A getter returns a
|
|
46
|
+
* fresh `Observable` instance on every property read; with OnPush + `async`
|
|
47
|
+
* pipe that means each change-detection cycle unsubscribes/resubscribes,
|
|
48
|
+
* causing the `*ngIf="vm$ | async as vm"` root to briefly resolve `null`
|
|
49
|
+
* and flicker the entire dropdown DOM.
|
|
32
50
|
*/
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
showsOptions: boolean;
|
|
40
|
-
showsFallbackSkeleton: boolean;
|
|
41
|
-
isVisible: boolean;
|
|
42
|
-
}>;
|
|
51
|
+
vm$: Observable<DropdownVm>;
|
|
52
|
+
private readonly showPills$;
|
|
53
|
+
ngOnInit(): void;
|
|
54
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
55
|
+
/** Build the view-model stream from the current controller + showPills$. */
|
|
56
|
+
private initVm;
|
|
43
57
|
trackByWidth: (_: number, w: number) => number;
|
|
44
58
|
onPillClick(index: number): void;
|
|
45
59
|
onSelect(option: SuggestionOption): void;
|
|
@@ -48,4 +62,5 @@ export declare class AIAutocompleteDropdownComponent {
|
|
|
48
62
|
static ɵfac: i0.ɵɵFactoryDeclaration<AIAutocompleteDropdownComponent, never>;
|
|
49
63
|
static ɵcmp: i0.ɵɵComponentDeclaration<AIAutocompleteDropdownComponent, "ai-autocomplete-dropdown", never, { "controller": "controller"; "showPills": "showPills"; "className": "className"; }, {}, never, never, true, never>;
|
|
50
64
|
}
|
|
65
|
+
export {};
|
|
51
66
|
//# sourceMappingURL=ai-autocomplete-dropdown.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-autocomplete-dropdown.component.d.ts","sourceRoot":"","sources":["../../../src/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-autocomplete-dropdown.component.d.ts","sourceRoot":"","sources":["../../../src/lib/ai-autocomplete-dropdown/ai-autocomplete-dropdown.component.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,aAAa,EAEnB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;;AAIzF,UAAU,UAAU;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBASa,+BAAgC,YAAW,MAAM,EAAE,SAAS;IACvE,iEAAiE;IACxD,UAAU,EAAG,wBAAwB,CAAC;IAC/C,2EAA2E;IAClE,SAAS,UAAQ;IAC1B,uDAAuD;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,+EAA+E;IAC/E,QAAQ,CAAC,yBAAyB,WAAmB;IAErD;;;;;;;;;;OAUG;IACH,GAAG,EAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAM7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IAEjE,QAAQ,IAAI,IAAI;IAMhB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAezC,4EAA4E;IAC5E,OAAO,CAAC,MAAM;IAsBd,YAAY,MAAO,MAAM,KAAK,MAAM,KAAG,MAAM,CAAM;IAEnD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAIxC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;yCAxFpB,+BAA+B;2CAA/B,+BAA+B;CA4F3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-autocomplete.controller.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/ai-autocomplete.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAGxB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAwB,KAAK,UAAU,EAAe,MAAM,MAAM,CAAC;AAC1E,OAAO,KAAK,EACV,+BAA+B,EAC/B,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,iBAAiB,CAAC;AAGzB;;;;;;;;;;;;GAYG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAa;IAC7C,OAAO,CAAC,WAAW,CAAS;IAM5B,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACnC,uDAAuD;IACvD,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC7D,kEAAkE;IAClE,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;IACpD,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,uEAAuE;IACvE,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC;IAChD,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IACzC,wDAAwD;IACxD,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9C,wDAAwD;IACxD,QAAQ,CAAC,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9C,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC1C,gDAAgD;IAChD,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IAC/D,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnD,2CAA2C;IAC3C,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAIjD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,6BAA6B,CAAC,CAAC;IAE3D;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,2BAA2B,CAAC,CAAC;IAE5D;;;OAGG;gBACS,IAAI,GAAE,+BAAoC;
|
|
1
|
+
{"version":3,"file":"ai-autocomplete.controller.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/ai-autocomplete.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,9 @@ export declare class AIAutocompleteInputDirective implements OnInit, OnDestroy,
|
|
|
38
38
|
private readonly destroy$;
|
|
39
39
|
private onChangeFn;
|
|
40
40
|
private onTouchedFn;
|
|
41
|
+
private lastInputAt;
|
|
42
|
+
private lastSeenParamId;
|
|
43
|
+
private pendingWriteValue;
|
|
41
44
|
ngOnInit(): void;
|
|
42
45
|
ngOnDestroy(): void;
|
|
43
46
|
/**
|
|
@@ -48,6 +51,18 @@ export declare class AIAutocompleteInputDirective implements OnInit, OnDestroy,
|
|
|
48
51
|
*/
|
|
49
52
|
onInput(event: Event): void;
|
|
50
53
|
onKeyDown(event: KeyboardEvent): void;
|
|
54
|
+
/**
|
|
55
|
+
* Caret moved by something other than typing — arrow keys, Home/End, or a
|
|
56
|
+
* mouse click/drag (keyup + mouseup). Forward the new offset so the core can
|
|
57
|
+
* re-evaluate the caret-at-end dropdown gate (and exit re-edit if the caret
|
|
58
|
+
* left the region). We deliberately do NOT listen for the `select` event:
|
|
59
|
+
* programmatic `setSelectionRange` calls (the text$ writeback, the post-select
|
|
60
|
+
* caret reposition) fire it in jsdom/some browsers, which would re-enter here
|
|
61
|
+
* and clobber `caretOffset`. `keyup`/`mouseup` only fire for real user input.
|
|
62
|
+
* Skipped right after an `input` event, where the caret is already handled by
|
|
63
|
+
* `handleCaretAfterInput` above.
|
|
64
|
+
*/
|
|
65
|
+
onCaretMove(): void;
|
|
51
66
|
onFocus(): void;
|
|
52
67
|
onBlur(): void;
|
|
53
68
|
writeValue(value: string | null): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-autocomplete-input.directive.d.ts","sourceRoot":"","sources":["../../../src/lib/input/ai-autocomplete-input.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AAE9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;;AAEzF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,
|
|
1
|
+
{"version":3,"file":"ai-autocomplete-input.directive.d.ts","sourceRoot":"","sources":["../../../src/lib/input/ai-autocomplete-input.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AAE9E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;;AAEzF;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAsBa,4BAA6B,YAAW,MAAM,EAAE,SAAS,EAAE,oBAAoB;IAC1F;;;OAGG;IACgB,UAAU,EAAG,wBAAwB,CAAC;IAEzD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAA0E;IAC7F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEhD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,WAAW,CAAoB;IAKvC,OAAO,CAAC,WAAW,CAAK;IAGxB,OAAO,CAAC,eAAe,CAAM;IAQ7B,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,QAAQ,IAAI,IAAI;IA+EhB,WAAW,IAAI,IAAI;IAOnB;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAqC3B,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAIrC;;;;;;;;;;OAUG;IACH,WAAW,IAAI,IAAI;IAOnB,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,IAAI;IAOd,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAetC,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAInD,iBAAiB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIvC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;yCAvN9B,4BAA4B;2CAA5B,4BAA4B;CA0NxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-host.directive.d.ts","sourceRoot":"","sources":["../../../../src/lib/internal/editor-host/editor-host.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,eAAe,CAAC;AASvB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;;AAgB5F;;;;;;;;;;;GAWG;AACH,qBAmBa,iCAAkC,YAAW,MAAM,EAAE,SAAS;IACjD,UAAU,EAAG,wBAAwB,CAAC;IACrD,SAAS,UAAQ;IAE1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAkD;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEhD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,yBAAyB,CAAC,CAAa;IAC/C,OAAO,CAAC,mBAAmB,CAAC,CAAyB;IAErD,QAAQ,IAAI,IAAI;IA8BhB,WAAW,IAAI,IAAI;IAanB,kBAAkB,IAAI,IAAI;IAI1B,gBAAgB,IAAI,IAAI;IAKxB,OAAO,IAAI,IAAI;IAMf,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAIrC,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAoBpC,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,IAAI;IAMd,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,6BAA6B;
|
|
1
|
+
{"version":3,"file":"editor-host.directive.d.ts","sourceRoot":"","sources":["../../../../src/lib/internal/editor-host/editor-host.directive.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACd,KAAK,MAAM,EAEZ,MAAM,eAAe,CAAC;AASvB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;;AAgB5F;;;;;;;;;;;GAWG;AACH,qBAmBa,iCAAkC,YAAW,MAAM,EAAE,SAAS;IACjD,UAAU,EAAG,wBAAwB,CAAC;IACrD,SAAS,UAAQ;IAE1B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAkD;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAEhD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,cAAc,CAAuB;IAE7C,OAAO,CAAC,yBAAyB,CAAC,CAAa;IAC/C,OAAO,CAAC,mBAAmB,CAAC,CAAyB;IAErD,QAAQ,IAAI,IAAI;IA8BhB,WAAW,IAAI,IAAI;IAanB,kBAAkB,IAAI,IAAI;IAI1B,gBAAgB,IAAI,IAAI;IAKxB,OAAO,IAAI,IAAI;IAMf,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAIrC,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAoBpC,OAAO,IAAI,IAAI;IAIf,MAAM,IAAI,IAAI;IAMd,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,6BAA6B;IA8BrC,OAAO,CAAC,uBAAuB;IAsB/B,OAAO,CAAC,qBAAqB;yCA3KlB,iCAAiC;2CAAjC,iCAAiC;CA+M7C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magicx-eng/ai-autocomplete-angular",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "AI Autocomplete Angular SDK — guided autocomplete with pill-based input and dropdown suggestions",
|
|
5
5
|
"module": "fesm2015/magicx-eng-ai-autocomplete-angular.mjs",
|
|
6
6
|
"es2020": "fesm2020/magicx-eng-ai-autocomplete-angular.mjs",
|
|
@@ -14,14 +14,14 @@
|
|
|
14
14
|
"directory": "dist"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
|
-
"@angular/common": ">=15.0.0
|
|
18
|
-
"@angular/core": ">=15.0.0
|
|
19
|
-
"@angular/forms": ">=15.0.0
|
|
17
|
+
"@angular/common": ">=15.0.0",
|
|
18
|
+
"@angular/core": ">=15.0.0",
|
|
19
|
+
"@angular/forms": ">=15.0.0",
|
|
20
20
|
"rxjs": ">=7.0.0"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"tslib": "^2.3.0",
|
|
24
|
-
"@magicx-eng/ai-autocomplete-vanilla": "0.2.
|
|
24
|
+
"@magicx-eng/ai-autocomplete-vanilla": "0.2.1"
|
|
25
25
|
},
|
|
26
26
|
"keywords": [
|
|
27
27
|
"angular",
|