@genesislcap/foundation-ui 14.483.1 → 14.483.3-alpha-7a2e689.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.
@@ -2384,75 +2384,57 @@
2384
2384
  },
2385
2385
  {
2386
2386
  "kind": "javascript-module",
2387
- "path": "src/ai-indicator/ai-indicator.styles.ts",
2387
+ "path": "src/ai-criteria-search/ai-criteria-search.styles.ts",
2388
2388
  "declarations": [
2389
2389
  {
2390
- "kind": "function",
2391
- "name": "foundationAiIndicatorStyles",
2392
- "return": {
2393
- "type": {
2394
- "text": "ElementStyles"
2395
- }
2396
- },
2397
- "parameters": [
2398
- {
2399
- "name": "context",
2400
- "type": {
2401
- "text": "ElementDefinitionContext"
2402
- }
2403
- },
2404
- {
2405
- "name": "definition",
2406
- "type": {
2407
- "text": "FoundationElementDefinition"
2408
- }
2409
- }
2410
- ]
2390
+ "kind": "variable",
2391
+ "name": "foundationAiCriteriaSearchStyles",
2392
+ "default": "css`\n :host {\n display: block;\n width: 800px;\n }\n\n .ai-criteria-search {\n display: flex;\n flex-direction: column;\n gap: calc(${designUnit} * 2px);\n }\n\n .ai-criteria-search-row {\n display: flex;\n flex-direction: row;\n gap: calc(${designUnit} * 2px);\n align-items: center;\n }\n\n .criteria-input {\n height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) - 4) * 1px);\n flex: 1;\n min-width: 0;\n }\n\n .criteria-chips-inline {\n height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) - 4) * 1px);\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: calc(${designUnit} * 1px);\n overflow-x: auto;\n padding: 0 calc(${designUnit} * 2px);\n background: var(--neutral-fill-input-rest);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n scrollbar-width: none;\n }\n\n .criteria-chips-inline::-webkit-scrollbar {\n display: none;\n }\n\n .mic-icon {\n color: var(--neutral-foreground-rest);\n fill: currentColor;\n }\n\n .criteria-toggle-button,\n .criteria-clear-button {\n flex-shrink: 0;\n }\n\n .criteria-chip {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n gap: calc(${designUnit} * 1px);\n padding: calc(${designUnit} * 0.5px) calc(${designUnit} * 2px);\n background: var(--neutral-fill-rest);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);\n border-radius: calc(${designUnit} * 4px);\n font-size: var(--type-ramp-minus-1-font-size);\n color: var(--neutral-foreground-rest);\n white-space: nowrap;\n }\n\n .criteria-chip-field {\n font-weight: 600;\n }\n\n .criteria-chip-operator {\n color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));\n font-style: italic;\n }\n\n .criteria-chip-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n padding: 0;\n margin-left: calc(${designUnit} * 0.5px);\n background: none;\n border: none;\n cursor: pointer;\n color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));\n font-size: 10px;\n border-radius: 50%;\n line-height: 1;\n }\n\n .criteria-chip-remove:hover {\n background: var(--neutral-fill-hover);\n color: var(--neutral-foreground-rest);\n }\n`"
2411
2393
  }
2412
2394
  ],
2413
2395
  "exports": [
2414
2396
  {
2415
2397
  "kind": "js",
2416
- "name": "foundationAiIndicatorStyles",
2398
+ "name": "foundationAiCriteriaSearchStyles",
2417
2399
  "declaration": {
2418
- "name": "foundationAiIndicatorStyles",
2419
- "module": "src/ai-indicator/ai-indicator.styles.ts"
2400
+ "name": "foundationAiCriteriaSearchStyles",
2401
+ "module": "src/ai-criteria-search/ai-criteria-search.styles.ts"
2420
2402
  }
2421
2403
  }
2422
2404
  ]
2423
2405
  },
2424
2406
  {
2425
2407
  "kind": "javascript-module",
2426
- "path": "src/ai-indicator/ai-indicator.template.ts",
2408
+ "path": "src/ai-criteria-search/ai-criteria-search.template.ts",
2427
2409
  "declarations": [
2428
2410
  {
2429
2411
  "kind": "variable",
2430
- "name": "foundationAiIndicatorTemplate",
2412
+ "name": "foundationAiCriteriaSearchTemplate",
2431
2413
  "type": {
2432
- "text": "ViewTemplate<AiIndicator>"
2414
+ "text": "ViewTemplate<AiCriteriaSearch>"
2433
2415
  },
2434
- "default": "html`\n ${(x) => aiIndicatorTemplate(getPrefix(x))}\n`"
2416
+ "default": "html`\n ${(x) => aiCriteriaSearchTemplate(getPrefix(x))}\n`"
2435
2417
  }
2436
2418
  ],
2437
2419
  "exports": [
2438
2420
  {
2439
2421
  "kind": "js",
2440
- "name": "foundationAiIndicatorTemplate",
2422
+ "name": "foundationAiCriteriaSearchTemplate",
2441
2423
  "declaration": {
2442
- "name": "foundationAiIndicatorTemplate",
2443
- "module": "src/ai-indicator/ai-indicator.template.ts"
2424
+ "name": "foundationAiCriteriaSearchTemplate",
2425
+ "module": "src/ai-criteria-search/ai-criteria-search.template.ts"
2444
2426
  }
2445
2427
  }
2446
2428
  ]
2447
2429
  },
