@gooddata/sdk-ui-kit 10.27.0-alpha.5 → 10.27.0-alpha.51

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 (123) 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/Dialog/ConfirmDialogBase.d.ts.map +1 -1
  67. package/esm/Dialog/ConfirmDialogBase.js +1 -1
  68. package/esm/Dialog/ConfirmDialogBase.js.map +1 -1
  69. package/esm/Dialog/DialogBase.d.ts.map +1 -1
  70. package/esm/Dialog/DialogBase.js +2 -2
  71. package/esm/Dialog/DialogBase.js.map +1 -1
  72. package/esm/Dialog/DialogCloseButton.d.ts +1 -1
  73. package/esm/Dialog/DialogCloseButton.d.ts.map +1 -1
  74. package/esm/Dialog/DialogCloseButton.js +11 -2
  75. package/esm/Dialog/DialogCloseButton.js.map +1 -1
  76. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeBase.d.ts.map +1 -1
  77. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeBase.js +1 -5
  78. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeBase.js.map +1 -1
  79. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareGranteeBase.d.ts.map +1 -1
  80. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareGranteeBase.js +1 -5
  81. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareGranteeBase.js.map +1 -1
  82. package/esm/Dialog/typings.d.ts +1 -0
  83. package/esm/Dialog/typings.d.ts.map +1 -1
  84. package/esm/Dropdown/Dropdown.d.ts +1 -1
  85. package/esm/Dropdown/Dropdown.d.ts.map +1 -1
  86. package/esm/Dropdown/Dropdown.js +1 -1
  87. package/esm/Dropdown/Dropdown.js.map +1 -1
  88. package/esm/Header/generateHeaderAccountMenuItems.d.ts +5 -4
  89. package/esm/Header/generateHeaderAccountMenuItems.d.ts.map +1 -1
  90. package/esm/Header/generateHeaderAccountMenuItems.js +18 -24
  91. package/esm/Header/generateHeaderAccountMenuItems.js.map +1 -1
  92. package/esm/List/ListItem.js +2 -2
  93. package/esm/List/ListItem.js.map +1 -1
  94. package/esm/index.d.ts +5 -1
  95. package/esm/index.d.ts.map +1 -1
  96. package/esm/index.js +3 -0
  97. package/esm/index.js.map +1 -1
  98. package/esm/measureNumberFormat/customFormatDialog/FormatInput.d.ts +8 -0
  99. package/esm/measureNumberFormat/customFormatDialog/FormatInput.d.ts.map +1 -1
  100. package/esm/measureNumberFormat/customFormatDialog/FormatInput.js +94 -32
  101. package/esm/measureNumberFormat/customFormatDialog/FormatInput.js.map +1 -1
  102. package/esm/sdk-ui-kit.d.ts +282 -28
  103. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts +3 -5
  104. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.d.ts.map +1 -1
  105. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.js +81 -58
  106. package/esm/syntaxHighlightingInput/SyntaxHighlightingInput.js.map +1 -1
  107. package/esm/typings/accessibility.d.ts +2 -2
  108. package/esm/typings/accessibility.d.ts.map +1 -1
  109. package/package.json +15 -12
  110. package/src/@ui/UiChip/UiChip.scss +1 -0
  111. package/src/@ui/UiListbox/UiListbox.scss +2 -4
  112. package/src/@ui/UiMenu/UiMenu.scss +122 -0
  113. package/src/@ui/index.scss +1 -0
  114. package/styles/css/list.css +1 -1
  115. package/styles/css/main.css +126 -540
  116. package/styles/css/main.css.map +1 -1
  117. package/styles/css/menu.css +1 -1
  118. package/styles/css/syntaxHighlightingInput.css +19 -537
  119. package/styles/css/syntaxHighlightingInput.css.map +1 -1
  120. package/styles/scss/list.scss +1 -1
  121. package/styles/scss/mixins.scss +6 -0
  122. package/styles/scss/syntaxHighlightingInput.scss +10 -43
  123. 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
@@ -1676,6 +1782,7 @@ export declare interface IDialogBaseProps {
1676
1782
  CloseButton?: React_2.ComponentType<IDialogCloseButtonProps>;
1677
1783
  initialFocus?: React_2.RefObject<HTMLElement> | string;
1678
1784
  returnFocusTo?: React_2.RefObject<HTMLElement> | string;
1785
+ returnFocusAfterClose?: boolean;
1679
1786
  }
1680
1787
 
