@genesislcap/foundation-utils 14.422.1-alpha-6f2ae99.0 → 14.422.1

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.
@@ -623,7 +623,7 @@
623
623
  },
624
624
  {
625
625
  "kind": "javascript-module",
626
- "path": "src/directives/index.ts",
626
+ "path": "src/encoding/index.ts",
627
627
  "declarations": [],
628
628
  "exports": [
629
629
  {
@@ -631,15 +631,7 @@
631
631
  "name": "*",
632
632
  "declaration": {
633
633
  "name": "*",
634
- "package": "./sync"
635
- }
636
- },
637
- {
638
- "kind": "js",
639
- "name": "*",
640
- "declaration": {
641
- "name": "*",
642
- "package": "./when-else"
634
+ "package": "./base64"
643
635
  }
644
636
  }
645
637
  ]
@@ -1121,7 +1113,7 @@
1121
1113
  },
1122
1114
  {
1123
1115
  "kind": "javascript-module",
1124
- "path": "src/encoding/index.ts",
1116
+ "path": "src/directives/index.ts",
1125
1117
  "declarations": [],
1126
1118
  "exports": [
1127
1119
  {
@@ -1129,7 +1121,15 @@
1129
1121
  "name": "*",
1130
1122
  "declaration": {
1131
1123
  "name": "*",
1132
- "package": "./base64"
1124
+ "package": "./sync"
1125
+ }
1126
+ },
1127
+ {
1128
+ "kind": "js",
1129
+ "name": "*",
1130
+ "declaration": {
1131
+ "name": "*",
1132
+ "package": "./when-else"
1133
1133
  }
1134
1134
  }
1135
1135
  ]
@@ -2790,15 +2790,6 @@
2790
2790
  "privacy": "private",
2791
2791
  "default": "null"
2792
2792
  },
2793
- {
2794
- "kind": "field",
2795
- "name": "stateSubscription",
2796
- "type": {
2797
- "text": "Subscription | null"
2798
- },
2799
- "privacy": "private",
2800
- "default": "null"
2801
- },
2802
2793
  {
2803
2794
  "kind": "field",
2804
2795
  "name": "isListening",
@@ -2836,42 +2827,6 @@
2836
2827
  }
2837
2828
  ]
2838
2829
  },
2839
- {
2840
- "kind": "method",
2841
- "name": "resolveShortcutManager",
2842
- "privacy": "private",
2843
- "return": {
2844
- "type": {
2845
- "text": "ShortcutManager"
2846
- }
2847
- },
2848
- "parameters": [
2849
- {
2850
- "name": "event",
2851
- "type": {
2852
- "text": "KeyboardEvent"
2853
- }
2854
- }
2855
- ]
2856
- },
2857
- {
2858
- "kind": "method",
2859
- "name": "isShortcutManager",
2860
- "privacy": "private",
2861
- "return": {
2862
- "type": {
2863
- "text": "candidate is ShortcutManager"
2864
- }
2865
- },
2866
- "parameters": [
2867
- {
2868
- "name": "candidate",
2869
- "type": {
2870
- "text": "unknown"
2871
- }
2872
- }
2873
- ]
2874
- },
2875
2830
  {
2876
2831
  "kind": "method",
2877
2832
  "name": "extractKeyFromCode",
@@ -2890,52 +2845,6 @@
2890
2845
  }
2891
2846
  ]
2892
2847
  },
2893
- {
2894
- "kind": "method",
2895
- "name": "getDeepActiveElement",
2896
- "privacy": "private",
2897
- "return": {
2898
- "type": {
2899
- "text": "Element | null"
2900
- }
2901
- }
2902
- },
2903
- {
2904
- "kind": "method",
2905
- "name": "getEventElement",
2906
- "privacy": "private",
2907
- "return": {
2908
- "type": {
2909
- "text": "Element | null"
2910
- }
2911
- },
2912
- "parameters": [
2913
- {
2914
- "name": "event",
2915
- "type": {
2916
- "text": "KeyboardEvent"
2917
- }
2918
- }
2919
- ]
2920
- },
2921
- {
2922
- "kind": "method",
2923
- "name": "isEditableContext",
2924
- "privacy": "private",
2925
- "return": {
2926
- "type": {
2927
- "text": "boolean"
2928
- }
2929
- },
2930
- "parameters": [
2931
- {
2932
- "name": "event",
2933
- "type": {
2934
- "text": "KeyboardEvent"
2935
- }
2936
- }
2937
- ]
2938
- },
2939
2848
  {
2940
2849
  "kind": "method",
2941
2850
  "name": "isInputElement",
@@ -3023,12 +2932,6 @@
3023
2932
  },
3024
2933
  "privacy": "private"
3025
2934
  },
3026
- {
3027
- "kind": "field",
3028
- "name": "executionGuards",
3029
- "privacy": "private",
3030
- "default": "new Map<string, () => ShortcutExecutionStatus | boolean>()"
3031
- },
3032
2935
  {
3033
2936
  "kind": "field",
3034
2937
  "name": "isPaused",
@@ -3296,55 +3199,6 @@
3296
3199
  }
3297
3200
  }
3298
3201
  },
3299
- {
3300
- "kind": "method",
3301
- "name": "registerExecutionGuard",
3302
- "return": {
3303
- "type": {
3304
- "text": "void"
3305
- }
3306
- },
3307
- "parameters": [
3308
- {
3309
- "name": "id",
3310
- "type": {
3311
- "text": "string"
3312
- }
3313
- },
3314
- {
3315
- "name": "guard",
3316
- "type": {
3317
- "text": "() => ShortcutExecutionStatus | boolean"
3318
- }
3319
- }
3320
- ]
3321
- },
3322
- {
3323
- "kind": "method",
3324
- "name": "unregisterExecutionGuard",
3325
- "return": {
3326
- "type": {
3327
- "text": "void"
3328
- }
3329
- },
3330
- "parameters": [
3331
- {
3332
- "name": "id",
3333
- "type": {
3334
- "text": "string"
3335
- }
3336
- }
3337
- ]
3338
- },
3339
- {
3340
- "kind": "method",
3341
- "name": "clearExecutionGuards",
3342
- "return": {
3343
- "type": {
3344
- "text": "void"
3345
- }
3346
- }
3347
- },
3348
3202
  {
3349
3203
  "kind": "method",
3350
3204
  "name": "pause",
@@ -3433,34 +3287,6 @@
3433
3287
  }
