@salt-ds/lab 1.0.0-alpha.91 → 1.0.0-alpha.92
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.
- package/CHANGELOG.md +9 -0
- package/css/salt-lab.css +48 -42
- package/dist-cjs/side-panel/SidePanel.css.js +1 -1
- package/dist-cjs/side-panel/SidePanel.js +86 -40
- package/dist-cjs/side-panel/SidePanel.js.map +1 -1
- package/dist-cjs/side-panel/SidePanelContent.js.map +1 -1
- package/dist-cjs/side-panel/SidePanelHeader.js.map +1 -1
- package/dist-cjs/side-panel/SidePanelProvider.js +6 -17
- package/dist-cjs/side-panel/SidePanelProvider.js.map +1 -1
- package/dist-cjs/side-panel/SidePanelTitle.js.map +1 -1
- package/dist-cjs/side-panel/SidePanelTrigger.js.map +1 -1
- package/dist-cjs/side-panel/internal/SidePanelContext.js +1 -3
- package/dist-cjs/side-panel/internal/SidePanelContext.js.map +1 -1
- package/dist-cjs/side-panel/internal/useSidePanelTabOrder.js +121 -28
- package/dist-cjs/side-panel/internal/useSidePanelTabOrder.js.map +1 -1
- package/dist-cjs/side-panel/useSidePanel.js +7 -7
- package/dist-cjs/side-panel/useSidePanel.js.map +1 -1
- package/dist-es/side-panel/SidePanel.css.js +1 -1
- package/dist-es/side-panel/SidePanel.js +87 -41
- package/dist-es/side-panel/SidePanel.js.map +1 -1
- package/dist-es/side-panel/SidePanelContent.js.map +1 -1
- package/dist-es/side-panel/SidePanelHeader.js.map +1 -1
- package/dist-es/side-panel/SidePanelProvider.js +7 -18
- package/dist-es/side-panel/SidePanelProvider.js.map +1 -1
- package/dist-es/side-panel/SidePanelTitle.js.map +1 -1
- package/dist-es/side-panel/SidePanelTrigger.js.map +1 -1
- package/dist-es/side-panel/internal/SidePanelContext.js +1 -3
- package/dist-es/side-panel/internal/SidePanelContext.js.map +1 -1
- package/dist-es/side-panel/internal/useSidePanelTabOrder.js +122 -29
- package/dist-es/side-panel/internal/useSidePanelTabOrder.js.map +1 -1
- package/dist-es/side-panel/useSidePanel.js +7 -7
- package/dist-es/side-panel/useSidePanel.js.map +1 -1
- package/dist-types/side-panel/SidePanel.d.ts +3 -4
- package/dist-types/side-panel/SidePanelContent.d.ts +4 -3
- package/dist-types/side-panel/SidePanelHeader.d.ts +4 -3
- package/dist-types/side-panel/SidePanelTitle.d.ts +1 -2
- package/dist-types/side-panel/SidePanelTrigger.d.ts +2 -3
- package/dist-types/side-panel/internal/SidePanelContext.d.ts +1 -5
- package/dist-types/side-panel/useSidePanel.d.ts +22 -3
- package/package.json +1 -1
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef, MouseEvent, MutableRefObject, RefCallback } from "react";
|
|
2
|
+
export interface SidePanelTriggerExtraProps {
|
|
3
|
+
/**
|
|
4
|
+
* Optional ref to forward alongside the focus-return registration.
|
|
5
|
+
*/
|
|
6
|
+
ref?: RefCallback<HTMLElement | null> | MutableRefObject<HTMLElement | null> | null;
|
|
7
|
+
/**
|
|
8
|
+
* Click handler. Runs before the built-in toggle so consumers can
|
|
9
|
+
* preventDefault to skip the toggle.
|
|
10
|
+
*/
|
|
11
|
+
onClick?: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
12
|
+
}
|
|
13
|
+
export type SidePanelTriggerPropsResult = ComponentPropsWithoutRef<"button"> & {
|
|
14
|
+
"aria-expanded": boolean;
|
|
15
|
+
"aria-controls": string | undefined;
|
|
16
|
+
ref: RefCallback<HTMLElement | null>;
|
|
17
|
+
};
|
|
1
18
|
export interface SidePanelValue {
|
|
2
19
|
/**
|
|
3
20
|
* Whether the side panel is currently open.
|
|
@@ -18,16 +35,18 @@ export interface SidePanelValue {
|
|
|
18
35
|
* ```
|
|
19
36
|
*
|
|
20
37
|
* You can pass additional props which are merged in. If you provide your
|
|
21
|
-
* own `onClick`, it runs before the built-in toggle.
|
|
38
|
+
* own `onClick`, it runs before the built-in toggle. If you provide your
|
|
39
|
+
* own `ref`, it is forwarded alongside the internal focus-return ref.
|
|
22
40
|
*
|
|
23
41
|
* For multi-trigger scenarios (e.g. table rows), use `setTriggerRef` and
|
|
24
42
|
* manage ARIA attributes yourself instead.
|
|
25
43
|
*/
|
|
26
|
-
getTriggerProps: (userProps?:
|
|
44
|
+
getTriggerProps: (userProps?: SidePanelTriggerExtraProps) => SidePanelTriggerPropsResult;
|
|
27
45
|
/**
|
|
28
46
|
* Registers the element that should receive focus when the panel closes.
|
|
29
47
|
* Use this in multi-trigger scenarios (e.g. table rows) where each trigger
|
|
30
|
-
* needs explicit control over which element is the reference.
|
|
48
|
+
* needs explicit control over which element is the reference. Pass `null`
|
|
49
|
+
* to clear the previously-registered trigger.
|
|
31
50
|
*/
|
|
32
51
|
setTriggerRef: (element: HTMLElement | null) => void;
|
|
33
52
|
/**
|