2448
2430
  {
2449
2431
  "kind": "javascript-module",
2450
- "path": "src/ai-indicator/ai-indicator.ts",
2432
+ "path": "src/ai-criteria-search/ai-criteria-search.ts",
2451
2433
  "declarations": [
2452
2434
  {
2453
2435
  "kind": "class",
2454
- "description": "",
2455
- "name": "AiIndicator",
2436
+ "description": "Natural-language criteria search input with AI interpretation.",
2437
+ "name": "AiCriteriaSearch",
2456
2438
  "members": [
2457
2439
  {
2458
2440
  "kind": "field",
@@ -2463,25 +2445,54 @@
2463
2445
  },
2464
2446
  {
2465
2447
  "kind": "field",
2466
- "name": "aiProvider",
2448
+ "name": "placeholder",
2467
2449
  "type": {
2468
- "text": "AIProvider | undefined"
2450
+ "text": "string"
2469
2451
  },
2470
- "privacy": "private",
2471
- "description": "The indicator reflects status for the registry's default provider only —\nper-agent provider overrides live with the assistant component, not this\ntop-level chrome.",
2472
- "readonly": true
2452
+ "default": "'Describe your search criteria in natural language...'"
2473
2453
  },
2474
2454
  {
2475
2455
  "kind": "field",
2476
- "name": "status",
2456
+ "name": "disabled",
2477
2457
  "type": {
2478
- "text": "AIStatus | null"
2458
+ "text": "boolean"
2459
+ }
2460
+ },
2461
+ {
2462
+ "kind": "field",
2463
+ "name": "inputValue",
2464
+ "type": {
2465
+ "text": "string"
2466
+ },
2467
+ "default": "''"
2468
+ },
2469
+ {
2470
+ "kind": "field",
2471
+ "name": "isInterpreting",
2472
+ "type": {
2473
+ "text": "boolean"
2474
+ },
2475
+ "default": "false"
2476
+ },
2477
+ {
2478
+ "kind": "field",
2479
+ "name": "lastValidCriteria",
2480
+ "type": {
2481
+ "text": "string | null"
2479
2482
  },
2480
2483
  "default": "null"
2481
2484
  },
2482
2485
  {
2483
2486
  "kind": "field",
2484
- "name": "open",
2487
+ "name": "activeGroups",
2488
+ "type": {
2489
+ "text": "CriteriaGroup[]"
2490
+ },
2491
+ "default": "[]"
2492
+ },
2493
+ {
2494
+ "kind": "field",
2495
+ "name": "showingChips",
2485
2496
  "type": {
2486
2497
  "text": "boolean"
2487
2498
  },
@@ -2489,15 +2500,15 @@
2489
2500
  },
2490
2501
  {
2491
2502
  "kind": "field",
2492
- "name": "state",
2503
+ "name": "fieldMetadata",
2493
2504
  "type": {
2494
- "text": "AIIndicatorState"
2505
+ "text": "MetadataDetail[] | string[]"
2495
2506
  },
2496
- "default": "'none'"
2507
+ "default": "[]"
2497
2508
  },
2498
2509
  {
2499
2510
  "kind": "field",
2500
- "name": "isInstalling",
2511
+ "name": "isRecording",
2501
2512
  "type": {
2502
2513
  "text": "boolean"
2503
2514
  },
@@ -2505,29 +2516,33 @@
2505
2516
  },
2506
2517
  {
2507
2518
  "kind": "field",
2508
- "name": "pollTimer",
2519
+ "name": "textAreaRef",
2509
2520
  "type": {
2510
- "text": "ReturnType<typeof setInterval> | null"
2521
+ "text": "HTMLTextAreaElement"
2511
2522
  },
2512
- "privacy": "private",
2513
- "default": "null"
2523
+ "privacy": "public"
2514
2524
  },
2515
2525
  {
2516
2526
  "kind": "field",
2517
- "name": "clickOutside",
2518
- "privacy": "private"
2527
+ "name": "stopRecording",
2528
+ "type": {
2529
+ "text": "(() => void) | null"
2530
+ },
2531
+ "privacy": "private",
2532
+ "default": "null"
2519
2533
  },
2520
2534
  {
2521
2535
  "kind": "field",
2522
- "name": "chromeStatusLabel",
2536
+ "name": "speechApplyDebounceTimer",
2523
2537
  "type": {
2524
- "text": "string | null"
2538
+ "text": "ReturnType<typeof setTimeout> | null"
2525
2539
  },
2526
- "readonly": true
2540
+ "privacy": "private",
2541
+ "default": "null"
2527
2542
  },
2528
2543
  {
2529
2544
  "kind": "field",
2530
- "name": "canInstall",
2545
+ "name": "speechAvailable",
2531
2546
  "type": {
2532
2547
  "text": "boolean"
2533
2548
  },
@@ -2535,69 +2550,65 @@
2535
2550
  },
2536
2551
  {
2537
2552
  "kind": "field",
2538
- "name": "isDownloading",
2553
+ "name": "criteriaChips",
2539
2554
  "type": {
2540
- "text": "boolean"
2555
+ "text": "CriteriaChip[]"
2541
2556
  },
2542
2557
  "readonly": true
2543
2558
  },
2544
2559
  {
2545
2560
  "kind": "method",
2546
- "name": "openChanged",
2561
+ "name": "getFieldLabel",
2562
+ "privacy": "private",
2547
2563
  "return": {
2548
2564
  "type": {
2549
- "text": "void"
2565
+ "text": "string"
2550
2566
  }
2551
- }
2552
- },
2553
- {
2554
- "kind": "method",
2555
- "name": "handleClickOutside",
2556
- "privacy": "private",
2567
+ },
2557
2568
  "parameters": [
2558
2569
  {
2559
- "name": "event",
2570
+ "name": "fieldName",
2560
2571
  "type": {
2561
- "text": "MouseEvent"
2572
+ "text": "string"
2562
2573
  }
2563
2574
  }
2564
2575
  ]
2565
2576
  },
2566
2577
  {
2567
2578
  "kind": "method",
2568
- "name": "toggleDropdown"
2569
- },
2570
- {
2571
- "kind": "method",
2572
- "name": "refreshStatus",
2579
+ "name": "toggleCriteriaView",
2573
2580
  "return": {
2574
2581
  "type": {
2575
- "text": "Promise<void>"
2582
+ "text": "void"
2576
2583
  }
2577
2584
  }
2578
2585
  },
2579
2586
  {
2580
2587
  "kind": "method",
2581
- "name": "deriveState",
2582
- "privacy": "private",
2588
+ "name": "removeChip",
2583
2589
  "return": {
2584
2590
  "type": {
2585
- "text": "AIIndicatorState"
2591
+ "text": "void"
2586
2592
  }
2587
2593
  },
2588
2594
  "parameters": [
2589
2595
  {
2590
- "name": "s",
2596
+ "name": "groupIndex",
2591
2597
  "type": {
2592
- "text": "AIStatus | null"
2598
+ "text": "number"
2599
+ }
2600
+ },
2601
+ {
2602
+ "name": "clauseIndex",
2603
+ "type": {
2604
+ "text": "number"
2593
2605
  }
2594
2606
  }
2595
2607
  ]
2596
2608
  },
2597
2609
  {
2598
2610
  "kind": "method",
2599
- "name": "maybeStartPolling",
2600
- "privacy": "private",
2611
+ "name": "clearChips",
2601
2612
  "return": {
2602
2613
  "type": {
2603
2614
  "text": "void"
@@ -2606,32 +2617,24 @@
2606
2617
  },
2607
2618
  {
2608
2619
  "kind": "method",
2609
- "name": "startPolling",
2610
- "privacy": "private",
2611
- "return": {
2612
- "type": {
2613
- "text": "void"
2614
- }
2615
- }
2620
+ "name": "handleSubmit"
2616
2621
  },
2617
2622
  {
2618
2623
  "kind": "method",
2619
- "name": "stopPolling",
2620
- "privacy": "private",
2621
- "return": {
2622
- "type": {
2623
- "text": "void"
2624
- }
2625
- }
2624
+ "name": "handleBlur"
2626
2625
  },
2627
2626
  {
2628
2627
  "kind": "method",
2629
- "name": "onInstall",
2630
- "return": {
2631
- "type": {
2632
- "text": "Promise<void>"
2633
- }
2634
- }
2628
+ "name": "clear"
2629
+ },
2630
+ {
2631
+ "kind": "method",
2632
+ "name": "toggleSpeechInput"
2633
+ },
2634
+ {
2635
+ "kind": "method",
2636
+ "name": "clearSpeechApplyDebounce",
2637
+ "privacy": "private"
2635
2638
  },
2636
2639
  {
2637
2640
  "kind": "field",
@@ -2745,145 +2748,320 @@
2745
2748
  }
2746
2749
  }
2747
2750
  ],
2751
+ "events": [
2752
+ {
2753
+ "description": "Fired when interpreted criteria is applied or cleared",
2754
+ "name": "criteria-changed"
2755
+ },
2756
+ {
2757
+ "description": "Fired when interpreted criteria contains invalid clauses",
2758
+ "name": "validation-errors"
2759
+ }
2760
+ ],
2761
+ "attributes": [
2762
+ {
2763
+ "name": "placeholder",
2764
+ "type": {
2765
+ "text": "string"
2766
+ },
2767
+ "default": "'Describe your search criteria in natural language...'",
2768
+ "fieldName": "placeholder"
2769
+ },
2770
+ {
2771
+ "type": {
2772
+ "text": "boolean"
2773
+ },
2774
+ "fieldName": "disabled"
2775
+ }
2776
+ ],
2748
2777
  "superclass": {
2749
2778
  "name": "FoundationElement",
2750
2779
  "package": "@microsoft/fast-foundation"
2751
2780
  },
2752
- "tagName": "%%prefix%%-ai-indicator",
2781
+ "tagName": "%%prefix%%-ai-criteria-search",
2753
2782
  "customElement": true
2754
2783
  },
2755
2784
  {
2756
2785
  "kind": "variable",
2757
- "name": "foundationAiIndicator"
2786
+ "name": "foundationAiCriteriaSearchShadowOptions",
2787
+ "type": {
2788
+ "text": "ShadowRootInit"
2789
+ },
2790
+ "default": "undefined"
2791
+ },
2792
+ {
2793
+ "kind": "variable",
2794
+ "name": "defaultAiCriteriaSearchConfig",
2795
+ "type": {
2796
+ "text": "object"
2797
+ },
2798
+ "default": "{}"
2799
+ },
2800
+ {
2801
+ "kind": "variable",
2802
+ "name": "foundationAiCriteriaSearch"
2758
2803
  }
2759
2804
  ],
2760
2805
  "exports": [
2761
2806
  {
2762
2807
  "kind": "js",
2763
- "name": "AiIndicator",
2808
+ "name": "AiCriteriaSearch",
2764
2809
  "declaration": {
2765
- "name": "AiIndicator",
2766
- "module": "src/ai-indicator/ai-indicator.ts"
2810
+ "name": "AiCriteriaSearch",
2811
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2767
2812
  }
2768
2813
  },
2769
2814
  {
2770
2815
  "kind": "js",
2771
- "name": "foundationAiIndicator",
2816
+ "name": "foundationAiCriteriaSearchShadowOptions",
2772
2817
  "declaration": {
2773
- "name": "foundationAiIndicator",
2774
- "module": "src/ai-indicator/ai-indicator.ts"
2818
+ "name": "foundationAiCriteriaSearchShadowOptions",
2819
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2820
+ }
2821
+ },
2822
+ {
2823
+ "kind": "js",
2824
+ "name": "defaultAiCriteriaSearchConfig",
2825
+ "declaration": {
2826
+ "name": "defaultAiCriteriaSearchConfig",
2827
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2828
+ }
2829
+ },
2830
+ {
2831
+ "kind": "js",
2832
+ "name": "foundationAiCriteriaSearch",
2833
+ "declaration": {
2834
+ "name": "foundationAiCriteriaSearch",
2835
+ "module": "src/ai-criteria-search/ai-criteria-search.ts"
2775
2836
  }
2776
2837
  }
2777
2838
  ]
2778
2839
  },
