@genesislcap/foundation-utils 14.426.0 → 14.426.1-alpha-79840b9.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.
@@ -555,22 +555,81 @@
555
555
  },
556
556
  {
557
557
  "kind": "javascript-module",
558
- "path": "src/design-system/index.ts",
559
- "declarations": [],
558
+ "path": "src/design-system/editable-elements.ts",
559
+ "declarations": [
560
+ {
561
+ "kind": "variable",
562
+ "name": "BASE_EDITABLE_ELEMENT_SELECTORS",
563
+ "type": {
564
+ "text": "[\n ...NATIVE_EDITABLE_ELEMENT_SELECTORS,\n ...CONTENT_EDITABLE_SELECTORS,\n ...ARIA_EDITABLE_ROLE_SELECTORS,\n]"
565
+ },
566
+ "default": "[\n ...NATIVE_EDITABLE_ELEMENT_SELECTORS,\n ...CONTENT_EDITABLE_SELECTORS,\n ...ARIA_EDITABLE_ROLE_SELECTORS,\n]",
567
+ "description": "Base selectors treated as editable context regardless of design system.\nIncludes native controls, contenteditable, and ARIA-editable roles."
568
+ },
569
+ {
570
+ "kind": "variable",
571
+ "name": "DESIGN_SYSTEM_EDITABLE_ELEMENT_SELECTORS",
572
+ "type": {
573
+ "text": "Record<\n ShortcutDesignSystemPrefix,\n readonly string[]\n>"
574
+ },
575
+ "default": "{\n rapid: buildDesignSystemEditableSelectors('rapid'),\n zero: buildDesignSystemEditableSelectors('zero'),\n}",
576
+ "description": "Design-system specific editable host selectors."
577
+ },
578
+ {
579
+ "kind": "function",
580
+ "name": "buildEditableElementSelector",
581
+ "return": {
582
+ "type": {
583
+ "text": "string"
584
+ }
585
+ },
586
+ "parameters": [
587
+ {
588
+ "name": "designSystems",
589
+ "type": {
590
+ "text": "readonly ShortcutDesignSystemPrefix[]"
591
+ }
592
+ },
593
+ {
594
+ "name": "customEditableSelectors",
595
+ "default": "[]",
596
+ "type": {
597
+ "text": "readonly string[]"
598
+ }
599
+ }
600
+ ]
601
+ }
602
+ ],
560
603
  "exports": [
561
604
  {
562
605
  "kind": "js",
563
- "name": "*",
606
+ "name": "BASE_EDITABLE_ELEMENT_SELECTORS",
564
607
  "declaration": {
565
- "name": "*",
566
- "package": "./design-system"
608
+ "name": "BASE_EDITABLE_ELEMENT_SELECTORS",
609
+ "module": "src/design-system/editable-elements.ts"
610
+ }
611
+ },
612
+ {
613
+ "kind": "js",
614
+ "name": "DESIGN_SYSTEM_EDITABLE_ELEMENT_SELECTORS",
615
+ "declaration": {
616
+ "name": "DESIGN_SYSTEM_EDITABLE_ELEMENT_SELECTORS",
617
+ "module": "src/design-system/editable-elements.ts"
618
+ }
619
+ },
620
+ {
621
+ "kind": "js",
622
+ "name": "buildEditableElementSelector",
623
+ "declaration": {
624
+ "name": "buildEditableElementSelector",
625
+ "module": "src/design-system/editable-elements.ts"
567
626
  }
568
627
  }
569
628
  ]
570
629
  },
571
630
  {
572
631
  "kind": "javascript-module",
573
- "path": "src/directives/index.ts",
632
+ "path": "src/design-system/index.ts",
574
633
  "declarations": [],
575
634
  "exports": [
576
635
  {
@@ -578,7 +637,7 @@
578
637
  "name": "*",
579
638
  "declaration": {
580
639
  "name": "*",
581
- "package": "./sync"
640
+ "package": "./design-system"
582
641
  }
583
642
  },
584
643
  {
@@ -586,7 +645,7 @@
586
645
  "name": "*",
587
646
  "declaration": {
588
647
  "name": "*",
589
- "package": "./when-else"
648
+ "package": "./editable-elements"
590
649
  }
591
650
  }
592
651
  ]
@@ -644,6 +703,44 @@
644
703
  }
