reshaped 3.0.2 → 3.0.4

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 (59) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/bundle.css +1 -1
  3. package/dist/bundle.d.ts +3 -3
  4. package/dist/bundle.js +10 -10
  5. package/dist/components/Autocomplete/Autocomplete.js +2 -2
  6. package/dist/components/Autocomplete/Autocomplete.types.d.ts +2 -1
  7. package/dist/components/Carousel/Carousel.types.d.ts +2 -2
  8. package/dist/components/Carousel/index.d.ts +1 -1
  9. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +3 -2
  10. package/dist/components/DropdownMenu/index.d.ts +1 -1
  11. package/dist/components/Modal/Modal.js +9 -4
  12. package/dist/components/Popover/Popover.js +2 -2
  13. package/dist/components/Popover/Popover.types.d.ts +3 -2
  14. package/dist/components/Popover/index.d.ts +1 -1
  15. package/dist/components/Reshaped/Reshaped.css +1 -1
  16. package/dist/components/Slider/Slider.module.css +1 -1
  17. package/dist/components/Slider/Slider.types.d.ts +2 -0
  18. package/dist/components/Slider/Slider.utilities.d.ts +4 -0
  19. package/dist/components/Slider/Slider.utilities.js +10 -0
  20. package/dist/components/Slider/SliderControlled.js +31 -27
  21. package/dist/components/Slider/SliderThumb.js +2 -2
  22. package/dist/components/Slider/tests/Slider.stories.d.ts +1 -0
  23. package/dist/components/Slider/tests/Slider.stories.js +9 -0
  24. package/dist/components/Text/Text.js +1 -1
  25. package/dist/components/Text/Text.module.css +1 -1
  26. package/dist/components/Text/Text.types.d.ts +1 -1
  27. package/dist/components/Text/tests/Text.stories.js +3 -0
  28. package/dist/components/Tooltip/Tooltip.js +2 -2
  29. package/dist/components/Tooltip/Tooltip.types.d.ts +1 -1
  30. package/dist/components/Tooltip/tests/Tooltip.stories.js +25 -1
  31. package/dist/components/View/View.js +3 -1
  32. package/dist/components/View/View.module.css +1 -1
  33. package/dist/components/View/View.types.d.ts +1 -1
  34. package/dist/components/View/tests/View.stories.js +6 -0
  35. package/dist/components/_private/Flyout/Flyout.constants.d.ts +3 -0
  36. package/dist/components/_private/Flyout/Flyout.constants.js +3 -0
  37. package/dist/components/_private/Flyout/Flyout.module.css +1 -1
  38. package/dist/components/_private/Flyout/Flyout.types.d.ts +9 -3
  39. package/dist/components/_private/Flyout/FlyoutContent.js +7 -4
  40. package/dist/components/_private/Flyout/FlyoutControlled.js +33 -18
  41. package/dist/components/_private/Flyout/index.d.ts +1 -1
  42. package/dist/components/_private/Flyout/tests/Flyout.stories.d.ts +3 -0
  43. package/dist/components/_private/Flyout/tests/Flyout.stories.js +62 -0
  44. package/dist/components/_private/Flyout/useFlyout.d.ts +4 -1
  45. package/dist/components/_private/Flyout/useFlyout.js +21 -16
  46. package/dist/components/_private/Flyout/utilities/calculatePosition.d.ts +1 -0
  47. package/dist/components/_private/Flyout/utilities/calculatePosition.js +3 -3
  48. package/dist/components/_private/Flyout/utilities/cooldown.d.ts +8 -0
  49. package/dist/components/_private/Flyout/utilities/cooldown.js +18 -0
  50. package/dist/index.d.ts +3 -3
  51. package/dist/styles/border/border.module.css +1 -0
  52. package/dist/styles/border/index.d.ts +3 -0
  53. package/dist/styles/border/index.js +10 -0
  54. package/dist/styles/types.d.ts +1 -0
  55. package/dist/utilities/dom.d.ts +2 -0
  56. package/dist/utilities/dom.js +9 -0
  57. package/package.json +1 -1
  58. package/dist/constants/timeouts.d.ts +0 -2
  59. package/dist/constants/timeouts.js +0 -2
@@ -0,0 +1,8 @@
1
+ declare class Cooldown {
2
+ status: "cold" | "warm" | "cooling";
3
+ timer?: ReturnType<typeof setTimeout>;
4
+ warm: () => void;
5
+ cool: () => void;
6
+ }
7
+ declare const _default: Cooldown;
8
+ export default _default;
@@ -0,0 +1,18 @@
1
+ class Cooldown {
2
+ status = "cold";
3
+ timer;
4
+ warm = () => {
5
+ clearTimeout(this.timer);
6
+ this.status = "warm";
7
+ };
8
+ cool = () => {
9
+ this.status = "cooling";
10
+ const currentTimer = setTimeout(() => {
11
+ this.status = "cold";
12
+ if (currentTimer === this.timer)
13
+ this.timer = undefined;
14
+ }, 2000);
15
+ this.timer = currentTimer;
16
+ };
17
+ }
18
+ export default new Cooldown();
package/dist/index.d.ts CHANGED
@@ -24,7 +24,7 @@ export type { CalendarProps } from "./components/Calendar";
24
24
  export { default as Card } from "./components/Card";