2779
2840
  {
2780
2841
  "kind": "javascript-module",
2781
- "path": "src/ai-indicator/index.ts",
2842
+ "path": "src/ai-criteria-search/index.ts",
2782
2843
  "declarations": [],
2783
2844
  "exports": [
2784
2845
  {
2785
2846
  "kind": "js",
2786
- "name": "AiIndicator",
2847
+ "name": "AiCriteriaSearch",
2787
2848
  "declaration": {
2788
- "name": "AiIndicator",
2789
- "module": "./ai-indicator"
2849
+ "name": "AiCriteriaSearch",
2850
+ "module": "./ai-criteria-search"
2790
2851
  }
2791
2852
  },
2792
2853
  {
2793
2854
  "kind": "js",
2794
- "name": "foundationAiIndicator",
2855
+ "name": "defaultAiCriteriaSearchConfig",
2795
2856
  "declaration": {
2796
- "name": "foundationAiIndicator",
2797
- "module": "./ai-indicator"
2857
+ "name": "defaultAiCriteriaSearchConfig",
2858
+ "module": "./ai-criteria-search"
2798
2859
  }
2799
2860
  },
2800
2861
  {
2801
2862
  "kind": "js",
2802
- "name": "type",
2863
+ "name": "foundationAiCriteriaSearch",
2803
2864
  "declaration": {
2804
- "name": "type",
2805
- "module": "./ai-indicator"
2865
+ "name": "foundationAiCriteriaSearch",
2866
+ "module": "./ai-criteria-search"
2806
2867
  }
2807
2868
  },
2808
2869
  {
2809
2870
  "kind": "js",
2810
- "name": "AIIndicatorState",
2871
+ "name": "foundationAiCriteriaSearchShadowOptions",
2811
2872
  "declaration": {
2812
- "name": "AIIndicatorState",
2813
- "module": "./ai-indicator"
2873
+ "name": "foundationAiCriteriaSearchShadowOptions",
2874
+ "module": "./ai-criteria-search"
2814
2875
  }
2815
2876
  },
2816
2877
  {
2817
2878
  "kind": "js",
2818
- "name": "foundationAiIndicatorTemplate",
2879
+ "name": "foundationAiCriteriaSearchStyles",
2819
2880
  "declaration": {
2820
- "name": "foundationAiIndicatorTemplate",
2821
- "module": "./ai-indicator.template"
2881
+ "name": "foundationAiCriteriaSearchStyles",
2882
+ "module": "./ai-criteria-search.styles"
2822
2883
  }
2823
2884
  },
2824
2885
  {
2825
2886
  "kind": "js",
2826
- "name": "foundationAiIndicatorStyles",
2887
+ "name": "foundationAiCriteriaSearchTemplate",
2827
2888
  "declaration": {
2828
- "name": "foundationAiIndicatorStyles",
2829
- "module": "./ai-indicator.styles"
2889
+ "name": "foundationAiCriteriaSearchTemplate",
2890
+ "module": "./ai-criteria-search.template"
2891
+ }
2892
+ },
2893
+ {
2894
+ "kind": "js",
2895
+ "name": "*",
2896
+ "declaration": {
2897
+ "name": "*",
2898
+ "package": "./validation/criteria-ir"
2899
+ }
2900
+ },
2901
+ {
2902
+ "kind": "js",
2903
+ "name": "*",
2904
+ "declaration": {
2905
+ "name": "*",
2906
+ "package": "./validation/operator-map"
2907
+ }
2908
+ },
2909
+ {
2910
+ "kind": "js",
2911
+ "name": "*",
2912
+ "declaration": {
2913
+ "name": "*",
2914
+ "package": "./validation/schema-validator"
2830
2915
  }
2831
2916
  }
2832
2917
  ]
2833
2918
  },
