@gooddata/sdk-ui-kit 10.27.0-alpha.3 → 10.27.0-alpha.31

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 (160) 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/@utils/keyboardNavigation.d.ts +23 -12
  4. package/esm/@ui/@utils/keyboardNavigation.d.ts.map +1 -1
  5. package/esm/@ui/@utils/keyboardNavigation.js +58 -16
  6. package/esm/@ui/@utils/keyboardNavigation.js.map +1 -1
  7. package/esm/@ui/UiButton/UiButton.d.ts +2 -0
  8. package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
  9. package/esm/@ui/UiButton/UiButton.js +2 -2
  10. package/esm/@ui/UiButton/UiButton.js.map +1 -1
  11. package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts +9 -0
  12. package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts.map +1 -1
  13. package/esm/@ui/UiFocusTrap/UiFocusTrap.js +82 -71
  14. package/esm/@ui/UiFocusTrap/UiFocusTrap.js.map +1 -1
  15. package/esm/@ui/UiIcon/icons.d.ts.map +1 -1
  16. package/esm/@ui/UiIcon/icons.js +2 -0
  17. package/esm/@ui/UiIcon/icons.js.map +1 -1
  18. package/esm/@ui/UiListbox/UiListbox.d.ts.map +1 -1
  19. package/esm/@ui/UiListbox/UiListbox.js +1 -3
  20. package/esm/@ui/UiListbox/UiListbox.js.map +1 -1
  21. package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.d.ts +5 -2
  22. package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.d.ts.map +1 -1
  23. package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.js.map +1 -1
  24. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts +2 -2
  25. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts.map +1 -1
  26. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js +1 -1
  27. package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js.map +1 -1
  28. package/esm/@ui/UiListbox/types.d.ts +4 -4
  29. package/esm/@ui/UiListbox/types.d.ts.map +1 -1
  30. package/esm/@ui/UiMenu/UiMenu.d.ts +11 -0
  31. package/esm/@ui/UiMenu/UiMenu.d.ts.map +1 -0
  32. package/esm/@ui/UiMenu/UiMenu.js +36 -0
  33. package/esm/@ui/UiMenu/UiMenu.js.map +1 -0
  34. package/esm/@ui/UiMenu/context.d.ts +11 -0
  35. package/esm/@ui/UiMenu/context.d.ts.map +1 -0
  36. package/esm/@ui/UiMenu/context.js +11 -0
  37. package/esm/@ui/UiMenu/context.js.map +1 -0
  38. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts +7 -0
  39. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts.map +1 -0
  40. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.js +21 -0
  41. package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.js.map +1 -0
  42. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts +9 -0
  43. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts.map +1 -0
  44. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js +39 -0
  45. package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js.map +1 -0
  46. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts +11 -0
  47. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts.map +1 -0
  48. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js +59 -0
  49. package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js.map +1 -0
  50. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts +8 -0
  51. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts.map +1 -0
  52. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js +14 -0
  53. package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js.map +1 -0
  54. package/esm/@ui/UiMenu/hooks.d.ts +16 -0
  55. package/esm/@ui/UiMenu/hooks.d.ts.map +1 -0
  56. package/esm/@ui/UiMenu/hooks.js +173 -0
  57. package/esm/@ui/UiMenu/hooks.js.map +1 -0
  58. package/esm/@ui/UiMenu/itemUtils.d.ts +18 -0
  59. package/esm/@ui/UiMenu/itemUtils.d.ts.map +1 -0
  60. package/esm/@ui/UiMenu/itemUtils.js +101 -0
  61. package/esm/@ui/UiMenu/itemUtils.js.map +1 -0
  62. package/esm/@ui/UiMenu/menuBem.d.ts +2 -0
  63. package/esm/@ui/UiMenu/menuBem.d.ts.map +1 -0
  64. package/esm/@ui/UiMenu/menuBem.js +4 -0
  65. package/esm/@ui/UiMenu/menuBem.js.map +1 -0
  66. package/esm/@ui/UiMenu/types.d.ts +124 -0
  67. package/esm/@ui/UiMenu/types.d.ts.map +1 -0
  68. package/esm/@ui/UiMenu/types.js +3 -0
  69. package/esm/@ui/UiMenu/types.js.map +1 -0
  70. package/esm/Dialog/ConfirmDialogBase.d.ts.map +1 -1
  71. package/esm/Dialog/ConfirmDialogBase.js +1 -1
  72. package/esm/Dialog/ConfirmDialogBase.js.map +1 -1
  73. package/esm/Dialog/DialogBase.d.ts.map +1 -1
  74. package/esm/Dialog/DialogBase.js +2 -2
  75. package/esm/Dialog/DialogBase.js.map +1 -1
  76. package/esm/Dialog/DialogCloseButton.d.ts +1 -1
  77. package/esm/Dialog/DialogCloseButton.d.ts.map +1 -1
  78. package/esm/Dialog/DialogCloseButton.js +11 -2
  79. package/esm/Dialog/DialogCloseButton.js.map +1 -1
  80. package/esm/Dialog/ExportDialogBase.d.ts.map +1 -1
  81. package/esm/Dialog/ExportDialogBase.js +8 -3
  82. package/esm/Dialog/ExportDialogBase.js.map +1 -1
  83. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeBase.d.ts.map +1 -1
  84. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeBase.js +1 -5
  85. package/esm/Dialog/ShareDialog/ShareDialogBase/AddGranteeBase.js.map +1 -1
  86. package/esm/Dialog/ShareDialog/ShareDialogBase/GranteeItem.js +2 -2
  87. package/esm/Dialog/ShareDialog/ShareDialogBase/GranteeItem.js.map +1 -1
  88. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareGranteeBase.d.ts.map +1 -1
  89. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareGranteeBase.js +1 -5
  90. package/esm/Dialog/ShareDialog/ShareDialogBase/ShareGranteeBase.js.map +1 -1
  91. package/esm/Dialog/typings.d.ts +1 -0
  92. package/esm/Dialog/typings.d.ts.map +1 -1
  93. package/esm/Form/Checkbox.d.ts +1 -0
  94. package/esm/Form/Checkbox.d.ts.map +1 -1
  95. package/esm/Form/Checkbox.js +3 -3
  96. package/esm/Form/Checkbox.js.map +1 -1
  97. package/esm/Header/HeaderAccount.d.ts.map +1 -1
  98. package/esm/Header/HeaderAccount.js +2 -3
  99. package/esm/Header/HeaderAccount.js.map +1 -1
  100. package/esm/Header/HeaderHelp.d.ts.map +1 -1
  101. package/esm/Header/HeaderHelp.js +2 -3
  102. package/esm/Header/HeaderHelp.js.map +1 -1
  103. package/esm/Header/HeaderSearchButton.d.ts.map +1 -1
  104. package/esm/Header/HeaderSearchButton.js +2 -3
  105. package/esm/Header/HeaderSearchButton.js.map +1 -1
  106. package/esm/List/ListItem.d.ts +8 -21
  107. package/esm/List/ListItem.d.ts.map +1 -1
  108. package/esm/List/ListItem.js +69 -70
  109. package/esm/List/ListItem.js.map +1 -1
  110. package/esm/List/MenuList.d.ts +3 -0
  111. package/esm/List/MenuList.d.ts.map +1 -1
  112. package/esm/List/MenuList.js +3 -3
  113. package/esm/List/MenuList.js.map +1 -1
  114. package/esm/List/index.d.ts +1 -1
  115. package/esm/List/index.d.ts.map +1 -1
  116. package/esm/List/index.js.map +1 -1
  117. package/esm/RecurrenceForm/DateTime.js +2 -2
  118. package/esm/RecurrenceForm/DateTime.js.map +1 -1
  119. package/esm/RecurrenceForm/Recurrence.js +3 -3
  120. package/esm/RecurrenceForm/Recurrence.js.map +1 -1
  121. package/esm/index.d.ts +8 -1
  122. package/esm/index.d.ts.map +1 -1
  123. package/esm/index.js +5 -0
  124. package/esm/index.js.map +1 -1
  125. package/esm/sdk-ui-kit.d.ts +251 -39
  126. package/esm/typings/accessibility.d.ts +17 -0
  127. package/esm/typings/accessibility.d.ts.map +1 -1
  128. package/esm/typings/accessibility.js +1 -1
  129. package/esm/typings/accessibility.js.map +1 -1
  130. package/esm/utils/domUtilities.d.ts +11 -0
  131. package/esm/utils/domUtilities.d.ts.map +1 -1
  132. package/esm/utils/domUtilities.js +29 -0
  133. package/esm/utils/domUtilities.js.map +1 -1
  134. package/esm/utils/useId.d.ts +6 -0
  135. package/esm/utils/useId.d.ts.map +1 -1
  136. package/esm/utils/useId.js +9 -0
  137. package/esm/utils/useId.js.map +1 -1
  138. package/package.json +10 -9
  139. package/src/@ui/UiChip/UiChip.scss +1 -0
  140. package/src/@ui/UiListbox/UiListbox.scss +2 -4
  141. package/src/@ui/UiMenu/UiMenu.scss +131 -0
  142. package/src/@ui/index.scss +1 -0
  143. package/styles/css/button.css +5 -5
  144. package/styles/css/button.css.map +1 -1
  145. package/styles/css/dialog.css +3 -2
  146. package/styles/css/dialog.css.map +1 -1
  147. package/styles/css/list.css +7 -0
  148. package/styles/css/list.css.map +1 -1
  149. package/styles/css/main.css +132 -9
  150. package/styles/css/main.css.map +1 -1
  151. package/styles/css/menu.css +7 -0
  152. package/styles/css/menu.css.map +1 -1
  153. package/styles/css/typo.css +3 -0
  154. package/styles/css/typo.css.map +1 -1
  155. package/styles/scss/Button/_mixins.scss +1 -1
  156. package/styles/scss/button.scss +4 -4
  157. package/styles/scss/dialog.scss +3 -2
  158. package/styles/scss/list.scss +7 -0
  159. package/styles/scss/mixins.scss +6 -0
  160. package/styles/scss/typo-mixins.scss +2 -1
