@gooddata/sdk-ui-kit 10.27.0-alpha.8 → 10.27.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.
Files changed (105) hide show
  1. package/esm/@ui/@types/icon.d.ts +1 -1
  2. package/esm/@ui/@types/icon.d.ts.map +1 -1
  3. package/esm/@ui/UiButton/UiButton.d.ts +2 -0
  4. package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
  5. package/esm/@ui/UiButton/UiButton.js +2 -2
  6. package/esm/@ui/UiButton/UiButton.js.map +1 -1
  7. package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts.map +1 -1
  8. package/esm/@ui/UiFocusTrap/UiFocusTrap.js +9 -1
  9. package/esm/@ui/UiFocusTrap/UiFocusTrap.js.map +1 -1
  10. package/esm/@ui/UiIcon/icons.d.ts +92 -2
  11. package/esm/@ui/UiIcon/icons.d.ts.map +1 -1
  12. package/esm/@ui/UiIcon/icons.js +78 -0
  13. package/esm/@ui/UiIcon/icons.js.map +1 -1
  14. package/esm/@ui/UiListbox/UiListbox.d.ts.map +1 -1
  15. package/esm/@ui/UiListbox/UiListbox.js +1 -3
  16. package/esm/@ui/UiListbox/UiListbox.js.map +1 -1
  17. package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.d.ts +5 -2
  18. package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.d.ts.map +1 -1
  19. package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.js.map +1 -1
  20. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts +2 -2
  21. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts.map +1 -1
  22. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js +1 -1
  23. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js.map +1 -1
  24. package/esm/@ui/UiListbox/types.d.ts +4 -4
  25. package/esm/@ui/UiListbox/types.d.ts.map +1 -1
  26. package/esm/@ui/UiMenu/UiMenu.d.ts +11 -0
  27. package/esm/@ui/UiMenu/UiMenu.d.ts.map +1 -0
  28. package/esm/@ui/UiMenu/UiMenu.js +36 -0
  29. package/esm/@ui/UiMenu/UiMenu.js.map +1 -0
  30. package/esm/@ui/UiMenu/context.d.ts +11 -0
  31. package/esm/@ui/UiMenu/context.d.ts.map +1 -0
  32. package/esm/@ui/UiMenu/context.js +11 -0
  33. package/esm/@ui/UiMenu/context.js.map +1 -0
  34. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts +7 -0
  35. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts.map +1 -0
  36. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.js +22 -0
  37. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.js.map +1 -0
  38. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts +9 -0
  39. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts.map +1 -0
  40. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js +39 -0
  41. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js.map +1 -0
  42. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts +11 -0
  43. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts.map +1 -0
  44. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js +59 -0
  45. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js.map +1 -0
  46. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts +8 -0
  47. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts.map +1 -0
  48. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js +14 -0
  49. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js.map +1 -0
  50. package/esm/@ui/UiMenu/hooks.d.ts +16 -0
  51. package/esm/@ui/UiMenu/hooks.d.ts.map +1 -0
  52. package/esm/@ui/UiMenu/hooks.js +173 -0
  53. package/esm/@ui/UiMenu/hooks.js.map +1 -0
  54. package/esm/@ui/UiMenu/itemUtils.d.ts +18 -0
  55. package/esm/@ui/UiMenu/itemUtils.d.ts.map +1 -0
  56. package/esm/@ui/UiMenu/itemUtils.js +101 -0
  57. package/esm/@ui/UiMenu/itemUtils.js.map +1 -0
  58. package/esm/@ui/UiMenu/menuBem.d.ts +2 -0
  59. package/esm/@ui/UiMenu/menuBem.d.ts.map +1 -0
  60. package/esm/@ui/UiMenu/menuBem.js +4 -0
  61. package/esm/@ui/UiMenu/menuBem.js.map +1 -0
  62. package/esm/@ui/UiMenu/types.d.ts +124 -0
  63. package/esm/@ui/UiMenu/types.d.ts.map +1 -0
  64. package/esm/@ui/UiMenu/types.js +3 -0
  65. package/esm/@ui/UiMenu/types.js.map +1 -0
  66. package/esm/Dropdown/Dropdown.d.ts +1 -1
  67. package/esm/Dropdown/Dropdown.d.ts.map +1 -1
  68. package/esm/Dropdown/Dropdown.js +1 -1
  69. package/esm/Dropdown/Dropdown.js.map +1 -1
  70. package/esm/Header/generateHeaderAccountMenuItems.d.ts +5 -4
  71. package/esm/Header/generateHeaderAccountMenuItems.d.ts.map +1 -1
  72. package/esm/Header/generateHeaderAccountMenuItems.js +18 -24
  73. package/esm/Header/generateHeaderAccountMenuItems.js.map +1 -1
  74. package/esm/List/ListItem.js +2 -2
  75. package/esm/List/ListItem.js.map +1 -1
  76. package/esm/index.d.ts +5 -1
  77. package/esm/index.d.ts.map +1 -1
  78. package/esm/index.js +3 -0
  79. package/esm/index.js.map +1 -1
  80. package/esm/measureNumberFormat/customFormatDialog/FormatInput.d.ts +8 -0
  81. package/esm/measureNumberFormat/customFormatDialog/FormatInput.d.ts.map +1 -1
  82. package/esm/measureNumberFormat/customFormatDialog/FormatInput.js +94 -32
  83. package/esm/measureNumberFormat/customFormatDialog/FormatInput.js.map +1 -1
  84. package/esm/sdk-ui-kit.d.ts +281 -28
  85. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts +3 -5
  86. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts.map +1 -1
  87. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.js +81 -58
  88. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.js.map +1 -1
  89. package/esm/typings/accessibility.d.ts +2 -2
  90. package/esm/typings/accessibility.d.ts.map +1 -1
  91. package/package.json +15 -12
  92. package/src/@ui/UiChip/UiChip.scss +1 -0
  93. package/src/@ui/UiListbox/UiListbox.scss +2 -4
  94. package/src/@ui/UiMenu/UiMenu.scss +122 -0
  95. package/src/@ui/index.scss +1 -0
  96. package/styles/css/list.css +1 -1
  97. package/styles/css/main.css +126 -540
  98. package/styles/css/main.css.map +1 -1
  99. package/styles/css/menu.css +1 -1
  100. package/styles/css/syntaxHighlightingInput.css +19 -537
  101. package/styles/css/syntaxHighlightingInput.css.map +1 -1
  102. package/styles/scss/list.scss +1 -1
  103. package/styles/scss/mixins.scss +6 -0
  104. package/styles/scss/syntaxHighlightingInput.scss +10 -43
  105. package/styles/scss/typo-mixins.scss +1 -1