645
704
  ]
646
705
  },
706
+ {
707
+ "kind": "javascript-module",
708
+ "path": "src/directives/index.ts",
709
+ "declarations": [],
710
+ "exports": [
711
+ {
712
+ "kind": "js",
713
+ "name": "*",
714
+ "declaration": {
715
+ "name": "*",
716
+ "package": "./sync"
717
+ }
718
+ },
719
+ {
720
+ "kind": "js",
721
+ "name": "*",
722
+ "declaration": {
723
+ "name": "*",
724
+ "package": "./when-else"
725
+ }
726
+ }
727
+ ]
728
+ },
729
+ {
730
+ "kind": "javascript-module",
731
+ "path": "src/encoding/index.ts",
732
+ "declarations": [],
733
+ "exports": [
734
+ {
735
+ "kind": "js",
736
+ "name": "*",
737
+ "declaration": {
738
+ "name": "*",
739
+ "package": "./base64"
740
+ }
741
+ }
742
+ ]
743
+ },
647
744
  {
648
745
  "kind": "javascript-module",
649
746
  "path": "src/env/index.ts",
@@ -1119,21 +1216,6 @@
1119
1216
  }
1120
1217
  ]
1121
1218
  },
1122
- {
1123
- "kind": "javascript-module",
1124
- "path": "src/encoding/index.ts",
1125
- "declarations": [],
1126
- "exports": [
1127
- {
1128
- "kind": "js",
1129
- "name": "*",
1130
- "declaration": {
1131
- "name": "*",
1132
- "package": "./base64"
1133
- }
1134
- }
1135
- ]
1136
- },
1137
1219
  {
1138
1220
  "kind": "javascript-module",
1139
1221
  "path": "src/error/errorMap.ts",
@@ -2762,6 +2844,150 @@
2762
2844
  "name": "*",
2763
2845
  "package": "./shortcut-listener"
2764
2846
  }