@@ -7,7 +7,7 @@ import { RECURRENCE_TYPES } from "./constants.js";
7
7
  import { RepeatTypeDescription } from "./RepeatTypeDescription.js";
8
8
  import { CronExpressionSuggestion } from "./CronExpressionSuggestion.js";
9
9
  import { useCronValidation } from "./useCronValidation.js";
10
- import { useId } from "../utils/useId.js";
10
+ import { useIdPrefixed } from "../utils/useId.js";
11
11
  /**
12
12
  * @internal
13
13
  *
@@ -20,8 +20,8 @@ export const Recurrence = (props) => {
20
20
  allowHourlyRecurrence,
21
21
  onCronValueChange,
22
22
  });
23
- const labelId = `${useId()}-label`;
24
- const errorId = `${useId()}-error`;
23
+ const labelId = useIdPrefixed("label");
24
+ const errorId = useIdPrefixed("error");
25
25
  const recurrenceFormClasses = cx("gd-recurrence-form-repeat", "gd-input-component", {
26
26
  "gd-recurrence-form-repeat-cron": recurrenceType === RECURRENCE_TYPES.CRON,
27
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Recurrence.js","sourceRoot":"","sources":["../../src/RecurrenceForm/Recurrence.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Recurrence.js","sourceRoot":"","sources":["../../src/RecurrenceForm/Recurrence.tsx"],"names":[],"mappings":"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"}
package/esm/index.d.ts CHANGED
@@ -20,6 +20,7 @@ export * from "./utils/debounce.js";
20
20
  export * from "./utils/dateTimeConfig.js";
21
21
  export * from "./utils/events.js";
22
22
  export * from "./utils/useId.js";
23
+ export { getFocusableElements } from "./utils/domUtilities.js";
23
24
  export * from "./measureNumberFormat/index.js";
24
25
  export * from "./syntaxHighlightingInput/index.js";
25
26
  export * from "./Button/index.js";
@@ -93,8 +94,14 @@ export { UiPagedVirtualList } from "./@ui/UiPagedVirtualList/UiPagedVirtualList.
93
94
  export type { UiPagedVirtualListProps, UiPagedVirtualListSkeletonItemProps, } from "./@ui/UiPagedVirtualList/UiPagedVirtualList.js";
94
95
  export { UiFocusTrap } from "./@ui/UiFocusTrap/UiFocusTrap.js";
95
96
  export type { UiFocusTrapProps } from "./@ui/UiFocusTrap/UiFocusTrap.js";
97
+ export type { IAccessibilityConfigBase, IMenuAccessibilityConfig, IMenuContainerAccessibilityConfig, } from "./typings/accessibility.js";
96
98
  export { UiListbox } from "./@ui/UiListbox/UiListbox.js";
97
99
  export { DefaultUiListboxInteractiveItemComponent } from "./@ui/UiListbox/defaults/DefaultUiListboxInteractiveItemComponent.js";
98
100
  export { separatorStaticItem, DefaultUiListboxStaticItemComponent, } from "./@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.js";
99
- export type { UiListboxProps, IListboxContext, IUiListboxItem, IUiListboxStaticItem, UiListboxStaticItemProps, IUiListboxInteractiveItem, UiListboxInteractiveItemProps, } from "./@ui/UiListbox/types.js";
101
+ export type { UiListboxProps, IUiListboxContext, IUiListboxItem, IUiListboxStaticItem, UiListboxStaticItemProps, IUiListboxInteractiveItem, UiListboxInteractiveItemProps, } from "./@ui/UiListbox/types.js";
102
+ export { UiMenu } from "./@ui/UiMenu/UiMenu.js";
103
+ export { DefaultUiMenuInteractiveItemComponent } from "./@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js";
104
+ export { DefaultUiMenuStaticItemComponent } from "./@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js";
105
+ export type { UiMenuProps, IUiMenuContext, IUiMenuItem, IUiMenuStaticItem, UiMenuStaticItemProps, IUiMenuInteractiveItem, UiMenuInteractiveItemProps, IUiMenuGroupItem, UiMenuGroupItemProps, UiMenuInteractiveItemWrapperProps, UiMenuItemProps, IUiMenuControlType, IUiMenuPluggableComponents, IUiMenuItemData, } from "./@ui/UiMenu/types.js";
106
+ export { makeMenuKeyboardNavigation } from "./@ui/@utils/keyboardNavigation.js";
100
107
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;GAQG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnF,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC3F,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7E,YAAY,EACR,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,aAAa,GAChB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,YAAY,EACR,uBAAuB,EACvB,mCAAmC,GACtC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,YAAY,EACR,wBAAwB,EACxB,wBAAwB,EACxB,iCAAiC,GACpC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,wCAAwC,EAAE,MAAM,sEAAsE,CAAC;AAChI,OAAO,EACH,mBAAmB,EACnB,mCAAmC,GACtC,MAAM,iEAAiE,CAAC;AACzE,YAAY,EACR,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,6BAA6B,GAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,qCAAqC,EAAE,MAAM,gEAAgE,CAAC;AACvH,OAAO,EAAE,gCAAgC,EAAE,MAAM,2DAA2D,CAAC;AAC7G,YAAY,EACR,WAAW,EACX,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,EACpB,iCAAiC,EACjC,eAAe,EACf,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,GAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC"}
package/esm/index.js CHANGED
@@ -21,6 +21,7 @@ export * from "./utils/debounce.js";
21
21
  export * from "./utils/dateTimeConfig.js";
22
22
  export * from "./utils/events.js";
23
23
  export * from "./utils/useId.js";
24
+ export { getFocusableElements } from "./utils/domUtilities.js";
24
25
  export * from "./measureNumberFormat/index.js";
25
26
  export * from "./syntaxHighlightingInput/index.js";
26
27
  export * from "./Button/index.js";
@@ -84,4 +85,8 @@ export { UiFocusTrap } from "./@ui/UiFocusTrap/UiFocusTrap.js";
84
85
  export { UiListbox } from "./@ui/UiListbox/UiListbox.js";
85
86
  export { DefaultUiListboxInteractiveItemComponent } from "./@ui/UiListbox/defaults/DefaultUiListboxInteractiveItemComponent.js";
86
87
  export { separatorStaticItem, DefaultUiListboxStaticItemComponent, } from "./@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.js";
88
+ export { UiMenu } from "./@ui/UiMenu/UiMenu.js";
89
+ export { DefaultUiMenuInteractiveItemComponent } from "./@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js";
90
+ export { DefaultUiMenuStaticItemComponent } from "./@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js";
91
+ export { makeMenuKeyboardNavigation } from "./@ui/@utils/keyboardNavigation.js";
87
92
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -396,6 +396,7 @@ export declare class Checkbox extends React_2.PureComponent<CheckboxProps> {
396
396
  * @internal
397
397
  */