@@ -16,6 +16,7 @@ import { ColorFormats } from 'tinycolor2';
16
16
  import { Component } from 'react';
17
17
  import { CSSProperties } from 'react';
18
18
  import { DebouncedFunc } from 'lodash';
19
+ import { Extension } from '@codemirror/state';
19
20
  import { GoodDataSdkError } from '@gooddata/sdk-ui';
20
21
  import { IAccessControlAware } from '@gooddata/sdk-model';
21
22
  import { IAccessGrantee } from '@gooddata/sdk-model';
@@ -557,6 +558,17 @@ export declare function DefaultUiListboxInteractiveItemComponent<T>({ item, isFo
557
558
  */
558
559
  export declare function DefaultUiListboxStaticItemComponent<T>({ item, }: UiListboxStaticItemProps<T>): React_2.ReactNode;
559
560
 
561
+ /**
562
+ * @internal
563
+ */
564
+ export declare function DefaultUiMenuInteractiveItemComponent<T extends IUiMenuItemData = object>({ item, isFocused, onSelect, }: UiMenuInteractiveItemProps<T>): React_2.ReactNode;
565
+
566
+ /**
567
+ * By default just renders the data.
568
+ * @internal
569
+ */
570
+ export declare const DefaultUiMenuStaticItemComponent: React_2.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: UiMenuStaticItemProps<T>) => React_2.ReactElement)>;
571
+
560
572
  /**
561
573
  * @internal
562
574
  */
@@ -802,10 +814,12 @@ export declare const GD_COLOR_WHITE = "#fff";
802
814
  /**
803
815
  * @internal
804
816
  */
805
- export declare function generateHeaderAccountMenuItems(workspacePermissions: IWorkspacePermissions, // bootstrapResource.current.projectPermissions
806
- uiSettings: IUiSettings, // bootstrapResource.settings
807
- workspaceId?: string, // parsed from bootstrapResource.current.project.links.self
808
- showOnlyLogoutItem?: boolean, featureFlags?: ISettings): IHeaderMenuItem[];
817
+ export declare function generateHeaderAccountMenuItems(workspacePermissions: IWorkspacePermissions, uiSettings: IUiSettings, workspaceId?: string, showOnlyLogoutItem?: boolean, featureFlags?: ISettings): IHeaderMenuItem[];
818
+
819
+ /**
820
+ * @internal
821
+ */
822
+ export declare function generateHeaderAccountMenuItems(workspacePermissions: IWorkspacePermissions, workspaceId?: string, featureFlags?: ISettings): IHeaderMenuItem[];
809
823
 
810
824
  /**
811
825
  * @internal
@@ -1081,6 +1095,7 @@ export declare interface IAccessibilityConfigBase {
1081
1095
  ariaLabelledBy?: React.AriaAttributes["aria-labelledby"];
1082
1096
  ariaDescribedBy?: React.AriaAttributes["aria-describedby"];
1083
1097
  role?: React.HTMLAttributes<HTMLElement>["role"];
1098
+ ariaExpanded?: "true" | "false";
1084
1099
  }
1085
1100
 
1086
1101
  /**
@@ -1533,12 +1548,103 @@ export declare interface IConfirmDialogBaseProps extends Omit<IDialogBaseProps,
1533
1548
  /**
1534
1549
  * @internal
1535
1550
  */