2847
+ },
2848
+ {
2849
+ "kind": "js",
2850
+ "name": "*",
2851
+ "declaration": {
2852
+ "name": "*",
2853
+ "package": "./shortcut-events"
2854
+ }
2855
+ }
2856
+ ]
2857
+ },
2858
+ {
2859
+ "kind": "javascript-module",
2860
+ "path": "src/shortcut-manager/shortcut-events.ts",
2861
+ "declarations": [
2862
+ {
2863
+ "kind": "variable",
2864
+ "name": "SHORTCUT_BLOCKED_EVENT",
2865
+ "type": {
2866
+ "text": "string"
2867
+ },
2868
+ "default": "'foundation-shortcut-blocked'"
2869
+ },
2870
+ {
2871
+ "kind": "variable",
2872
+ "name": "SHORTCUT_BLOCKED_DEFAULT_TITLE",
2873
+ "type": {
2874
+ "text": "string"
2875
+ },
2876
+ "default": "'Shortcut blocked'"
2877
+ },
2878
+ {
2879
+ "kind": "variable",
2880
+ "name": "SHORTCUT_BLOCKED_DEFAULT_MESSAGE",
2881
+ "type": {
2882
+ "text": "string"
2883
+ },
2884
+ "default": "'This shortcut is currently unavailable in this context.'"
2885
+ },
2886
+ {
2887
+ "kind": "variable",
2888
+ "name": "SHORTCUT_BLOCKED_INPUT_MESSAGE",
2889
+ "type": {
2890
+ "text": "string"
2891
+ },
2892
+ "default": "'This shortcut is unavailable while typing in an input field.'"
2893
+ },
2894
+ {
2895
+ "kind": "variable",
2896
+ "name": "SHORTCUT_BLOCKED_PAUSED_MESSAGE",
2897
+ "type": {
2898
+ "text": "string"
2899
+ },
2900
+ "default": "'Shortcuts are paused.'"
2901
+ },
2902
+ {
2903
+ "kind": "variable",
2904
+ "name": "SHORTCUT_BLOCKED_ELEMENT_FOCUS_MESSAGE",
2905
+ "type": {
2906
+ "text": "string"
2907
+ },
2908
+ "default": "'This shortcut is unavailable in the current focus context.'"
2909
+ },
2910
+ {
2911
+ "kind": "function",
2912
+ "name": "emitShortcutBlockedEvent",
2913
+ "return": {
2914
+ "type": {
2915
+ "text": "void"
2916
+ }
2917
+ },
2918
+ "parameters": [
2919
+ {
2920
+ "name": "detail",
2921
+ "type": {
2922
+ "text": "Omit<ShortcutBlockedEventDetail, 'blockedMessage'> & {\n blockedMessage?: ShortcutBlockedMessage;\n }"
2923
+ }
2924
+ },
2925
+ {
2926
+ "name": "target",
2927
+ "optional": true,
2928
+ "type": {
2929
+ "text": "EventTarget | null"
2930
+ }
2931
+ }
2932
+ ]
2933
+ }
2934
+ ],
2935
+ "exports": [
2936
+ {
2937
+ "kind": "js",
2938
+ "name": "SHORTCUT_BLOCKED_EVENT",
2939
+ "declaration": {
2940
+ "name": "SHORTCUT_BLOCKED_EVENT",
2941
+ "module": "src/shortcut-manager/shortcut-events.ts"
2942
+ }
2943
+ },
2944
+ {
2945
+ "kind": "js",
2946
+ "name": "SHORTCUT_BLOCKED_DEFAULT_TITLE",
2947
+ "declaration": {
2948
+ "name": "SHORTCUT_BLOCKED_DEFAULT_TITLE",
2949
+ "module": "src/shortcut-manager/shortcut-events.ts"
2950
+ }
2951
+ },
2952
+ {
2953
+ "kind": "js",
2954
+ "name": "SHORTCUT_BLOCKED_DEFAULT_MESSAGE",
2955
+ "declaration": {
2956
+ "name": "SHORTCUT_BLOCKED_DEFAULT_MESSAGE",
2957
+ "module": "src/shortcut-manager/shortcut-events.ts"
2958
+ }
2959
+ },
2960
+ {
2961
+ "kind": "js",
2962
+ "name": "SHORTCUT_BLOCKED_INPUT_MESSAGE",
2963
+ "declaration": {
2964
+ "name": "SHORTCUT_BLOCKED_INPUT_MESSAGE",
2965
+ "module": "src/shortcut-manager/shortcut-events.ts"
2966
+ }
2967
+ },
2968
+ {
2969
+ "kind": "js",
2970
+ "name": "SHORTCUT_BLOCKED_PAUSED_MESSAGE",
2971
+ "declaration": {
2972
+ "name": "SHORTCUT_BLOCKED_PAUSED_MESSAGE",
2973
+ "module": "src/shortcut-manager/shortcut-events.ts"
2974
+ }
2975
+ },
2976
+ {
2977
+ "kind": "js",
2978
+ "name": "SHORTCUT_BLOCKED_ELEMENT_FOCUS_MESSAGE",
2979
+ "declaration": {
2980
+ "name": "SHORTCUT_BLOCKED_ELEMENT_FOCUS_MESSAGE",
2981
+ "module": "src/shortcut-manager/shortcut-events.ts"
2982
+ }
2983
+ },
2984
+ {
2985
+ "kind": "js",
2986
+ "name": "emitShortcutBlockedEvent",
2987
+ "declaration": {
2988
+ "name": "emitShortcutBlockedEvent",
2989
+ "module": "src/shortcut-manager/shortcut-events.ts"
2990
+ }
2765
2991
  }
2766
2992
  ]
2767
2993
  },