398
398
  export declare interface CheckboxProps {
399
+ id?: string;
399
400
  disabled: boolean;
400
401
  name: string;
401
402
  text: string;
@@ -556,6 +557,17 @@ export declare function DefaultUiListboxInteractiveItemComponent<T>({ item, isFo
556
557
  */
557
558
  export declare function DefaultUiListboxStaticItemComponent<T>({ item, }: UiListboxStaticItemProps<T>): React_2.ReactNode;
558
559
 
560
+ /**
561
+ * @internal
562
+ */
563
+ export declare function DefaultUiMenuInteractiveItemComponent<T extends IUiMenuItemData = object>({ item, isFocused, onSelect, }: UiMenuInteractiveItemProps<T>): React_2.ReactNode;
564
+
565
+ /**
566
+ * By default just renders the data.
567
+ * @internal
568
+ */
569
+ export declare const DefaultUiMenuStaticItemComponent: React_2.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: UiMenuStaticItemProps<T>) => React_2.ReactElement)>;
570
+
559
571
  /**
560
572
  * @internal
561
573
  */
@@ -859,6 +871,18 @@ export declare function getDateTimeConfig(date: string, options?: IDateTimeConfi
859
871
  */
860
872
  export declare const getDefaultEmbedTypeOptions: (embedType: EmbedType) => EmbedOptionsType;
861
873
 
874
+ /**
875
+ * @internal
876
+ * Returns the focusable elements of the given element
877
+ * @param element - the element to get the focusable elements from
878
+ * @returns an object containing the focusable elements, the first focusable element, and the last focusable element
879
+ */
880
+ export declare const getFocusableElements: (element?: HTMLElement) => {
881
+ focusableElements: NodeListOf<HTMLElement>;
882
+ firstElement: HTMLElement;
883
+ lastElement: HTMLElement;
884
+ };
885
+
862
886
  /**
863
887
  * @internal
864
888
  */
@@ -1068,6 +1092,7 @@ export declare interface IAccessibilityConfigBase {
1068
1092
  ariaLabelledBy?: React.AriaAttributes["aria-labelledby"];
1069
1093
  ariaDescribedBy?: React.AriaAttributes["aria-describedby"];
1070
1094
  role?: React.HTMLAttributes<HTMLElement>["role"];
1095
+ ariaExpanded?: "true" | "false";
1071
1096
  }
1072
1097
 
1073
1098
  /**
@@ -1525,7 +1550,7 @@ export declare const iconPaths: Record<IconType, React_2.ReactNode>;
1525
1550
  /**
1526
1551
  * @internal
1527
1552
  */
1528
- export declare type IconType = "check" | "plus" | "sync" | "alert" | "close" | "question" | "crossCircle" | "chevronUp" | "chevronDown" | "date" | "lock" | "cross";
1553
+ export declare type IconType = "check" | "plus" | "sync" | "alert" | "close" | "question" | "crossCircle" | "chevronUp" | "chevronDown" | "date" | "lock" | "cross" | "navigateUp" | "navigateDown";
1529
1554
 
1530
1555
  /**
1531
1556
  * @internal
@@ -1663,6 +1688,7 @@ export declare interface IDialogBaseProps {
1663
1688
  CloseButton?: React_2.ComponentType<IDialogCloseButtonProps>;
1664
1689
  initialFocus?: React_2.RefObject<HTMLElement> | string;
1665
1690
  returnFocusTo?: React_2.RefObject<HTMLElement> | string;
1691
+ returnFocusAfterClose?: boolean;
1666
1692
  }
1667
1693
 
1668
1694
  /**
@@ -2688,6 +2714,8 @@ export declare interface IItemsWrapperProps {
2688
2714
  children: React_2.ReactNode;
2689
2715
  className?: string;
2690
2716
  style?: React_2.CSSProperties;
2717
+ accessibilityConfig?: IMenuContainerAccessibilityConfig;
2718
+ wrapperRef?: React_2.RefObject<HTMLDivElement>;
2691
2719
  }
2692
2720
 
2693
2721
  /**
@@ -2847,20 +2875,6 @@ export declare interface ILegacySingleSelectListProps<T> {
2847
2875
  width: number;
2848
2876
  }
2849
2877
 
2850
- /**
2851
- * @internal
2852
- */
2853
- export declare interface IListboxContext<InteractiveItemData, StaticItemData = React_2.ReactNode> {
2854
- items: IUiListboxItem<InteractiveItemData, StaticItemData>[];
2855
- itemRefs: React_2.MutableRefObject<(HTMLLIElement | null)[]>;
2856
- onSelect: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
2857
- onClose?: () => void;
2858
- selectedItemId: string | undefined;
2859
- focusedIndex: number | undefined;
2860
- setFocusedIndex: React_2.Dispatch<React_2.SetStateAction<number>>;
2861
- isItemFocusable: (item: IUiListboxItem<InteractiveItemData, StaticItemData>) => boolean;
2862
- }
2863
-
2864
2878
  /**
2865
2879
  * @internal
2866
2880
  */
@@ -3007,6 +3021,24 @@ export declare interface IMediaQueries {
3007
3021
  "<desktop": string;
3008
3022
  }
3009
3023
 
3024
+ /**
3025
+ * @internal
3026
+ */
3027
+ export declare interface IMenuAccessibilityConfig extends IAccessibilityConfigBase {
3028
+ id?: string;
3029
+ role?: "menu" | "menuitem" | "separator" | "presentation";
3030
+ ariaDisabled?: "true" | "false";
3031
+ ariaHasPopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
3032
+ ariaControls?: string;
3033
+ }
3034
+
3035
+ /**
3036
+ * @internal
3037
+ */
3038
+ export declare interface IMenuContainerAccessibilityConfig extends IMenuAccessibilityConfig {
3039
+ role?: "menu";
3040
+ }
3041
+
3010
3042
  /**
3011
3043
  * @internal
3012
3044
  */
@@ -4045,18 +4077,16 @@ export declare interface ISingleSelectListItemProps {
4045
4077
  hideDelayBubble?: number;
4046
4078
  isSelected?: boolean;
4047
4079
  isMenu?: boolean;
4080
+ accessibilityConfig?: IMenuAccessibilityConfig;
4081
+ tabIndex?: number;
4082
+ elementType?: "div" | "button";
4083
+ iconRenderer?: (icon: string | ReactNode | React_2.FC) => ReactNode;
4084
+ infoRenderer?: (info: string | ReactNode | React_2.FC) => ReactNode;
4048
4085
  onClick?: (e: React_2.MouseEvent<HTMLElement>) => void;
4049
4086
  onMouseOver?: (e: React_2.MouseEvent<HTMLElement>) => void;
4050
4087
  onMouseOut?: (e: React_2.MouseEvent<HTMLElement>) => void;
4051
4088
  }
4052
4089
 
4053
- /**
4054
- * @internal
4055
- */
4056
- export declare interface ISingleSelectListItemState {
4057
- isOverflowed: boolean;
4058
- }
4059
-
4060
4090
  /**
4061
4091
  * @internal
4062
4092
  */
@@ -4288,6 +4318,20 @@ export declare interface IUiChipAccessibilityConfig extends IAccessibilityConfig
4288
4318
  deleteAriaLabel?: string;
4289
4319
  }
4290
4320
 
4321
+ /**
4322
+ * @internal
4323
+ */
4324
+ export declare interface IUiListboxContext<InteractiveItemData, StaticItemData = React_2.ReactNode> {
4325
+ items: IUiListboxItem<InteractiveItemData, StaticItemData>[];
4326
+ itemRefs: React_2.MutableRefObject<(HTMLLIElement | null)[]>;
4327
+ onSelect: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
4328
+ onClose?: () => void;
4329
+ selectedItemId: string | undefined;
4330
+ focusedIndex: number | undefined;
4331
+ setFocusedIndex: React_2.Dispatch<React_2.SetStateAction<number | undefined>>;
4332
+ isItemFocusable: (item: IUiListboxItem<InteractiveItemData, StaticItemData>) => boolean;
4333
+ }
4334
+
4291
4335
  /**
4292
4336
  * @internal
4293
4337
  */
@@ -4313,6 +4357,86 @@ export declare interface IUiListboxStaticItem<T> {
4313
4357
  data: T;
4314
4358
  }
4315
4359
 
4360
+ /**
4361
+ * @internal
4362
+ */
4363
+ export declare interface IUiMenuContext<T extends IUiMenuItemData = object> extends IUiMenuPluggableComponents<T> {
4364
+ items: IUiMenuItem<T>[];
4365
+ focusedItem: IUiMenuInteractiveItem<T> | undefined;
4366
+ onSelect: (item: IUiMenuInteractiveItem<T> | undefined) => void;
4367
+ onClose?: () => void;
4368
+ setFocusedId: React_2.Dispatch<React_2.SetStateAction<string | undefined>>;
4369
+ isItemFocusable: (item: IUiMenuItem<T>) => boolean;
4370
+ controlType: IUiMenuControlType;
4371
+ setControlType: React_2.Dispatch<React_2.SetStateAction<IUiMenuControlType>>;
4372
+ scrollToView: (element: HTMLElement | null) => void;
4373
+ makeItemId: (item: IUiMenuItem<T>) => string;
4374
+ itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
4375
+ ItemComponent: React_2.ComponentType<UiMenuItemProps<T>>;
4376
+ menuComponentRef: React_2.RefObject<HTMLElement>;
4377
+ itemsContainerRef: React_2.RefObject<HTMLElement>;
4378
+ }
4379
+
4380
+ /**
4381
+ * @internal
4382
+ */
4383
+ export declare type IUiMenuControlType = "keyboard" | "mouse" | "unknown";
4384
+
4385
+ /**
4386
+ * @internal
4387
+ */
4388
+ export declare type IUiMenuGroupItem<T extends IUiMenuItemData = object> = {
4389
+ type: "group";
4390
+ id: string;
4391
+ stringTitle: string;
4392
+ data: T["group"];
4393
+ subItems: IUiMenuItem<T>[];
4394
+ };
4395
+
4396
+ /**
4397
+ * @internal
4398
+ */
4399
+ export declare type IUiMenuInteractiveItem<T extends IUiMenuItemData = object> = {
4400
+ type: "interactive";
4401
+ id: string;
4402
+ stringTitle: string;
4403
+ isDisabled?: boolean;
4404
+ data: T["interactive"];
4405
+ subItems?: IUiMenuItem<T>[];
4406
+ };
4407
+
4408
+ /**
4409
+ * @internal
4410
+ */
4411
+ export declare type IUiMenuItem<T extends IUiMenuItemData = object> = IUiMenuStaticItem<T> | IUiMenuInteractiveItem<T> | IUiMenuGroupItem<T>;
4412
+
4413
+ /**
4414
+ * @internal
4415
+ */
4416
+ export declare type IUiMenuItemData = {
4417
+ [type in IUiMenuItem<any>["type"]]?: unknown;
4418
+ };
4419
+
4420
+ /**
4421
+ * @internal
4422
+ */
4423
+ export declare interface IUiMenuPluggableComponents<T extends IUiMenuItemData = object> {
4424
+ InteractiveItemComponent: React_2.ComponentType<UiMenuInteractiveItemProps<T>>;
4425
+ InteractiveItemWrapperComponent: React_2.ComponentType<UiMenuInteractiveItemWrapperProps<T>>;
4426
+ GroupItemComponent: React_2.ComponentType<UiMenuGroupItemProps<T>>;
4427
+ StaticItemComponent: React_2.ComponentType<UiMenuStaticItemProps<T>>;
4428
+ MenuHeaderComponent: React_2.ComponentType;
4429
+ }
4430
+
4431
+ /**
4432
+ * @internal
4433
+ */
4434
+ export declare type IUiMenuStaticItem<T extends IUiMenuItemData = object> = {
4435
+ type: "static";
4436
+ id?: string;
4437
+ data: T["static"];
4438
+ };
4439
+
4316
4440
  /**
4317
4441
  * @internal
4318
4442
  */
@@ -4534,6 +4658,23 @@ export declare const LoadingSpinner: React_2.FC<ILoadingSpinner>;
4534
4658
  */
4535
4659
  export declare const LocaleSetting: React_2.VFC<ILocaleSettingProps>;
4536
4660
 
4661
+ /**
4662
+ * @internal
4663
+ */
4664
+ export declare const makeMenuKeyboardNavigation: <T extends KeyboardEvent | KeyboardEvent_2<Element> = KeyboardEvent_2<Element>>({ onFocusPrevious, onFocusNext, onFocusFirst, onFocusLast, onEnterLevel, onLeaveLevel, onSelect, onClose, onUnhandledKeyDown, shouldPreventDefault, shouldStopPropagation, }: {
4665
+ onFocusNext?: (event: T) => void;
4666
+ onFocusPrevious?: (event: T) => void;
4667
+ onFocusFirst?: (event: T) => void;
4668
+ onFocusLast?: (event: T) => void;
4669
+ onEnterLevel?: (event: T) => void;
4670
+ onLeaveLevel?: (event: T) => void;
4671
+ onSelect?: (event: T) => void;
4672
+ onClose?: (event: T) => void;
4673
+ onUnhandledKeyDown?: (event: T) => void;
4674
+ shouldPreventDefault?: boolean;
4675
+ shouldStopPropagation?: boolean;
4676
+ }) => (event: T) => void;
4677
+
4537
4678
  /**
4538
4679
  * @internal
4539
4680
  */
@@ -4914,7 +5055,10 @@ export declare type Separators = {
4914
5055
  /**
4915
5056
  * @internal
4916
5057
  */
4917
- export declare const separatorStaticItem: IUiListboxStaticItem<React_2.ReactNode>;
5058
+ export declare const separatorStaticItem: {
5059
+ data: React_2.JSX.Element;
5060
+ type: "static";
5061
+ };
4918
5062
 
4919
5063
  /**
4920
5064
  * @internal
@@ -5000,20 +5144,7 @@ export declare const SimpleSettingWidget: React_2.FC<ISimpleSettingWidgetProps>;
5000
5144
  /**
5001
5145
  * @internal
5002
5146
  */
5003
- export declare class SingleSelectListItem extends Component<ISingleSelectListItemProps, ISingleSelectListItemState> {
5004
- private titleRef;
5005
- constructor(props: ISingleSelectListItemProps);
5006
- componentDidMount(): void;
5007
- componentDidUpdate(): void;
5008
- private checkOverflow;
5009
- private getClassNames;
5010
- render(): JSX.Element;
5011
- private renderTitle;
5012
- private renderIcon;
5013
- private renderSeparatorItem;
5014
- private renderHeaderItem;
5015
- private renderInfo;
5016
- }
5147
+ export declare const SingleSelectListItem: React_2.ForwardRefExoticComponent<ISingleSelectListItemProps & React_2.RefAttributes<HTMLButtonElement | HTMLDivElement>>;
5017
5148
 
5018
5149
  /**
5019
5150
  * @internal
@@ -5295,6 +5426,7 @@ export declare interface UiButtonProps {
5295
5426
  tooltip?: React_2.ReactNode;
5296
5427
  onClick?: (e: React_2.MouseEvent<HTMLButtonElement>) => void;
5297
5428
  dataId?: string;
5429
+ accessibilityConfig?: IAccessibilityConfigBase;
5298
5430
  }
5299
5431
 
5300
5432
  /**
@@ -5335,11 +5467,20 @@ export declare interface UiFocusTrapProps {
5335
5467
  * If a ref is provided, the focus will be returned to the element referenced by the ref.
5336
5468
  */
5337
5469
  returnFocusTo?: React_2.RefObject<HTMLElement> | string;
5470
+ /**
5471
+ * If true, the focus will be returned to the element referenced by the returnFocusTo prop when the trap is unmounted.
5472
+ */
5473
+ returnFocusOnUnmount?: boolean;
5338
5474
  /**
5339
5475
  * Specify the element that should receive focus when the trap is activated.
5340
5476
  * If not provided, the first focusable element will be focused.
5341
5477
  */
5342
5478
  initialFocus?: React_2.RefObject<HTMLElement> | string;
5479
+ /**
5480
+ * Specify a custom keyboard navigation handler.
5481
+ * If not provided, the default keyboard navigation handler will be used.
5482
+ */
5483
+ customKeyboardNavigationHandler?: (event: KeyboardEvent) => void;
5343
5484
  }
5344
5485
 
5345
5486
  /**
@@ -5405,7 +5546,7 @@ export declare interface UiListboxProps<InteractiveItemData, StaticItemData = Re
5405
5546
  maxWidth?: number;
5406
5547
  onSelect?: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
5407
5548
  onClose?: () => void;
5408
- onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IListboxContext<InteractiveItemData, StaticItemData>) => void;
5549
+ onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiListboxContext<InteractiveItemData, StaticItemData>) => void;
5409
5550
  selectedItemId?: string;
5410
5551
  InteractiveItemComponent?: React_2.ComponentType<UiListboxInteractiveItemProps<InteractiveItemData>>;
5411
5552
  StaticItemComponent?: React_2.ComponentType<UiListboxStaticItemProps<StaticItemData>>;
@@ -5413,7 +5554,7 @@ export declare interface UiListboxProps<InteractiveItemData, StaticItemData = Re
5413
5554
  shouldKeyboardActionStopPropagation?: boolean;
5414
5555
  shouldCloseOnSelect?: boolean;
5415
5556
  isDisabledFocusable?: boolean;
5416
- ariaAttributes: IDropdownBodyRenderProps["ariaAttributes"];
5557
+ ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
5417
5558
  }
5418
5559
 
5419
5560
  /**
@@ -5423,6 +5564,70 @@ export declare interface UiListboxStaticItemProps<T> {
5423
5564
  item: IUiListboxStaticItem<T>;
5424
5565
  }
5425
5566
 
5567
+ /**
5568
+ * An accessible menu component that can be navigated by keyboard.
5569
+ * Usable in a <Dropdown /> component.
5570
+ * Should implement https://www.w3.org/WAI/ARIA/apg/patterns/menubar/
5571
+ *
5572
+ * @internal
5573
+ */
5574
+ export declare function UiMenu<T extends IUiMenuItemData = object>(props: UiMenuProps<T>): React_2.ReactNode;
5575
+
5576
+ /**
5577
+ * @internal
5578
+ */
5579
+ export declare interface UiMenuGroupItemProps<T extends IUiMenuItemData = object> {
5580
+ item: IUiMenuGroupItem<T>;
5581
+ }
5582
+
5583
+ /**
5584
+ * @internal
5585
+ */
5586
+ export declare interface UiMenuInteractiveItemProps<T extends IUiMenuItemData = object> {
5587
+ item: IUiMenuInteractiveItem<T>;
5588
+ isFocused: boolean;
5589
+ onSelect: () => void;
5590
+ }
5591
+
5592
+ /**
5593
+ * @internal
5594
+ */
5595
+ export declare interface UiMenuInteractiveItemWrapperProps<T extends IUiMenuItemData = object> {
5596
+ item: IUiMenuInteractiveItem<T>;
5597
+ }
5598
+
5599
+ /**
5600
+ * @internal
5601
+ */
5602
+ export declare interface UiMenuItemProps<T extends IUiMenuItemData = object> {
5603
+ item: IUiMenuItem<T>;
5604
+ }
5605
+
5606
+ /**
5607
+ * @internal
5608
+ */
5609
+ export declare interface UiMenuProps<T extends IUiMenuItemData = object> extends Partial<IUiMenuPluggableComponents<T>> {
5610
+ items: IUiMenuItem<T>[];
5611
+ className?: string;
5612
+ itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
5613
+ maxWidth?: number;
5614
+ onSelect?: (item: IUiMenuInteractiveItem<T>) => void;
5615
+ onClose?: () => void;
5616
+ onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiMenuContext<T>) => void;
5617
+ shouldKeyboardActionPreventDefault?: boolean;
5618
+ shouldKeyboardActionStopPropagation?: boolean;
5619
+ shouldCloseOnSelect?: boolean;
5620
+ isDisabledFocusable?: boolean;
5621
+ ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
5622
+ }
5623
+
5624
+ /**
5625
+ * @internal
5626
+ */
5627
+ export declare interface UiMenuStaticItemProps<T extends IUiMenuItemData = object> {
5628
+ item: IUiMenuStaticItem<T>;
5629
+ }
5630
+
5426
5631
  /**
5427
5632
  * @internal
5428
5633
  */
