reshaped 4.2.0-canary.0 → 4.2.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 (81) hide show
  1. package/dist/bundle.css +1 -1
  2. package/dist/bundle.d.ts +6 -0
  3. package/dist/bundle.js +2 -2
  4. package/dist/components/Accordion/AccordionContent.js +1 -1
  5. package/dist/components/Badge/Badge.js +4 -1
  6. package/dist/components/Badge/Badge.module.css +1 -1
  7. package/dist/components/Badge/tests/Badge.stories.d.ts +4 -0
  8. package/dist/components/Badge/tests/Badge.stories.js +48 -1
  9. package/dist/components/Button/Button.js +2 -0
  10. package/dist/components/Button/Button.module.css +1 -1
  11. package/dist/components/Button/tests/Button.stories.js +1 -0
  12. package/dist/components/ContentToggle/ContentToggle.d.ts +4 -0
  13. package/dist/components/ContentToggle/ContentToggle.js +12 -0
  14. package/dist/components/ContentToggle/ContentToggle.module.css +1 -0
  15. package/dist/components/ContentToggle/ContentToggle.types.d.ts +16 -0
  16. package/dist/components/ContentToggle/index.d.ts +2 -0
  17. package/dist/components/ContentToggle/index.js +1 -0
  18. package/dist/components/ContentToggle/tests/ContentToggle.stories.d.ts +10 -0
  19. package/dist/components/ContentToggle/tests/ContentToggle.stories.js +75 -0
  20. package/dist/components/ContextMenu/ContextMenu.js +5 -4
  21. package/dist/components/ContextMenu/ContextMenu.types.d.ts +5 -1
  22. package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +11 -7
  23. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +18 -1
  24. package/dist/components/DropdownMenu/DropdownMenu.context.d.ts +11 -0
  25. package/dist/components/DropdownMenu/DropdownMenu.context.js +19 -0
  26. package/dist/components/DropdownMenu/DropdownMenu.js +6 -4
  27. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +9 -0
  28. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +1 -0
  29. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +22 -1
  30. package/dist/components/Expandable/Expandable.d.ts +4 -0
  31. package/dist/components/Expandable/Expandable.js +85 -0
  32. package/dist/components/Expandable/Expandable.module.css +1 -0
  33. package/dist/components/Expandable/Expandable.types.d.ts +18 -0
  34. package/dist/components/Expandable/Expandable.types.js +1 -0
  35. package/dist/components/Expandable/index.d.ts +2 -0
  36. package/dist/components/Expandable/tests/Expandable.stories.d.ts +12 -0
  37. package/dist/components/Expandable/tests/Expandable.stories.js +82 -0
  38. package/dist/components/IconToggle/IconToggle.d.ts +4 -0
  39. package/dist/components/IconToggle/IconToggle.js +13 -0
  40. package/dist/components/IconToggle/IconToggle.module.css +1 -0
  41. package/dist/components/IconToggle/IconToggle.types.d.ts +5 -0
  42. package/dist/components/IconToggle/IconToggle.types.js +1 -0
  43. package/dist/components/IconToggle/index.d.ts +2 -0
  44. package/dist/components/IconToggle/index.js +1 -0
  45. package/dist/components/IconToggle/tests/IconToggle.stories.d.ts +10 -0
  46. package/dist/components/IconToggle/tests/IconToggle.stories.js +24 -0
  47. package/dist/components/Image/Image.js +14 -0
  48. package/dist/components/Link/Link.d.ts +1 -1
  49. package/dist/components/Link/Link.js +2 -2
  50. package/dist/components/Link/Link.types.d.ts +1 -1
  51. package/dist/components/Link/tests/Link.stories.d.ts +2 -1
  52. package/dist/components/Link/tests/Link.stories.js +7 -1
  53. package/dist/components/MenuItem/MenuItem.js +14 -2
  54. package/dist/components/MenuItem/MenuItem.module.css +1 -1
  55. package/dist/components/Select/Select.module.css +1 -1
  56. package/dist/components/Select/SelectStartContent.js +2 -0
  57. package/dist/components/Tabs/Tabs.module.css +1 -1
  58. package/dist/components/Tabs/TabsItem.js +6 -1
  59. package/dist/components/TextField/TextField.js +2 -0
  60. package/dist/components/TextField/TextField.module.css +1 -1
  61. package/dist/components/_private/Presence/Presence.d.ts +7 -0
  62. package/dist/components/_private/Presence/Presence.js +71 -0
  63. package/dist/components/_private/Presence/Presence.module.css +1 -0
  64. package/dist/components/_private/Presence/Presence.types.d.ts +45 -0
  65. package/dist/components/_private/Presence/Presence.types.js +1 -0
  66. package/dist/components/_private/Presence/index.d.ts +1 -0
  67. package/dist/components/_private/Presence/index.js +1 -0
  68. package/dist/hooks/_internal/useSingletonHotkeys.d.ts +2 -2
  69. package/dist/hooks/_internal/useSingletonHotkeys.js +102 -76
  70. package/dist/hooks/_internal/useSingletonKeyboardMode.js +12 -0
  71. package/dist/hooks/useOnClickOutside.js +19 -11
  72. package/dist/index.d.ts +6 -0
  73. package/dist/index.js +3 -0
  74. package/package.json +3 -3
  75. package/dist/components/_private/Expandable/Expandable.d.ts +0 -4
  76. package/dist/components/_private/Expandable/Expandable.js +0 -58
  77. package/dist/components/_private/Expandable/Expandable.module.css +0 -1
  78. package/dist/components/_private/Expandable/Expandable.types.d.ts +0 -7
  79. package/dist/components/_private/Expandable/index.d.ts +0 -1
  80. /package/dist/components/{_private/Expandable/Expandable.types.js → ContentToggle/ContentToggle.types.js} +0 -0
  81. /package/dist/components/{_private/Expandable → Expandable}/index.js +0 -0