1536
- export declare const iconPaths: Record<IconType, React_2.ReactNode>;
1551
+ export declare const iconPaths: {
1552
+ check: React_2.JSX.Element;
1553
+ checkCircle: React_2.JSX.Element;
1554
+ plus: React_2.JSX.Element;
1555
+ plusCircle: React_2.JSX.Element;
1556
+ sync: React_2.JSX.Element;
1557
+ alert: React_2.JSX.Element;
1558
+ alertPaused: React_2.JSX.Element;
1559
+ close: React_2.JSX.Element;
1560
+ cross: React_2.JSX.Element;
1561
+ crossCircle: React_2.JSX.Element;
1562
+ question: React_2.JSX.Element;
1563
+ chevronUp: React_2.JSX.Element;
1564
+ chevronRight: React_2.JSX.Element;
1565
+ chevronDown: React_2.JSX.Element;
1566
+ chevronLeft: React_2.JSX.Element;
1567
+ date: React_2.JSX.Element;
1568
+ navigateUp: React_2.JSX.Element;
1569
+ navigateDown: React_2.JSX.Element;
1570
+ navigateRight: React_2.JSX.Element;
1571
+ download: React_2.JSX.Element;
1572
+ slack: React_2.JSX.Element;
1573
+ expand: React_2.JSX.Element;
1574
+ exclamationCircle: React_2.JSX.Element;
1575
+ book: React_2.JSX.Element;
1576
+ visible: React_2.JSX.Element;
1577
+ invisible: React_2.JSX.Element;
1578
+ lock: React_2.JSX.Element;
1579
+ unlock: React_2.JSX.Element;
1580
+ ai: React_2.JSX.Element;
1581
+ aiFill: React_2.JSX.Element;
1582
+ drawer: React_2.JSX.Element;
1583
+ prohibited: React_2.JSX.Element;
1584
+ dropDown: React_2.JSX.Element;
1585
+ dropRight: React_2.JSX.Element;
1586
+ clock: React_2.JSX.Element;
1587
+ questionMark: React_2.JSX.Element;
1588
+ upload: React_2.JSX.Element;
1589
+ expandRectangle: React_2.JSX.Element;
1590
+ file: React_2.JSX.Element;
1591
+ number: React_2.JSX.Element;
1592
+ code: React_2.JSX.Element;
1593
+ user: React_2.JSX.Element;
1594
+ userPlus: React_2.JSX.Element;
1595
+ users: React_2.JSX.Element;
1596
+ magic: React_2.JSX.Element;
1597
+ tab: React_2.JSX.Element;
1598
+ pauseCircle: React_2.JSX.Element;
1599
+ filter: React_2.JSX.Element;
1600
+ timer: React_2.JSX.Element;
1601
+ mail: React_2.JSX.Element;
1602
+ envelope: React_2.JSX.Element;
1603
+ copy: React_2.JSX.Element;
1604
+ rain: React_2.JSX.Element;
1605
+ earth: React_2.JSX.Element;
1606
+ minimize: React_2.JSX.Element;
1607
+ copyright: React_2.JSX.Element;
1608
+ ellipsis: React_2.JSX.Element;
1609
+ pencil: React_2.JSX.Element;
1610
+ folder: React_2.JSX.Element;
1611
+ folderPlus: React_2.JSX.Element;
1612
+ trash: React_2.JSX.Element;
1613
+ arrowUp: React_2.JSX.Element;
1614
+ arrowRight: React_2.JSX.Element;
1615
+ arrowDown: React_2.JSX.Element;
1616
+ arrowLeft: React_2.JSX.Element;
1617
+ undo: React_2.JSX.Element;
1618
+ redo: React_2.JSX.Element;
1619
+ trendDown: React_2.JSX.Element;
1620
+ trendUp: React_2.JSX.Element;
1621
+ save: React_2.JSX.Element;
1622
+ minusCircle: React_2.JSX.Element;
1623
+ percent: React_2.JSX.Element;
1624
+ enter: React_2.JSX.Element;
1625
+ enterRight: React_2.JSX.Element;
1626
+ money: React_2.JSX.Element;
1627
+ ghost: React_2.JSX.Element;
1628
+ warning: React_2.JSX.Element;
1629
+ home: React_2.JSX.Element;
1630
+ settings: React_2.JSX.Element;
1631
+ search: React_2.JSX.Element;
1632
+ university: React_2.JSX.Element;
1633
+ printer: React_2.JSX.Element;
1634
+ picture: React_2.JSX.Element;
1635
+ visualization: React_2.JSX.Element;
1636
+ dashboard: React_2.JSX.Element;
1637
+ sharp: React_2.JSX.Element;
1638
+ attribute: React_2.JSX.Element;
1639
+ horn: React_2.JSX.Element;
1640
+ cw: React_2.JSX.Element;
1641
+ ccw: React_2.JSX.Element;
1642
+ };
1537
1643
 
1538
1644
  /**
1539
1645
  * @internal
1540
1646
  */