2834
2919
  {
2835
2920
  "kind": "javascript-module",
2836
- "path": "src/ai-criteria-search/ai-criteria-search.styles.ts",
2921
+ "path": "src/ai-criteria-search/validation-error-notification.ts",
2837
2922
  "declarations": [
2838
2923
  {
2839
- "kind": "variable",
2840
- "name": "foundationAiCriteriaSearchStyles",
2841
- "default": "css`\n :host {\n display: block;\n width: 800px;\n }\n\n .ai-criteria-search {\n display: flex;\n flex-direction: column;\n gap: calc(${designUnit} * 2px);\n }\n\n .ai-criteria-search-row {\n display: flex;\n flex-direction: row;\n gap: calc(${designUnit} * 2px);\n align-items: center;\n }\n\n .criteria-input {\n height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) - 4) * 1px);\n flex: 1;\n min-width: 0;\n }\n\n .criteria-chips-inline {\n height: calc(((var(--base-height-multiplier) + var(--density)) * var(--design-unit) - 4) * 1px);\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n gap: calc(${designUnit} * 1px);\n overflow-x: auto;\n padding: 0 calc(${designUnit} * 2px);\n background: var(--neutral-fill-input-rest);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n scrollbar-width: none;\n }\n\n .criteria-chips-inline::-webkit-scrollbar {\n display: none;\n }\n\n .mic-icon {\n color: var(--neutral-foreground-rest);\n fill: currentColor;\n }\n\n .criteria-toggle-button,\n .criteria-clear-button {\n flex-shrink: 0;\n }\n\n .criteria-chip {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n gap: calc(${designUnit} * 1px);\n padding: calc(${designUnit} * 0.5px) calc(${designUnit} * 2px);\n background: var(--neutral-fill-rest);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-rest);\n border-radius: calc(${designUnit} * 4px);\n font-size: var(--type-ramp-minus-1-font-size);\n color: var(--neutral-foreground-rest);\n white-space: nowrap;\n }\n\n .criteria-chip-field {\n font-weight: 600;\n }\n\n .criteria-chip-operator {\n color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));\n font-style: italic;\n }\n\n .criteria-chip-remove {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n padding: 0;\n margin-left: calc(${designUnit} * 0.5px);\n background: none;\n border: none;\n cursor: pointer;\n color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));\n font-size: 10px;\n border-radius: 50%;\n line-height: 1;\n }\n\n .criteria-chip-remove:hover {\n background: var(--neutral-fill-hover);\n color: var(--neutral-foreground-rest);\n }\n`"
2924
+ "kind": "function",
2925
+ "name": "formatValidationErrors",
2926
+ "return": {
2927
+ "type": {
2928
+ "text": "string"
2929
+ }
2930
+ },
2931
+ "parameters": [
2932
+ {
2933
+ "name": "errors",
2934
+ "type": {
2935
+ "text": "ValidationError[]"
2936
+ }
2937
+ }
2938
+ ],
2939
+ "description": "Formats validation errors into a user-friendly message."
2940
+ },
2941
+ {
2942
+ "kind": "function",
2943
+ "name": "showCriteriaError",
2944
+ "return": {
2945
+ "type": {
2946
+ "text": "void"
2947
+ }
2948
+ },
2949
+ "parameters": [
2950
+ {
2951
+ "name": "title",
2952
+ "type": {
2953
+ "text": "string"
2954
+ },
2955
+ "description": "Notification title (e.g. \"Criteria validation error\")"
2956
+ },
2957
+ {
2958
+ "name": "body",
2959
+ "type": {
2960
+ "text": "string"
2961
+ },
2962
+ "description": "Error message to display"
2963
+ },
2964
+ {
2965
+ "name": "tagName",
2966
+ "type": {
2967
+ "text": "string"
2968
+ },
2969
+ "description": "Design system prefix (e.g. \"rapid\", \"foundation\")"
2970
+ }
2971
+ ],
2972
+ "description": "Shows a criteria error as a toast notification."
2842
2973
  }
2843
2974
  ],
2844
2975
  "exports": [
2845
2976
  {
2846
2977
  "kind": "js",
2847
- "name": "foundationAiCriteriaSearchStyles",
2978
+ "name": "formatValidationErrors",
2848
2979
  "declaration": {
2849
- "name": "foundationAiCriteriaSearchStyles",
2850
- "module": "src/ai-criteria-search/ai-criteria-search.styles.ts"
2980
+ "name": "formatValidationErrors",
2981
+ "module": "src/ai-criteria-search/validation-error-notification.ts"
2982
+ }
2983
+ },
2984
+ {
2985
+ "kind": "js",
2986
+ "name": "showCriteriaError",
2987
+ "declaration": {
2988
+ "name": "showCriteriaError",
2989
+ "module": "src/ai-criteria-search/validation-error-notification.ts"
2851
2990
  }
2852
2991
  }
2853
2992
  ]
2854
2993
  },