@@ -5558,6 +5763,13 @@ export declare const useHeaderSearch: () => HeaderSearchContext;
5558
5763
  */
5559
5764
  export declare const useId: () => string;
5560
5765
 
5766
+ /**
5767
+ * This is a hook that generates a unique ID for purposes of aria references and so on. Can be enhanced with a prefix.
5768
+ * @param prefix - The prefix to be added to the generated ID.
5769
+ * @internal
5770
+ */
5771
+ export declare const useIdPrefixed: (prefix?: string) => string;
5772
+
5561
5773
  /**
5562
5774
  * @internal
5563
5775
  */
@@ -7,5 +7,22 @@ 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";
11
+ }
12
+ /**
13
+ * @internal
14
+ */
15
+ export interface IMenuAccessibilityConfig extends IAccessibilityConfigBase {
16
+ id?: string;
17
+ role?: "menu" | "menuitem" | "separator" | "presentation";
18
+ ariaDisabled?: "true" | "false";
19
+ ariaHasPopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
20
+ ariaControls?: string;
21
+ }
22
+ /**
23
+ * @internal
24
+ */
25
+ export interface IMenuContainerAccessibilityConfig extends IMenuAccessibilityConfig {
26
+ role?: "menu";
10
27
  }
11
28
  //# sourceMappingURL=accessibility.d.ts.map