1541
- export declare type IconType = "check" | "plus" | "sync" | "alert" | "close" | "question" | "crossCircle" | "chevronUp" | "chevronDown" | "date" | "lock" | "cross";
1647
+ export declare type IconType = "check" | "checkCircle" | "plus" | "plusCircle" | "sync" | "alert" | "alertPaused" | "close" | "cross" | "crossCircle" | "question" | "chevronUp" | "chevronRight" | "chevronDown" | "chevronLeft" | "date" | "navigateUp" | "navigateDown" | "navigateRight" | "download" | "slack" | "expand" | "exclamationCircle" | "book" | "visible" | "invisible" | "lock" | "unlock" | "ai" | "aiFill" | "drawer" | "prohibited" | "dropDown" | "dropRight" | "clock" | "questionMark" | "upload" | "expandRectangle" | "file" | "number" | "code" | "user" | "userPlus" | "users" | "magic" | "tab" | "pauseCircle" | "filter" | "timer" | "mail" | "envelope" | "copy" | "rain" | "earth" | "minimize" | "copyright" | "ellipsis" | "pencil" | "folder" | "folderPlus" | "trash" | "arrowUp" | "arrowRight" | "arrowDown" | "arrowLeft" | "undo" | "redo" | "trendDown" | "trendUp" | "save" | "minusCircle" | "percent" | "enter" | "enterRight" | "money" | "ghost" | "warning" | "home" | "settings" | "search" | "university" | "printer" | "picture" | "visualization" | "dashboard" | "sharp" | "attribute" | "horn" | "cw" | "ccw";
1542
1648
 
1543
1649
  /**
1544
1650
  * @internal
@@ -1787,7 +1893,7 @@ export declare interface IDomNativeProps {
1787
1893
  export declare interface IDropdownBodyRenderProps {
1788
1894
  isMobile: boolean;
1789
1895
  closeDropdown: () => void;
1790
- ariaAttributes: Pick<React_2.AriaAttributes, "aria-labelledby"> & {
1896
+ ariaAttributes: Pick<React_2.AriaAttributes, "aria-labelledby" | "aria-label"> & {
1791
1897
  role: React_2.AriaAttributes["aria-haspopup"] & React_2.AriaRole;
1792
1898
  id: string;
1793
1899
  };
@@ -2863,20 +2969,6 @@ export declare interface ILegacySingleSelectListProps<T> {
2863
2969
  width: number;
2864
2970
  }
2865
2971
 
2866
- /**
2867
- * @internal
2868
- */
2869
- export declare interface IListboxContext<InteractiveItemData, StaticItemData = React_2.ReactNode> {
2870
- items: IUiListboxItem<InteractiveItemData, StaticItemData>[];
2871
- itemRefs: React_2.MutableRefObject<(HTMLLIElement | null)[]>;
2872
- onSelect: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
2873
- onClose?: () => void;
2874
- selectedItemId: string | undefined;
2875
- focusedIndex: number | undefined;
2876
- setFocusedIndex: React_2.Dispatch<React_2.SetStateAction<number>>;
2877
- isItemFocusable: (item: IUiListboxItem<InteractiveItemData, StaticItemData>) => boolean;
2878
- }
2879
-
2880
2972
  /**
2881
2973
  * @internal
2882
2974
  */
@@ -3030,8 +3122,7 @@ export declare interface IMenuAccessibilityConfig extends IAccessibilityConfigBa
3030
3122
  id?: string;
3031
3123
  role?: "menu" | "menuitem" | "separator" | "presentation";
3032
3124
  ariaDisabled?: "true" | "false";
3033
- ariaHaspopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
3034
- ariaExpanded?: "true" | "false";
3125
+ ariaHasPopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
3035
3126
  ariaControls?: string;
3036
3127
  }
3037
3128
 
@@ -4206,8 +4297,8 @@ export declare interface ISyntaxHighlightingInputProps {
4206
4297
  value: string;
4207
4298
  onChange: (value: string) => void;
4208
4299
  onCursor?: (from: number, to: number) => void;
4209
- formatting?: any;
4210
- customOptions?: any;
4300
+ placeholder?: string;
4301
+ extensions?: Extension[];
4211
4302
  className?: string;
4212
4303
  }
4213
4304
 
@@ -4321,6 +4412,20 @@ export declare interface IUiChipAccessibilityConfig extends IAccessibilityConfig
4321
4412
  deleteAriaLabel?: string;
4322
4413
  }
4323
4414
 
4415
+ /**
4416
+ * @internal
4417
+ */
4418
+ export declare interface IUiListboxContext<InteractiveItemData, StaticItemData = React_2.ReactNode> {
4419
+ items: IUiListboxItem<InteractiveItemData, StaticItemData>[];
4420
+ itemRefs: React_2.MutableRefObject<(HTMLLIElement | null)[]>;
4421
+ onSelect: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
4422
+ onClose?: () => void;
4423
+ selectedItemId: string | undefined;
4424
+ focusedIndex: number | undefined;
4425
+ setFocusedIndex: React_2.Dispatch<React_2.SetStateAction<number | undefined>>;
4426
+ isItemFocusable: (item: IUiListboxItem<InteractiveItemData, StaticItemData>) => boolean;
4427
+ }
4428
+
4324
4429
  /**
4325
4430
  * @internal
4326
4431
  */
@@ -4346,6 +4451,86 @@ export declare interface IUiListboxStaticItem<T> {
4346
4451
  data: T;
4347
4452
  }
4348
4453
 