25
25
  export type { CardProps } from "./components/Card";
26
26
  export { default as Carousel } from "./components/Carousel";
27
- export type { CarouselProps, CarouselInstanceRef } from "./components/Carousel";
27
+ export type { CarouselProps, CarouselInstanceRef, CarouselInstance } from "./components/Carousel";
28
28
  export { default as Checkbox } from "./components/Checkbox";
29
29
  export type { CheckboxProps } from "./components/Checkbox";
30
30
  export { default as CheckboxGroup } from "./components/CheckboxGroup";
@@ -36,7 +36,7 @@ export type { DismissibleProps } from "./components/Dismissible";
36
36
  export { default as Divider } from "./components/Divider";
37
37
  export type { DividerProps } from "./components/Divider";
38
38
  export { default as DropdownMenu } from "./components/DropdownMenu";
39
- export type { DropdownMenuProps } from "./components/DropdownMenu";
39
+ export type { DropdownMenuProps, DropdownMenuInstance } from "./components/DropdownMenu";
40
40
  export { default as FileUpload } from "./components/FileUpload";
41
41
  export type { FileUploadProps } from "./components/FileUpload";
42
42
  export { default as FormControl } from "./components/FormControl";
@@ -66,7 +66,7 @@ export type { PaginationProps } from "./components/Pagination";
66
66
  export { default as PinField } from "./components/PinField";
67
67
  export type { PinFieldProps } from "./components/PinField";
68
68
  export { default as Popover } from "./components/Popover";
69
- export type { PopoverProps } from "./components/Popover";
69
+ export type { PopoverProps, PopoverInstance } from "./components/Popover";
70
70
  export { default as Progress } from "./components/Progress";
71
71
  export type { ProgressProps } from "./components/Progress";
72
72
  export { default as Radio } from "./components/Radio";