1681
1788
  /**
@@ -1786,7 +1893,7 @@ export declare interface IDomNativeProps {
1786
1893
  export declare interface IDropdownBodyRenderProps {
1787
1894
  isMobile: boolean;
1788
1895
  closeDropdown: () => void;
1789
- ariaAttributes: Pick<React_2.AriaAttributes, "aria-labelledby"> & {
1896
+ ariaAttributes: Pick<React_2.AriaAttributes, "aria-labelledby" | "aria-label"> & {
1790
1897
  role: React_2.AriaAttributes["aria-haspopup"] & React_2.AriaRole;
1791
1898
  id: string;
1792
1899
  };
@@ -2862,20 +2969,6 @@ export declare interface ILegacySingleSelectListProps<T> {
2862
2969
  width: number;
2863
2970
  }
2864
2971
 
2865
- /**
2866
- * @internal
2867
- */
2868
- export declare interface IListboxContext<InteractiveItemData, StaticItemData = React_2.ReactNode> {
2869
- items: IUiListboxItem<InteractiveItemData, StaticItemData>[];
2870
- itemRefs: React_2.MutableRefObject<(HTMLLIElement | null)[]>;
2871
- onSelect: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
2872
- onClose?: () => void;
2873
- selectedItemId: string | undefined;
2874
- focusedIndex: number | undefined;
2875
- setFocusedIndex: React_2.Dispatch<React_2.SetStateAction<number>>;
2876
- isItemFocusable: (item: IUiListboxItem<InteractiveItemData, StaticItemData>) => boolean;
2877
- }
2878
-
2879
2972
  /**
2880
2973
  * @internal
2881
2974
  */
@@ -3029,8 +3122,7 @@ export declare interface IMenuAccessibilityConfig extends IAccessibilityConfigBa
3029
3122
  id?: string;
3030
3123
  role?: "menu" | "menuitem" | "separator" | "presentation";
3031
3124
  ariaDisabled?: "true" | "false";
3032
- ariaHaspopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
3033
- ariaExpanded?: "true" | "false";
3125
+ ariaHasPopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
3034
3126
  ariaControls?: string;
3035
3127
  }
3036
3128
 
@@ -4205,8 +4297,8 @@ export declare interface ISyntaxHighlightingInputProps {
4205
4297
  value: string;
4206
4298
  onChange: (value: string) => void;
4207
4299
  onCursor?: (from: number, to: number) => void;
4208
- formatting?: any;
4209
- customOptions?: any;
4300
+ placeholder?: string;
4301
+ extensions?: Extension[];
4210
4302
  className?: string;
4211
4303
  }
4212
4304
 
@@ -4320,6 +4412,20 @@ export declare interface IUiChipAccessibilityConfig extends IAccessibilityConfig
4320
4412
  deleteAriaLabel?: string;
4321
4413
  }
4322
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
+
4323
4429
  /**
4324
4430
  * @internal
4325
4431
  */
@@ -4345,6 +4451,86 @@ export declare interface IUiListboxStaticItem<T> {
4345
4451
  data: T;
4346
4452
  }
4347
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
+
4348
4534
  /**
4349
4535
  * @internal
4350
4536
  */
@@ -4963,7 +5149,10 @@ export declare type Separators = {
4963
5149
  /**
4964
5150
  * @internal
4965
5151
  */
4966
- export declare const separatorStaticItem: IUiListboxStaticItem<React_2.ReactNode>;
5152
+ export declare const separatorStaticItem: {
5153
+ data: React_2.JSX.Element;
5154
+ type: "static";
5155
+ };
4967
5156
 
4968
5157
  /**
4969
5158
  * @internal
@@ -5331,6 +5520,7 @@ export declare interface UiButtonProps {
5331
5520
  tooltip?: React_2.ReactNode;
5332
5521
  onClick?: (e: React_2.MouseEvent<HTMLButtonElement>) => void;
5333
5522
  dataId?: string;
5523
+ accessibilityConfig?: IAccessibilityConfigBase;
5334
5524
  }
5335
5525
 
5336
5526
  /**
@@ -5450,7 +5640,7 @@ export declare interface UiListboxProps<InteractiveItemData, StaticItemData = Re
5450
5640
  maxWidth?: number;
5451
5641
  onSelect?: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
5452
5642
  onClose?: () => void;
5453
- onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IListboxContext<InteractiveItemData, StaticItemData>) => void;
5643
+ onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiListboxContext<InteractiveItemData, StaticItemData>) => void;
5454
5644
  selectedItemId?: string;
5455
5645
  InteractiveItemComponent?: React_2.ComponentType<UiListboxInteractiveItemProps<InteractiveItemData>>;
5456
5646
  StaticItemComponent?: React_2.ComponentType<UiListboxStaticItemProps<StaticItemData>>;
@@ -5458,7 +5648,7 @@ export declare interface UiListboxProps<InteractiveItemData, StaticItemData = Re
5458
5648
  shouldKeyboardActionStopPropagation?: boolean;
5459
5649
  shouldCloseOnSelect?: boolean;
5460
5650
  isDisabledFocusable?: boolean;
5461
- ariaAttributes: IDropdownBodyRenderProps["ariaAttributes"];
5651
+ ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
5462
5652
  }
5463
5653
 
5464
5654
  /**
@@ -5468,6 +5658,70 @@ export declare interface UiListboxStaticItemProps<T> {
5468
5658
  item: IUiListboxStaticItem<T>;
5469
5659
  }
5470
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
+
5471
5725
  /**
5472
5726
  * @internal
5473
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":"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"}
@@ -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"}