4454
+ /**
4455
+ * @internal
4456
+ */
4457
+ export declare interface IUiMenuContext<T extends IUiMenuItemData = object> extends IUiMenuPluggableComponents<T> {
4458
+ items: IUiMenuItem<T>[];
4459
+ focusedItem: IUiMenuInteractiveItem<T> | undefined;
4460
+ onSelect: (item: IUiMenuInteractiveItem<T> | undefined) => void;
4461
+ onClose?: () => void;
4462
+ setFocusedId: React_2.Dispatch<React_2.SetStateAction<string | undefined>>;
4463
+ isItemFocusable: (item: IUiMenuItem<T>) => boolean;
4464
+ controlType: IUiMenuControlType;
4465
+ setControlType: React_2.Dispatch<React_2.SetStateAction<IUiMenuControlType>>;
4466
+ scrollToView: (element: HTMLElement | null) => void;
4467
+ makeItemId: (item: IUiMenuItem<T>) => string;
4468
+ itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
4469
+ ItemComponent: React_2.ComponentType<UiMenuItemProps<T>>;
4470
+ menuComponentRef: React_2.RefObject<HTMLElement>;
4471
+ itemsContainerRef: React_2.RefObject<HTMLElement>;
4472
+ }
4473
+
4474
+ /**
4475
+ * @internal
4476
+ */
4477
+ export declare type IUiMenuControlType = "keyboard" | "mouse" | "unknown";
4478
+
4479
+ /**
4480
+ * @internal
4481
+ */
4482
+ export declare type IUiMenuGroupItem<T extends IUiMenuItemData = object> = {
4483
+ type: "group";
4484
+ id: string;
4485
+ stringTitle: string;
4486
+ data: T["group"];
4487
+ subItems: IUiMenuItem<T>[];
4488
+ };
4489
+
4490
+ /**
4491
+ * @internal
4492
+ */
4493
+ export declare type IUiMenuInteractiveItem<T extends IUiMenuItemData = object> = {
4494
+ type: "interactive";
4495
+ id: string;
4496
+ stringTitle: string;
4497
+ isDisabled?: boolean;
4498
+ data: T["interactive"];
4499
+ subItems?: IUiMenuItem<T>[];
4500
+ };
4501
+
4502
+ /**
4503
+ * @internal
4504
+ */
4505
+ export declare type IUiMenuItem<T extends IUiMenuItemData = object> = IUiMenuStaticItem<T> | IUiMenuInteractiveItem<T> | IUiMenuGroupItem<T>;
4506
+
4507
+ /**
4508
+ * @internal
4509
+ */
4510
+ export declare type IUiMenuItemData = {
4511
+ [type in IUiMenuItem<any>["type"]]?: unknown;
4512
+ };
4513
+
4514
+ /**
4515
+ * @internal
4516
+ */
4517
+ export declare interface IUiMenuPluggableComponents<T extends IUiMenuItemData = object> {
4518
+ InteractiveItemComponent: React_2.ComponentType<UiMenuInteractiveItemProps<T>>;
4519
+ InteractiveItemWrapperComponent: React_2.ComponentType<UiMenuInteractiveItemWrapperProps<T>>;
4520
+ GroupItemComponent: React_2.ComponentType<UiMenuGroupItemProps<T>>;
4521
+ StaticItemComponent: React_2.ComponentType<UiMenuStaticItemProps<T>>;
4522
+ MenuHeaderComponent: React_2.ComponentType;
4523
+ }
4524
+
4525
+ /**
4526
+ * @internal
4527
+ */
4528
+ export declare type IUiMenuStaticItem<T extends IUiMenuItemData = object> = {
4529
+ type: "static";
4530
+ id?: string;
4531
+ data: T["static"];
4532
+ };
4533
+
4349
4534
  /**
4350
4535
  * @internal
4351
4536
  */