3434
3288
  }
3435
3289
  ]
3436
- },
3437
- {
3438
- "kind": "method",
3439
- "name": "getExecutionStatus",
3440
- "privacy": "private",
3441
- "return": {
3442
- "type": {
3443
- "text": "ShortcutExecutionStatus"
3444
- }
3445
- },
3446
- "parameters": [
3447
- {
3448
- "name": "shortcut",
3449
- "type": {
3450
- "text": "ShortcutDefinition"
3451
- }
3452
- }
3453
- ]
3454
- },
3455
- {
3456
- "kind": "method",
3457
- "name": "getExecutionGuardStatus",
3458
- "privacy": "private",
3459
- "return": {
3460
- "type": {
3461
- "text": "ShortcutExecutionStatus"
3462
- }
3463
- }
3464
3290
  }
3465
3291
  ]
3466
3292
  },
@@ -4482,160 +4308,6 @@
4482
4308
  }
4483
4309
  ]
4484
4310
  },
4485
- {
4486
- "kind": "javascript-module",
4487
- "path": "src/directives/sync/index.ts",
4488
- "declarations": [],
4489
- "exports": [
4490
- {
4491
- "kind": "js",
4492
- "name": "*",
4493
- "declaration": {
4494
- "name": "*",
4495
- "package": "./sync"
4496
- }
4497
- }
4498
- ]
4499
- },
4500
- {
4501
- "kind": "javascript-module",
4502
- "path": "src/directives/sync/sync.ts",
4503
- "declarations": [
4504
- {
4505
- "kind": "variable",
4506
- "name": "defaultEventMap",
4507
- "type": {
4508
- "text": "Map<string, EventName>"
4509
- },
4510
- "default": "new Map([\n ['FAST-TEXT-AREA', 'input'],\n ['FAST-TEXT-FIELD', 'input'],\n ['FOUNDATION-TEXT-AREA', 'input'],\n ['FOUNDATION-TEXT-FIELD', 'input'],\n ['INPUT', 'input'],\n ['ZERO-TEXT-FIELD', 'input'],\n])",
4511
- "description": "A map that associates specific HTML element tags with their corresponding default event names.",
4512
- "privacy": "public"
4513
- },
4514
- {
4515
- "kind": "function",
4516
- "name": "sync",
4517
- "return": {
4518
- "type": {
4519
- "text": "CaptureType<TSource>"
4520
- }
4521
- },
4522
- "parameters": [
4523
- {
4524
- "name": "binding",
4525
- "type": {
4526
- "text": "Binding<TSource, TReturn>"
4527
- }
4528
- },
4529
- {
4530
- "name": "conversionType",
4531
- "default": "'string'",
4532
- "type": {
4533
- "text": "ConversionType"
4534
- }
4535
- },
4536
- {
4537
- "name": "eventName",
4538
- "default": "'default'",
4539
- "type": {
4540
- "text": "EventName"
4541
- }
4542
- },
4543
- {
4544
- "name": "keyAttr",
4545
- "optional": true,
4546
- "type": {
4547
- "text": "string"
4548
- }
4549
- }
4550
- ],
4551
- "description": "Creates a synchronization directive that binds a data source to an HTML element,",
4552
- "privacy": "public"
4553
- }
4554
- ],
4555
- "exports": [
4556
- {
4557
- "kind": "js",
4558
- "name": "defaultEventMap",
4559
- "declaration": {
4560
- "name": "defaultEventMap",
4561
- "module": "src/directives/sync/sync.ts"
4562
- }
4563
- },
4564
- {
4565
- "kind": "js",
4566
- "name": "sync",
4567
- "declaration": {
4568
- "name": "sync",
4569
- "module": "src/directives/sync/sync.ts"
4570
- }
4571
- }
4572
- ]
4573
- },
4574
- {
4575
- "kind": "javascript-module",
4576
- "path": "src/directives/when-else/index.ts",
4577
- "declarations": [],
4578
- "exports": [
4579
- {
4580
- "kind": "js",
4581
- "name": "*",
4582
- "declaration": {
4583
- "name": "*",
4584
- "package": "./when-else"
4585
- }
4586
- }
4587
- ]
4588
- },
4589
- {
4590
- "kind": "javascript-module",
4591
- "path": "src/directives/when-else/when-else.ts",
4592
- "declarations": [
4593
- {
4594
- "kind": "function",
4595
- "name": "whenElse",
4596
- "return": {
4597
- "type": {
4598
- "text": "CaptureType<TSource>"
4599
- }
4600
- },
4601
- "parameters": [
4602
- {
4603
- "name": "binding",
4604
- "type": {
4605
- "text": "Binding<TSource, TReturn>"
4606
- },
4607
- "description": "The condition to test for rendering."
4608
- },
4609
- {
4610
- "name": "trueTemplateOrTemplateBinding",
4611
- "type": {
4612
- "text": "WhenTemplate<TSource>"
4613
- },
4614
- "description": "The template or a binding that gets the template to render when the condition is true."
4615
- },
4616
- {
4617
- "name": "falseTemplateOrTemplateBinding",
4618
- "type": {
4619
- "text": "WhenTemplate<TSource>"
4620
- },
4621
- "description": "The template or a binding that gets the template to render when the condition is false."
4622
- }
4623
- ],
4624
- "description": "Directive that allows supplying an \"else\" template to the traditional https://www.fast.design/docs/api/fast-element.when/#when-function directive",
4625
- "privacy": "public"
4626
- }
4627
- ],
4628
- "exports": [
4629
- {
4630
- "kind": "js",
4631
- "name": "whenElse",
4632
- "declaration": {
4633
- "name": "whenElse",
4634
- "module": "src/directives/when-else/when-else.ts"
4635
- }
4636
- }
4637
- ]
4638
- },
4639
4311
  {
4640
4312
  "kind": "javascript-module",
4641
4313
  "path": "src/encoding/base64/decode.ts",
@@ -4790,6 +4462,160 @@
4790
4462
  }