2855
2994
  {
2856
2995
  "kind": "javascript-module",
2857
- "path": "src/ai-criteria-search/ai-criteria-search.template.ts",
2996
+ "path": "src/ai-indicator/ai-indicator.styles.ts",
2997
+ "declarations": [
2998
+ {
2999
+ "kind": "function",
3000
+ "name": "foundationAiIndicatorStyles",
3001
+ "return": {
3002
+ "type": {
3003
+ "text": "ElementStyles"
3004
+ }
3005
+ },
3006
+ "parameters": [
3007
+ {
3008
+ "name": "context",
3009
+ "type": {
3010
+ "text": "ElementDefinitionContext"
3011
+ }
3012
+ },
3013
+ {
3014
+ "name": "definition",
3015
+ "type": {
3016
+ "text": "FoundationElementDefinition"
3017
+ }
3018
+ }
3019
+ ]
3020
+ }
3021
+ ],
3022
+ "exports": [
3023
+ {
3024
+ "kind": "js",
3025
+ "name": "foundationAiIndicatorStyles",
3026
+ "declaration": {
3027
+ "name": "foundationAiIndicatorStyles",
3028
+ "module": "src/ai-indicator/ai-indicator.styles.ts"
3029
+ }
3030
+ }
3031
+ ]
3032
+ },
3033
+ {
3034
+ "kind": "javascript-module",
3035
+ "path": "src/ai-indicator/ai-indicator.template.ts",
2858
3036
  "declarations": [
2859
3037
  {
2860
3038
  "kind": "variable",
2861
- "name": "foundationAiCriteriaSearchTemplate",
3039
+ "name": "foundationAiIndicatorTemplate",
2862
3040
  "type": {
2863
- "text": "ViewTemplate<AiCriteriaSearch>"
3041
+ "text": "ViewTemplate<AiIndicator>"
2864
3042
  },
2865
- "default": "html`\n ${(x) => aiCriteriaSearchTemplate(getPrefix(x))}\n`"
3043
+ "default": "html`\n ${(x) => aiIndicatorTemplate(getPrefix(x))}\n`"
2866
3044
  }
2867
3045
  ],
2868
3046
  "exports": [
2869
3047
  {
2870
3048
  "kind": "js",
2871
- "name": "foundationAiCriteriaSearchTemplate",
3049
+ "name": "foundationAiIndicatorTemplate",
2872
3050
  "declaration": {
2873
- "name": "foundationAiCriteriaSearchTemplate",
2874
- "module": "src/ai-criteria-search/ai-criteria-search.template.ts"
3051
+ "name": "foundationAiIndicatorTemplate",
3052
+ "module": "src/ai-indicator/ai-indicator.template.ts"
2875
3053
  }
2876
3054
  }
2877
3055
  ]
2878
3056
  },