@@ -0,0 +1 @@
1
+ .root{border:1px solid var(--rs-border-color)}.--border-neutral{--rs-border-color:var(--rs-color-border-neutral)}.--border-neutral-faded{--rs-border-color:var(--rs-color-border-neutral-faded)}.--border-positive{--rs-border-color:var(--rs-color-border-positive)}.--border-positive-faded{--rs-border-color:var(--rs-color-border-positive-faded)}.--border-warning{--rs-border-color:var(--rs-color-border-warning)}.--border-warning-faded{--rs-border-color:var(--rs-color-border-warning-faded)}.--border-critical{--rs-border-color:var(--rs-color-border-critical)}.--border-critical-faded{--rs-border-color:var(--rs-color-border-critical-faded)}.--border-primary{--rs-border-color:var(--rs-color-border-primary)}.--border-primary-faded{--rs-border-color:var(--rs-color-border-primary-faded)}.--border-disabled{--rs-border-color:var(--rs-color-border-disabled)}.--border-brand{--rs-border-color:var(--rs-color-brand)}.--border-transparent{--rs-border-color:transparent}@media (--rs-viewport-m ){.--border-neutral--m{--rs-border-color:var(--rs-color-border-neutral)}.--border-neutral-faded--m{--rs-border-color:var(--rs-color-border-neutral-faded)}.--border-positive--m{--rs-border-color:var(--rs-color-border-positive)}.--border-positive-faded--m{--rs-border-color:var(--rs-color-border-positive-faded)}.--border-warning--m{--rs-border-color:var(--rs-color-border-warning)}.--border-warning-faded--m{--rs-border-color:var(--rs-color-border-warning-faded)}.--border-critical--m{--rs-border-color:var(--rs-color-border-critical)}.--border-critical-faded--m{--rs-border-color:var(--rs-color-border-critical-faded)}.--border-primary--m{--rs-border-color:var(--rs-color-border-primary)}.--border-primary-faded--m{--rs-border-color:var(--rs-color-border-primary-faded)}.--border-disabled--m{--rs-border-color:var(--rs-color-border-disabled)}.--border-brand--m{--rs-border-color:var(--rs-color-brand)}.--border-transparent--m{--rs-border-color:transparent}}@media (--rs-viewport-l ){.--border-neutral--l{--rs-border-color:var(--rs-color-border-neutral)}.--border-neutral-faded--l{--rs-border-color:var(--rs-color-border-neutral-faded)}.--border-positive--l{--rs-border-color:var(--rs-color-border-positive)}.--border-positive-faded--l{--rs-border-color:var(--rs-color-border-positive-faded)}.--border-warning--l{--rs-border-color:var(--rs-color-border-warning)}.--border-warning-faded--l{--rs-border-color:var(--rs-color-border-warning-faded)}.--border-critical--l{--rs-border-color:var(--rs-color-border-critical)}.--border-critical-faded--l{--rs-border-color:var(--rs-color-border-critical-faded)}.--border-primary--l{--rs-border-color:var(--rs-color-border-primary)}.--border-primary-faded--l{--rs-border-color:var(--rs-color-border-primary-faded)}.--border-disabled--l{--rs-border-color:var(--rs-color-border-disabled)}.--border-brand--l{--rs-border-color:var(--rs-color-brand)}.--border-transparent--l{--rs-border-color:transparent}}@media (--rs-viewport-xl ){.--border-neutral--xl{--rs-border-color:var(--rs-color-border-neutral)}.--border-neutral-faded--xl{--rs-border-color:var(--rs-color-border-neutral-faded)}.--border-positive--xl{--rs-border-color:var(--rs-color-border-positive)}.--border-positive-faded--xl{--rs-border-color:var(--rs-color-border-positive-faded)}.--border-warning--xl{--rs-border-color:var(--rs-color-border-warning)}.--border-warning-faded--xl{--rs-border-color:var(--rs-color-border-warning-faded)}.--border-critical--xl{--rs-border-color:var(--rs-color-border-critical)}.--border-critical-faded--xl{--rs-border-color:var(--rs-color-border-critical-faded)}.--border-primary--xl{--rs-border-color:var(--rs-color-border-primary)}.--border-primary-faded--xl{--rs-border-color:var(--rs-color-border-primary-faded)}.--border-disabled--xl{--rs-border-color:var(--rs-color-border-disabled)}.--border-brand--xl{--rs-border-color:var(--rs-color-brand)}.--border-transparent--xl{--rs-border-color:transparent}}
@@ -0,0 +1,3 @@
1
+ import * as T from "../types";
2
+ declare const getBorderStyles: T.StaticStyleUtility<T.BorderColor>;
3
+ export default getBorderStyles;
@@ -0,0 +1,10 @@
1
+ import { responsiveClassNames } from "../../utilities/helpers.js";
2
+ import s from "./border.module.css";
3
+ const getBorderStyles = (value) => {
4
+ if (!value)
5
+ return null;
6
+ return {
7
+ classNames: [s.root, ...responsiveClassNames(s, "--border", value)],
8
+ };
9
+ };
10
+ export default getBorderStyles;
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import * as G from "../types/global";
3
3
  export type Radius = "small" | "medium" | "large" | "circular" | "none";
4
4
  export type Position = "relative" | "absolute" | "fixed" | "sticky" | "static";
5
+ export type BorderColor = "neutral" | "neutral-faded" | "critical" | "critical-faded" | "warning" | "warning-faded" | "positive" | "positive-faded" | "primary" | "primary-faded" | "disabled" | "brand" | "transparent";
5
6
  /**
6
7
  * Utility controlled only with classnames
7
8
  */
@@ -1,3 +1,5 @@
1
1
  export declare const getClosestFlyoutTarget: (el: HTMLElement | null) => HTMLElement;
2
2
  export declare const disableUserSelect: () => void;
3
3
  export declare const enableUserSelect: () => void;
4
+ export declare const disableScroll: () => void;
5
+ export declare const enableScroll: () => void;
@@ -16,3 +16,12 @@ export const disableUserSelect = () => {
16
16
  export const enableUserSelect = () => {
17
17
  document.body.style.userSelect = "";
18
18
  };
19
+ const preventDefault = (e) => e.preventDefault();
20
+ export const disableScroll = () => {
21
+ window.addEventListener("wheel", preventDefault, { passive: false });
22
+ window.addEventListener("touchmove", preventDefault, { passive: false });
23
+ };
24
+ export const enableScroll = () => {
25
+ window.removeEventListener("wheel", preventDefault);
26
+ window.removeEventListener("touchmove", preventDefault);
27
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "reshaped",
3
3
  "description": "Professionally crafted design system in React & Figma for building products of any scale and complexity",
4
- "version": "3.0.2",
4
+ "version": "3.0.4",
5
5
  "license": "MIT",
6
6
  "email": "hello@reshaped.so",
7
7
  "homepage": "https://reshaped.so",
@@ -1,2 +0,0 @@
1
- export declare const mouseEnter = 100;
2
- export declare const mouseLeave = 150;
@@ -1,2 +0,0 @@
1
- export const mouseEnter = 100;
2
- export const mouseLeave = 150;