@@ -2799,11 +3025,6 @@
2799
3025
  "privacy": "private",
2800
3026
  "default": "false"
2801
3027
  },
2802
- {
2803
- "kind": "method",
2804
- "name": "setupStateSubscription",
2805
- "privacy": "private"
2806
- },
2807
3028
  {
2808
3029
  "kind": "method",
2809
3030
  "name": "addKeyListener",
@@ -2845,6 +3066,58 @@
2845
3066
  }
2846
3067
  ]
2847
3068
  },
3069
+ {
3070
+ "kind": "method",
3071
+ "name": "getDeepActiveElement",
3072
+ "privacy": "private",
3073
+ "return": {
3074
+ "type": {
3075
+ "text": "Element | null"
3076
+ }
3077
+ }
3078
+ },
3079
+ {
3080
+ "kind": "method",
3081
+ "name": "getEventElement",
3082
+ "privacy": "private",
3083
+ "return": {
3084
+ "type": {
3085
+ "text": "Element | null"
3086
+ }
3087
+ },
3088
+ "parameters": [
3089
+ {
3090
+ "name": "event",
3091
+ "type": {
3092
+ "text": "KeyboardEvent"
3093
+ }
3094
+ }
3095
+ ]
3096
+ },
3097
+ {
3098
+ "kind": "method",
3099
+ "name": "isEditableContext",
3100
+ "privacy": "private",
3101
+ "return": {
3102
+ "type": {
3103
+ "text": "boolean"
3104
+ }
3105
+ },
3106
+ "parameters": [
3107
+ {
3108
+ "name": "event",
3109
+ "type": {
3110
+ "text": "KeyboardEvent"
3111
+ }
3112
+ },
3113
+ {
3114
+ "name": "editableSelector",
3115
+ "type": {
3116
+ "text": "string"
3117
+ }
3118
+ }
3119
+ ]
3120
+ },
2848
3121
  {
2849
3122
  "kind": "method",
2850
3123
  "name": "isInputElement",
@@ -2860,6 +3133,12 @@
2860
3133
  "type": {
2861
3134
  "text": "HTMLElement | null"
2862
3135
  }
3136
+ },
3137
+ {
3138
+ "name": "editableSelector",
3139
+ "type": {
3140
+ "text": "string"
3141
+ }
2863
3142
  }
2864
3143
  ]
2865
3144
  }
@@ -2932,6 +3211,35 @@
2932
3211
  },
2933
3212
  "privacy": "private"
2934
3213
  },
3214
+ {
3215
+ "kind": "field",
3216
+ "name": "executionGuards",
3217
+ "privacy": "private",
3218
+ "default": "new Map<string, () => ShortcutExecutionStatus | boolean>()"
3219
+ },
3220
+ {
3221
+ "kind": "field",
3222
+ "name": "editableContextConfig",
3223
+ "type": {
3224
+ "text": "Required<ShortcutEditableContextConfig>"
3225
+ },
3226
+ "privacy": "private",
3227
+ "default": "{\n ...DEFAULT_SHORTCUT_EDITABLE_CONTEXT_CONFIG,\n }"
3228
+ },
3229
+ {
3230
+ "kind": "field",
3231
+ "name": "editableSelector",
3232
+ "privacy": "private"
3233
+ },
3234
+ {
3235
+ "kind": "field",
3236
+ "name": "blockedMessageConfig",
3237
+ "type": {
3238
+ "text": "Required<ShortcutBlockedMessageConfig>"
3239
+ },
3240
+ "privacy": "private",
3241
+ "default": "{\n ...DEFAULT_SHORTCUT_BLOCKED_MESSAGE_CONFIG,\n }"
3242
+ },
2935
3243
  {
2936
3244
  "kind": "field",
2937
3245
  "name": "isPaused",
@@ -3044,6 +3352,56 @@
3044
3352
  "type": {
3045
3353
  "text": "string"
3046
3354
  }
3355
+ },
3356
+ {
3357
+ "name": "eventTarget",
3358
+ "optional": true,
3359
+ "type": {
3360
+ "text": "EventTarget | null"
3361
+ }
3362
+ }
3363
+ ]
3364
+ },
3365
+ {
3366
+ "kind": "method",
3367
+ "name": "shouldEmitBlockedEvent",
3368
+ "privacy": "private",
3369
+ "return": {
3370
+ "type": {
3371
+ "text": "boolean"
3372
+ }
3373
+ },
3374
+ "parameters": [
3375
+ {
3376
+ "name": "shortcut",
3377
+ "optional": true,
3378
+ "type": {
3379
+ "text": "ShortcutDefinition"
3380
+ }
3381
+ }
3382
+ ]
3383
+ },
3384
+ {
3385
+ "kind": "method",
3386
+ "name": "resolveBlockedMessage",
3387
+ "privacy": "private",
3388
+ "return": {
3389
+ "type": {
3390
+ "text": "ShortcutBlockedMessage"
3391
+ }
3392
+ },
3393
+ "parameters": [
3394
+ {
3395
+ "name": "shortcut",
3396
+ "type": {
3397
+ "text": "ShortcutDefinition | undefined"
3398
+ }
3399
+ },
3400
+ {
3401
+ "name": "fallback",
3402
+ "type": {
3403
+ "text": "ShortcutBlockedMessage"
3404
+ }
3047
3405
  }
3048
3406
  ]
3049
3407
  },