@@ -1,58 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import React from "react";
4
- import { classNames } from "@reshaped/utilities";
5
- import useIsomorphicLayoutEffect from "../../../hooks/useIsomorphicLayoutEffect";
6
- import { onNextFrame, checkTransitions } from "../../../utilities/animation";
7
- import s from "./Expandable.module.css";
8
- const Expandable = (props) => {
9
- const { children, active, attributes } = props;
10
- const rootRef = React.useRef(null);
11
- const mountedRef = React.useRef(false);
12
- const [animatedHeight, setAnimatedHeight] = React.useState(active ? "auto" : null);
13
- const contentClassNames = classNames(s.root, animatedHeight !== null && animatedHeight !== 0 && s["--visible"], mountedRef.current && animatedHeight !== "auto" && s["--animated"]);
14
- const handleTransitionEnd = (e) => {
15
- if (e.propertyName !== "height")
16
- return;
17
- setAnimatedHeight(active ? "auto" : null);
18
- };
19
- // Avoid animations happening if component is active by default
20
- // onNextFrame lets us wait for the component to render first
21
- React.useEffect(() => {
22
- onNextFrame(() => {
23
- mountedRef.current = true;
24
- });
25
- }, []);
26
- useIsomorphicLayoutEffect(() => {
27
- const rootEl = rootRef.current;
28
- if (!rootEl || !mountedRef.current)
29
- return;
30
- if (!checkTransitions()) {
31
- setAnimatedHeight(active ? "auto" : null);
32
- return;
33
- }
34
- if (active) {
35
- rootEl.style.height = "auto";
36
- requestAnimationFrame(() => {
37
- const targetHeight = rootEl.clientHeight;
38
- rootEl.style.height = "0";
39
- requestAnimationFrame(() => {
40
- setAnimatedHeight(targetHeight);
41
- });
42
- });
43
- }
44
- else {
45
- rootEl.style.height = `${rootEl.clientHeight}px`;
46
- requestAnimationFrame(() => {
47
- setAnimatedHeight(0);
48
- });
49
- }
50
- }, [active]);
51
- return (_jsx("div", { ...attributes, className: contentClassNames, ref: rootRef, style: animatedHeight !== null
52
- ? { height: animatedHeight, overflow: animatedHeight === "auto" ? "visible" : undefined }
53
- : undefined, onTransitionEnd: handleTransitionEnd,
54
- // oxlint-disable-next-line jsx-a11y/prefer-tag-over-role
55
- role: "region", hidden: !active && animatedHeight === null, children: children }));
56
- };
57
- Expandable.displayName = "Expandable";
58
- export default Expandable;
@@ -1 +0,0 @@
1
- .root{overflow:hidden;position:relative;height:0;opacity:0}.root.--visible{opacity:1}.root.--animated{transition:height var(--rs-duration-medium) var(--rs-easing-standard),opacity var(--rs-duration-medium) var(--rs-easing-standard)}
@@ -1,7 +0,0 @@
1
- import React from "react";
2
- import type { Attributes } from "../../../types/global";
3
- export type ContentProps = {
4
- active?: boolean;
5
- children?: React.ReactNode;
6
- attributes?: Attributes<"div">;
7
- };
@@ -1 +0,0 @@
1
- export { default } from "./Expandable";