2879
3057
  {
2880
3058
  "kind": "javascript-module",
2881
- "path": "src/ai-criteria-search/ai-criteria-search.ts",
3059
+ "path": "src/ai-indicator/ai-indicator.ts",
2882
3060
  "declarations": [
2883
3061
  {
2884
3062
  "kind": "class",
2885
- "description": "Natural-language criteria search input with AI interpretation.",
2886
- "name": "AiCriteriaSearch",
3063
+ "description": "",
3064
+ "name": "AiIndicator",
2887
3065
  "members": [
2888
3066
  {
2889
3067
  "kind": "field",
@@ -2894,54 +3072,25 @@
2894
3072
  },
2895
3073
  {
2896
3074
  "kind": "field",
2897
- "name": "placeholder",
2898
- "type": {
2899
- "text": "string"
2900
- },
2901
- "default": "'Describe your search criteria in natural language...'"
2902
- },
2903
- {
2904
- "kind": "field",
2905
- "name": "disabled",
2906
- "type": {
2907
- "text": "boolean"
2908
- }
2909
- },
2910
- {
2911
- "kind": "field",
2912
- "name": "inputValue",
2913
- "type": {
2914
- "text": "string"
2915
- },
2916
- "default": "''"
2917
- },
2918
- {
2919
- "kind": "field",
2920
- "name": "isInterpreting",
3075
+ "name": "aiProvider",
2921
3076
  "type": {
2922
- "text": "boolean"
3077
+ "text": "AIProvider | undefined"
2923
3078
  },
2924
- "default": "false"
3079
+ "privacy": "private",
3080
+ "description": "The indicator reflects status for the registry's default provider only —\nper-agent provider overrides live with the assistant component, not this\ntop-level chrome.",
3081
+ "readonly": true
2925
3082
  },
2926
3083
  {
2927
3084
  "kind": "field",
2928
- "name": "lastValidCriteria",
3085
+ "name": "status",
2929
3086
  "type": {
2930
- "text": "string | null"
3087
+ "text": "AIStatus | null"
2931
3088
  },
2932
3089
  "default": "null"
2933
3090
  },
2934
3091
  {
2935
3092
  "kind": "field",
2936
- "name": "activeGroups",
2937
- "type": {
2938
- "text": "CriteriaGroup[]"
2939
- },
2940
- "default": "[]"
2941
- },
2942
- {
2943
- "kind": "field",
2944
- "name": "showingChips",
3093
+ "name": "open",
2945
3094
  "type": {
2946
3095
  "text": "boolean"
2947
3096
  },
@@ -2949,15 +3098,15 @@
2949
3098
  },
2950
3099
  {
2951
3100
  "kind": "field",
2952
- "name": "fieldMetadata",
3101
+ "name": "state",
2953
3102
  "type": {
2954
- "text": "MetadataDetail[] | string[]"
3103
+ "text": "AIIndicatorState"
2955
3104
  },
2956
- "default": "[]"
3105
+ "default": "'none'"
2957
3106
  },
2958
3107
  {
2959
3108
  "kind": "field",
2960
- "name": "isRecording",
3109
+ "name": "isInstalling",
2961
3110
  "type": {
2962
3111
  "text": "boolean"
2963
3112
  },
@@ -2965,33 +3114,29 @@
2965
3114
  },
2966
3115
  {
2967
3116
  "kind": "field",
2968
- "name": "textAreaRef",
3117
+ "name": "pollTimer",
2969
3118
  "type": {
2970
- "text": "HTMLTextAreaElement"
3119
+ "text": "ReturnType<typeof setInterval> | null"
2971
3120
  },
2972
- "privacy": "public"
3121
+ "privacy": "private",
3122
+ "default": "null"
2973
3123
  },
2974
3124
  {
2975
3125
  "kind": "field",
2976
- "name": "stopRecording",
2977
- "type": {
2978
- "text": "(() => void) | null"
2979
- },
2980
- "privacy": "private",
2981
- "default": "null"
3126
+ "name": "clickOutside",
3127
+ "privacy": "private"
2982
3128
  },
2983
3129
  {
2984
3130
  "kind": "field",
2985
- "name": "speechApplyDebounceTimer",
3131
+ "name": "chromeStatusLabel",
2986
3132
  "type": {
2987
- "text": "ReturnType<typeof setTimeout> | null"
3133
+ "text": "string | null"
2988
3134
  },
2989
- "privacy": "private",
2990
- "default": "null"
3135
+ "readonly": true
2991
3136
  },
2992
3137
  {
2993
3138
  "kind": "field",
2994
- "name": "speechAvailable",
3139
+ "name": "canInstall",
2995
3140
  "type": {
2996
3141
  "text": "boolean"
2997
3142
  },
@@ -2999,65 +3144,69 @@
2999
3144
  },
3000
3145
  {
3001
3146
  "kind": "field",
3002
- "name": "criteriaChips",
3147
+ "name": "isDownloading",
3003
3148
  "type": {
3004
- "text": "CriteriaChip[]"
3149
+ "text": "boolean"
3005
3150
  },
3006
3151
  "readonly": true
3007
3152
  },
3008
3153
  {
3009
3154
  "kind": "method",
3010
- "name": "getFieldLabel",
3011
- "privacy": "private",
3155
+ "name": "openChanged",
3012
3156
  "return": {
3013
3157
  "type": {
3014
- "text": "string"
3158
+ "text": "void"
3015
3159
  }
3016
- },
3160
+ }
3161
+ },
3162
+ {
3163
+ "kind": "method",
3164
+ "name": "handleClickOutside",
3165
+ "privacy": "private",
3017
3166
  "parameters": [
3018
3167
  {
3019
- "name": "fieldName",
3168
+ "name": "event",
3020
3169
  "type": {
3021
- "text": "string"
3170
+ "text": "MouseEvent"
3022
3171
  }
3023
3172
  }
3024
3173
  ]
3025
3174
  },
3026
3175
  {
3027
3176
  "kind": "method",
3028
- "name": "toggleCriteriaView",
3177
+ "name": "toggleDropdown"
3178
+ },
3179
+ {
3180
+ "kind": "method",
3181
+ "name": "refreshStatus",
3029
3182
  "return": {
3030
3183
  "type": {
3031
- "text": "void"
3184
+ "text": "Promise<void>"
3032
3185
  }
3033
3186
  }
3034
3187
  },
3035
3188
  {
3036
3189
  "kind": "method",
3037
- "name": "removeChip",
3190
+ "name": "deriveState",
3191
+ "privacy": "private",
3038
3192
  "return": {
3039
3193
  "type": {
3040
- "text": "void"
3194
+ "text": "AIIndicatorState"
3041
3195
  }
3042
3196
  },
3043
3197
  "parameters": [
3044
3198
  {
3045
- "name": "groupIndex",
3046
- "type": {
3047
- "text": "number"
3048
- }
3049
- },
3050
- {
3051
- "name": "clauseIndex",
3199
+ "name": "s",
3052
3200
  "type": {
3053
- "text": "number"
3201
+ "text": "AIStatus | null"
3054
3202
  }
3055
3203
  }
3056
3204
  ]
3057
3205
  },
3058
3206
  {
3059
3207
  "kind": "method",
3060
- "name": "clearChips",
3208
+ "name": "maybeStartPolling",
3209
+ "privacy": "private",
3061
3210
  "return": {
3062
3211
  "type": {
3063
3212
  "text": "void"
@@ -3066,24 +3215,32 @@
3066
3215
  },
3067
3216
  {
3068
3217
  "kind": "method",
3069
- "name": "handleSubmit"
3070
- },
3071
- {
3072
- "kind": "method",
3073
- "name": "handleBlur"
3074
- },
3075
- {
3076
- "kind": "method",
3077
- "name": "clear"
3218
+ "name": "startPolling",
3219
+ "privacy": "private",
3220
+ "return": {
3221
+ "type": {
3222
+ "text": "void"
3223
+ }
3224
+ }
3078
3225
  },
3079
3226
  {
3080
3227
  "kind": "method",
3081
- "name": "toggleSpeechInput"
3228
+ "name": "stopPolling",
3229
+ "privacy": "private",
3230
+ "return": {
3231
+ "type": {
3232
+ "text": "void"
3233
+ }
3234
+ }
3082
3235
  },
3083
3236
  {
3084
3237
  "kind": "method",
3085
- "name": "clearSpeechApplyDebounce",
3086
- "privacy": "private"
3238
+ "name": "onInstall",
3239
+ "return": {
3240
+ "type": {
3241
+ "text": "Promise<void>"
3242
+ }
3243
+ }
3087
3244
  },
3088
3245
  {
3089
3246
  "kind": "field",
@@ -3197,245 +3354,88 @@
3197
3354
  }
3198
3355
  }
3199
3356
  ],
3200
- "events": [
3201
- {
3202
- "description": "Fired when interpreted criteria is applied or cleared",
3203
- "name": "criteria-changed"
3204
- },
3205
- {
3206
- "description": "Fired when interpreted criteria contains invalid clauses",
3207
- "name": "validation-errors"
3208
- }
3209
- ],
3210
- "attributes": [
3211
- {
3212
- "name": "placeholder",
3213
- "type": {
3214
- "text": "string"
3215
- },
3216
- "default": "'Describe your search criteria in natural language...'",
3217
- "fieldName": "placeholder"
3218
- },
3219
- {
3220
- "type": {
3221
- "text": "boolean"
3222
- },
3223
- "fieldName": "disabled"
3224
- }
3225
- ],
3226
3357
  "superclass": {
3227
3358
  "name": "FoundationElement",
3228
3359
  "package": "@microsoft/fast-foundation"
3229
3360
  },
3230
- "tagName": "%%prefix%%-ai-criteria-search",
3361
+ "tagName": "%%prefix%%-ai-indicator",
3231
3362
  "customElement": true
3232
3363
  },
3233
3364
  {
3234
3365
  "kind": "variable",
3235
- "name": "foundationAiCriteriaSearchShadowOptions",
3236
- "type": {
3237
- "text": "ShadowRootInit"
3238
- },
3239
- "default": "undefined"
3240
- },
3241
- {
3242
- "kind": "variable",
3243
- "name": "defaultAiCriteriaSearchConfig",
3244
- "type": {
3245
- "text": "object"
3246
- },
3247
- "default": "{}"
3248
- },
3249
- {
3250
- "kind": "variable",
3251
- "name": "foundationAiCriteriaSearch"
3366
+ "name": "foundationAiIndicator"
3252
3367
  }
3253
3368
  ],
3254
3369
  "exports": [
3255
3370
  {
3256
3371
  "kind": "js",
3257
- "name": "AiCriteriaSearch",
3258
- "declaration": {
3259
- "name": "AiCriteriaSearch",
3260
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
3261
- }
3262
- },
3263
- {
3264
- "kind": "js",
3265
- "name": "foundationAiCriteriaSearchShadowOptions",
3266
- "declaration": {
3267
- "name": "foundationAiCriteriaSearchShadowOptions",
3268
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
3269
- }
3270
- },
3271
- {
3272
- "kind": "js",
3273
- "name": "defaultAiCriteriaSearchConfig",
3372
+ "name": "AiIndicator",
3274
3373
  "declaration": {
3275
- "name": "defaultAiCriteriaSearchConfig",
3276
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
3374
+ "name": "AiIndicator",
3375
+ "module": "src/ai-indicator/ai-indicator.ts"
3277
3376
  }
3278
3377
  },
3279
3378
  {
3280
3379
  "kind": "js",
3281
- "name": "foundationAiCriteriaSearch",
3380
+ "name": "foundationAiIndicator",
3282
3381
  "declaration": {
3283
- "name": "foundationAiCriteriaSearch",
3284
- "module": "src/ai-criteria-search/ai-criteria-search.ts"
3382
+ "name": "foundationAiIndicator",
3383
+ "module": "src/ai-indicator/ai-indicator.ts"
3285
3384
  }
3286
3385
  }
3287
3386
  ]
3288
3387
  },
