@magicx-eng/ai-autocomplete-angular 0.3.3 → 0.4.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.
@@ -1,5 +1,5 @@
1
- import { type OnChanges, type OnInit, type SimpleChanges } from "@angular/core";
2
- import { type Suggestion, type SuggestionOption } from "@magicx-eng/ai-autocomplete-vanilla";
1
+ import { type OnChanges, type OnDestroy, type OnInit, type SimpleChanges } from "@angular/core";
2
+ import { type AppearanceMode, type Suggestion, type SuggestionOption } from "@magicx-eng/ai-autocomplete-vanilla";
3
3
  import { type Observable } from "rxjs";
4
4
  import type { AIAutocompleteController } from "../controller/ai-autocomplete.controller";
5
5
  import * as i0 from "@angular/core";
@@ -15,6 +15,7 @@ interface DropdownVm {
15
15
  isVisible: boolean;
16
16
  footerKey: string;
17
17
  footerHint: string;
18
+ optionsPosition: "above" | "below";
18
19
  }
19
20
  /**
20
21
  * Tier 2 dropdown component — the Angular equivalent of React's
@@ -31,13 +32,27 @@ interface DropdownVm {
31
32
  *
32
33
  * @public
33
34
  */
34
- export declare class AIAutocompleteDropdownComponent implements OnInit, OnChanges {
35
+ export declare class AIAutocompleteDropdownComponent implements OnInit, OnChanges, OnDestroy {
35
36
  /** The controller that owns the autocomplete state. Required. */
36
37
  controller: AIAutocompleteController;
37
38
  /** Whether to render the pillbar above the options grid. Default: true. */
38
39
  showPills: boolean;
39
40
  /** Optional CSS class applied to the dropdown root. */
40
41
  className?: string;
42
+ /**
43
+ * Color mode for a standalone dropdown. When set, the dropdown self-scopes the
44
+ * design tokens to its own root (adds `magicx-aia` + `data-mode`), so it needs
45
+ * no `.magicx-aia` wrapper. `"auto"` follows `prefers-color-scheme`. Leave it
46
+ * unset when the dropdown sits inside a `.magicx-aia` ancestor (e.g. Tier 1).
47
+ */
48
+ mode?: AppearanceMode;
49
+ /** Concrete resolved mode, or null when `mode` is unset (inherit from ancestor). */
50
+ resolvedMode: "light" | "dark" | null;
51
+ private modeMql?;
52
+ private modeListener?;
53
+ private readonly cdr;
54
+ /** Root class list — adds `magicx-aia` only when self-scoping via `mode`. */
55
+ get rootClass(): string;
41
56
  /** Fallback skeleton-bar widths used when loading with zero cached options. */
42
57
  readonly fallbackSkeletonBarWidths: number[];
43
58
  /**
@@ -56,6 +71,14 @@ export declare class AIAutocompleteDropdownComponent implements OnInit, OnChange
56
71
  private lastVisibleContent;
57
72
  ngOnInit(): void;
58
73
  ngOnChanges(changes: SimpleChanges): void;
74
+ ngOnDestroy(): void;
75
+ /**
76
+ * Resolve the `mode` input into `resolvedMode`. Unset → null (the dropdown
77
+ * stays class-less and inherits from a `.magicx-aia` ancestor). `"auto"` reads
78
+ * `prefers-color-scheme` and tracks it live via a media-query listener.
79
+ */
80
+ private applyMode;
81
+ private teardownModeListener;
59
82
  /** Build the view-model stream from the current controller + showPills$. */
60
83
  private initVm;
61
84
  trackByWidth: (_: number, w: number) => number;
@@ -64,7 +87,7 @@ export declare class AIAutocompleteDropdownComponent implements OnInit, OnChange
64
87
  onHighlight(index: number): void;
65
88
  preventBlur(event: Event): void;
66
89
  static ɵfac: i0.ɵɵFactoryDeclaration<AIAutocompleteDropdownComponent, never>;
67
- static ɵcmp: i0.ɵɵComponentDeclaration<AIAutocompleteDropdownComponent, "ai-autocomplete-dropdown", never, { "controller": "controller"; "showPills": "showPills"; "className": "className"; }, {}, never, never, true, never>;
90
+ static ɵcmp: i0.ɵɵComponentDeclaration<AIAutocompleteDropdownComponent, "ai-autocomplete-dropdown", never, { "controller": "controller"; "showPills": "showPills"; "className": "className"; "mode": "mode"; }, {}, never, never, true, never>;
68
91
  }
69
92
  export {};
70
93
  //# 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":"AACA,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,aAAa,EAEnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;;AAMzF,UAAU,UAAU;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,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;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAKD;;;;;;;;;;;;;;GAcG;AACH,qBAea,+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;IAIjE,OAAO,CAAC,kBAAkB,CAAgC;IAE1D,QAAQ,IAAI,IAAI;IAMhB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAezC,4EAA4E;IAC5E,OAAO,CAAC,MAAM;IA4Cd,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;yCAlHpB,+BAA+B;2CAA/B,+BAA+B;CAsH3C"}
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,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,aAAa,EAEnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAEvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;;AAMzF,UAAU,UAAU;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,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;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC;CACpC;AAKD;;;;;;;;;;;;;;GAcG;AACH,qBAkBa,+BAAgC,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IAClF,iEAAiE;IACxD,UAAU,EAAG,wBAAwB,CAAC;IAC/C,2EAA2E;IAClE,SAAS,UAAQ;IAC1B,uDAAuD;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACM,IAAI,CAAC,EAAE,cAAc,CAAC;IAE/B,oFAAoF;IACpF,YAAY,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAQ;IAC7C,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,OAAO,CAAC,YAAY,CAAC,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA6B;IAEjD,6EAA6E;IAC7E,IAAI,SAAS,IAAI,MAAM,CAKtB;IAED,+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;IAIjE,OAAO,CAAC,kBAAkB,CAAgC;IAE1D,QAAQ,IAAI,IAAI;IAOhB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAkBzC,WAAW,IAAI,IAAI;IAInB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,oBAAoB;IAQ5B,4EAA4E;IAC5E,OAAO,CAAC,MAAM;IA6Cd,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;yCArLpB,+BAA+B;2CAA/B,+BAA+B;CAyL3C"}
@@ -17,6 +17,7 @@ import type { AIAutocompleteControllerOptions, AIAutocompleteControllerState, AI
17
17
  export declare class AIAutocompleteController {
18
18
  private readonly core;
19
19
  private readonly rawState$;
20
+ private readonly optionsPosition$;
20
21
  private readonly unsubscribeCore;
21
22
  private isDestroyed;
22
23
  /** Plain-text content of the editor. */
@@ -1 +1 @@
1
- {"version":3,"file":"ai-autocomplete.controller.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/ai-autocomplete.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-autocomplete.controller.d.ts","sourceRoot":"","sources":["../../../src/lib/controller/ai-autocomplete.controller.ts"],"names":[],"mappings":"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"}
@@ -127,5 +127,11 @@ export interface AIAutocompleteDropdownState {
127
127
  hasTabbedToHighlight: boolean;
128
128
  /** When the input has no typed text, the footer hint reads "tab to select". */
129
129
  isInputEmpty: boolean;
130
+ /**
131
+ * Where the dropdown opens relative to the input — mirrors the controller's
132
+ * `optionsPosition` option. `<ai-autocomplete-dropdown>` reads it from here, so
133
+ * placement is configured once on the controller (no separate input to sync).
134
+ */
135
+ optionsPosition: "above" | "below";
130
136
  }
131
137
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/shared/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/shared/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,OAAO,EACP,UAAU,EACX,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,WAAW,+BAA+B;IAC9C,0DAA0D;IAC1D,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,wDAAwD;IACxD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACpC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC/C,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;IACrC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAChD,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,oEAAoE;IACpE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,oEAAoE;IACpE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IACzD,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,eAAe,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACxC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC;AAED;;;;;;GAMG;AACH,MAAM,MAAM,8BAA8B,GAAG,OAAO,CAClD,IAAI,CACF,+BAA+B,EAC/B,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAC5F,CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,kEAAkE;IAClE,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,MAAM,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,oFAAoF;IACpF,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iEAAiE;IACjE,SAAS,EAAE,OAAO,CAAC;IACnB,qHAAqH;IACrH,oBAAoB,EAAE,OAAO,CAAC;IAC9B,+EAA+E;IAC/E,YAAY,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC;CACpC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magicx-eng/ai-autocomplete-angular",
3
- "version": "0.3.3",
3
+ "version": "0.4.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",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "tslib": "^2.3.0",
24
- "@magicx-eng/ai-autocomplete-vanilla": "0.4.2"
24
+ "@magicx-eng/ai-autocomplete-vanilla": "0.4.3"
25
25
  },
26
26
  "keywords": [
27
27
  "angular",