@szum-tech/design-system 1.4.0 → 1.5.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.
@@ -0,0 +1,33 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
3
+ import * as React from 'react';
4
+
5
+ declare const avatarCva: (props?: ({
6
+ size?: "sm" | "md" | "lg" | null | undefined;
7
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
8
+
9
+ type AvatarCvaProps = VariantProps<typeof avatarCva>;
10
+ type AvatarSizeType = NonNullable<AvatarCvaProps["size"]>;
11
+
12
+ type AvatarProps = React.ComponentPropsWithoutRef<"div"> & {
13
+ /**
14
+ * Defines avatar image alt
15
+ */
16
+ alt?: string;
17
+ /**
18
+ * Defines background color
19
+ */
20
+ bg?: `bg-${string}` | `bg-${string}-${number}`;
21
+ /**
22
+ * Defines avatar size
23
+ * @default 'md'
24
+ */
25
+ size?: AvatarSizeType;
26
+ /**
27
+ * Defines avatar image src
28
+ */
29
+ src?: string;
30
+ };
31
+ declare function Avatar({ alt, bg, children, size, src, ...props }: AvatarProps): JSX.Element;
32
+
33
+ export { AvatarProps, AvatarSizeType, Avatar as default };
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var classVarianceAuthority = require('class-variance-authority');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+
6
+ var e=classVarianceAuthority.cva("select-none rounded font-semibold leading-none justify-center flex items-center bg-gray-500 text-white dark:text-black",{variants:{size:{sm:"h-6 w-6 text-lg",md:"h-10 w-10 text-xl",lg:"h-14 w-14 text-2xl"}},defaultVariants:{size:"md"}});function a({alt:o,bg:s,children:i,size:n="md",src:t,...l}){let m=e({size:n,className:s});return jsxRuntime.jsx("div",{className:m,...l,children:t?jsxRuntime.jsx("img",{className:"h-full w-full rounded object-cover object-center",alt:o,src:t}):i})}
7
+
8
+ module.exports = a;
@@ -0,0 +1,6 @@
1
+ import { cva } from 'class-variance-authority';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ var e=cva("select-none rounded font-semibold leading-none justify-center flex items-center bg-gray-500 text-white dark:text-black",{variants:{size:{sm:"h-6 w-6 text-lg",md:"h-10 w-10 text-xl",lg:"h-14 w-14 text-2xl"}},defaultVariants:{size:"md"}});function a({alt:o,bg:s,children:i,size:n="md",src:t,...l}){let m=e({size:n,className:s});return jsx("div",{className:m,...l,children:t?jsx("img",{className:"h-full w-full rounded object-cover object-center",alt:o,src:t}):i})}
5
+
6
+ export { a as default };
@@ -0,0 +1,44 @@
1
+ import * as React from 'react';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
4
+
5
+ declare const buttonCva: (props?: ({
6
+ color?: "neutral" | "primary" | "success" | "warning" | "error" | null | undefined;
7
+ size?: "sm" | "md" | "lg" | null | undefined;
8
+ variant?: "text" | "outlined" | "contained" | null | undefined;
9
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
10
+
11
+ type ButtonCvaProps = VariantProps<typeof buttonCva>;
12
+ type ButtonSizeType = NonNullable<ButtonCvaProps["size"]>;
13
+ type ButtonVariantType = NonNullable<ButtonCvaProps["variant"]>;
14
+ type ButtonColorType = NonNullable<ButtonCvaProps["color"]>;
15
+
16
+ type AsProp<C extends React.ElementType> = {
17
+ /**
18
+ * Defines HTML tag to be used for component
19
+ */
20
+ as?: C;
21
+ };
22
+ type PropsToOmit<C extends React.ElementType, P> = keyof (AsProp<C> & P);
23
+ type PolymorphicComponentProp<C extends React.ElementType, Props = {}> = React.PropsWithChildren<Props & AsProp<C>> & Omit<React.ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
24
+
25
+ type ButtonProp = {
26
+ /**
27
+ * Defines button color
28
+ * @default 'primary'
29
+ */
30
+ color?: ButtonColorType;
31
+ /**
32
+ * Defines button variant
33
+ * @default 'text'
34
+ */
35
+ variant?: ButtonVariantType;
36
+ /**
37
+ * Defines button size
38
+ * @default 'md'
39
+ */
40
+ size?: ButtonSizeType;
41
+ };
42
+ declare const _default: React.ForwardRefExoticComponent<Pick<PolymorphicComponentProp<React.ElementType<any>, ButtonProp>, string | number | symbol> & React.RefAttributes<unknown>>;
43
+
44
+ export { _default as default };
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var e = require('react');
4
+ var classVarianceAuthority = require('class-variance-authority');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var e__namespace = /*#__PURE__*/_interopNamespace(e);
26
+
27
+ var r=classVarianceAuthority.cva("border rounded font-sans font-medium leading-[1.75] tracking-[.02857em]",{variants:{color:{neutral:"",primary:"",success:"",warning:"",error:""},size:{sm:"py-1 px-2.5 text-[.8125rem]",md:"px-4 py-1.5 text-sm",lg:"px-5 py-2 text-[.9375rem]"},variant:{text:"border-transparent bg-transparent hover:text-white",outlined:"",contained:""}},compoundVariants:[{variant:"text",color:"neutral",class:["text-gray-400","hover:border-gray-400 hover:bg-gray-400","active:text-white active:border-gray-300 active:bg-gray-300","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-gray-400"]},{variant:"text",color:"primary",class:["text-primary-500","hover:border-primary-400 hover:bg-primary-400","active:text-white active:border-primary-600 active:bg-primary-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-primary-500"]},{variant:"text",color:"success",class:["text-success-500","hover:border-success-400 hover:bg-success-400","active:text-white active:border-success-600 active:bg-success-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-success-500"]},{variant:"text",color:"warning",class:["text-warning-500","hover:border-warning-400 hover:bg-warning-400","active:text-white active:border-warning-600 active:bg-warning-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-warning-500"]},{variant:"text",color:"error",class:["text-error-500","hover:border-error-400 hover:bg-error-400","active:text-white active:border-error-600 active:bg-error-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-error-500"]},{variant:"outlined",color:"neutral",class:["text-gray-400 border-gray-400 bg-transparent","hover:bg-gray-500 hover:text-white","active:text-white active:bg-gray-300","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-gray-400"]},{variant:"outlined",color:"primary",class:["text-primary-500 border-primary-500 bg-transparent","hover:bg-primary-400 hover:text-white","active:text-white active:bg-primary-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-primary-500"]},{variant:"outlined",color:"success",class:["text-success-500 border-success-500 bg-transparent","hover:bg-success-400 hover:text-white","active:text-white active:bg-success-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-success-500"]},{variant:"outlined",color:"warning",class:["text-warning-500 border-warning-500 bg-transparent","hover:bg-warning-400 hover:text-white","active:text-white active:bg-warning-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-warning-500"]},{variant:"outlined",color:"error",class:["text-error-500 border-error-500 bg-transparent","hover:bg-error-400 hover:text-white","active:text-white active:bg-error-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-error-500"]}]});var v=e__namespace.forwardRef(function({as:t,color:a="primary",children:o,size:i="md",variant:s="text",...n},d){let c=t||"button",l=r({size:i,variant:s,color:a});return jsxRuntime.jsx(c,{className:l,ref:d,...n,children:o})});
28
+
29
+ module.exports = v;
@@ -0,0 +1,7 @@
1
+ import * as e from 'react';
2
+ import { cva } from 'class-variance-authority';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ var r=cva("border rounded font-sans font-medium leading-[1.75] tracking-[.02857em]",{variants:{color:{neutral:"",primary:"",success:"",warning:"",error:""},size:{sm:"py-1 px-2.5 text-[.8125rem]",md:"px-4 py-1.5 text-sm",lg:"px-5 py-2 text-[.9375rem]"},variant:{text:"border-transparent bg-transparent hover:text-white",outlined:"",contained:""}},compoundVariants:[{variant:"text",color:"neutral",class:["text-gray-400","hover:border-gray-400 hover:bg-gray-400","active:text-white active:border-gray-300 active:bg-gray-300","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-gray-400"]},{variant:"text",color:"primary",class:["text-primary-500","hover:border-primary-400 hover:bg-primary-400","active:text-white active:border-primary-600 active:bg-primary-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-primary-500"]},{variant:"text",color:"success",class:["text-success-500","hover:border-success-400 hover:bg-success-400","active:text-white active:border-success-600 active:bg-success-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-success-500"]},{variant:"text",color:"warning",class:["text-warning-500","hover:border-warning-400 hover:bg-warning-400","active:text-white active:border-warning-600 active:bg-warning-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-warning-500"]},{variant:"text",color:"error",class:["text-error-500","hover:border-error-400 hover:bg-error-400","active:text-white active:border-error-600 active:bg-error-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-error-500"]},{variant:"outlined",color:"neutral",class:["text-gray-400 border-gray-400 bg-transparent","hover:bg-gray-500 hover:text-white","active:text-white active:bg-gray-300","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-gray-400"]},{variant:"outlined",color:"primary",class:["text-primary-500 border-primary-500 bg-transparent","hover:bg-primary-400 hover:text-white","active:text-white active:bg-primary-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-primary-500"]},{variant:"outlined",color:"success",class:["text-success-500 border-success-500 bg-transparent","hover:bg-success-400 hover:text-white","active:text-white active:bg-success-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-success-500"]},{variant:"outlined",color:"warning",class:["text-warning-500 border-warning-500 bg-transparent","hover:bg-warning-400 hover:text-white","active:text-white active:bg-warning-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-warning-500"]},{variant:"outlined",color:"error",class:["text-error-500 border-error-500 bg-transparent","hover:bg-error-400 hover:text-white","active:text-white active:bg-error-600","disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-error-500"]}]});var v=e.forwardRef(function({as:t,color:a="primary",children:o,size:i="md",variant:s="text",...n},d){let c=t||"button",l=r({size:i,variant:s,color:a});return jsx(c,{className:l,ref:d,...n,children:o})});
6
+
7
+ export { v as default };
@@ -0,0 +1,72 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
3
+ import * as React from 'react';
4
+
5
+ declare const avatarCva: (props?: ({
6
+ size?: "sm" | "md" | "lg" | null | undefined;
7
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
8
+
9
+ type AvatarCvaProps = VariantProps<typeof avatarCva>;
10
+ type AvatarSizeType = NonNullable<AvatarCvaProps["size"]>;
11
+
12
+ type AvatarProps = React.ComponentPropsWithoutRef<"div"> & {
13
+ /**
14
+ * Defines avatar image alt
15
+ */
16
+ alt?: string;
17
+ /**
18
+ * Defines background color
19
+ */
20
+ bg?: `bg-${string}` | `bg-${string}-${number}`;
21
+ /**
22
+ * Defines avatar size
23
+ * @default 'md'
24
+ */
25
+ size?: AvatarSizeType;
26
+ /**
27
+ * Defines avatar image src
28
+ */
29
+ src?: string;
30
+ };
31
+ declare function Avatar({ alt, bg, children, size, src, ...props }: AvatarProps): JSX.Element;
32
+
33
+ declare const buttonCva: (props?: ({
34
+ color?: "neutral" | "primary" | "success" | "warning" | "error" | null | undefined;
35
+ size?: "sm" | "md" | "lg" | null | undefined;
36
+ variant?: "text" | "outlined" | "contained" | null | undefined;
37
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
38
+
39
+ type ButtonCvaProps = VariantProps<typeof buttonCva>;
40
+ type ButtonSizeType = NonNullable<ButtonCvaProps["size"]>;
41
+ type ButtonVariantType = NonNullable<ButtonCvaProps["variant"]>;
42
+ type ButtonColorType = NonNullable<ButtonCvaProps["color"]>;
43
+
44
+ type AsProp<C extends React.ElementType> = {
45
+ /**
46
+ * Defines HTML tag to be used for component
47
+ */
48
+ as?: C;
49
+ };
50
+ type PropsToOmit<C extends React.ElementType, P> = keyof (AsProp<C> & P);
51
+ type PolymorphicComponentProp<C extends React.ElementType, Props = {}> = React.PropsWithChildren<Props & AsProp<C>> & Omit<React.ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
52
+
53
+ type ButtonProp = {
54
+ /**
55
+ * Defines button color
56
+ * @default 'primary'
57
+ */
58
+ color?: ButtonColorType;
59
+ /**
60
+ * Defines button variant
61
+ * @default 'text'
62
+ */
63
+ variant?: ButtonVariantType;
64
+ /**
65
+ * Defines button size
66
+ * @default 'md'
67
+ */
68
+ size?: ButtonSizeType;
69
+ };
70
+ declare const _default: React.ForwardRefExoticComponent<Pick<PolymorphicComponentProp<React.ElementType<any>, ButtonProp>, string | number | symbol> & React.RefAttributes<unknown>>;
71
+
72
+ export { Avatar, AvatarProps, AvatarSizeType, _default as Button };
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ var Avatar = require('./Avatar');
4
+ var Button = require('./Button');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var Button__default = /*#__PURE__*/_interopDefault(Button);
9
+
10
+
11
+
12
+ Object.defineProperty(exports, 'Avatar', {
13
+ enumerable: true,
14
+ get: function () { return Avatar__namespace.default; }
15
+ });
16
+ Object.defineProperty(exports, 'Button', {
17
+ enumerable: true,
18
+ get: function () { return Button__default.default; }
19
+ });
20
+ Object.keys(Avatar).forEach(function (k) {
21
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
22
+ enumerable: true,
23
+ get: function () { return Avatar[k]; }
24
+ });
25
+ });
@@ -0,0 +1,3 @@
1
+ export * from './Avatar';
2
+ export { default as Avatar } from './Avatar';
3
+ export { default as Button } from './Button';
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+
3
+ type ThemeType = "light" | "dark";
4
+ interface ThemeContextType {
5
+ theme: ThemeType;
6
+ setTheme: React.Dispatch<React.SetStateAction<ThemeType>>;
7
+ }
8
+
9
+ declare const ThemeContext: React.Context<ThemeContextType>;
10
+
11
+ interface ThemeProviderProps {
12
+ /**
13
+ * Children Components using theming.
14
+ */
15
+ children?: React.ReactNode;
16
+ /**
17
+ * Define the default theme which is set at the beginning if neither local storage nor media is defined.
18
+ */
19
+ defaultTheme?: ThemeType;
20
+ /**
21
+ * Define theme that is always set initially.
22
+ */
23
+ theme?: ThemeType;
24
+ }
25
+ declare function ThemeProvider({ children, defaultTheme, theme }: ThemeProviderProps): JSX.Element;
26
+
27
+ export { ThemeContext, ThemeContextType, ThemeProvider, ThemeProviderProps, ThemeType };
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var theme = require('./theme');
4
+
5
+
6
+
7
+ Object.keys(theme).forEach(function (k) {
8
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return theme[k]; }
11
+ });
12
+ });
@@ -0,0 +1 @@
1
+ export * from './theme';
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+
3
+ type ThemeType = "light" | "dark";
4
+ interface ThemeContextType {
5
+ theme: ThemeType;
6
+ setTheme: React.Dispatch<React.SetStateAction<ThemeType>>;
7
+ }
8
+
9
+ declare const ThemeContext: React.Context<ThemeContextType>;
10
+
11
+ interface ThemeProviderProps {
12
+ /**
13
+ * Children Components using theming.
14
+ */
15
+ children?: React.ReactNode;
16
+ /**
17
+ * Define the default theme which is set at the beginning if neither local storage nor media is defined.
18
+ */
19
+ defaultTheme?: ThemeType;
20
+ /**
21
+ * Define theme that is always set initially.
22
+ */
23
+ theme?: ThemeType;
24
+ }
25
+ declare function ThemeProvider({ children, defaultTheme, theme }: ThemeProviderProps): JSX.Element;
26
+
27
+ export { ThemeContext, ThemeContextType, ThemeProvider, ThemeProviderProps, ThemeType };
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var a = require('react');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+
6
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
7
+
8
+ var a__default = /*#__PURE__*/_interopDefault(a);
9
+
10
+ var n=a__default.default.createContext({});function T(t){if(typeof window<"u"&&window.localStorage){let e=window.localStorage.getItem("theme");if(e==="dark"||!e&&window.matchMedia("(prefers-color-scheme: dark)").matches)return "dark"}return t??"light"}function u({children:t,defaultTheme:e,theme:r}){let[o,i]=a__default.default.useState(r||T(e));function d(m){typeof window<"u"&&window.localStorage&&(m==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),localStorage.setItem("theme",m));}return a__default.default.useEffect(()=>{d(o);},[o]),jsxRuntime.jsx(n.Provider,{value:{theme:o,setTheme:i},children:t})}
11
+
12
+ exports.ThemeContext = n;
13
+ exports.ThemeProvider = u;
@@ -0,0 +1,6 @@
1
+ import a from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
3
+
4
+ var n=a.createContext({});function T(t){if(typeof window<"u"&&window.localStorage){let e=window.localStorage.getItem("theme");if(e==="dark"||!e&&window.matchMedia("(prefers-color-scheme: dark)").matches)return "dark"}return t??"light"}function u({children:t,defaultTheme:e,theme:r}){let[o,i]=a.useState(r||T(e));function d(m){typeof window<"u"&&window.localStorage&&(m==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),localStorage.setItem("theme",m));}return a.useEffect(()=>{d(o);},[o]),jsx(n.Provider,{value:{theme:o,setTheme:i},children:t})}
5
+
6
+ export { n as ThemeContext, u as ThemeProvider };
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+
3
+ type ThemeType = "light" | "dark";
4
+ interface ThemeContextType {
5
+ theme: ThemeType;
6
+ setTheme: React.Dispatch<React.SetStateAction<ThemeType>>;
7
+ }
8
+
9
+ declare const useTheme: () => ThemeContextType;
10
+
11
+ export { useTheme };
package/hooks/index.js ADDED
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var useTheme = require('./useTheme');
4
+
5
+
6
+
7
+ Object.keys(useTheme).forEach(function (k) {
8
+ if (k !== 'default' && !exports.hasOwnProperty(k)) Object.defineProperty(exports, k, {
9
+ enumerable: true,
10
+ get: function () { return useTheme[k]; }
11
+ });
12
+ });
@@ -0,0 +1 @@
1
+ export * from './useTheme';
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+
3
+ type ThemeType = "light" | "dark";
4
+ interface ThemeContextType {
5
+ theme: ThemeType;
6
+ setTheme: React.Dispatch<React.SetStateAction<ThemeType>>;
7
+ }
8
+
9
+ declare const useTheme: () => ThemeContextType;
10
+
11
+ export { useTheme };
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var t = require('react');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var t__default = /*#__PURE__*/_interopDefault(t);
8
+
9
+ var e=t__default.default.createContext({});var T=()=>t__default.default.useContext(e);
10
+
11
+ exports.useTheme = T;
@@ -0,0 +1,5 @@
1
+ import t from 'react';
2
+
3
+ var e=t.createContext({});var T=()=>t.useContext(e);
4
+
5
+ export { T as useTheme };
package/package.json CHANGED
@@ -5,8 +5,9 @@
5
5
  },
6
6
  "description": "Szum-Tech design system with tailwindcss support",
7
7
  "dependencies": {
8
+ "@heroicons/react": "^2.0.15",
8
9
  "class-variance-authority": "^0.4.0",
9
- "tailwindcss": "^3.2.4"
10
+ "tailwindcss": "^3.2.7"
10
11
  },
11
12
  "devDependencies": {
12
13
  "@babel/core": "^7.19.6",
@@ -16,19 +17,17 @@
16
17
  "@semantic-release/github": "^8.0.6",
17
18
  "@semantic-release/npm": "^9.0.1",
18
19
  "@semantic-release/release-notes-generator": "^10.0.3",
19
- "@storybook/addon-actions": "^6.5.13",
20
- "@storybook/addon-docs": "^6.5.13",
21
- "@storybook/addon-essentials": "^6.5.13",
22
- "@storybook/addon-interactions": "^6.5.13",
23
- "@storybook/addon-links": "^6.5.13",
24
- "@storybook/addon-postcss": "^2.0.0",
25
- "@storybook/addons": "^6.5.13",
26
- "@storybook/builder-webpack5": "^6.5.13",
27
- "@storybook/core-events": "^6.5.13",
28
- "@storybook/manager-webpack5": "^6.5.13",
29
- "@storybook/react": "^6.5.13",
30
- "@storybook/testing-library": "^0.0.13",
31
- "@storybook/theming": "^6.5.13",
20
+ "@storybook/addon-a11y": "^7.0.0-beta.47",
21
+ "@storybook/addon-actions": "^7.0.0-beta.47",
22
+ "@storybook/addon-docs": "^7.0.0-beta.47",
23
+ "@storybook/addon-essentials": "^7.0.0-beta.47",
24
+ "@storybook/addon-links": "^7.0.0-beta.47",
25
+ "@storybook/addons": "^7.0.0-beta.47",
26
+ "@storybook/core-common": "^6.5.16",
27
+ "@storybook/core-events": "^6.5.16",
28
+ "@storybook/react": "^7.0.0-beta.47",
29
+ "@storybook/react-vite": "^7.0.0-beta.47",
30
+ "@storybook/theming": "^7.0.0-beta.47",
32
31
  "@tailwindcss/container-queries": "^0.1.0",
33
32
  "@testing-library/react": "^13.4.0",
34
33
  "@testing-library/user-event": "^14.4.3",
@@ -36,9 +35,10 @@
36
35
  "@types/react": "^18.0.24",
37
36
  "@types/react-dom": "^18.0.8",
38
37
  "@types/semantic-release": "^17.2.4",
38
+ "@vitejs/plugin-react": "^3.1.0",
39
39
  "autoprefixer": "^10.4.13",
40
40
  "babel-loader": "^8.2.5",
41
- "concurrently": "^7.5.0",
41
+ "concurrently": "^7.6.0",
42
42
  "cpy-cli": "^4.2.0",
43
43
  "postcss": "^8.4.18",
44
44
  "prettier": "^2.7.1",
@@ -48,13 +48,19 @@
48
48
  "react-docgen-typescript": "^2.2.2",
49
49
  "react-dom": "^18.2.0",
50
50
  "semantic-release": "^19.0.5",
51
- "storybook-dark-mode": "^1.1.2",
52
- "tailwind-scrollbar": "^2.0.1",
53
- "tsup": "^6.3.0",
54
- "typescript": "^4.8.4"
51
+ "serve": "^14.2.0",
52
+ "storybook": "^7.0.0-beta.47",
53
+ "storybook-addon-pseudo-states": "^2.0.0-next.0",
54
+ "storybook-addon-themes": "^6.1.0",
55
+ "tailwind-scrollbar": "^2.1.0",
56
+ "tsup": "^6.6.3",
57
+ "typescript": "^4.9.5",
58
+ "vite": "^4.1.2"
55
59
  },
56
60
  "files": [
57
- "dist/**",
61
+ "components/**",
62
+ "hooks/**",
63
+ "contexts/**",
58
64
  "tailwindcss/**"
59
65
  ],
60
66
  "homepage": "https://github.com/JanSzewczyk/design-system#readme",
@@ -72,9 +78,9 @@
72
78
  "semantic-release"
73
79
  ],
74
80
  "license": "MIT",
75
- "main": "./dist/index.js",
81
+ "main": "./index.js",
76
82
  "name": "@szum-tech/design-system",
77
- "module": "./dist/index.mjs",
83
+ "module": "./index.mjs",
78
84
  "publishConfig": {
79
85
  "access": "public"
80
86
  },
@@ -83,20 +89,21 @@
83
89
  "url": "git+https://github.com/JanSzewczyk/design-system.git"
84
90
  },
85
91
  "scripts": {
86
- "build": "tsup src/index.tsx --format esm,cjs --dts --treeshake --external react,react-dom",
92
+ "build": "tsup",
93
+ "typecheck": "tsc --noEmit",
87
94
  "clean": "rm -rf node_modules && rm -rf dist",
88
95
  "dev": "concurrently \"npm run dev:css\" \"npm run dev:build\"",
89
96
  "dev:build": "tsup src/index.tsx --format esm,cjs --watch --dts --external react,react-dom",
90
97
  "dev:css": "tailwindcss -w -i tailwindcss/global.css -o src/styles/default.css",
91
- "storybook": "start-storybook -p 6006",
92
98
  "semantic-release": "semantic-release",
93
- "build:storybook": "build-storybook",
94
- "build:storybook:docs": "build-storybook --docs",
95
- "prebuild:storybook": "tailwindcss -i tailwindcss/global.css -o src/styles/default.css"
99
+ "storybook": "storybook dev -p 6006 -s public",
100
+ "storybook:prebuild": "tailwindcss -i tailwindcss/global.css -o src/styles/default.css",
101
+ "storybook:build": "storybook build --docs",
102
+ "storybook:serve": "serve storybook-static"
96
103
  },
97
104
  "sideEffects": false,
98
- "types": "./dist/index.d.ts",
99
- "version": "1.4.0",
105
+ "types": "./index.d.ts",
106
+ "version": "1.5.1",
100
107
  "peerDependencies": {
101
108
  "@tailwindcss/container-queries": "^0.1.0",
102
109
  "react": "^18.2.0",
package/dist/index.d.ts DELETED
@@ -1,71 +0,0 @@
1
- import * as React from 'react';
2
- import React__default from 'react';
3
- import { VariantProps } from 'class-variance-authority';
4
- import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
5
-
6
- declare const buttonCva: (props?: ({
7
- color?: "neutral" | "primary" | "success" | "warning" | "error" | null | undefined;
8
- size?: "sm" | "md" | "lg" | null | undefined;
9
- variant?: "text" | "outlined" | "contained" | null | undefined;
10
- } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
11
-
12
- declare type ButtonCvaProps = VariantProps<typeof buttonCva>;
13
- declare type ButtonSizeType = NonNullable<ButtonCvaProps["size"]>;
14
- declare type ButtonVariantType = NonNullable<ButtonCvaProps["variant"]>;
15
- declare type ButtonColorType = NonNullable<ButtonCvaProps["color"]>;
16
-
17
- declare type AsProp<C extends React.ElementType> = {
18
- /**
19
- * Defines HTML tag to be used for component
20
- */
21
- as?: C;
22
- };
23
- declare type PropsToOmit<C extends React.ElementType, P> = keyof (AsProp<C> & P);
24
- declare type PolymorphicComponentProp<C extends React.ElementType, Props = {}> = React.PropsWithChildren<Props & AsProp<C>> & Omit<React.ComponentPropsWithoutRef<C>, PropsToOmit<C, Props>>;
25
-
26
- declare type ButtonProp = {
27
- /**
28
- * Defines button color
29
- * @default 'primary'
30
- */
31
- color?: ButtonColorType;
32
- /**
33
- * Defines button variant
34
- * @default 'text'
35
- */
36
- variant?: ButtonVariantType;
37
- /**
38
- * Defines button size
39
- * @default 'md'
40
- */
41
- size?: ButtonSizeType;
42
- };
43
- declare const _default: React.ForwardRefExoticComponent<Pick<PolymorphicComponentProp<React.ElementType<any>, ButtonProp>, string | number | symbol> & React.RefAttributes<unknown>>;
44
-
45
- declare type ThemeType = "light" | "dark";
46
- interface ThemeContextType {
47
- theme: ThemeType;
48
- setTheme: React__default.Dispatch<React__default.SetStateAction<ThemeType>>;
49
- }
50
-
51
- declare const ThemeContext: React__default.Context<ThemeContextType>;
52
-
53
- interface ThemeProviderProps {
54
- /**
55
- * Children Components using theming.
56
- */
57
- children?: React__default.ReactNode;
58
- /**
59
- * Define the default theme which is set at the beginning if neither local storage nor media is defined.
60
- */
61
- defaultTheme?: ThemeType;
62
- /**
63
- * Define theme that is always set initially.
64
- */
65
- theme?: ThemeType;
66
- }
67
- declare function ThemeProvider({ children, defaultTheme, theme }: ThemeProviderProps): JSX.Element;
68
-
69
- declare const useTheme: () => ThemeContextType;
70
-
71
- export { _default as Button, ThemeContext, ThemeContextType, ThemeProvider, ThemeProviderProps, ThemeType, useTheme };
package/dist/index.js DELETED
@@ -1,215 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React3 = require('react');
6
- var classVarianceAuthority = require('class-variance-authority');
7
- var jsxRuntime = require('react/jsx-runtime');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- function _interopNamespace(e) {
12
- if (e && e.__esModule) return e;
13
- var n = Object.create(null);
14
- if (e) {
15
- Object.keys(e).forEach(function (k) {
16
- if (k !== 'default') {
17
- var d = Object.getOwnPropertyDescriptor(e, k);
18
- Object.defineProperty(n, k, d.get ? d : {
19
- enumerable: true,
20
- get: function () { return e[k]; }
21
- });
22
- }
23
- });
24
- }
25
- n["default"] = e;
26
- return Object.freeze(n);
27
- }
28
-
29
- var React3__namespace = /*#__PURE__*/_interopNamespace(React3);
30
- var React3__default = /*#__PURE__*/_interopDefaultLegacy(React3);
31
-
32
- // src/components/Button/Button.tsx
33
- var buttonCva = classVarianceAuthority.cva(
34
- "border rounded font-sans font-medium leading-[1.75] tracking-[.02857em]",
35
- {
36
- variants: {
37
- color: {
38
- neutral: "",
39
- primary: "",
40
- success: "",
41
- warning: "",
42
- error: ""
43
- },
44
- size: {
45
- sm: "py-1 px-2.5 text-[.8125rem]",
46
- md: "px-4 py-1.5 text-sm",
47
- lg: "px-5 py-2 text-[.9375rem]"
48
- },
49
- variant: {
50
- text: "border-transparent bg-transparent hover:text-white",
51
- outlined: "",
52
- contained: ""
53
- }
54
- },
55
- compoundVariants: [
56
- {
57
- variant: "text",
58
- color: "neutral",
59
- class: [
60
- "text-gray-400",
61
- "hover:border-gray-400 hover:bg-gray-400",
62
- "active:text-white active:border-gray-300 active:bg-gray-300",
63
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-gray-400"
64
- ]
65
- },
66
- {
67
- variant: "text",
68
- color: "primary",
69
- class: [
70
- "text-primary-500",
71
- "hover:border-primary-400 hover:bg-primary-400",
72
- "active:text-white active:border-primary-600 active:bg-primary-600",
73
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-primary-500"
74
- ]
75
- },
76
- {
77
- variant: "text",
78
- color: "success",
79
- class: [
80
- "text-success-500",
81
- "hover:border-success-400 hover:bg-success-400",
82
- "active:text-white active:border-success-600 active:bg-success-600",
83
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-success-500"
84
- ]
85
- },
86
- {
87
- variant: "text",
88
- color: "warning",
89
- class: [
90
- "text-warning-500",
91
- "hover:border-warning-400 hover:bg-warning-400",
92
- "active:text-white active:border-warning-600 active:bg-warning-600",
93
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-warning-500"
94
- ]
95
- },
96
- {
97
- variant: "text",
98
- color: "error",
99
- class: [
100
- "text-error-500",
101
- "hover:border-error-400 hover:bg-error-400",
102
- "active:text-white active:border-error-600 active:bg-error-600",
103
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-error-500"
104
- ]
105
- },
106
- {
107
- variant: "outlined",
108
- color: "neutral",
109
- class: [
110
- "text-gray-400 border-gray-400 bg-transparent",
111
- "hover:bg-gray-500 hover:text-white",
112
- "active:text-white active:bg-gray-300",
113
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-gray-400"
114
- ]
115
- },
116
- {
117
- variant: "outlined",
118
- color: "primary",
119
- class: [
120
- "text-primary-500 border-primary-500 bg-transparent",
121
- "hover:bg-primary-400 hover:text-white",
122
- "active:text-white active:bg-primary-600",
123
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-primary-500"
124
- ]
125
- },
126
- {
127
- variant: "outlined",
128
- color: "success",
129
- class: [
130
- "text-success-500 border-success-500 bg-transparent",
131
- "hover:bg-success-400 hover:text-white",
132
- "active:text-white active:bg-success-600",
133
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-success-500"
134
- ]
135
- },
136
- {
137
- variant: "outlined",
138
- color: "warning",
139
- class: [
140
- "text-warning-500 border-warning-500 bg-transparent",
141
- "hover:bg-warning-400 hover:text-white",
142
- "active:text-white active:bg-warning-600",
143
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-warning-500"
144
- ]
145
- },
146
- {
147
- variant: "outlined",
148
- color: "error",
149
- class: [
150
- "text-error-500 border-error-500 bg-transparent",
151
- "hover:bg-error-400 hover:text-white",
152
- "active:text-white active:bg-error-600",
153
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-error-500"
154
- ]
155
- }
156
- ]
157
- }
158
- );
159
- var Button_default = React3__namespace.forwardRef(function({
160
- as,
161
- color = "primary",
162
- children,
163
- size = "md",
164
- variant = "text",
165
- ...restProps
166
- }, ref) {
167
- const Component = as || "button";
168
- const buttonRootStyles = buttonCva({ size, variant, color });
169
- return /* @__PURE__ */ jsxRuntime.jsx(Component, {
170
- className: buttonRootStyles + " ",
171
- ref,
172
- ...restProps,
173
- children
174
- });
175
- });
176
- var ThemeContext = React3__default["default"].createContext({});
177
- function getInitialTheme(defaultTheme) {
178
- if (typeof window !== "undefined" && window.localStorage) {
179
- const storageTheme = window.localStorage.getItem("theme");
180
- if (storageTheme === "dark" || !storageTheme && window.matchMedia("(prefers-color-scheme: dark)").matches) {
181
- return "dark";
182
- }
183
- }
184
- return defaultTheme ?? "light";
185
- }
186
- function ThemeProvider({ children, defaultTheme, theme }) {
187
- const [themeState, setThemeState] = React3__default["default"].useState(
188
- theme ? theme : getInitialTheme(defaultTheme)
189
- );
190
- function rawSetTheme(rawTheme) {
191
- if (typeof window !== "undefined" && window.localStorage) {
192
- if (rawTheme === "dark") {
193
- document.documentElement.classList.add("dark");
194
- } else {
195
- document.documentElement.classList.remove("dark");
196
- }
197
- localStorage.setItem("theme", rawTheme);
198
- }
199
- }
200
- React3__default["default"].useEffect(() => {
201
- rawSetTheme(themeState);
202
- }, [themeState]);
203
- return /* @__PURE__ */ jsxRuntime.jsx(ThemeContext.Provider, {
204
- value: { theme: themeState, setTheme: setThemeState },
205
- children
206
- });
207
- }
208
-
209
- // src/hooks/useTheme/useTheme.tsx
210
- var useTheme = () => React3__default["default"].useContext(ThemeContext);
211
-
212
- exports.Button = Button_default;
213
- exports.ThemeContext = ThemeContext;
214
- exports.ThemeProvider = ThemeProvider;
215
- exports.useTheme = useTheme;
package/dist/index.mjs DELETED
@@ -1,186 +0,0 @@
1
- import * as React3 from 'react';
2
- import React3__default from 'react';
3
- import { cva } from 'class-variance-authority';
4
- import { jsx } from 'react/jsx-runtime';
5
-
6
- // src/components/Button/Button.tsx
7
- var buttonCva = cva(
8
- "border rounded font-sans font-medium leading-[1.75] tracking-[.02857em]",
9
- {
10
- variants: {
11
- color: {
12
- neutral: "",
13
- primary: "",
14
- success: "",
15
- warning: "",
16
- error: ""
17
- },
18
- size: {
19
- sm: "py-1 px-2.5 text-[.8125rem]",
20
- md: "px-4 py-1.5 text-sm",
21
- lg: "px-5 py-2 text-[.9375rem]"
22
- },
23
- variant: {
24
- text: "border-transparent bg-transparent hover:text-white",
25
- outlined: "",
26
- contained: ""
27
- }
28
- },
29
- compoundVariants: [
30
- {
31
- variant: "text",
32
- color: "neutral",
33
- class: [
34
- "text-gray-400",
35
- "hover:border-gray-400 hover:bg-gray-400",
36
- "active:text-white active:border-gray-300 active:bg-gray-300",
37
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-gray-400"
38
- ]
39
- },
40
- {
41
- variant: "text",
42
- color: "primary",
43
- class: [
44
- "text-primary-500",
45
- "hover:border-primary-400 hover:bg-primary-400",
46
- "active:text-white active:border-primary-600 active:bg-primary-600",
47
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-primary-500"
48
- ]
49
- },
50
- {
51
- variant: "text",
52
- color: "success",
53
- class: [
54
- "text-success-500",
55
- "hover:border-success-400 hover:bg-success-400",
56
- "active:text-white active:border-success-600 active:bg-success-600",
57
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-success-500"
58
- ]
59
- },
60
- {
61
- variant: "text",
62
- color: "warning",
63
- class: [
64
- "text-warning-500",
65
- "hover:border-warning-400 hover:bg-warning-400",
66
- "active:text-white active:border-warning-600 active:bg-warning-600",
67
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-warning-500"
68
- ]
69
- },
70
- {
71
- variant: "text",
72
- color: "error",
73
- class: [
74
- "text-error-500",
75
- "hover:border-error-400 hover:bg-error-400",
76
- "active:text-white active:border-error-600 active:bg-error-600",
77
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:border-transparent disabled:hover:bg-transparent disabled:hover:text-error-500"
78
- ]
79
- },
80
- {
81
- variant: "outlined",
82
- color: "neutral",
83
- class: [
84
- "text-gray-400 border-gray-400 bg-transparent",
85
- "hover:bg-gray-500 hover:text-white",
86
- "active:text-white active:bg-gray-300",
87
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-gray-400"
88
- ]
89
- },
90
- {
91
- variant: "outlined",
92
- color: "primary",
93
- class: [
94
- "text-primary-500 border-primary-500 bg-transparent",
95
- "hover:bg-primary-400 hover:text-white",
96
- "active:text-white active:bg-primary-600",
97
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-primary-500"
98
- ]
99
- },
100
- {
101
- variant: "outlined",
102
- color: "success",
103
- class: [
104
- "text-success-500 border-success-500 bg-transparent",
105
- "hover:bg-success-400 hover:text-white",
106
- "active:text-white active:bg-success-600",
107
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-success-500"
108
- ]
109
- },
110
- {
111
- variant: "outlined",
112
- color: "warning",
113
- class: [
114
- "text-warning-500 border-warning-500 bg-transparent",
115
- "hover:bg-warning-400 hover:text-white",
116
- "active:text-white active:bg-warning-600",
117
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-warning-500"
118
- ]
119
- },
120
- {
121
- variant: "outlined",
122
- color: "error",
123
- class: [
124
- "text-error-500 border-error-500 bg-transparent",
125
- "hover:bg-error-400 hover:text-white",
126
- "active:text-white active:bg-error-600",
127
- "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-error-500"
128
- ]
129
- }
130
- ]
131
- }
132
- );
133
- var Button_default = React3.forwardRef(function({
134
- as,
135
- color = "primary",
136
- children,
137
- size = "md",
138
- variant = "text",
139
- ...restProps
140
- }, ref) {
141
- const Component = as || "button";
142
- const buttonRootStyles = buttonCva({ size, variant, color });
143
- return /* @__PURE__ */ jsx(Component, {
144
- className: buttonRootStyles + " ",
145
- ref,
146
- ...restProps,
147
- children
148
- });
149
- });
150
- var ThemeContext = React3__default.createContext({});
151
- function getInitialTheme(defaultTheme) {
152
- if (typeof window !== "undefined" && window.localStorage) {
153
- const storageTheme = window.localStorage.getItem("theme");
154
- if (storageTheme === "dark" || !storageTheme && window.matchMedia("(prefers-color-scheme: dark)").matches) {
155
- return "dark";
156
- }
157
- }
158
- return defaultTheme ?? "light";
159
- }
160
- function ThemeProvider({ children, defaultTheme, theme }) {
161
- const [themeState, setThemeState] = React3__default.useState(
162
- theme ? theme : getInitialTheme(defaultTheme)
163
- );
164
- function rawSetTheme(rawTheme) {
165
- if (typeof window !== "undefined" && window.localStorage) {
166
- if (rawTheme === "dark") {
167
- document.documentElement.classList.add("dark");
168
- } else {
169
- document.documentElement.classList.remove("dark");
170
- }
171
- localStorage.setItem("theme", rawTheme);
172
- }
173
- }
174
- React3__default.useEffect(() => {
175
- rawSetTheme(themeState);
176
- }, [themeState]);
177
- return /* @__PURE__ */ jsx(ThemeContext.Provider, {
178
- value: { theme: themeState, setTheme: setThemeState },
179
- children
180
- });
181
- }
182
-
183
- // src/hooks/useTheme/useTheme.tsx
184
- var useTheme = () => React3__default.useContext(ThemeContext);
185
-
186
- export { Button_default as Button, ThemeContext, ThemeProvider, useTheme };