@salt-ds/core 1.65.1 → 1.67.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 (161) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/css/salt-core.css +145 -3
  3. package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js +28 -11
  4. package/dist-cjs/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  5. package/dist-cjs/border-layout/BorderLayout.js +28 -7
  6. package/dist-cjs/border-layout/BorderLayout.js.map +1 -1
  7. package/dist-cjs/dialog/Dialog.js +3 -2
  8. package/dist-cjs/dialog/Dialog.js.map +1 -1
  9. package/dist-cjs/drawer/Drawer.js +2 -1
  10. package/dist-cjs/drawer/Drawer.js.map +1 -1
  11. package/dist-cjs/file-drop-zone/FileDropZone.js +19 -4
  12. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  13. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +3 -2
  14. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  15. package/dist-cjs/grid-layout/GridLayout.css.js +1 -1
  16. package/dist-cjs/index.js +22 -0
  17. package/dist-cjs/index.js.map +1 -1
  18. package/dist-cjs/mega-menu/MegaMenu.js +81 -0
  19. package/dist-cjs/mega-menu/MegaMenu.js.map +1 -0
  20. package/dist-cjs/mega-menu/MegaMenuActions.css.js +6 -0
  21. package/dist-cjs/mega-menu/MegaMenuActions.css.js.map +1 -0
  22. package/dist-cjs/mega-menu/MegaMenuActions.js +37 -0
  23. package/dist-cjs/mega-menu/MegaMenuActions.js.map +1 -0
  24. package/dist-cjs/mega-menu/MegaMenuAside.css.js +6 -0
  25. package/dist-cjs/mega-menu/MegaMenuAside.css.js.map +1 -0
  26. package/dist-cjs/mega-menu/MegaMenuAside.js +37 -0
  27. package/dist-cjs/mega-menu/MegaMenuAside.js.map +1 -0
  28. package/dist-cjs/mega-menu/MegaMenuContent.css.js +6 -0
  29. package/dist-cjs/mega-menu/MegaMenuContent.css.js.map +1 -0
  30. package/dist-cjs/mega-menu/MegaMenuContent.js +29 -0
  31. package/dist-cjs/mega-menu/MegaMenuContent.js.map +1 -0
  32. package/dist-cjs/mega-menu/MegaMenuContext.js +18 -0
  33. package/dist-cjs/mega-menu/MegaMenuContext.js.map +1 -0
  34. package/dist-cjs/mega-menu/MegaMenuGroup.css.js +6 -0
  35. package/dist-cjs/mega-menu/MegaMenuGroup.css.js.map +1 -0
  36. package/dist-cjs/mega-menu/MegaMenuGroup.js +44 -0
  37. package/dist-cjs/mega-menu/MegaMenuGroup.js.map +1 -0
  38. package/dist-cjs/mega-menu/MegaMenuGroupContext.js +23 -0
  39. package/dist-cjs/mega-menu/MegaMenuGroupContext.js.map +1 -0
  40. package/dist-cjs/mega-menu/MegaMenuGroupHeading.css.js +6 -0
  41. package/dist-cjs/mega-menu/MegaMenuGroupHeading.css.js.map +1 -0
  42. package/dist-cjs/mega-menu/MegaMenuGroupHeading.js +44 -0
  43. package/dist-cjs/mega-menu/MegaMenuGroupHeading.js.map +1 -0
  44. package/dist-cjs/mega-menu/MegaMenuGroups.css.js +6 -0
  45. package/dist-cjs/mega-menu/MegaMenuGroups.css.js.map +1 -0
  46. package/dist-cjs/mega-menu/MegaMenuGroups.js +29 -0
  47. package/dist-cjs/mega-menu/MegaMenuGroups.js.map +1 -0
  48. package/dist-cjs/mega-menu/MegaMenuList.css.js +6 -0
  49. package/dist-cjs/mega-menu/MegaMenuList.css.js.map +1 -0
  50. package/dist-cjs/mega-menu/MegaMenuList.js +47 -0
  51. package/dist-cjs/mega-menu/MegaMenuList.js.map +1 -0
  52. package/dist-cjs/mega-menu/MegaMenuListItem.css.js +6 -0
  53. package/dist-cjs/mega-menu/MegaMenuListItem.css.js.map +1 -0
  54. package/dist-cjs/mega-menu/MegaMenuListItem.js +50 -0
  55. package/dist-cjs/mega-menu/MegaMenuListItem.js.map +1 -0
  56. package/dist-cjs/mega-menu/MegaMenuPanel.css.js +6 -0
  57. package/dist-cjs/mega-menu/MegaMenuPanel.css.js.map +1 -0
  58. package/dist-cjs/mega-menu/MegaMenuPanel.js +94 -0
  59. package/dist-cjs/mega-menu/MegaMenuPanel.js.map +1 -0
  60. package/dist-cjs/mega-menu/MegaMenuTrigger.js +97 -0
  61. package/dist-cjs/mega-menu/MegaMenuTrigger.js.map +1 -0
  62. package/dist-cjs/mega-menu/useMegaMenu.js +15 -0
  63. package/dist-cjs/mega-menu/useMegaMenu.js.map +1 -0
  64. package/dist-cjs/mega-menu/useMegaMenuNavigation.js +282 -0
  65. package/dist-cjs/mega-menu/useMegaMenuNavigation.js.map +1 -0
  66. package/dist-cjs/mega-menu/usePageMargin.js +28 -0
  67. package/dist-cjs/mega-menu/usePageMargin.js.map +1 -0
  68. package/dist-cjs/overlay/OverlayPanel.js +2 -1
  69. package/dist-cjs/overlay/OverlayPanel.js.map +1 -1
  70. package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js +1 -0
  71. package/dist-cjs/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
  72. package/dist-es/aria-announcer/AriaAnnouncerProvider.js +29 -12
  73. package/dist-es/aria-announcer/AriaAnnouncerProvider.js.map +1 -1
  74. package/dist-es/border-layout/BorderLayout.js +28 -7
  75. package/dist-es/border-layout/BorderLayout.js.map +1 -1
  76. package/dist-es/dialog/Dialog.js +3 -2
  77. package/dist-es/dialog/Dialog.js.map +1 -1
  78. package/dist-es/drawer/Drawer.js +2 -1
  79. package/dist-es/drawer/Drawer.js.map +1 -1
  80. package/dist-es/file-drop-zone/FileDropZone.js +20 -5
  81. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  82. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +3 -2
  83. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -1
  84. package/dist-es/grid-layout/GridLayout.css.js +1 -1
  85. package/dist-es/index.js +11 -0
  86. package/dist-es/index.js.map +1 -1
  87. package/dist-es/mega-menu/MegaMenu.js +79 -0
  88. package/dist-es/mega-menu/MegaMenu.js.map +1 -0
  89. package/dist-es/mega-menu/MegaMenuActions.css.js +4 -0
  90. package/dist-es/mega-menu/MegaMenuActions.css.js.map +1 -0
  91. package/dist-es/mega-menu/MegaMenuActions.js +35 -0
  92. package/dist-es/mega-menu/MegaMenuActions.js.map +1 -0
  93. package/dist-es/mega-menu/MegaMenuAside.css.js +4 -0
  94. package/dist-es/mega-menu/MegaMenuAside.css.js.map +1 -0
  95. package/dist-es/mega-menu/MegaMenuAside.js +35 -0
  96. package/dist-es/mega-menu/MegaMenuAside.js.map +1 -0
  97. package/dist-es/mega-menu/MegaMenuContent.css.js +4 -0
  98. package/dist-es/mega-menu/MegaMenuContent.css.js.map +1 -0
  99. package/dist-es/mega-menu/MegaMenuContent.js +27 -0
  100. package/dist-es/mega-menu/MegaMenuContent.js.map +1 -0
  101. package/dist-es/mega-menu/MegaMenuContext.js +16 -0
  102. package/dist-es/mega-menu/MegaMenuContext.js.map +1 -0
  103. package/dist-es/mega-menu/MegaMenuGroup.css.js +4 -0
  104. package/dist-es/mega-menu/MegaMenuGroup.css.js.map +1 -0
  105. package/dist-es/mega-menu/MegaMenuGroup.js +42 -0
  106. package/dist-es/mega-menu/MegaMenuGroup.js.map +1 -0
  107. package/dist-es/mega-menu/MegaMenuGroupContext.js +20 -0
  108. package/dist-es/mega-menu/MegaMenuGroupContext.js.map +1 -0
  109. package/dist-es/mega-menu/MegaMenuGroupHeading.css.js +4 -0
  110. package/dist-es/mega-menu/MegaMenuGroupHeading.css.js.map +1 -0
  111. package/dist-es/mega-menu/MegaMenuGroupHeading.js +42 -0
  112. package/dist-es/mega-menu/MegaMenuGroupHeading.js.map +1 -0
  113. package/dist-es/mega-menu/MegaMenuGroups.css.js +4 -0
  114. package/dist-es/mega-menu/MegaMenuGroups.css.js.map +1 -0
  115. package/dist-es/mega-menu/MegaMenuGroups.js +27 -0
  116. package/dist-es/mega-menu/MegaMenuGroups.js.map +1 -0
  117. package/dist-es/mega-menu/MegaMenuList.css.js +4 -0
  118. package/dist-es/mega-menu/MegaMenuList.css.js.map +1 -0
  119. package/dist-es/mega-menu/MegaMenuList.js +45 -0
  120. package/dist-es/mega-menu/MegaMenuList.js.map +1 -0
  121. package/dist-es/mega-menu/MegaMenuListItem.css.js +4 -0
  122. package/dist-es/mega-menu/MegaMenuListItem.css.js.map +1 -0
  123. package/dist-es/mega-menu/MegaMenuListItem.js +48 -0
  124. package/dist-es/mega-menu/MegaMenuListItem.js.map +1 -0
  125. package/dist-es/mega-menu/MegaMenuPanel.css.js +4 -0
  126. package/dist-es/mega-menu/MegaMenuPanel.css.js.map +1 -0
  127. package/dist-es/mega-menu/MegaMenuPanel.js +92 -0
  128. package/dist-es/mega-menu/MegaMenuPanel.js.map +1 -0
  129. package/dist-es/mega-menu/MegaMenuTrigger.js +95 -0
  130. package/dist-es/mega-menu/MegaMenuTrigger.js.map +1 -0
  131. package/dist-es/mega-menu/useMegaMenu.js +13 -0
  132. package/dist-es/mega-menu/useMegaMenu.js.map +1 -0
  133. package/dist-es/mega-menu/useMegaMenuNavigation.js +278 -0
  134. package/dist-es/mega-menu/useMegaMenuNavigation.js.map +1 -0
  135. package/dist-es/mega-menu/usePageMargin.js +26 -0
  136. package/dist-es/mega-menu/usePageMargin.js.map +1 -0
  137. package/dist-es/overlay/OverlayPanel.js +2 -1
  138. package/dist-es/overlay/OverlayPanel.js.map +1 -1
  139. package/dist-es/semantic-icon-provider/SemanticIconProvider.js +1 -0
  140. package/dist-es/semantic-icon-provider/SemanticIconProvider.js.map +1 -1
  141. package/dist-types/index.d.ts +1 -0
  142. package/dist-types/mega-menu/MegaMenu.d.ts +36 -0
  143. package/dist-types/mega-menu/MegaMenuActions.d.ts +10 -0
  144. package/dist-types/mega-menu/MegaMenuAside.d.ts +9 -0
  145. package/dist-types/mega-menu/MegaMenuContent.d.ts +9 -0
  146. package/dist-types/mega-menu/MegaMenuContext.d.ts +28 -0
  147. package/dist-types/mega-menu/MegaMenuGroup.d.ts +9 -0
  148. package/dist-types/mega-menu/MegaMenuGroupContext.d.ts +12 -0
  149. package/dist-types/mega-menu/MegaMenuGroupHeading.d.ts +13 -0
  150. package/dist-types/mega-menu/MegaMenuGroups.d.ts +8 -0
  151. package/dist-types/mega-menu/MegaMenuList.d.ts +16 -0
  152. package/dist-types/mega-menu/MegaMenuListItem.d.ts +25 -0
  153. package/dist-types/mega-menu/MegaMenuPanel.d.ts +8 -0
  154. package/dist-types/mega-menu/MegaMenuTrigger.d.ts +9 -0
  155. package/dist-types/mega-menu/index.d.ts +11 -0
  156. package/dist-types/mega-menu/useMegaMenu.d.ts +6 -0
  157. package/dist-types/mega-menu/useMegaMenuNavigation.d.ts +16 -0
  158. package/dist-types/mega-menu/usePageMargin.d.ts +6 -0
  159. package/dist-types/semantic-icon-provider/SemanticIconProvider.d.ts +1 -0
  160. package/dist-types/tooltip/useTooltip.d.ts +1 -1
  161. package/package.json +2 -2