3289
3388
  {
3290
3389
  "kind": "javascript-module",
3291
- "path": "src/ai-criteria-search/index.ts",
3390
+ "path": "src/ai-indicator/index.ts",
3292
3391
  "declarations": [],
3293
3392
  "exports": [
3294
3393
  {
3295
3394
  "kind": "js",
3296
- "name": "AiCriteriaSearch",
3297
- "declaration": {
3298
- "name": "AiCriteriaSearch",
3299
- "module": "./ai-criteria-search"
3300
- }
3301
- },
3302
- {
3303
- "kind": "js",
3304
- "name": "defaultAiCriteriaSearchConfig",
3305
- "declaration": {
3306
- "name": "defaultAiCriteriaSearchConfig",
3307
- "module": "./ai-criteria-search"
3308
- }
3309
- },
3310
- {
3311
- "kind": "js",
3312
- "name": "foundationAiCriteriaSearch",
3313
- "declaration": {
3314
- "name": "foundationAiCriteriaSearch",
3315
- "module": "./ai-criteria-search"
3316
- }
3317
- },
3318
- {
3319
- "kind": "js",
3320
- "name": "foundationAiCriteriaSearchShadowOptions",
3321
- "declaration": {
3322
- "name": "foundationAiCriteriaSearchShadowOptions",
3323
- "module": "./ai-criteria-search"
3324
- }
3325
- },
3326
- {
3327
- "kind": "js",
3328
- "name": "foundationAiCriteriaSearchStyles",
3329
- "declaration": {
3330
- "name": "foundationAiCriteriaSearchStyles",
3331
- "module": "./ai-criteria-search.styles"
3332
- }
3333
- },
3334
- {
3335
- "kind": "js",
3336
- "name": "foundationAiCriteriaSearchTemplate",
3395
+ "name": "AiIndicator",
3337
3396
  "declaration": {
3338
- "name": "foundationAiCriteriaSearchTemplate",
3339
- "module": "./ai-criteria-search.template"
3397
+ "name": "AiIndicator",
3398
+ "module": "./ai-indicator"
3340
3399
  }
3341
3400
  },
3342
3401
  {
3343
3402
  "kind": "js",
3344
- "name": "*",
3403
+ "name": "foundationAiIndicator",
3345
3404
  "declaration": {
3346
- "name": "*",
3347
- "package": "./validation/criteria-ir"
3405
+ "name": "foundationAiIndicator",
3406
+ "module": "./ai-indicator"
3348
3407
  }
3349
3408
  },
3350
3409
  {
3351
3410
  "kind": "js",
3352
- "name": "*",
3411
+ "name": "type",
3353
3412
  "declaration": {
3354
- "name": "*",
3355
- "package": "./validation/operator-map"
3413
+ "name": "type",
3414
+ "module": "./ai-indicator"
3356
3415
  }
3357
3416
  },
3358
3417
  {
3359
3418
  "kind": "js",
3360
- "name": "*",
3419
+ "name": "AIIndicatorState",
3361
3420
  "declaration": {
3362
- "name": "*",
3363
- "package": "./validation/schema-validator"
3421
+ "name": "AIIndicatorState",
3422
+ "module": "./ai-indicator"
3364
3423
  }
3365
- }
3366
- ]
3367
- },
3368
- {
3369
- "kind": "javascript-module",
3370
- "path": "src/ai-criteria-search/validation-error-notification.ts",
3371
- "declarations": [
3372
- {
3373
- "kind": "function",
3374
- "name": "formatValidationErrors",
3375
- "return": {
3376
- "type": {
3377
- "text": "string"
3378
- }
3379
- },
3380
- "parameters": [
3381
- {
3382
- "name": "errors",
3383
- "type": {
3384
- "text": "ValidationError[]"
3385
- }
3386
- }
3387
- ],
3388
- "description": "Formats validation errors into a user-friendly message."
3389
3424
  },
3390
- {
3391
- "kind": "function",
3392
- "name": "showCriteriaError",
3393
- "return": {
3394
- "type": {
3395
- "text": "void"
3396
- }
3397
- },
3398
- "parameters": [
3399
- {
3400
- "name": "title",
3401
- "type": {
3402
- "text": "string"
3403
- },
3404
- "description": "Notification title (e.g. \"Criteria validation error\")"
3405
- },
3406
- {
3407
- "name": "body",
3408
- "type": {
3409
- "text": "string"
3410
- },
3411
- "description": "Error message to display"
3412
- },
3413
- {
3414
- "name": "tagName",
3415
- "type": {
3416
- "text": "string"
3417
- },
3418
- "description": "Design system prefix (e.g. \"rapid\", \"foundation\")"
3419
- }
3420
- ],
3421
- "description": "Shows a criteria error as a toast notification."
3422
- }
3423
- ],
3424
- "exports": [
3425
3425
  {
3426
3426
  "kind": "js",
3427
- "name": "formatValidationErrors",
3427
+ "name": "foundationAiIndicatorTemplate",
3428
3428
  "declaration": {
3429
- "name": "formatValidationErrors",
3430
- "module": "src/ai-criteria-search/validation-error-notification.ts"
3429
+ "name": "foundationAiIndicatorTemplate",
3430
+ "module": "./ai-indicator.template"
3431
3431
  }
3432
3432
  },
3433
3433
  {
3434
3434
  "kind": "js",
3435
- "name": "showCriteriaError",
3435
+ "name": "foundationAiIndicatorStyles",
3436
3436
  "declaration": {
3437
- "name": "showCriteriaError",
3438
- "module": "src/ai-criteria-search/validation-error-notification.ts"
3437
+ "name": "foundationAiIndicatorStyles",
3438
+ "module": "./ai-indicator.styles"
3439
3439
  }
3440
3440
  }
3441
3441
  ]