@@ -4964,7 +5149,10 @@ export declare type Separators = {
4964
5149
  /**
4965
5150
  * @internal
4966
5151
  */
4967
- export declare const separatorStaticItem: IUiListboxStaticItem<React_2.ReactNode>;
5152
+ export declare const separatorStaticItem: {
5153
+ data: React_2.JSX.Element;
5154
+ type: "static";
5155
+ };
4968
5156
 
4969
5157
  /**
4970
5158
  * @internal
@@ -5332,6 +5520,7 @@ export declare interface UiButtonProps {
5332
5520
  tooltip?: React_2.ReactNode;
5333
5521
  onClick?: (e: React_2.MouseEvent<HTMLButtonElement>) => void;
5334
5522
  dataId?: string;
5523
+ accessibilityConfig?: IAccessibilityConfigBase;
5335
5524
  }
5336
5525
 
5337
5526
  /**
@@ -5451,7 +5640,7 @@ export declare interface UiListboxProps<InteractiveItemData, StaticItemData = Re
5451
5640
  maxWidth?: number;
5452
5641
  onSelect?: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
5453
5642
  onClose?: () => void;
5454
- onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IListboxContext<InteractiveItemData, StaticItemData>) => void;
5643
+ onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiListboxContext<InteractiveItemData, StaticItemData>) => void;
5455
5644
  selectedItemId?: string;
5456
5645
  InteractiveItemComponent?: React_2.ComponentType<UiListboxInteractiveItemProps<InteractiveItemData>>;
5457
5646
  StaticItemComponent?: React_2.ComponentType<UiListboxStaticItemProps<StaticItemData>>;
@@ -5459,7 +5648,7 @@ export declare interface UiListboxProps<InteractiveItemData, StaticItemData = Re
5459
5648
  shouldKeyboardActionStopPropagation?: boolean;
5460
5649
  shouldCloseOnSelect?: boolean;
5461
5650
  isDisabledFocusable?: boolean;
5462
- ariaAttributes: IDropdownBodyRenderProps["ariaAttributes"];
5651
+ ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
5463
5652
  }
5464
5653
 
5465
5654
  /**
@@ -5469,6 +5658,70 @@ export declare interface UiListboxStaticItemProps<T> {
5469
5658
  item: IUiListboxStaticItem<T>;
5470
5659
  }
5471
5660
 
5661
+ /**
5662
+ * An accessible menu component that can be navigated by keyboard.
5663
+ * Usable in a <Dropdown /> component.
5664
+ * Should implement https://www.w3.org/WAI/ARIA/apg/patterns/menubar/
5665
+ *
5666
+ * @internal
5667
+ */
5668
+ export declare function UiMenu<T extends IUiMenuItemData = object>(props: UiMenuProps<T>): React_2.ReactNode;
5669
+
5670
+ /**
5671
+ * @internal
5672
+ */
5673
+ export declare interface UiMenuGroupItemProps<T extends IUiMenuItemData = object> {
5674
+ item: IUiMenuGroupItem<T>;
5675
+ }
5676
+
5677
+ /**
5678
+ * @internal
5679
+ */
5680
+ export declare interface UiMenuInteractiveItemProps<T extends IUiMenuItemData = object> {
5681
+ item: IUiMenuInteractiveItem<T>;
5682
+ isFocused: boolean;
5683
+ onSelect: () => void;
5684
+ }
5685
+
5686
+ /**
5687
+ * @internal
5688
+ */
5689
+ export declare interface UiMenuInteractiveItemWrapperProps<T extends IUiMenuItemData = object> {
5690
+ item: IUiMenuInteractiveItem<T>;
5691
+ }
5692
+
5693
+ /**
5694
+ * @internal
5695
+ */
5696
+ export declare interface UiMenuItemProps<T extends IUiMenuItemData = object> {
5697
+ item: IUiMenuItem<T>;
5698
+ }
5699
+
5700
+ /**
5701
+ * @internal
5702
+ */
5703
+ export declare interface UiMenuProps<T extends IUiMenuItemData = object> extends Partial<IUiMenuPluggableComponents<T>> {
5704
+ items: IUiMenuItem<T>[];
5705
+ className?: string;
5706
+ itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
5707
+ maxWidth?: number;
5708
+ onSelect?: (item: IUiMenuInteractiveItem<T>) => void;
5709
+ onClose?: () => void;
5710
+ onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiMenuContext<T>) => void;
5711
+ shouldKeyboardActionPreventDefault?: boolean;
5712
+ shouldKeyboardActionStopPropagation?: boolean;
5713
+ shouldCloseOnSelect?: boolean;
5714
+ isDisabledFocusable?: boolean;
5715
+ ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
5716
+ }
5717
+
5718
+ /**
5719
+ * @internal
5720
+ */
5721
+ export declare interface UiMenuStaticItemProps<T extends IUiMenuItemData = object> {
5722
+ item: IUiMenuStaticItem<T>;
5723
+ }
5724
+
5472
5725
  /**
5473
5726
  * @internal
5474
5727
  */
@@ -1,7 +1,5 @@
1
1
  import React from "react";
2
- import "codemirror/addon/mode/simple.js";
3
- import "codemirror/addon/edit/matchbrackets.js";
4
- import "codemirror/addon/display/placeholder.js";
2
+ import { Extension } from "@codemirror/state";
5
3
  /**
6
4
  * @internal
7
5
  */
@@ -9,8 +7,8 @@ export interface ISyntaxHighlightingInputProps {
9
7
  value: string;
10
8
  onChange: (value: string) => void;
11
9
  onCursor?: (from: number, to: number) => void;
12
- formatting?: any;
13
- customOptions?: any;
10
+ placeholder?: string;
11
+ extensions?: Extension[];
14
12
  className?: string;
15
13
  }
16
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SyntaxHighlightingInput.d.ts","sourceRoot":"","sources":["../../src/syntaxHighlightingInput/SyntaxHighlightingInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,iCAAiC,CAAC;AAEzC,OAAO,wCAAwC,CAAC;AAEhD,OAAO,yCAAyC,CAAC;AAUjD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAmBD;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAkD3E,CAAC"}
1
+ {"version":3,"file":"SyntaxHighlightingInput.d.ts","sourceRoot":"","sources":["../../src/syntaxHighlightingInput/SyntaxHighlightingInput.tsx"],"names":[],"mappings":"AACA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAe,SAAS,EAAgC,MAAM,mBAAmB,CAAC;AAmBzF;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,EAAE,CAAC,6BAA6B,CAkF3E,CAAC"}
@@ -1,70 +1,93 @@
1
- // (C) 2020-2023 GoodData Corporation
1
+ // (C) 2020-2025 GoodData Corporation
2
2
  import React, { useRef, useEffect } from "react";