@@ -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"}
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"}
@@ -1,3 +1,3 @@
1
- // (C) 2025 GoodData Corporation
1
+ // (C) 2020-2025 GoodData Corporation
2
2
  export {};
3
3
  //# sourceMappingURL=accessibility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility.js","sourceRoot":"","sources":["../../src/typings/accessibility.ts"],"names":[],"mappings":"AAAA,gCAAgC"}
1
+ {"version":3,"file":"accessibility.js","sourceRoot":"","sources":["../../src/typings/accessibility.ts"],"names":[],"mappings":"AAAA,qCAAqC"}
@@ -28,4 +28,15 @@ export declare const isFixedPosition: (element: HTMLElement | string) => boolean
28
28
  export declare const elementRegion: (elementOrSelector: HTMLElement | string, getRegionBasedOnPosition?: boolean) => IRegion;
29
29
  export declare const isElementTextInput: (element: HTMLElement | EventTarget | null | undefined) => boolean;
30
30
  export declare const isElementSubmitButton: (event: React.KeyboardEvent) => boolean;
31
+ /**
32
+ * @internal
33
+ * Returns the focusable elements of the given element
34
+ * @param element - the element to get the focusable elements from
35
+ * @returns an object containing the focusable elements, the first focusable element, and the last focusable element
36
+ */
37
+ export declare const getFocusableElements: (element?: HTMLElement) => {
38
+ focusableElements: NodeListOf<HTMLElement>;
39
+ firstElement: HTMLElement;
40
+ lastElement: HTMLElement;
41
+ };
31
42
  //# sourceMappingURL=domUtilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domUtilities.d.ts","sourceRoot":"","sources":["../../src/utils/domUtilities.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,aAAa,YAAa,WAAW,KAAG,IAIpD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,YACN,WAAW,wBACE,OAAO,gDAE9B,OAeF,CAAC;AAiBF;;;;GAIG;AACH,eAAO,MAAM,eAAe,YAAa,WAAW,GAAG,MAAM,KAAG,OAe/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,sBACH,WAAW,GAAG,MAAM,6BACZ,OAAO,KACnC,OAuCF,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,WAAW,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,KAAG,OAc1F,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAW,mBAAmB,YAI/D,CAAC"}