4791
4463
  ]
4792
4464
  },
4465
+ {
4466
+ "kind": "javascript-module",
4467
+ "path": "src/directives/sync/index.ts",
4468
+ "declarations": [],
4469
+ "exports": [
4470
+ {
4471
+ "kind": "js",
4472
+ "name": "*",
4473
+ "declaration": {
4474
+ "name": "*",
4475
+ "package": "./sync"
4476
+ }
4477
+ }
4478
+ ]
4479
+ },
4480
+ {
4481
+ "kind": "javascript-module",
4482
+ "path": "src/directives/sync/sync.ts",
4483
+ "declarations": [
4484
+ {
4485
+ "kind": "variable",
4486
+ "name": "defaultEventMap",
4487
+ "type": {
4488
+ "text": "Map<string, EventName>"
4489
+ },
4490
+ "default": "new Map([\n ['FAST-TEXT-AREA', 'input'],\n ['FAST-TEXT-FIELD', 'input'],\n ['FOUNDATION-TEXT-AREA', 'input'],\n ['FOUNDATION-TEXT-FIELD', 'input'],\n ['INPUT', 'input'],\n ['ZERO-TEXT-FIELD', 'input'],\n])",
4491
+ "description": "A map that associates specific HTML element tags with their corresponding default event names.",
4492
+ "privacy": "public"
4493
+ },
4494
+ {
4495
+ "kind": "function",
4496
+ "name": "sync",
4497
+ "return": {
4498
+ "type": {
4499
+ "text": "CaptureType<TSource>"
4500
+ }
4501
+ },
4502
+ "parameters": [
4503
+ {
4504
+ "name": "binding",
4505
+ "type": {
4506
+ "text": "Binding<TSource, TReturn>"
4507
+ }
4508
+ },
4509
+ {
4510
+ "name": "conversionType",
4511
+ "default": "'string'",
4512
+ "type": {
4513
+ "text": "ConversionType"
4514
+ }
4515
+ },
4516
+ {
4517
+ "name": "eventName",
4518
+ "default": "'default'",
4519
+ "type": {
4520
+ "text": "EventName"
4521
+ }
4522
+ },
4523
+ {
4524
+ "name": "keyAttr",
4525
+ "optional": true,
4526
+ "type": {
4527
+ "text": "string"
4528
+ }
4529
+ }
4530
+ ],
4531
+ "description": "Creates a synchronization directive that binds a data source to an HTML element,",
4532
+ "privacy": "public"
4533
+ }
4534
+ ],
4535
+ "exports": [
4536
+ {
4537
+ "kind": "js",
4538
+ "name": "defaultEventMap",
4539
+ "declaration": {
4540
+ "name": "defaultEventMap",
4541
+ "module": "src/directives/sync/sync.ts"
4542
+ }
4543
+ },
4544
+ {
4545
+ "kind": "js",
4546
+ "name": "sync",
4547
+ "declaration": {
4548
+ "name": "sync",
4549
+ "module": "src/directives/sync/sync.ts"
4550
+ }
4551
+ }
4552
+ ]
4553
+ },
4554
+ {
4555
+ "kind": "javascript-module",
4556
+ "path": "src/directives/when-else/index.ts",
4557
+ "declarations": [],
4558
+ "exports": [
4559
+ {
4560
+ "kind": "js",
4561
+ "name": "*",
4562
+ "declaration": {
4563
+ "name": "*",
4564
+ "package": "./when-else"
4565
+ }
4566
+ }
4567
+ ]
4568
+ },
4569
+ {
4570
+ "kind": "javascript-module",
4571
+ "path": "src/directives/when-else/when-else.ts",
4572
+ "declarations": [
4573
+ {
4574
+ "kind": "function",
4575
+ "name": "whenElse",
4576
+ "return": {
4577
+ "type": {
4578
+ "text": "CaptureType<TSource>"
4579
+ }
4580
+ },
4581
+ "parameters": [
4582
+ {
4583
+ "name": "binding",
4584
+ "type": {
4585
+ "text": "Binding<TSource, TReturn>"
4586
+ },
4587
+ "description": "The condition to test for rendering."
4588
+ },
4589
+ {
4590
+ "name": "trueTemplateOrTemplateBinding",
4591
+ "type": {
4592
+ "text": "WhenTemplate<TSource>"
4593
+ },
4594
+ "description": "The template or a binding that gets the template to render when the condition is true."
4595
+ },
4596
+ {
4597
+ "name": "falseTemplateOrTemplateBinding",
4598
+ "type": {
4599
+ "text": "WhenTemplate<TSource>"
4600
+ },
4601
+ "description": "The template or a binding that gets the template to render when the condition is false."
4602
+ }
4603
+ ],
4604
+ "description": "Directive that allows supplying an \"else\" template to the traditional https://www.fast.design/docs/api/fast-element.when/#when-function directive",
4605
+ "privacy": "public"
4606
+ }
4607
+ ],
4608
+ "exports": [
4609
+ {
4610
+ "kind": "js",
4611
+ "name": "whenElse",
4612
+ "declaration": {
4613
+ "name": "whenElse",
4614
+ "module": "src/directives/when-else/when-else.ts"
4615
+ }
4616
+ }
4617
+ ]
4618
+ },
4793
4619
  {
4794
4620
  "kind": "javascript-module",
4795
4621
  "path": "src/mappers/dto/index.ts",
@@ -8,7 +8,6 @@ import { ShortcutManager } from './shortcut-manager';
8
8
  export declare class FoundationShortcutListener extends FASTElement {
9
9
  shortcutManager: ShortcutManager;
10
10
  private keyListener;
11
- private stateSubscription;
12
11
  private isListening;
13
12
  connectedCallback(): void;
14
13
  disconnectedCallback(): void;
@@ -16,12 +15,7 @@ export declare class FoundationShortcutListener extends FASTElement {
16
15
  private addKeyListener;
17
16
  private removeKeyListener;
18
17
  private handleKeyDown;
19
- private resolveShortcutManager;
20
- private isShortcutManager;
21
18
  private extractKeyFromCode;
22
- private getDeepActiveElement;
23
- private getEventElement;
24
- private isEditableContext;
25
19
  private isInputElement;
26
20
  }
27
21
  //# sourceMappingURL=shortcut-listener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shortcut-listener.d.ts","sourceRoot":"","sources":["../../../src/shortcut-manager/shortcut-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,qBAGa,0BAA2B,SAAQ,WAAW;IAChC,eAAe,EAAE,eAAe,CAAC;IAE1D,OAAO,CAAC,WAAW,CAAiD;IACpE,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,WAAW,CAAS;IAE5B,iBAAiB;IAKjB,oBAAoB;IAOpB,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,aAAa;IA+BrB,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;CA4CvB"}
1
+ {"version":3,"file":"shortcut-listener.d.ts","sourceRoot":"","sources":["../../../src/shortcut-manager/shortcut-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,qBAGa,0BAA2B,SAAQ,WAAW;IAChC,eAAe,EAAE,eAAe,CAAC;IAE1D,OAAO,CAAC,WAAW,CAAiD;IACpE,OAAO,CAAC,WAAW,CAAS;IAE5B,iBAAiB;IAKjB,oBAAoB;IAKpB,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,aAAa;IA6BrB,OAAO,CAAC,kBAAkB;IA6C1B,OAAO,CAAC,cAAc;CAuBvB"}
@@ -73,13 +73,6 @@ export interface ShortcutManager {
73
73
  isPaused: boolean;
74
74
  isPaused$: Observable<boolean>;
75
75
  isPausedSubject: BehaviorSubject<boolean>;
76
- /**
77
- * Register a global execution guard.
78
- * @remarks Guards are evaluated before shortcut-specific canExecute checks.
79
- */
80
- registerExecutionGuard(id: string, guard: () => ShortcutExecutionStatus | boolean): void;
81
- unregisterExecutionGuard(id: string): void;
82
- clearExecutionGuards(): void;
83
76
  }
84
77
  /**
85
78
  * Default implementation of the ShortcutManager interface
@@ -91,7 +84,6 @@ export declare class DefaultShortcutManager implements ShortcutManager {
91
84
  private keyCombinationMap;
92
85
  private _isPausedSubject;
93
86
  private _activeContext;
94
- private executionGuards;
95
87
  get isPaused(): boolean;
96
88
  get isPaused$(): Observable<boolean>;
97
89
  get isPausedSubject(): BehaviorSubject<boolean>;
@@ -110,9 +102,6 @@ export declare class DefaultShortcutManager implements ShortcutManager {
110
102
  setActiveContext(context: string): void;
111
103
  getActiveContext(): string | undefined;
112
104
  clearActiveContext(): void;
113
- registerExecutionGuard(id: string, guard: () => ShortcutExecutionStatus | boolean): void;
114
- unregisterExecutionGuard(id: string): void;
115
- clearExecutionGuards(): void;
116
105
  pause(): void;
117
106
  resume(): void;
118
107
  /**
@@ -122,8 +111,6 @@ export declare class DefaultShortcutManager implements ShortcutManager {
122
111
  private normalizeShortcutDefinition;
123
112
  private createKeyCombinationKey;
124
113
  private isElementFocused;
125
- private getExecutionStatus;
126
- private getExecutionGuardStatus;
127
114
  }
128
115
  /**
129
116
  * A dependency injection token for the ShortcutManager interface.
@@ -1 +1 @@
1
- {"version":3,"file":"shortcut-manager.d.ts","sourceRoot":"","sources":["../../../src/shortcut-manager/shortcut-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shortcut-manager.d.ts","sourceRoot":"","sources":["../../../src/shortcut-manager/shortcut-manager.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,6 @@ let FoundationShortcutListener = class FoundationShortcutListener extends FASTEl
11
11
  constructor() {
12
12
  super(...arguments);
13
13
  this.keyListener = null;
14
- this.stateSubscription = null;
15
14
  this.isListening = false;
16
15
  }
17
16
  connectedCallback() {
@@ -19,17 +18,12 @@ let FoundationShortcutListener = class FoundationShortcutListener extends FASTEl
19
18
  this.setupStateSubscription();
20
19
  }
21
20
  disconnectedCallback() {
22
- var _a;
23
21
  super.disconnectedCallback();
24
- (_a = this.stateSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
25
- this.stateSubscription = null;
26
22
  this.removeKeyListener();
27
23
  }
28
24
  setupStateSubscription() {
29
- var _a;
30
25
  // Subscribe to the pause state changes
31
- (_a = this.stateSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
32
- this.stateSubscription = this.shortcutManager.isPaused$.subscribe((isPaused) => {
26
+ this.shortcutManager.isPaused$.subscribe((isPaused) => {
33
27
  if (isPaused) {
34
28
  this.removeKeyListener();
35
29
  }
@@ -57,45 +51,23 @@ let FoundationShortcutListener = class FoundationShortcutListener extends FASTEl
57
51
  this.isListening = false;
58
52
  }
59
53
  handleKeyDown(event) {
60
- const manager = this.resolveShortcutManager(event);
61
54
  // Don't handle shortcuts if the service is paused
62
- if (manager.isPaused) {
55
+ if (this.shortcutManager.isPaused) {
63
56
  return;
64
57
  }
65
- // Don't handle shortcuts while user is typing in editable fields.
66
- if (this.isEditableContext(event)) {
58
+ // Don't handle shortcuts if user is typing in an input field
59
+ if (this.isInputElement(event.target)) {
67
60
  return;
68
61
  }
69
62
  // Extract key from event.code with proper mapping for all key types
70
63
  const key = this.extractKeyFromCode(event.code);
71
- const shortcut = manager.findShortcutByKeyCombination(key, event.ctrlKey, event.altKey, event.shiftKey, event.metaKey);
64
+ const shortcut = this.shortcutManager.findShortcutByKeyCombination(key, event.ctrlKey, event.altKey, event.shiftKey, event.metaKey);
72
65
  if (shortcut) {
73
66
  event.preventDefault();
74
67
  event.stopPropagation();
75
- manager.executeShortcut(shortcut.id);
68
+ this.shortcutManager.executeShortcut(shortcut.id);
76
69
  }
77
70
  }
78
- resolveShortcutManager(event) {
79
- var _a, _b, _c;
80
- const injectedManager = this.shortcutManager;
81
- if ((_a = injectedManager.getShortcuts) === null || _a === void 0 ? void 0 : _a.call(injectedManager).length) {
82
- return injectedManager;
83
- }
84
- const eventPath = (_c = (_b = event.composedPath) === null || _b === void 0 ? void 0 : _b.call(event)) !== null && _c !== void 0 ? _c : [];
85
- for (const entry of eventPath) {
86
- const candidate = entry === null || entry === void 0 ? void 0 : entry.shortcutManager;
87
- if (this.isShortcutManager(candidate)) {
88
- return candidate;
89
- }
90
- }
91
- return injectedManager;
92
- }
93
- isShortcutManager(candidate) {
94
- return (!!candidate &&
95
- typeof candidate.findShortcutByKeyCombination === 'function' &&
96
- typeof candidate.executeShortcut === 'function' &&
97
- typeof candidate.getShortcuts === 'function');
98
- }
99
71
  extractKeyFromCode(code) {
100
72
  // Handle regular letter keys (KeyA, KeyB, etc.)
101
73
  if (code.startsWith('Key')) {
@@ -137,63 +109,23 @@ let FoundationShortcutListener = class FoundationShortcutListener extends FASTEl
137
109
  };
138
110
  return specialKeyMap[code] || code.toLowerCase();
139
111
  }
140
- getDeepActiveElement() {
141
- var _a, _b;
142
- let active = (_a = document.activeElement) !== null && _a !== void 0 ? _a : null;
143
- while ((_b = active === null || active === void 0 ? void 0 : active.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement) {
144
- active = active.shadowRoot.activeElement;
145
- }
146
- return active;
147
- }
148
- getEventElement(event) {
149
- var _a, _b, _c;
150
- const path = (_b = (_a = event.composedPath) === null || _a === void 0 ? void 0 : _a.call(event)) !== null && _b !== void 0 ? _b : [];
151
- const fromPath = path.find((entry) => entry instanceof Element);
152
- return (_c = fromPath !== null && fromPath !== void 0 ? fromPath : event.target) !== null && _c !== void 0 ? _c : null;
153
- }
154
- isEditableContext(event) {
155
- const eventElement = this.getEventElement(event);
156
- if (eventElement && this.isInputElement(eventElement)) {
157
- return true;
158
- }
159
- return this.isInputElement(this.getDeepActiveElement());
160
- }
161
112
  isInputElement(element) {
162
- var _a, _b;
163
113
  if (!element)
164
114
  return false;
165
- const isEditableContent = (value) => value !== null && value !== undefined && value.toLowerCase() !== 'false';
166
- if (isEditableContent(element.getAttribute('contenteditable')) || element.isContentEditable) {
115
+ const inputTypes = ['input', 'textarea', 'select'];
116
+ const tagName = element.tagName.toLowerCase();
117
+ if (inputTypes.includes(tagName)) {
167
118
  return true;
168
119
  }
169
- // TODO: more generic way to check if the element is editable
170
- const editableSelector = [
171
- 'input',
172
- 'textarea',
173
- 'select',
174
- '[contenteditable="true"]',
175
- '[contenteditable=""]',
176
- '[role="textbox"]',
177
- '[role="searchbox"]',
178
- '[role="combobox"]',
179
- 'zero-text-field',
180
- 'rapid-text-field',
181
- 'zero-text-area',
182
- 'rapid-text-area',
183
- 'zero-combobox',
184
- 'rapid-combobox',
185
- ].join(',');
186
- if (element.matches(editableSelector) || !!element.closest(editableSelector)) {
120
+ // Check for contenteditable
121
+ if (element.contentEditable === 'true') {
187
122
  return true;
188
123
  }
124
+ // Check for role="textbox" or similar
189
125
  const role = element.getAttribute('role');
190
126
  if (role && ['textbox', 'searchbox', 'combobox'].includes(role)) {
191
127
  return true;
192
128
  }
193
- const tagName = (_b = (_a = element.tagName) === null || _a === void 0 ? void 0 : _a.toLowerCase) === null || _b === void 0 ? void 0 : _b.call(_a);
194
- if (tagName && ['input', 'textarea', 'select'].includes(tagName)) {
195
- return true;
196
- }
197
129
  return false;
198
130
  }
199
131
  };
@@ -12,7 +12,6 @@ export class DefaultShortcutManager {
12
12
  this.shortcutLookup = new Map(); // context:id -> ShortcutDefinition for quick lookups
13
13
  this.keyCombinationMap = new Map(); // key combination -> set of "context:id" strings
14
14
  this._isPausedSubject = new BehaviorSubject(false);
15
- this.executionGuards = new Map();
16
15
  }
17
16
  get isPaused() {
18
17
  return this._isPausedSubject.value;
@@ -89,12 +88,22 @@ export class DefaultShortcutManager {
89
88
  keyCombinationDisplay,
90
89
  // Functions that can be directly used in AG Grid menu items
91
90
  disabled: () => {
92
- const status = this.getExecutionStatus(normalizedShortcut);
93
- return status.disabled || false;
91
+ if (this.isPaused)
92
+ return true;
93
+ if (normalizedShortcut.canExecute) {
94
+ const status = normalizedShortcut.canExecute();
95
+ return status.disabled || false;
96
+ }
97
+ return false;
94
98
  },
95
99
  tooltip: () => {
96
- const status = this.getExecutionStatus(normalizedShortcut);
97
- return status.tooltip;
100
+ if (this.isPaused)
101
+ return 'Shortcuts are paused';
102
+ if (normalizedShortcut.canExecute) {
103
+ const status = normalizedShortcut.canExecute();
104
+ return status.tooltip;
105
+ }
106
+ return undefined;
98
107
  },
99
108
  };
100
109
  }
@@ -148,9 +157,11 @@ export class DefaultShortcutManager {
148
157
  return; // Don't execute if the required element is not focused
149
158
  }
150
159
  // Check if shortcut can be executed
151
- const executionStatus = this.getExecutionStatus(shortcut);
152
- if (executionStatus.disabled) {
153
- return; // Don't execute if disabled
160
+ if (shortcut.canExecute) {
161
+ const executionStatus = shortcut.canExecute();
162
+ if (executionStatus.disabled) {
163
+ return; // Don't execute if disabled
164
+ }
154
165
  }
155
166
  try {
156
167
  shortcut.action();
@@ -228,15 +239,6 @@ export class DefaultShortcutManager {
228
239
  clearActiveContext() {
229
240
  this._activeContext = undefined;
230
241
  }
231
- registerExecutionGuard(id, guard) {
232
- this.executionGuards.set(id, guard);
233
- }
234
- unregisterExecutionGuard(id) {
235
- this.executionGuards.delete(id);
236
- }
237
- clearExecutionGuards() {
238
- this.executionGuards.clear();
239
- }
240
242
  pause() {
241
243
  this._isPausedSubject.next(true);
242
244
  }
@@ -276,29 +278,6 @@ export class DefaultShortcutManager {
276
278
  }
277
279
  return false;
278
280
  }
279
- getExecutionStatus(shortcut) {
280
- if (this.isPaused) {
281
- return { disabled: true, tooltip: 'Shortcuts are paused' };
282
- }
283
- const guardStatus = this.getExecutionGuardStatus();
284
- if (guardStatus.disabled) {
285
- return guardStatus;
286
- }
287
- if (shortcut.canExecute) {
288
- return shortcut.canExecute();
289
- }
290
- return { disabled: false, tooltip: undefined };
291
- }
292
- getExecutionGuardStatus() {
293
- for (const guard of this.executionGuards.values()) {
294
- const result = guard();
295
- const status = typeof result === 'boolean' ? { disabled: result } : result;
296
- if (status === null || status === void 0 ? void 0 : status.disabled) {
297
- return { disabled: true, tooltip: status.tooltip };
298
- }
299
- }
300
- return { disabled: false, tooltip: undefined };
301
- }
302
281
  }
303
282
  /**
304
283
  * A dependency injection token for the ShortcutManager interface.
@@ -2744,37 +2744,6 @@
2744
2744
  "isAbstract": false,
2745
2745
  "name": "clearActiveContext"
2746
2746
  },
2747
- {
2748
- "kind": "Method",
2749
- "canonicalReference": "@genesislcap/foundation-utils!DefaultShortcutManager#clearExecutionGuards:member(1)",
2750
- "docComment": "",
2751
- "excerptTokens": [
2752
- {
2753
- "kind": "Content",
2754
- "text": "clearExecutionGuards(): "
2755
- },
2756
- {
2757
- "kind": "Content",
2758
- "text": "void"
2759
- },
2760
- {
2761
- "kind": "Content",
2762
- "text": ";"
2763
- }
2764
- ],
2765
- "isStatic": false,
2766
- "returnTypeTokenRange": {
2767
- "startIndex": 1,
2768
- "endIndex": 2
2769
- },
2770
- "releaseTag": "Public",
2771
- "isProtected": false,
2772
- "overloadIndex": 1,
2773
- "parameters": [],
2774
- "isOptional": false,
2775
- "isAbstract": false,
2776
- "name": "clearExecutionGuards"
2777
- },
2778
2747
  {
2779
2748
  "kind": "Method",
2780
2749
  "canonicalReference": "@genesislcap/foundation-utils!DefaultShortcutManager#executeShortcut:member(1)",
@@ -3388,79 +3357,6 @@
3388
3357
  "isAbstract": false,
3389
3358
  "name": "registerContext"
3390
3359
  },
3391
- {
3392
- "kind": "Method",
3393
- "canonicalReference": "@genesislcap/foundation-utils!DefaultShortcutManager#registerExecutionGuard:member(1)",
3394
- "docComment": "",
3395
- "excerptTokens": [
3396
- {
3397
- "kind": "Content",
3398
- "text": "registerExecutionGuard(id: "
3399
- },
3400
- {
3401
- "kind": "Content",
3402
- "text": "string"
3403
- },
3404
- {
3405
- "kind": "Content",
3406
- "text": ", guard: "
3407
- },
3408
- {
3409
- "kind": "Content",
3410
- "text": "() => "
3411
- },
3412
- {
3413
- "kind": "Reference",
3414
- "text": "ShortcutExecutionStatus",
3415
- "canonicalReference": "@genesislcap/foundation-utils!ShortcutExecutionStatus:type"
3416
- },
3417
- {
3418
- "kind": "Content",
3419
- "text": " | boolean"
3420
- },
3421
- {
3422
- "kind": "Content",
3423
- "text": "): "
3424
- },
3425
- {
3426
- "kind": "Content",
3427
- "text": "void"
3428
- },
3429
- {
3430
- "kind": "Content",
3431
- "text": ";"
3432
- }
3433
- ],
3434
- "isStatic": false,
3435
- "returnTypeTokenRange": {
3436
- "startIndex": 7,
3437
- "endIndex": 8
3438
- },
3439
- "releaseTag": "Public",
3440
- "isProtected": false,
3441
- "overloadIndex": 1,
3442
- "parameters": [
3443
- {
3444
- "parameterName": "id",
3445
- "parameterTypeTokenRange": {
3446
- "startIndex": 1,
3447
- "endIndex": 2
3448
- },
3449
- "isOptional": false
3450
- },
3451
- {
3452
- "parameterName": "guard",
3453
- "parameterTypeTokenRange": {
3454
- "startIndex": 3,
3455
- "endIndex": 6
3456
- },
3457
- "isOptional": false
3458
- }
3459
- ],
3460
- "isOptional": false,
3461
- "isAbstract": false,
3462
- "name": "registerExecutionGuard"
3463
- },
3464
3360
  {
3465
3361
  "kind": "Method",
3466
3362
  "canonicalReference": "@genesislcap/foundation-utils!DefaultShortcutManager#registerShortcut:member(1)",
@@ -3643,54 +3539,6 @@
3643
3539
  "isAbstract": false,
3644
3540
  "name": "setActiveContext"
3645
3541
  },
3646
- {
3647
- "kind": "Method",
3648
- "canonicalReference": "@genesislcap/foundation-utils!DefaultShortcutManager#unregisterExecutionGuard:member(1)",
3649
- "docComment": "",
3650
- "excerptTokens": [
3651
- {
3652
- "kind": "Content",
3653
- "text": "unregisterExecutionGuard(id: "
3654
- },
3655
- {
3656
- "kind": "Content",
3657
- "text": "string"
3658
- },
3659
- {
3660
- "kind": "Content",
3661
- "text": "): "
3662
- },
3663
- {
3664
- "kind": "Content",
3665
- "text": "void"
3666
- },
3667
- {
3668
- "kind": "Content",
3669
- "text": ";"
3670
- }
3671
- ],
3672
- "isStatic": false,
3673
- "returnTypeTokenRange": {
3674
- "startIndex": 3,
3675
- "endIndex": 4
3676
- },
3677
- "releaseTag": "Public",
3678
- "isProtected": false,
3679
- "overloadIndex": 1,
3680
- "parameters": [
3681
- {
3682
- "parameterName": "id",
3683
- "parameterTypeTokenRange": {
3684
- "startIndex": 1,
3685
- "endIndex": 2
3686
- },
3687
- "isOptional": false
3688
- }
3689
- ],
3690
- "isOptional": false,
3691
- "isAbstract": false,
3692
- "name": "unregisterExecutionGuard"
3693
- },
3694
3542
  {
3695
3543
  "kind": "Method",
3696
3544
  "canonicalReference": "@genesislcap/foundation-utils!DefaultShortcutManager#unregisterShortcut:member(1)",
@@ -17817,34 +17665,6 @@
17817
17665
  "parameters": [],
17818
17666
  "name": "clearActiveContext"
17819
17667
  },
17820
- {
17821
- "kind": "MethodSignature",
17822
- "canonicalReference": "@genesislcap/foundation-utils!ShortcutManager#clearExecutionGuards:member(1)",
17823
- "docComment": "",
17824
- "excerptTokens": [
17825
- {
17826
- "kind": "Content",
17827
- "text": "clearExecutionGuards(): "
17828
- },
17829
- {
17830
- "kind": "Content",
17831
- "text": "void"
17832
- },
17833
- {
17834
- "kind": "Content",
17835
- "text": ";"
17836
- }
17837
- ],
17838
- "isOptional": false,
17839
- "returnTypeTokenRange": {
17840
- "startIndex": 1,
17841
- "endIndex": 2
17842
- },
17843
- "releaseTag": "Public",
17844
- "overloadIndex": 1,
17845
- "parameters": [],
17846
- "name": "clearExecutionGuards"
17847
- },
17848
17668
  {
17849
17669
  "kind": "MethodSignature",
17850
17670
  "canonicalReference": "@genesislcap/foundation-utils!ShortcutManager#executeShortcut:member(1)",
@@ -18419,76 +18239,6 @@
18419
18239
  ],
18420
18240
  "name": "registerContext"
18421
18241
  },
18422
- {
18423
- "kind": "MethodSignature",
18424
- "canonicalReference": "@genesislcap/foundation-utils!ShortcutManager#registerExecutionGuard:member(1)",
18425
- "docComment": "/**\n * Register a global execution guard.\n *\n * @remarks\n *\n * Guards are evaluated before shortcut-specific canExecute checks.\n */\n",
18426
- "excerptTokens": [
18427
- {
18428
- "kind": "Content",
18429
- "text": "registerExecutionGuard(id: "
18430
- },
18431
- {
18432
- "kind": "Content",
18433
- "text": "string"
18434
- },
18435
- {
18436
- "kind": "Content",
18437
- "text": ", guard: "
18438
- },
18439
- {
18440
- "kind": "Content",
18441
- "text": "() => "
18442
- },
18443
- {
18444
- "kind": "Reference",
18445
- "text": "ShortcutExecutionStatus",
18446
- "canonicalReference": "@genesislcap/foundation-utils!ShortcutExecutionStatus:type"
18447
- },
18448
- {
18449
- "kind": "Content",
18450
- "text": " | boolean"
18451
- },
18452
- {
18453
- "kind": "Content",
18454
- "text": "): "
18455
- },
18456
- {
18457
- "kind": "Content",
18458
- "text": "void"
18459
- },
18460
- {
18461
- "kind": "Content",
18462
- "text": ";"
18463
- }
18464
- ],
18465
- "isOptional": false,
18466
- "returnTypeTokenRange": {
18467
- "startIndex": 7,
18468
- "endIndex": 8
18469
- },
18470
- "releaseTag": "Public",
18471
- "overloadIndex": 1,
18472
- "parameters": [
18473
- {
18474
- "parameterName": "id",
18475
- "parameterTypeTokenRange": {
18476
- "startIndex": 1,
18477
- "endIndex": 2
18478
- },
18479
- "isOptional": false
18480
- },
18481
- {
18482
- "parameterName": "guard",
18483
- "parameterTypeTokenRange": {
18484
- "startIndex": 3,
18485
- "endIndex": 6
18486
- },
18487
- "isOptional": false
18488
- }
18489
- ],
18490
- "name": "registerExecutionGuard"
18491
- },
18492
18242
  {
18493
18243
  "kind": "MethodSignature",
18494
18244
  "canonicalReference": "@genesislcap/foundation-utils!ShortcutManager#registerShortcut:member(1)",
@@ -18659,51 +18409,6 @@
18659
18409
  ],
18660
18410
  "name": "setActiveContext"
18661
18411
  },
18662
- {
18663
- "kind": "MethodSignature",
18664
- "canonicalReference": "@genesislcap/foundation-utils!ShortcutManager#unregisterExecutionGuard:member(1)",
18665
- "docComment": "",
18666
- "excerptTokens": [
18667
- {
18668
- "kind": "Content",
18669
- "text": "unregisterExecutionGuard(id: "
18670
- },
18671
- {
18672
- "kind": "Content",
18673
- "text": "string"
18674
- },
18675
- {
18676
- "kind": "Content",
18677
- "text": "): "
18678
- },
18679
- {
18680
- "kind": "Content",
18681
- "text": "void"
18682
- },
18683
- {
18684
- "kind": "Content",
18685
- "text": ";"
18686
- }
18687
- ],
18688
- "isOptional": false,
18689
- "returnTypeTokenRange": {
18690
- "startIndex": 3,
18691
- "endIndex": 4
18692
- },
18693
- "releaseTag": "Public",
18694
- "overloadIndex": 1,
18695
- "parameters": [
18696
- {
18697
- "parameterName": "id",
18698
- "parameterTypeTokenRange": {
18699
- "startIndex": 1,
18700
- "endIndex": 2
18701
- },
18702
- "isOptional": false
18703
- }
18704
- ],
18705
- "name": "unregisterExecutionGuard"
18706
- },
18707
18412
  {
18708
18413
  "kind": "MethodSignature",
18709
18414
  "canonicalReference": "@genesislcap/foundation-utils!ShortcutManager#unregisterShortcut:member(1)",
@@ -385,7 +385,6 @@ export declare class DefaultShortcutManager implements ShortcutManager {
385
385
  private keyCombinationMap;
386
386
  private _isPausedSubject;
387
387
  private _activeContext;
388
- private executionGuards;
389
388
  get isPaused(): boolean;
390
389
  get isPaused$(): Observable<boolean>;
391
390
  get isPausedSubject(): BehaviorSubject<boolean>;
@@ -404,9 +403,6 @@ export declare class DefaultShortcutManager implements ShortcutManager {
404
403
  setActiveContext(context: string): void;
405
404
  getActiveContext(): string | undefined;
406
405
  clearActiveContext(): void;
407
- registerExecutionGuard(id: string, guard: () => ShortcutExecutionStatus | boolean): void;
408
- unregisterExecutionGuard(id: string): void;
409
- clearExecutionGuards(): void;
410
406
  pause(): void;
411
407
  resume(): void;
412
408
  /**
@@ -416,8 +412,6 @@ export declare class DefaultShortcutManager implements ShortcutManager {
416
412
  private normalizeShortcutDefinition;
417
413
  private createKeyCombinationKey;
418
414
  private isElementFocused;
419
- private getExecutionStatus;
420
- private getExecutionGuardStatus;
421
415
  }
422
416
 
423
417
  /**
@@ -613,7 +607,6 @@ export declare type FoundationLayoutContainer = {
613
607
  export declare class FoundationShortcutListener extends FASTElement {
614
608
  shortcutManager: ShortcutManager;
615
609
  private keyListener;
616
- private stateSubscription;
617
610
  private isListening;
618
611
  connectedCallback(): void;
619
612
  disconnectedCallback(): void;
@@ -621,12 +614,7 @@ export declare class FoundationShortcutListener extends FASTElement {
621
614
  private addKeyListener;
622
615
  private removeKeyListener;
623
616
  private handleKeyDown;
624
- private resolveShortcutManager;
625
- private isShortcutManager;
626
617
  private extractKeyFromCode;
627
- private getDeepActiveElement;
628
- private getEventElement;
629
- private isEditableContext;
630
618
  private isInputElement;
631
619
  }
632
620
 
@@ -2302,13 +2290,6 @@ export declare interface ShortcutManager {
2302
2290
  isPaused: boolean;
2303
2291
  isPaused$: Observable<boolean>;
2304
2292
  isPausedSubject: BehaviorSubject<boolean>;
2305
- /**
2306
- * Register a global execution guard.
2307
- * @remarks Guards are evaluated before shortcut-specific canExecute checks.
2308
- */
2309
- registerExecutionGuard(id: string, guard: () => ShortcutExecutionStatus | boolean): void;
2310
- unregisterExecutionGuard(id: string): void;
2311
- clearExecutionGuards(): void;
2312
2293
  }
2313
2294
 
2314
2295
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-utils",
3
3
  "description": "Genesis Foundation Utils",
4
- "version": "14.422.1-alpha-6f2ae99.0",
4
+ "version": "14.422.1",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -29,18 +29,18 @@
29
29
  }
30
30
  },
31
31
  "devDependencies": {
32
- "@genesislcap/foundation-testing": "14.422.1-alpha-6f2ae99.0",
33
- "@genesislcap/genx": "14.422.1-alpha-6f2ae99.0",
34
- "@genesislcap/rollup-builder": "14.422.1-alpha-6f2ae99.0",
35
- "@genesislcap/ts-builder": "14.422.1-alpha-6f2ae99.0",
36
- "@genesislcap/uvu-playwright-builder": "14.422.1-alpha-6f2ae99.0",
37
- "@genesislcap/vite-builder": "14.422.1-alpha-6f2ae99.0",
38
- "@genesislcap/webpack-builder": "14.422.1-alpha-6f2ae99.0",
32
+ "@genesislcap/foundation-testing": "14.422.1",
33
+ "@genesislcap/genx": "14.422.1",
34
+ "@genesislcap/rollup-builder": "14.422.1",
35
+ "@genesislcap/ts-builder": "14.422.1",
36
+ "@genesislcap/uvu-playwright-builder": "14.422.1",
37
+ "@genesislcap/vite-builder": "14.422.1",
38
+ "@genesislcap/webpack-builder": "14.422.1",
39
39
  "@types/json-schema": "^7.0.11"
40
40
  },
41
41
  "dependencies": {
42
- "@genesislcap/expression-builder": "14.422.1-alpha-6f2ae99.0",
43
- "@genesislcap/foundation-logger": "14.422.1-alpha-6f2ae99.0",
42
+ "@genesislcap/expression-builder": "14.422.1",
43
+ "@genesislcap/foundation-logger": "14.422.1",
44
44
  "@microsoft/fast-components": "2.30.6",
45
45
  "@microsoft/fast-element": "1.14.0",
46
46
  "@microsoft/fast-foundation": "2.50.0",
@@ -58,5 +58,5 @@
58
58
  "access": "public"
59
59
  },
60
60
  "customElements": "dist/custom-elements.json",
61
- "gitHead": "945d2b920b348b5d2cbd2ed34cb3cc2ff338a375"
61
+ "gitHead": "06d2b17e01fb07369f9bc82cef5fce4ae4ded197"
62
62
  }