3
3
  import cx from "classnames";
4
- import CodeMirror from "codemirror";
5
- // eslint-disable-next-line import/no-unassigned-import
6
- import "codemirror/addon/mode/simple.js";
7
- // eslint-disable-next-line import/no-unassigned-import
8
- import "codemirror/addon/edit/matchbrackets.js";
9
- // eslint-disable-next-line import/no-unassigned-import
10
- import "codemirror/addon/display/placeholder.js";
11
- const CODE_MIRROR_EOL = "\n";
12
- const defaultOptions = {
13
- autofocus: false,
14
- lineWrapping: true,
15
- matchBrackets: true,
16
- };
17
- const findCursorIndexAcrossMultipleLines = (text, cursorLineIndex, cursorLineCharacterIndex) => {
18
- const getLineLengthToCursor = (line, lineIndex) => {
19
- if (lineIndex > cursorLineIndex) {
20
- return 0;
21
- }
22
- return lineIndex < cursorLineIndex ? line.length + CODE_MIRROR_EOL.length : cursorLineCharacterIndex;
23
- };
24
- return text
25
- .split(CODE_MIRROR_EOL)
26
- .map(getLineLengthToCursor)
27
- .reduce((sum, lineLength) => sum + lineLength, 0);
28
- };
4
+ import { EditorView, keymap, placeholder } from "@codemirror/view";
5
+ import { EditorState, Transaction, EditorSelection } from "@codemirror/state";
6
+ import { bracketMatching, syntaxHighlighting, HighlightStyle } from "@codemirror/language";
7
+ import { tags as t } from "@lezer/highlight";
8
+ import { defaultKeymap, historyKeymap } from "@codemirror/commands";
9
+ // Disable autofocus
10
+ const disableAutofocus = EditorView.contentAttributes.of({ autofocus: "false" });
11
+ // Custom syntax highlighting
12
+ const customHighlightStyle = HighlightStyle.define([
13
+ { tag: t.punctuation, color: "#94a1ad" },
14
+ { tag: t.bracket, color: "#94a1ad" },
15
+ { tag: t.variableName, color: "#464e56" },
16
+ { tag: t.string, color: "#a11" },
17
+ { tag: t.special(t.variableName), color: "#13b1e2", fontWeight: "bold" },
18
+ { tag: t.standard(t.variableName), color: "#00c18e", fontWeight: "bold" },
19
+ { tag: t.keyword, color: "#ab55a3", fontWeight: "bold" },
20
+ ]);
29
21
  /**
30
22
  * @internal
31
23
  */