@@ -0,0 +1,9 @@
1
+ import { type ReactNode } from "react";
2
+ export interface MegaMenuTriggerProps {
3
+ /**
4
+ * The trigger element for the mega menu, typically a `NavigationItem` or `Button`.
5
+ * Wrap each mega menu in its own `<li>` — arrow-key navigation between triggers depends on it.
6
+ */
7
+ children?: ReactNode;
8
+ }
9
+ export declare const MegaMenuTrigger: import("react").ForwardRefExoticComponent<MegaMenuTriggerProps & import("react").RefAttributes<HTMLElement>>;
@@ -0,0 +1,11 @@
1
+ export * from "./MegaMenu";
2
+ export * from "./MegaMenuActions";
3
+ export * from "./MegaMenuAside";
4
+ export * from "./MegaMenuContent";
5
+ export * from "./MegaMenuGroup";
6
+ export * from "./MegaMenuGroupHeading";
7
+ export * from "./MegaMenuGroups";
8
+ export * from "./MegaMenuList";
9
+ export * from "./MegaMenuListItem";
10
+ export * from "./MegaMenuPanel";
11
+ export * from "./MegaMenuTrigger";
@@ -0,0 +1,6 @@
1
+ import { type MegaMenuContextValue } from "./MegaMenuContext";
2
+ /**
3
+ * Access the nearest MegaMenu context.
4
+ * Must be used within a `MegaMenu` provider.
5
+ */
6
+ export declare function useMegaMenu(): MegaMenuContextValue;
@@ -0,0 +1,16 @@
1
+ import type { ElementProps, FloatingRootContext } from "@floating-ui/react";
2
+ export declare const FOCUSABLE_SELECTOR = "a[href], button:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
3
+ export interface UseMegaMenuNavigationProps {
4
+ /**
5
+ * Whether the interaction is enabled.
6
+ * @default true
7
+ */
8
+ enabled?: boolean;
9
+ }
10
+ /**
11
+ * Floating-ui interaction hook for mega menu keyboard navigation. Handles keys
12
+ * on the panel only; the trigger keys are owned by `MegaMenuTrigger`.
13
+ */
14
+ export declare function useMegaMenuNavigation(context: FloatingRootContext, props?: UseMegaMenuNavigationProps): ElementProps;
15
+ /** Focus the first navigable item inside a mega menu panel, retrying until rendered. */
16
+ export declare function focusFirstItem(panel: HTMLElement, attempt?: number): void;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Resolves the panel's page-margin token to pixels for floating-ui padding, to
3
+ * handle token (`--saltMegaMenuPanel-pageMargin`) override by consumers
4
+ * (edge to edge example).
5
+ */
6
+ export declare function usePageMargin(referenceEl: HTMLElement | null | undefined): number;
@@ -18,6 +18,7 @@ export interface SemanticIconMap {
18
18
  InfoIcon: ElementType;
19
19
  InProgressIcon: ElementType;
20
20
  LockedIcon: ElementType;
21
+ LevelSeparatorIcon: ElementType;
21
22
  NextIcon: ElementType;
22
23
  OverflowIcon: ElementType;
23
24
  PendingIcon: ElementType;
@@ -41,7 +41,7 @@ export declare function useTooltip(props?: UseTooltipProps): {
41
41
  events: import("@floating-ui/react").FloatingEvents;
42
42
  dataRef: React.MutableRefObject<import("@floating-ui/react").ContextData>;
43
43
  nodeId: string | undefined;
44
- floatingId: string;
44
+ floatingId: string | undefined;
45
45
  refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
46
46
  elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
47
47
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/core",
3
- "version": "1.65.1",
3
+ "version": "1.67.0",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "react-window": "^1.8.6"
18
18
  },
19
19
  "dependencies": {
20
- "@floating-ui/react": "^0.26.28",
20
+ "@floating-ui/react": "^0.27.19",
21
21
  "@salt-ds/icons": "^1.18.0",
22
22
  "@salt-ds/styles": "0.3.0",
23
23
  "@salt-ds/window": "0.1.1",