@@ -3067,6 +3425,13 @@
3067
3425
  "type": {
3068
3426
  "text": "string"
3069
3427
  }
3428
+ },
3429
+ {
3430
+ "name": "eventTarget",
3431
+ "optional": true,
3432
+ "type": {
3433
+ "text": "EventTarget | null"
3434
+ }
3070
3435
  }
3071
3436
  ]
3072
3437
  },
@@ -3199,6 +3564,118 @@
3199
3564
  }
3200
3565
  }
3201
3566
  },
3567
+ {
3568
+ "kind": "method",
3569
+ "name": "registerExecutionGuard",
3570
+ "return": {
3571
+ "type": {
3572
+ "text": "void"
3573
+ }
3574
+ },
3575
+ "parameters": [
3576
+ {
3577
+ "name": "id",
3578
+ "type": {
3579
+ "text": "string"
3580
+ }
3581
+ },
3582
+ {
3583
+ "name": "guard",
3584
+ "type": {
3585
+ "text": "() => ShortcutExecutionStatus | boolean"
3586
+ }
3587
+ }
3588
+ ]
3589
+ },
3590
+ {
3591
+ "kind": "method",
3592
+ "name": "unregisterExecutionGuard",
3593
+ "return": {
3594
+ "type": {
3595
+ "text": "void"
3596
+ }
3597
+ },
3598
+ "parameters": [
3599
+ {
3600
+ "name": "id",
3601
+ "type": {
3602
+ "text": "string"
3603
+ }
3604
+ }
3605
+ ]
3606
+ },
3607
+ {
3608
+ "kind": "method",
3609
+ "name": "clearExecutionGuards",
3610
+ "return": {
3611
+ "type": {
3612
+ "text": "void"
3613
+ }
3614
+ }
3615
+ },
3616
+ {
3617
+ "kind": "method",
3618
+ "name": "configureEditableContext",
3619
+ "return": {
3620
+ "type": {
3621
+ "text": "void"
3622
+ }
3623
+ },
3624
+ "parameters": [
3625
+ {
3626
+ "name": "config",
3627
+ "default": "{}",
3628
+ "type": {
3629
+ "text": "ShortcutEditableContextConfig"
3630
+ }
3631
+ }
3632
+ ]
3633
+ },
3634
+ {
3635
+ "kind": "method",
3636
+ "name": "getEditableContextConfig",
3637
+ "return": {
3638
+ "type": {
3639
+ "text": "Required<ShortcutEditableContextConfig>"
3640
+ }
3641
+ }
3642
+ },
3643
+ {
3644
+ "kind": "method",
3645
+ "name": "getEditableSelector",
3646
+ "return": {
3647
+ "type": {
3648
+ "text": "string"
3649
+ }
3650
+ }
3651
+ },
3652
+ {
3653
+ "kind": "method",
3654
+ "name": "configureBlockedMessages",
3655
+ "return": {
3656
+ "type": {
3657
+ "text": "void"
3658
+ }
3659
+ },
3660
+ "parameters": [
3661
+ {
3662
+ "name": "config",
3663
+ "default": "{}",
3664
+ "type": {
3665
+ "text": "ShortcutBlockedMessageConfig"
3666
+ }
3667
+ }
3668
+ ]
3669
+ },
3670
+ {
3671
+ "kind": "method",
3672
+ "name": "getBlockedMessages",
3673
+ "return": {
3674
+ "type": {
3675
+ "text": "Required<ShortcutBlockedMessageConfig>"
3676
+ }
3677
+ }
3678
+ },
3202
3679
  {
3203
3680
  "kind": "method",
3204
3681
  "name": "pause",
@@ -3287,6 +3764,44 @@
3287
3764
  }