32
24
  export const SyntaxHighlightingInput = (props) => {
33
- const { value, onChange, onCursor, customOptions, className, formatting } = props;
34
- const ref = useRef();
35
- const view = useRef();
36
- const reportCursorPosition = (editor) => {
37
- if (onCursor) {
38
- const from = editor.getCursor("from");
39
- const to = editor.getCursor("to");
40
- const currentValue = editor.getValue();
41
- onCursor(findCursorIndexAcrossMultipleLines(currentValue, from.line, from.ch), findCursorIndexAcrossMultipleLines(currentValue, to.line, to.ch));
42
- }
43
- };
44
- const handleOnChange = () => {
45
- onChange(view.current.getValue());
46
- };
25
+ const { value, onChange, onCursor, placeholder: placeholderText, className, extensions = [] } = props;
26
+ const editorRef = useRef(null);
27
+ const viewRef = useRef();
28
+ // Create the editor only once
47
29
  useEffect(() => {
48
- CodeMirror.defineSimpleMode("syntaxHighlight", formatting);
49
- view.current = CodeMirror(ref.current, {
50
- ...customOptions,
51
- ...defaultOptions,
52
- mode: "syntaxHighlight",
53
- value,
30
+ if (!editorRef.current) {
31
+ return undefined;
32
+ }
33
+ // Create an extension for handling changes
34
+ const changeHandler = EditorView.updateListener.of((update) => {
35
+ if (update.docChanged) {
36
+ onChange(update.state.doc.toString());
37
+ }
38
+ if (onCursor && update.selectionSet) {
39
+ const range = update.state.selection.main;
40
+ onCursor(range.from, range.to);
41
+ }
42
+ });
43
+ const view = new EditorView({
44
+ state: EditorState.create({
45
+ doc: value,
46
+ extensions: [
47
+ bracketMatching(),
48
+ keymap.of([...defaultKeymap, ...historyKeymap]),
49
+ syntaxHighlighting(customHighlightStyle),
50
+ EditorView.lineWrapping,
51
+ disableAutofocus,
52
+ changeHandler,
53
+ placeholderText ? placeholder(placeholderText) : [],
54
+ ...extensions,
55
+ ],
56
+ }),
57
+ parent: editorRef.current,
54
58
  });
55
- view.current.on("change", handleOnChange);
56
- view.current.on("cursorActivity", reportCursorPosition);
57
- return () => {
58
- view.current.off("change", handleOnChange);
59
- view.current.off("cursorActivity", reportCursorPosition);
60
- };
61
- // eslint-disable-next-line react-hooks/exhaustive-deps
62
- }, []);
59
+ viewRef.current = view;
60
+ return () => view.destroy();
61
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
62
+ // Handle external value changes
63
63
  useEffect(() => {
64
- const cursor = view.current.getCursor();
65
- view.current.setValue(value);
66
- view.current.setCursor(cursor);
64
+ const view = viewRef.current;
65
+ if (!view)
66
+ return;
67
+ const currentValue = view.state.doc.toString();
68
+ if (currentValue !== value) {
69
+ const selection = view.state.selection;
70
+ const hasFocus = view.hasFocus;
71
+ const newLength = value.length;
72
+ // Adjust selection to stay within bounds of new content
73
+ const adjustedSelection = EditorSelection.create(selection.ranges.map((range) => {
74
+ const from = Math.min(range.from, newLength);
75
+ const to = Math.min(range.to, newLength);
76
+ return EditorSelection.range(from, to);
77
+ }), selection.mainIndex);
78
+ view.dispatch({
79
+ changes: { from: 0, to: currentValue.length, insert: value },
80
+ selection: adjustedSelection,
81
+ annotations: [
82
+ // Mark this as a remote change to avoid triggering the change handler
83
+ Transaction.remote.of(true),
84
+ ],
85
+ });
86
+ if (hasFocus) {
87
+ view.focus();
88
+ }
89
+ }
67
90
  }, [value]);
68
- return React.createElement("div", { className: cx(className, "gd-input-syntax-highlighting-input"), ref: ref });
91
+ return React.createElement("div", { className: cx(className, "gd-input-syntax-highlighting-input"), ref: editorRef });
69
92
  };
70
93
  //# sourceMappingURL=SyntaxHighlightingInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SyntaxHighlightingInput.js","sourceRoot":"","sources":["../../src/syntaxHighlightingInput/SyntaxHighlightingInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyntaxHighlightingInput.js","sourceRoot":"","sources":["../../src/syntaxHighlightingInput/SyntaxHighlightingInput.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAa,WAAW,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,IAAI,IAAI,CAAC,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEpE,oBAAoB;AACpB,MAAM,gBAAgB,GAAG,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AAEjF,6BAA6B;AAC7B,MAAM,oBAAoB,GAAG,cAAc,CAAC,MAAM,CAAC;IAC/C,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE;IACxC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;IACpC,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;IACzC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAChC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;IACxE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;IACzE,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE;CAC3D,CAAC,CAAC;AAcH;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA4C,CAAC,KAAK,EAAE,EAAE;IACtF,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IAEtG,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,EAAc,CAAC;IAErC,8BAA8B;IAC9B,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,2CAA2C;QAC3C,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAkB,EAAE,EAAE;YACtE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1C,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC;YACxB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC;gBACtB,GAAG,EAAE,KAAK;gBACV,UAAU,EAAE;oBACR,eAAe,EAAE;oBACjB,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC,CAAC;oBAC/C,kBAAkB,CAAC,oBAAoB,CAAC;oBACxC,UAAU,CAAC,YAAY;oBACvB,gBAAgB;oBAChB,aAAa;oBACb,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;oBACnD,GAAG,UAAU;iBAChB;aACJ,CAAC;YACF,MAAM,EAAE,SAAS,CAAC,OAAO;SAC5B,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAEvB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kDAAkD;IAE1D,gCAAgC;IAChC,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/C,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;YAE/B,wDAAwD;YACxD,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAC5C,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACzC,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,EACF,SAAS,CAAC,SAAS,CACtB,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC5D,SAAS,EAAE,iBAAiB;gBAC5B,WAAW,EAAE;oBACT,sEAAsE;oBACtE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;iBAC9B;aACJ,CAAC,CAAC;YAEH,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,6BAAK,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,oCAAoC,CAAC,EAAE,GAAG,EAAE,SAAS,GAAI,CAAC;AACnG,CAAC,CAAC"}
@@ -7,6 +7,7 @@ export interface IAccessibilityConfigBase {
7
7
  ariaLabelledBy?: React.AriaAttributes["aria-labelledby"];
8
8
  ariaDescribedBy?: React.AriaAttributes["aria-describedby"];
9
9
  role?: React.HTMLAttributes<HTMLElement>["role"];
10
+ ariaExpanded?: "true" | "false";
10
11
  }
11
12
  /**
12
13
  * @internal
@@ -15,8 +16,7 @@ export interface IMenuAccessibilityConfig extends IAccessibilityConfigBase {
15
16
  id?: string;
16
17
  role?: "menu" | "menuitem" | "separator" | "presentation";
17
18
  ariaDisabled?: "true" | "false";
18
- ariaHaspopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
19
- ariaExpanded?: "true" | "false";
19
+ ariaHasPopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
20
20
  ariaControls?: string;
21
21
  }
22
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility.d.ts","sourceRoot":"","sources":["../../src/typings/accessibility.ts"],"names":[],"mappings":";AAEA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACtE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClF,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,wBAAwB;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"accessibility.d.ts","sourceRoot":"","sources":["../../src/typings/accessibility.ts"],"names":[],"mappings":";AAEA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACtE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,wBAAwB;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB"}