1
+ {"version":3,"file":"domUtilities.d.ts","sourceRoot":"","sources":["../../src/utils/domUtilities.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,aAAa,YAAa,WAAW,KAAG,IAIpD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,YACN,WAAW,wBACE,OAAO,gDAE9B,OAeF,CAAC;AAiBF;;;;GAIG;AACH,eAAO,MAAM,eAAe,YAAa,WAAW,GAAG,MAAM,KAAG,OAe/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,sBACH,WAAW,GAAG,MAAM,6BACZ,OAAO,KACnC,OAuCF,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,WAAW,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,KAAG,OAc1F,CAAC;AAEF,eAAO,MAAM,qBAAqB,UAAW,mBAAmB,YAI/D,CAAC;AAwBF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,aAAc,WAAW;;;;CAKzD,CAAC"}
@@ -116,4 +116,33 @@ export const isElementSubmitButton = (event) => {
116
116
  const { id } = event.target;
117
117
  return id === CONFIRM_DIALOG_BASE_ID;
118
118
  };
119
+ const focusableElementsSelector = [
120
+ // Interactive form elements
121
+ 'button:not(:disabled):not([aria-disabled="true"])',
122
+ 'input:not(:disabled):not([aria-disabled="true"])',
123
+ 'select:not(:disabled):not([aria-disabled="true"])',
124
+ 'textarea:not(:disabled):not([aria-disabled="true"])',
125
+ // Links and areas
126
+ "a[href]",
127
+ "area[href]",
128
+ // Custom elements with tabindex
129
+ '[tabindex]:not([tabindex="-1"]):not(:disabled):not([aria-disabled="true"])',
130
+ // Media with controls
131
+ "audio[controls]",
132
+ "video[controls]",
133
+ // Editable content
134
+ '[contenteditable]:not([contenteditable="false"])',
135
+ ].join(",");
136
+ /**
137
+ * @internal
138
+ * Returns the focusable elements of the given element
139
+ * @param element - the element to get the focusable elements from
140
+ * @returns an object containing the focusable elements, the first focusable element, and the last focusable element
141
+ */
142
+ export const getFocusableElements = (element) => {
143
+ const focusableElements = element?.querySelectorAll(focusableElementsSelector);
144
+ const firstElement = focusableElements?.[0];
145
+ const lastElement = focusableElements?.[focusableElements.length - 1];
146
+ return { focusableElements, firstElement, lastElement };
147
+ };
119
148
  //# sourceMappingURL=domUtilities.js.map