3288
3765
  }
3289
3766
  ]
3767
+ },
3768
+ {
3769
+ "kind": "method",
3770
+ "name": "getExecutionStatus",
3771
+ "privacy": "private",
3772
+ "return": {
3773
+ "type": {
3774
+ "text": "ShortcutExecutionStatus"
3775
+ }
3776
+ },
3777
+ "parameters": [
3778
+ {
3779
+ "name": "shortcut",
3780
+ "type": {
3781
+ "text": "ShortcutDefinition"
3782
+ }
3783
+ }
3784
+ ]
3785
+ },
3786
+ {
3787
+ "kind": "method",
3788
+ "name": "getExecutionGuardStatus",
3789
+ "privacy": "private",
3790
+ "return": {
3791
+ "type": {
3792
+ "text": "ShortcutExecutionStatus"
3793
+ }
3794
+ }
3795
+ },
3796
+ {
3797
+ "kind": "method",
3798
+ "name": "refreshEditableSelector",
3799
+ "privacy": "private",
3800
+ "return": {
3801
+ "type": {
3802
+ "text": "void"
3803
+ }
3804
+ }
3290
3805
  }
3291
3806
  ]
3292
3807
  },
@@ -0,0 +1,12 @@
1
+ import { ShortcutDesignSystemPrefix } from '../shortcut-manager/shortcut-manager';
2
+ /**
3
+ * Base selectors treated as editable context regardless of design system.
4
+ * Includes native controls, contenteditable, and ARIA-editable roles.
5
+ */
6
+ export declare const BASE_EDITABLE_ELEMENT_SELECTORS: readonly ["input", "textarea", "select", "[contenteditable=\"true\"]", "[contenteditable=\"\"]", "[role=\"textbox\"]", "[role=\"searchbox\"]", "[role=\"combobox\"]"];
7
+ /**
8
+ * Design-system specific editable host selectors.
9
+ */
10
+ export declare const DESIGN_SYSTEM_EDITABLE_ELEMENT_SELECTORS: Record<ShortcutDesignSystemPrefix, readonly string[]>;
11
+ export declare function buildEditableElementSelector(designSystems: readonly ShortcutDesignSystemPrefix[], customEditableSelectors?: readonly string[]): string;
12
+ //# sourceMappingURL=editable-elements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editable-elements.d.ts","sourceRoot":"","sources":["../../../src/design-system/editable-elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAWlF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,uKAIlC,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,wCAAwC,EAAE,MAAM,CAC3D,0BAA0B,EAC1B,SAAS,MAAM,EAAE,CAIlB,CAAC;AAEF,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,SAAS,0BAA0B,EAAE,EACpD,uBAAuB,GAAE,SAAS,MAAM,EAAO,GAC9C,MAAM,CASR"}
@@ -1,2 +1,3 @@
1
1
  export * from './design-system';
2
+ export * from './editable-elements';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/design-system/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/design-system/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC"}