reshaped 3.0.0 → 3.0.1
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/dist/bundle.css +1 -1
- package/dist/bundle.js +10 -10
- package/dist/cjs/cli/theming/reshaped.config.d.ts +1 -1
- package/dist/cjs/config/tailwind.d.ts +1 -1
- package/dist/cjs/themes/_generator/constants.d.ts +1 -1
- package/dist/cjs/themes/_generator/definitions/figma.d.ts +1 -1
- package/dist/cjs/themes/_generator/definitions/reshaped.d.ts +1 -1
- package/dist/cjs/themes/_generator/definitions/slate.d.ts +1 -1
- package/dist/cjs/themes/_generator/types.d.ts +1 -1
- package/dist/cjs/types/config.d.ts +1 -1
- package/dist/cli/theming/reshaped.config.d.ts +1 -1
- package/dist/components/Carousel/tests/Carousel.stories.js +2 -2
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/dist/components/Modal/tests/Modal.stories.js +2 -14
- package/dist/components/Popover/tests/Popover.stories.js +5 -13
- package/dist/components/Reshaped/Reshaped.css +1 -1
- package/dist/components/ScrollArea/tests/ScrollArea.stories.js +1 -1
- package/dist/components/Select/Select.types.d.ts +3 -3
- package/dist/components/Stepper/tests/Stepper.stories.js +1 -2
- package/dist/components/TextArea/TextArea.types.d.ts +1 -1
- package/dist/components/Toast/tests/Toast.stories.js +3 -3
- package/dist/components/Tooltip/tests/Tooltip.stories.js +3 -14
- package/dist/components/View/tests/View.stories.d.ts +1 -1
- package/dist/components/_private/Flyout/tests/Flyout.stories.js +1 -12
- package/dist/config/tailwind.d.ts +1 -1
- package/dist/themes/_generator/constants.d.ts +1 -1
- package/dist/themes/_generator/definitions/figma.d.ts +1 -1
- package/dist/themes/_generator/definitions/reshaped.d.ts +1 -1
- package/dist/themes/_generator/definitions/slate.d.ts +1 -1
- package/dist/themes/_generator/tests/themes.stories.js +9 -3
- package/dist/themes/_generator/types.d.ts +1 -1
- package/dist/types/config.d.ts +1 -1
- package/package.json +1 -1
@@ -1,2 +1,2 @@
|
|
1
|
-
import { ThemeDefinition } from "../themes/_generator/tokens/types";
|
1
|
+
import type { ThemeDefinition } from "../themes/_generator/tokens/types";
|
2
2
|
export declare const getTheme: (theme?: ThemeDefinition) => Record<"backgroundColor" | "textColor" | "borderColor" | "colors" | "borderRadius" | "spacing" | "boxShadow" | "screens", Record<string, string>>;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { Name } from "./tokens/color/color.types";
|
1
|
+
import type { Name } from "./tokens/color/color.types";
|
2
2
|
export declare const bgWithDynamicForeground: Name[];
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { PartialThemeDefinition, ColorHue } from "../themes/_generator/tokens/types";
|
1
|
+
import type { PartialThemeDefinition, ColorHue } from "../themes/_generator/tokens/types";
|
2
2
|
export type ReshapedConfig = {
|
3
3
|
themes?: Record<string, PartialThemeDefinition>;
|
4
4
|
themeFragments?: Record<string, PartialThemeDefinition>;
|
@@ -96,8 +96,8 @@ const RefDemo = () => {
|
|
96
96
|
const carouselRef = React.useRef();
|
97
97
|
return (<View gap={3}>
|
98
98
|
<View gap={3} direction="row">
|
99
|
-
<Button onClick={() =>
|
100
|
-
<Button onClick={() =>
|
99
|
+
<Button onClick={() => carouselRef.current?.navigateBack()}>Back</Button>
|
100
|
+
<Button onClick={() => carouselRef.current?.navigateForward()}>Forward</Button>
|
101
101
|
</View>
|
102
102
|
<Carousel visibleItems={2} instanceRef={carouselRef} navigationDisplay="hidden">
|
103
103
|
<Placeholder h={100}>Item 1</Placeholder>
|
@@ -1,14 +1,3 @@
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
-
var t = {};
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
-
t[p] = s[p];
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
-
t[p[i]] = s[p[i]];
|
9
|
-
}
|
10
|
-
return t;
|
11
|
-
};
|
12
1
|
import React from "react";
|
13
2
|
import { Example } from "../../../utilities/storybook/index.js";
|
14
3
|
import Modal from "../index.js";
|
@@ -30,7 +19,7 @@ export default {
|
|
30
19
|
},
|
31
20
|
};
|
32
21
|
const Demo = (props) => {
|
33
|
-
const { active: activeProp, title, subtitle, children
|
22
|
+
const { active: activeProp, title, subtitle, children, ...modalProps } = props;
|
34
23
|
const { active, activate, deactivate } = useToggle(activeProp);
|
35
24
|
return (<>
|
36
25
|
<Button onClick={activate}>Open dialog</Button>
|
@@ -129,8 +118,7 @@ export const edgeCases = () => {
|
|
129
118
|
</Example.Item>
|
130
119
|
<Example.Item title="focus moves to the input">
|
131
120
|
<Demo title="Modal title" onOpen={() => {
|
132
|
-
|
133
|
-
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
121
|
+
inputRef.current?.focus();
|
134
122
|
}}>
|
135
123
|
<View gap={3} direction="row">
|
136
124
|
<Button onClick={() => { }}>Button</Button>
|
@@ -1,14 +1,3 @@
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
-
var t = {};
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
-
t[p] = s[p];
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
-
t[p[i]] = s[p[i]];
|
9
|
-
}
|
10
|
-
return t;
|
11
|
-
};
|
12
1
|
import { Example } from "../../../utilities/storybook/index.js";
|
13
2
|
import View from "../../View/index.js";
|
14
3
|
import Popover from "../index.js";
|
@@ -24,7 +13,7 @@ export default {
|
|
24
13
|
},
|
25
14
|
};
|
26
15
|
const Demo = (props) => {
|
27
|
-
const { position
|
16
|
+
const { position, ...rest } = props;
|
28
17
|
return (<Popover position={position} {...rest}>
|
29
18
|
<Popover.Trigger>
|
30
19
|
{(attributes) => <Button attributes={attributes}>{position || "Open"}</Button>}
|
@@ -110,7 +99,10 @@ export const edgeCases = () => (<Example>
|
|
110
99
|
<Tooltip position="top" text="Hello">
|
111
100
|
{(tooltipAttributes) => (<Popover position="bottom">
|
112
101
|
<Popover.Trigger>
|
113
|
-
{(attributes) => (<Button attributes={
|
102
|
+
{(attributes) => (<Button attributes={{
|
103
|
+
...attributes,
|
104
|
+
...tooltipAttributes,
|
105
|
+
}}>
|
114
106
|
Open
|
115
107
|
</Button>)}
|
116
108
|
</Popover.Trigger>
|
@@ -1 +1 @@
|
|
1
|
-
:root{--rs-z-index-raised:5;--rs-z-index-flyout:80;--rs-z-index-fixed:90;--rs-z-index-overlay:100;--rs-z-index-notification:110}blockquote,body,dd,dl,figcaption,figure,h1,h2,h3,h4,h5,h6,li,ol,p,ul{margin:0;padding:0}ol[class],ul[class]{list-style:none}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}fieldset{border:0;margin:0;padding:0}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}option{background:var(--rs-color-background-elevation-base)}label{cursor:pointer}input::placeholder,textarea::placeholder{color:var(--rs-color-foreground-neutral-faded);opacity:.5}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:var(--rs-font-family-body);font-size:87.5%;font-weight:var(--rs-font-weight-regular);line-height:var(--rs-line-height-body-3);text-rendering:optimizelegibility;touch-action:manipulation}*{box-sizing:border-box}body,html{background:var(--rs-color-background-page);color:var(--rs-color-foreground-neutral);height:100%;scroll-behavior:smooth}[data-rs-theme]:not(html){font-family:var(--rs-font-family-body);font-size:var(--rs-font-size-body-3);font-weight:var(--rs-font-weight-regular);line-height:var(--rs-line-height-body-3)}[data-rs-color-mode=light]{color-scheme:light}[data-rs-color-mode=dark]{color-scheme:dark}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}[data-rs-no-transition] *,[data-rs-no-transition] :after,[data-rs-no-transition] :before{transition:none!important}
|
1
|
+
:root{--rs-z-index-raised:5;--rs-z-index-flyout:80;--rs-z-index-fixed:90;--rs-z-index-overlay:100;--rs-z-index-notification:110}blockquote,body,dd,dl,figcaption,figure,h1,h2,h3,h4,h5,h6,li,ol,p,ul{margin:0;padding:0}ol[class],ul[class]{list-style:none}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}fieldset{border:0;margin:0;padding:0}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}option{background:var(--rs-color-background-elevation-base)}label{cursor:pointer}input::placeholder,textarea::placeholder{color:var(--rs-color-foreground-neutral-faded);opacity:.5}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;font-family:var(--rs-font-family-body);font-size:87.5%;font-weight:var(--rs-font-weight-regular);line-height:var(--rs-line-height-body-3);text-rendering:optimizelegibility;touch-action:manipulation}*{box-sizing:border-box}body,html{background:var(--rs-color-background-page);color:var(--rs-color-foreground-neutral);height:100%;scroll-behavior:smooth}[data-rs-theme]:not(html){font-family:var(--rs-font-family-body);font-size:var(--rs-font-size-body-3);font-weight:var(--rs-font-weight-regular);line-height:var(--rs-line-height-body-3)}[data-rs-color-mode=light]{color-scheme:light}[data-rs-color-mode=dark]{color-scheme:dark}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}[data-rs-no-transition] *,[data-rs-no-transition] :after,[data-rs-no-transition] :before{transition:none!important}
|
@@ -15,7 +15,7 @@ export default {
|
|
15
15
|
const Demo = () => {
|
16
16
|
const ref = useRef(null);
|
17
17
|
return (<View gap={4}>
|
18
|
-
<Button onClick={() =>
|
18
|
+
<Button onClick={() => ref.current?.scrollTo({ top: 100, behavior: "smooth" })}>
|
19
19
|
Scroll
|
20
20
|
</Button>
|
21
21
|
<ScrollArea height="100px" scrollbarDisplay="visible" ref={ref}>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import type * as G from "../../types/global";
|
3
|
-
import { FormControlProps } from "../FormControl";
|
4
|
-
import { ActionableProps } from "../Actionable";
|
5
|
-
import { IconProps } from "../Icon";
|
3
|
+
import type { FormControlProps } from "../FormControl";
|
4
|
+
import type { ActionableProps } from "../Actionable";
|
5
|
+
import type { IconProps } from "../Icon";
|
6
6
|
type Size = G.Responsive<"medium" | "large" | "xlarge">;
|
7
7
|
type Option = {
|
8
8
|
label: string;
|
@@ -13,8 +13,7 @@ export default {
|
|
13
13
|
},
|
14
14
|
};
|
15
15
|
const Demo = (props) => {
|
16
|
-
|
17
|
-
const [activeId, setActiveId] = React.useState((_a = props.activeId) !== null && _a !== void 0 ? _a : 1);
|
16
|
+
const [activeId, setActiveId] = React.useState(props.activeId ?? 1);
|
18
17
|
const content = (<View gap={3}>
|
19
18
|
<Placeholder />
|
20
19
|
<View direction="row" gap={3}>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import type * as G from "../../types/global";
|
3
|
-
import { FormControlProps } from "../FormControl";
|
3
|
+
import { type FormControlProps } from "../FormControl";
|
4
4
|
type Size = G.Responsive<"medium" | "large" | "xlarge">;
|
5
5
|
type BaseProps = {
|
6
6
|
id?: string;
|
@@ -46,21 +46,21 @@ const Size = () => {
|
|
46
46
|
return (<Example>
|
47
47
|
<Example.Item title="size: small">
|
48
48
|
<Button onClick={() => {
|
49
|
-
toast.show(
|
49
|
+
toast.show({ ...props });
|
50
50
|
}}>
|
51
51
|
Show toast
|
52
52
|
</Button>
|
53
53
|
</Example.Item>
|
54
54
|
<Example.Item title="size: medium">
|
55
55
|
<Button onClick={() => {
|
56
|
-
toast.show(
|
56
|
+
toast.show({ ...props, size: "medium" });
|
57
57
|
}}>
|
58
58
|
Show toast
|
59
59
|
</Button>
|
60
60
|
</Example.Item>
|
61
61
|
<Example.Item title="large">
|
62
62
|
<Button onClick={() => {
|
63
|
-
toast.show(
|
63
|
+
toast.show({ ...props, size: "large" });
|
64
64
|
}}>
|
65
65
|
Show toast
|
66
66
|
</Button>
|
@@ -1,14 +1,3 @@
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
-
var t = {};
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
-
t[p] = s[p];
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
-
t[p[i]] = s[p[i]];
|
9
|
-
}
|
10
|
-
return t;
|
11
|
-
};
|
12
1
|
import { Example } from "../../../utilities/storybook/index.js";
|
13
2
|
import Tooltip from "../index.js";
|
14
3
|
import Popover from "../../Popover/index.js";
|
@@ -25,13 +14,13 @@ export default {
|
|
25
14
|
},
|
26
15
|
};
|
27
16
|
const Demo = (props) => {
|
28
|
-
const { position
|
17
|
+
const { position, ...rest } = props;
|
29
18
|
return (<Tooltip text={position} position={position} {...rest}>
|
30
19
|
{(attributes) => <Button attributes={attributes}>Show tooltip</Button>}
|
31
20
|
</Tooltip>);
|
32
21
|
};
|
33
22
|
const DemoResponsive = (props) => {
|
34
|
-
const { position
|
23
|
+
const { position, ...rest } = props;
|
35
24
|
const screenSize = useResponsiveClientValue({
|
36
25
|
s: "small",
|
37
26
|
m: "medium",
|
@@ -87,7 +76,7 @@ export const edgeCases = () => (<Example>
|
|
87
76
|
<Tooltip text="Tooltip" position="top">
|
88
77
|
{(attributes) => (<Popover position="bottom">
|
89
78
|
<Popover.Trigger>
|
90
|
-
{(popoverAttributes) => (<Button attributes={
|
79
|
+
{(popoverAttributes) => (<Button attributes={{ ...attributes, ...popoverAttributes }}>Action</Button>)}
|
91
80
|
</Popover.Trigger>
|
92
81
|
<Popover.Content>Popover</Popover.Content>
|
93
82
|
</Popover>)}
|
@@ -1,14 +1,3 @@
|
|
1
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
-
var t = {};
|
3
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
-
t[p] = s[p];
|
5
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
-
t[p[i]] = s[p[i]];
|
9
|
-
}
|
10
|
-
return t;
|
11
|
-
};
|
12
1
|
import React from "react";
|
13
2
|
import { Example } from "../../../../utilities/storybook/index.js";
|
14
3
|
import View from "../../../View/index.js";
|
@@ -17,7 +6,7 @@ import Button from "../../../Button/index.js";
|
|
17
6
|
import Flyout from "../index.js";
|
18
7
|
export default { title: "Utilities/Internal/Flyout" };
|
19
8
|
const Demo = (props) => {
|
20
|
-
const { position = "bottom-start", children
|
9
|
+
const { position = "bottom-start", children, ...rest } = props;
|
21
10
|
return (<Flyout triggerType="click" position={position} {...rest}>
|
22
11
|
<Flyout.Trigger>
|
23
12
|
{(attributes) => <Button attributes={attributes}>{position}</Button>}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { ThemeDefinition } from "../themes/_generator/tokens/types";
|
1
|
+
import type { ThemeDefinition } from "../themes/_generator/tokens/types";
|
2
2
|
export declare const getTheme: (theme?: ThemeDefinition) => Record<"borderRadius" | "backgroundColor" | "borderColor" | "spacing" | "boxShadow" | "textColor" | "colors" | "screens", Record<string, string>>;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { Name } from "./tokens/color/color.types";
|
1
|
+
import type { Name } from "./tokens/color/color.types";
|
2
2
|
export declare const bgWithDynamicForeground: Name[];
|
@@ -30,10 +30,16 @@ const css2 = getThemeCSS("peach", {
|
|
30
30
|
backgroundPrimaryHighlighted: { hex: "#ffbe76" },
|
31
31
|
},
|
32
32
|
});
|
33
|
-
const cssGenerated = getThemeCSS("generated",
|
33
|
+
const cssGenerated = getThemeCSS("generated", {
|
34
|
+
...baseThemeDefinition,
|
35
|
+
color: generateThemeColors({
|
34
36
|
primary: "#0369a1" /*"#5a58f2"*/ /* "#2563eb" */,
|
35
|
-
})
|
36
|
-
|
37
|
+
}),
|
38
|
+
});
|
39
|
+
const cssGenerated2 = getThemeCSS("generated2", {
|
40
|
+
...baseThemeDefinition,
|
41
|
+
color: generateThemeColors({ primary: "#2383e2" }),
|
42
|
+
});
|
37
43
|
const componentExamples = (<View gap={4} padding={6} backgroundColor="page">
|
38
44
|
<Text variant="featured-2">Hello world</Text>
|
39
45
|
<Text color="neutral-faded" variant="featured-2">
|
package/dist/types/config.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { PartialThemeDefinition, ColorHue } from "../themes/_generator/tokens/types";
|
1
|
+
import type { PartialThemeDefinition, ColorHue } from "../themes/_generator/tokens/types";
|
2
2
|
export type ReshapedConfig = {
|
3
3
|
themes?: Record<string, PartialThemeDefinition>;
|
4
4
|
themeFragments?: Record<string, PartialThemeDefinition>;
|
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.
|
4
|
+
"version": "3.0.1",
|
5
5
|
"license": "MIT",
|
6
6
|
"email": "hello@reshaped.so",
|
7
7
|
"homepage": "https://reshaped.so",
|