@dinefy/react-button 2.0.8 → 2.0.10
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/README.md +1 -13
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +15 -22
- package/dist/index.d.ts +15 -22
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -50,18 +50,6 @@ import { Plus } from "lucide-react";
|
|
|
50
50
|
</Button.Root>
|
|
51
51
|
```
|
|
52
52
|
|
|
53
|
-
### Render Props
|
|
54
|
-
|
|
55
|
-
```tsx
|
|
56
|
-
<Button.Root variant="primary">
|
|
57
|
-
{({ isLoading }) => (
|
|
58
|
-
<>
|
|
59
|
-
{isLoading ? "Saving..." : "Save"}
|
|
60
|
-
</>
|
|
61
|
-
)}
|
|
62
|
-
</Button.Root>
|
|
63
|
-
```
|
|
64
|
-
|
|
65
53
|
## API
|
|
66
54
|
|
|
67
55
|
### Button.Root
|
|
@@ -69,7 +57,7 @@ import { Plus } from "lucide-react";
|
|
|
69
57
|
- `size`: "xs" | "sm" | "md" | "lg" | "xl"
|
|
70
58
|
- `isLoading`: boolean
|
|
71
59
|
- `isFull`: boolean (full width)
|
|
72
|
-
- `children`: ReactNode
|
|
60
|
+
- `children`: ReactNode
|
|
73
61
|
|
|
74
62
|
### Button.Icon
|
|
75
63
|
- `icon`: Lucide React icon component
|
package/dist/index.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';var react=require('react'),createRuntimeFn=require('@vanilla-extract/recipes/createRuntimeFn'),jsxRuntime=require('react/jsx-runtime'),lucideReact=require('lucide-react');require('./index.css');
|
|
2
|
-
var
|
|
2
|
+
var p=createRuntimeFn.createRuntimeFn({defaultClassName:"jvws981 _4zefg30",variantClassNames:{variant:{primary:"jvws982",danger:"jvws983",secondary:"jvws984",secondaryGhost:"jvws985",tertiary:"jvws986",tertiaryGhost:"jvws987"},size:{xs:"jvws988",sm:"jvws989",md:"jvws98a",lg:"jvws98b",xl:"jvws98c"},full:{true:"jvws98d"}},defaultVariants:{variant:"primary",size:"md"},compoundVariants:[]});var v="et8m6e0";var l=({icon:e,size:o,className:n,iconProps:r})=>{let a=e;if(!a)return null;let s={...r??{}},d=[v,n].filter(Boolean).join(" "),t=o!=null?{width:o,height:o}:void 0;return jsxRuntime.jsx(a,{"data-slot":"icon","aria-hidden":true,className:d,style:t,...s})};l.displayName="Button.Icon";var u=createRuntimeFn.createRuntimeFn({defaultClassName:"apymnw1",variantClassNames:{},defaultVariants:{},compoundVariants:[]});var i=({className:e,...o})=>{let n=[u(),e].filter(Boolean).join(" ");return jsxRuntime.jsx(lucideReact.LoaderCircle,{"data-slot":"spinner",className:n,"aria-hidden":true,...o})};i.displayName="Button.Spinner";var c=({children:e,...o})=>jsxRuntime.jsx("span",{"data-slot":"value",...o,children:e});c.displayName="Button.Value";var m=({className:e,type:o="button",children:n,isLoading:r=false,isFull:a=false,size:s="md",variant:d="primary",...t})=>{let g=[p({full:a?true:void 0,size:s,variant:d}),e].filter(Boolean).join(" "),w=!!t.disabled||r,h=(Array.isArray(n)?n:[n]).some(f=>react.isValidElement(f)&&f.type===i),j=r?h?n:jsxRuntime.jsx(b.Spinner,{}):n;return jsxRuntime.jsx("button",{...t,className:g,type:o,disabled:w,"aria-busy":r||void 0,children:j})};m.displayName="Button.Root";var b={Root:m,Icon:l,Value:c,Spinner:i};exports.Button=b;//# sourceMappingURL=index.cjs.map
|
|
3
3
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/button.css.ts","../src/components/Icon/Button.Icon.css.ts","../src/components/Icon/Button.Icon.tsx","../src/components/spinner/Button.Spinner.css.ts","../src/components/spinner/Button.Spinner.tsx","../src/components/Value/Button.Value.tsx","../src/Button.tsx"],"names":["button","_7a468","icon","ButtonIcon","size","className","iconProps","restProps","IconComp","mergedIconProps","mergedClassName","styleOverride","jsx","spinner","ButtonSpinner","props","LoaderCircle","ButtonValue","children","ButtonBase","type","isLoading","isFull","variant","isDisabled","isRenderProp","childList","hasCustomSpinner","c","isValidElement","content","Button"],"mappings":"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","file":"index.cjs","sourcesContent":["import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var button = _7a468({defaultClassName:'jvws981 _4zefg30',variantClassNames:{variant:{primary:'jvws982',danger:'jvws983',secondary:'jvws984',secondaryGhost:'jvws985',tertiary:'jvws986',tertiaryGhost:'jvws987'},size:{xs:'jvws988',sm:'jvws989',md:'jvws98a',lg:'jvws98b',xl:'jvws98c'},full:{true:'jvws98d'}},defaultVariants:{variant:'primary',size:'md'},compoundVariants:[]});\nexport var iconSizeVar = 'var(--jvws980)';","import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport 'src/components/Icon/Button.Icon.css.ts.vanilla.css?source=LmV0OG02ZTAgewogIHdpZHRoOiB2YXIoLS1qdndzOTgwKTsKICBoZWlnaHQ6IHZhcigtLWp2d3M5ODApOwp9';\nexport var icon = 'et8m6e0';","import type {\n\tComponentType,\n\tCSSProperties,\n\tElementType,\n\tForwardRefExoticComponent,\n\tSVGProps,\n} from \"react\";\nimport { icon as iconClass } from \"./Button.Icon.css.ts\";\n\nexport type IconComponent =\n\t| ElementType\n\t| ComponentType<SVGProps<SVGSVGElement>>\n\t| ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;\n\nexport type ButtonIconProps = Record<string, unknown> & {\n\ticon:\n\t\t| ElementType\n\t\t| ComponentType<SVGProps<SVGSVGElement>>\n\t\t| ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;\n\tsize?: number | string;\n\tclassName?: string;\n\ticonProps?: Record<string, unknown>;\n};\n\nexport const ButtonIcon = ({ icon, size, className, iconProps, ...restProps }: ButtonIconProps) => {\n\tconst IconComp = icon;\n\tif (!IconComp) return null;\n\n\tconst mergedIconProps = { ...(iconProps ?? {}) } as Record<string, unknown>;\n\tconst mergedClassName = [iconClass, className].filter(Boolean).join(\" \");\n\tconst styleOverride: CSSProperties | undefined =\n\t\tsize != null ? { width: size, height: size } : undefined;\n\n\treturn (\n\t\t<IconComp\n\t\t\tdata-slot=\"icon\"\n\t\t\taria-hidden\n\t\t\tclassName={mergedClassName}\n\t\t\tstyle={styleOverride}\n\t\t\t{...mergedIconProps}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n};\n\nButtonIcon.displayName = \"Button.Icon\";\n","import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport 'src/components/spinner/Button.Spinner.css.ts.vanilla.css?source=QGtleWZyYW1lcyBhcHltbncwIHsKICBmcm9tIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICB0byB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQouYXB5bW53MSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGFuaW1hdGlvbjogYXB5bW53MCAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB3aWR0aDogdmFyKC0tanZ3czk4MCk7CiAgaGVpZ2h0OiB2YXIoLS1qdndzOTgwKTsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var spinner = _7a468({defaultClassName:'apymnw1',variantClassNames:{},defaultVariants:{},compoundVariants:[]});","import { LoaderCircle } from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\nimport { spinner } from \"./Button.Spinner.css.ts\";\n\nexport type ButtonSpinnerProps = ComponentProps<typeof LoaderCircle>;\n\nexport const ButtonSpinner = ({ className, ...props }: ButtonSpinnerProps) => {\n\tconst mergedClassName = [spinner(), className].filter(Boolean).join(\" \");\n\n\treturn <LoaderCircle data-slot=\"spinner\" className={mergedClassName} aria-hidden {...props} />;\n};\n\nButtonSpinner.displayName = \"Button.Spinner\";\n","import type { ButtonHTMLAttributes, ReactNode } from \"react\";\n\nexport type ButtonValueProps = ButtonHTMLAttributes<HTMLSpanElement> & {\n\tchildren?: ReactNode;\n};\n\nexport const ButtonValue = ({ children, ...props }: ButtonValueProps) => (\n\t<span data-slot=\"value\" {...props}>\n\t\t{children}\n\t</span>\n);\n\nButtonValue.displayName = \"Button.Value\";\n","import type { ButtonHTMLAttributes, ReactNode } from \"react\";\nimport { isValidElement } from \"react\";\nimport { button } from \"./button.css\";\nimport { ButtonIcon } from \"./components/Icon/Button.Icon\";\nimport { ButtonSpinner } from \"./components/spinner/Button.Spinner\";\nimport { ButtonValue } from \"./components/Value/Button.Value\";\n\nexport type ButtonSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport type ButtonVariant =\n\t| \"primary\"\n\t| \"secondary\"\n\t| \"tertiary\"\n\t| \"secondaryGhost\"\n\t| \"tertiaryGhost\"\n\t| \"danger\";\n\ntype ButtonRenderProps = {\n\tisLoading: boolean;\n};\n\nexport interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n\tchildren?: ReactNode | ((props: ButtonRenderProps) => ReactNode);\n\tisLoading?: boolean;\n\tisFull?: boolean;\n\tsize?: ButtonSize;\n\tvariant?: ButtonVariant;\n}\n\nconst ButtonBase = ({\n\tclassName,\n\ttype = \"button\",\n\tchildren,\n\tisLoading = false,\n\tisFull = false,\n\tsize = \"md\",\n\tvariant = \"primary\",\n\t...props\n}: ButtonProps) => {\n\tconst mergedClassName = [button({ full: isFull ? true : undefined, size, variant }), className]\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n\tconst isDisabled = Boolean(props.disabled) || isLoading;\n\n\tconst isRenderProp = typeof children === \"function\";\n\tconst childList = Array.isArray(children) ? children : [children];\n\tconst hasCustomSpinner =\n\t\t!isRenderProp && childList.some((c) => isValidElement(c) && c.type === ButtonSpinner);\n\n\tconst content: ReactNode = isRenderProp ? (\n\t\t(children as (p: ButtonRenderProps) => ReactNode)({ isLoading })\n\t) : isLoading ? (\n\t\thasCustomSpinner ? (\n\t\t\tchildren\n\t\t) : (\n\t\t\t<Button.Spinner />\n\t\t)\n\t) : (\n\t\tchildren\n\t);\n\n\treturn (\n\t\t<button\n\t\t\t{...props}\n\t\t\tclassName={mergedClassName}\n\t\t\ttype={type}\n\t\t\tdisabled={isDisabled}\n\t\t\taria-busy={isLoading || undefined}\n\t\t>\n\t\t\t{content}\n\t\t</button>\n\t);\n};\n\nButtonBase.displayName = \"Button\";\n\nexport const Button = {\n\tRoot: ButtonBase,\n\tIcon: ButtonIcon,\n\tValue: ButtonValue,\n\tSpinner: ButtonSpinner,\n} as const;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/button.css.ts","../src/components/Icon/Button.Icon.css.ts","../src/components/Icon/Button.Icon.tsx","../src/components/spinner/Button.Spinner.css.ts","../src/components/spinner/Button.Spinner.tsx","../src/components/Value/Button.Value.tsx","../src/Button.tsx"],"names":["button","_7a468","icon","ButtonIcon","size","className","iconProps","IconComp","mergedIconProps","mergedClassName","styleOverride","jsx","spinner","ButtonSpinner","props","LoaderCircle","ButtonValue","children","ButtonBase","type","isLoading","isFull","variant","isDisabled","hasCustomSpinner","c","isValidElement","content","Button"],"mappings":"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","file":"index.cjs","sourcesContent":["import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var button = _7a468({defaultClassName:'jvws981 _4zefg30',variantClassNames:{variant:{primary:'jvws982',danger:'jvws983',secondary:'jvws984',secondaryGhost:'jvws985',tertiary:'jvws986',tertiaryGhost:'jvws987'},size:{xs:'jvws988',sm:'jvws989',md:'jvws98a',lg:'jvws98b',xl:'jvws98c'},full:{true:'jvws98d'}},defaultVariants:{variant:'primary',size:'md'},compoundVariants:[]});\nexport var iconSizeVar = 'var(--jvws980)';","import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport 'src/components/Icon/Button.Icon.css.ts.vanilla.css?source=LmV0OG02ZTAgewogIHdpZHRoOiB2YXIoLS1qdndzOTgwKTsKICBoZWlnaHQ6IHZhcigtLWp2d3M5ODApOwp9';\nexport var icon = 'et8m6e0';","import type {\n\tComponentType,\n\tCSSProperties,\n\tElementType,\n\tForwardRefExoticComponent,\n\tSVGProps,\n} from \"react\";\nimport { icon as iconClass } from \"./Button.Icon.css.ts\";\n\nexport type IconComponent =\n\t| ElementType\n\t| ComponentType<SVGProps<SVGSVGElement>>\n\t| ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;\n\nexport type ButtonIconProps = {\n\ticon:\n\t\t| ElementType\n\t\t| ComponentType<SVGProps<SVGSVGElement>>\n\t\t| ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;\n\tsize?: number | string;\n\tclassName?: string;\n\ticonProps?: Record<string, unknown>;\n};\n\nexport const ButtonIcon = ({ icon, size, className, iconProps }: ButtonIconProps) => {\n\tconst IconComp = icon;\n\tif (!IconComp) return null;\n\n\tconst mergedIconProps = { ...(iconProps ?? {}) } as Record<string, unknown>;\n\tconst mergedClassName = [iconClass, className].filter(Boolean).join(\" \");\n\tconst styleOverride: CSSProperties | undefined =\n\t\tsize != null ? { width: size, height: size } : undefined;\n\n\treturn (\n\t\t<IconComp\n\t\t\tdata-slot=\"icon\"\n\t\t\taria-hidden\n\t\t\tclassName={mergedClassName}\n\t\t\tstyle={styleOverride}\n\t\t\t{...mergedIconProps}\n\t\t/>\n\t);\n};\n\nButtonIcon.displayName = \"Button.Icon\";\n","import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport 'src/components/spinner/Button.Spinner.css.ts.vanilla.css?source=QGtleWZyYW1lcyBhcHltbncwIHsKICBmcm9tIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICB0byB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQouYXB5bW53MSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGFuaW1hdGlvbjogYXB5bW53MCAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB3aWR0aDogdmFyKC0tanZ3czk4MCk7CiAgaGVpZ2h0OiB2YXIoLS1qdndzOTgwKTsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var spinner = _7a468({defaultClassName:'apymnw1',variantClassNames:{},defaultVariants:{},compoundVariants:[]});","import { LoaderCircle } from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\nimport { spinner } from \"./Button.Spinner.css.ts\";\n\nexport type ButtonSpinnerProps = ComponentProps<typeof LoaderCircle>;\n\nexport const ButtonSpinner = ({ className, ...props }: ButtonSpinnerProps) => {\n\tconst mergedClassName = [spinner(), className].filter(Boolean).join(\" \");\n\n\treturn <LoaderCircle data-slot=\"spinner\" className={mergedClassName} aria-hidden {...props} />;\n};\n\nButtonSpinner.displayName = \"Button.Spinner\";\n","import type { ButtonHTMLAttributes, ReactNode } from \"react\";\n\nexport type ButtonValueProps = ButtonHTMLAttributes<HTMLSpanElement> & {\n\tchildren?: ReactNode;\n};\n\nexport const ButtonValue = ({ children, ...props }: ButtonValueProps) => (\n\t<span data-slot=\"value\" {...props}>\n\t\t{children}\n\t</span>\n);\n\nButtonValue.displayName = \"Button.Value\";\n","import type { ButtonHTMLAttributes, FC, ReactNode } from \"react\";\nimport { isValidElement } from \"react\";\nimport { button } from \"./button.css\";\nimport { ButtonIcon } from \"./components/Icon/Button.Icon\";\nimport { ButtonSpinner } from \"./components/spinner/Button.Spinner\";\nimport { ButtonValue } from \"./components/Value/Button.Value\";\n\nexport type ButtonSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport type ButtonVariant =\n\t| \"primary\"\n\t| \"secondary\"\n\t| \"tertiary\"\n\t| \"secondaryGhost\"\n\t| \"tertiaryGhost\"\n\t| \"danger\";\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n\tisLoading?: boolean;\n\tisFull?: boolean;\n\tsize?: ButtonSize;\n\tvariant?: ButtonVariant;\n}\n\nconst ButtonBase: FC<ButtonProps> = ({\n\tclassName,\n\ttype = \"button\",\n\tchildren,\n\tisLoading = false,\n\tisFull = false,\n\tsize = \"md\",\n\tvariant = \"primary\",\n\t...props\n}: ButtonProps) => {\n\tconst mergedClassName = [button({ full: isFull ? true : undefined, size, variant }), className]\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n\tconst isDisabled = Boolean(props.disabled) || isLoading;\n\n\tconst childList = Array.isArray(children) ? children : [children];\n\tconst hasCustomSpinner = childList.some((c) => isValidElement(c) && c.type === ButtonSpinner);\n\n\tconst content: ReactNode = isLoading ? (\n\t\thasCustomSpinner ? (\n\t\t\tchildren\n\t\t) : (\n\t\t\t<Button.Spinner />\n\t\t)\n\t) : (\n\t\tchildren\n\t);\n\n\treturn (\n\t\t<button\n\t\t\t{...props}\n\t\t\tclassName={mergedClassName}\n\t\t\ttype={type}\n\t\t\tdisabled={isDisabled}\n\t\t\taria-busy={isLoading || undefined}\n\t\t>\n\t\t\t{content}\n\t\t</button>\n\t);\n};\n\nButtonBase.displayName = \"Button.Root\";\n\nexport const Button = {\n\tRoot: ButtonBase,\n\tIcon: ButtonIcon,\n\tValue: ButtonValue,\n\tSpinner: ButtonSpinner,\n};\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LoaderCircle } from 'lucide-react';
|
|
2
|
-
import { ComponentProps, ButtonHTMLAttributes, ReactNode, ElementType, ComponentType, SVGProps, ForwardRefExoticComponent } from 'react';
|
|
2
|
+
import { ComponentProps, ButtonHTMLAttributes, ReactNode, FC, ElementType, ComponentType, SVGProps, ForwardRefExoticComponent } from 'react';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
type ButtonSpinnerProps = ComponentProps<typeof LoaderCircle>;
|
|
@@ -8,42 +8,35 @@ type ButtonValueProps = ButtonHTMLAttributes<HTMLSpanElement> & {
|
|
|
8
8
|
children?: ReactNode;
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
type ButtonIconProps = Record<string, unknown> & {
|
|
12
|
-
icon: ElementType | ComponentType<SVGProps<SVGSVGElement>> | ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;
|
|
13
|
-
size?: number | string;
|
|
14
|
-
className?: string;
|
|
15
|
-
iconProps?: Record<string, unknown>;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
11
|
type ButtonSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
19
12
|
type ButtonVariant = "primary" | "secondary" | "tertiary" | "secondaryGhost" | "tertiaryGhost" | "danger";
|
|
20
|
-
|
|
21
|
-
isLoading: boolean;
|
|
22
|
-
};
|
|
23
|
-
interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
|
|
24
|
-
children?: ReactNode | ((props: ButtonRenderProps) => ReactNode);
|
|
13
|
+
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
25
14
|
isLoading?: boolean;
|
|
26
15
|
isFull?: boolean;
|
|
27
16
|
size?: ButtonSize;
|
|
28
17
|
variant?: ButtonVariant;
|
|
29
18
|
}
|
|
30
19
|
declare const Button: {
|
|
31
|
-
|
|
32
|
-
|
|
20
|
+
Root: FC<ButtonProps>;
|
|
21
|
+
Icon: {
|
|
22
|
+
({ icon, size, className, iconProps }: ButtonIconProps): react_jsx_runtime.JSX.Element | null;
|
|
33
23
|
displayName: string;
|
|
34
24
|
};
|
|
35
|
-
|
|
36
|
-
({ icon, size, className, iconProps, ...restProps }: ButtonIconProps): react_jsx_runtime.JSX.Element | null;
|
|
37
|
-
displayName: string;
|
|
38
|
-
};
|
|
39
|
-
readonly Value: {
|
|
25
|
+
Value: {
|
|
40
26
|
({ children, ...props }: ButtonValueProps): react_jsx_runtime.JSX.Element;
|
|
41
27
|
displayName: string;
|
|
42
28
|
};
|
|
43
|
-
|
|
29
|
+
Spinner: {
|
|
44
30
|
({ className, ...props }: ButtonSpinnerProps): react_jsx_runtime.JSX.Element;
|
|
45
31
|
displayName: string;
|
|
46
32
|
};
|
|
47
33
|
};
|
|
48
34
|
|
|
49
|
-
|
|
35
|
+
type ButtonIconProps = {
|
|
36
|
+
icon: ElementType | ComponentType<SVGProps<SVGSVGElement>> | ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;
|
|
37
|
+
size?: number | string;
|
|
38
|
+
className?: string;
|
|
39
|
+
iconProps?: Record<string, unknown>;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { Button, type ButtonIconProps, type ButtonProps, type ButtonSize, type ButtonVariant };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LoaderCircle } from 'lucide-react';
|
|
2
|
-
import { ComponentProps, ButtonHTMLAttributes, ReactNode, ElementType, ComponentType, SVGProps, ForwardRefExoticComponent } from 'react';
|
|
2
|
+
import { ComponentProps, ButtonHTMLAttributes, ReactNode, FC, ElementType, ComponentType, SVGProps, ForwardRefExoticComponent } from 'react';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
5
|
type ButtonSpinnerProps = ComponentProps<typeof LoaderCircle>;
|
|
@@ -8,42 +8,35 @@ type ButtonValueProps = ButtonHTMLAttributes<HTMLSpanElement> & {
|
|
|
8
8
|
children?: ReactNode;
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
type ButtonIconProps = Record<string, unknown> & {
|
|
12
|
-
icon: ElementType | ComponentType<SVGProps<SVGSVGElement>> | ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;
|
|
13
|
-
size?: number | string;
|
|
14
|
-
className?: string;
|
|
15
|
-
iconProps?: Record<string, unknown>;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
11
|
type ButtonSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
19
12
|
type ButtonVariant = "primary" | "secondary" | "tertiary" | "secondaryGhost" | "tertiaryGhost" | "danger";
|
|
20
|
-
|
|
21
|
-
isLoading: boolean;
|
|
22
|
-
};
|
|
23
|
-
interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
|
|
24
|
-
children?: ReactNode | ((props: ButtonRenderProps) => ReactNode);
|
|
13
|
+
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
25
14
|
isLoading?: boolean;
|
|
26
15
|
isFull?: boolean;
|
|
27
16
|
size?: ButtonSize;
|
|
28
17
|
variant?: ButtonVariant;
|
|
29
18
|
}
|
|
30
19
|
declare const Button: {
|
|
31
|
-
|
|
32
|
-
|
|
20
|
+
Root: FC<ButtonProps>;
|
|
21
|
+
Icon: {
|
|
22
|
+
({ icon, size, className, iconProps }: ButtonIconProps): react_jsx_runtime.JSX.Element | null;
|
|
33
23
|
displayName: string;
|
|
34
24
|
};
|
|
35
|
-
|
|
36
|
-
({ icon, size, className, iconProps, ...restProps }: ButtonIconProps): react_jsx_runtime.JSX.Element | null;
|
|
37
|
-
displayName: string;
|
|
38
|
-
};
|
|
39
|
-
readonly Value: {
|
|
25
|
+
Value: {
|
|
40
26
|
({ children, ...props }: ButtonValueProps): react_jsx_runtime.JSX.Element;
|
|
41
27
|
displayName: string;
|
|
42
28
|
};
|
|
43
|
-
|
|
29
|
+
Spinner: {
|
|
44
30
|
({ className, ...props }: ButtonSpinnerProps): react_jsx_runtime.JSX.Element;
|
|
45
31
|
displayName: string;
|
|
46
32
|
};
|
|
47
33
|
};
|
|
48
34
|
|
|
49
|
-
|
|
35
|
+
type ButtonIconProps = {
|
|
36
|
+
icon: ElementType | ComponentType<SVGProps<SVGSVGElement>> | ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;
|
|
37
|
+
size?: number | string;
|
|
38
|
+
className?: string;
|
|
39
|
+
iconProps?: Record<string, unknown>;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { Button, type ButtonIconProps, type ButtonProps, type ButtonSize, type ButtonVariant };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import'./index.css';import {isValidElement}from'react';import {createRuntimeFn}from'@vanilla-extract/recipes/createRuntimeFn';import {jsx}from'react/jsx-runtime';import {LoaderCircle}from'lucide-react';var
|
|
1
|
+
import'./index.css';import {isValidElement}from'react';import {createRuntimeFn}from'@vanilla-extract/recipes/createRuntimeFn';import {jsx}from'react/jsx-runtime';import {LoaderCircle}from'lucide-react';var p=createRuntimeFn({defaultClassName:"jvws981 _4zefg30",variantClassNames:{variant:{primary:"jvws982",danger:"jvws983",secondary:"jvws984",secondaryGhost:"jvws985",tertiary:"jvws986",tertiaryGhost:"jvws987"},size:{xs:"jvws988",sm:"jvws989",md:"jvws98a",lg:"jvws98b",xl:"jvws98c"},full:{true:"jvws98d"}},defaultVariants:{variant:"primary",size:"md"},compoundVariants:[]});var v="et8m6e0";var l=({icon:e,size:o,className:n,iconProps:r})=>{let a=e;if(!a)return null;let s={...r??{}},d=[v,n].filter(Boolean).join(" "),t=o!=null?{width:o,height:o}:void 0;return jsx(a,{"data-slot":"icon","aria-hidden":true,className:d,style:t,...s})};l.displayName="Button.Icon";var u=createRuntimeFn({defaultClassName:"apymnw1",variantClassNames:{},defaultVariants:{},compoundVariants:[]});var i=({className:e,...o})=>{let n=[u(),e].filter(Boolean).join(" ");return jsx(LoaderCircle,{"data-slot":"spinner",className:n,"aria-hidden":true,...o})};i.displayName="Button.Spinner";var c=({children:e,...o})=>jsx("span",{"data-slot":"value",...o,children:e});c.displayName="Button.Value";var m=({className:e,type:o="button",children:n,isLoading:r=false,isFull:a=false,size:s="md",variant:d="primary",...t})=>{let g=[p({full:a?true:void 0,size:s,variant:d}),e].filter(Boolean).join(" "),w=!!t.disabled||r,h=(Array.isArray(n)?n:[n]).some(f=>isValidElement(f)&&f.type===i),j=r?h?n:jsx(b.Spinner,{}):n;return jsx("button",{...t,className:g,type:o,disabled:w,"aria-busy":r||void 0,children:j})};m.displayName="Button.Root";var b={Root:m,Icon:l,Value:c,Spinner:i};export{b as Button};//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/button.css.ts","../src/components/Icon/Button.Icon.css.ts","../src/components/Icon/Button.Icon.tsx","../src/components/spinner/Button.Spinner.css.ts","../src/components/spinner/Button.Spinner.tsx","../src/components/Value/Button.Value.tsx","../src/Button.tsx"],"names":["button","_7a468","icon","ButtonIcon","size","className","iconProps","restProps","IconComp","mergedIconProps","mergedClassName","styleOverride","jsx","spinner","ButtonSpinner","props","LoaderCircle","ButtonValue","children","ButtonBase","type","isLoading","isFull","variant","isDisabled","isRenderProp","childList","hasCustomSpinner","c","isValidElement","content","Button"],"mappings":"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","file":"index.js","sourcesContent":["import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var button = _7a468({defaultClassName:'jvws981 _4zefg30',variantClassNames:{variant:{primary:'jvws982',danger:'jvws983',secondary:'jvws984',secondaryGhost:'jvws985',tertiary:'jvws986',tertiaryGhost:'jvws987'},size:{xs:'jvws988',sm:'jvws989',md:'jvws98a',lg:'jvws98b',xl:'jvws98c'},full:{true:'jvws98d'}},defaultVariants:{variant:'primary',size:'md'},compoundVariants:[]});\nexport var iconSizeVar = 'var(--jvws980)';","import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport 'src/components/Icon/Button.Icon.css.ts.vanilla.css?source=LmV0OG02ZTAgewogIHdpZHRoOiB2YXIoLS1qdndzOTgwKTsKICBoZWlnaHQ6IHZhcigtLWp2d3M5ODApOwp9';\nexport var icon = 'et8m6e0';","import type {\n\tComponentType,\n\tCSSProperties,\n\tElementType,\n\tForwardRefExoticComponent,\n\tSVGProps,\n} from \"react\";\nimport { icon as iconClass } from \"./Button.Icon.css.ts\";\n\nexport type IconComponent =\n\t| ElementType\n\t| ComponentType<SVGProps<SVGSVGElement>>\n\t| ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;\n\nexport type ButtonIconProps = Record<string, unknown> & {\n\ticon:\n\t\t| ElementType\n\t\t| ComponentType<SVGProps<SVGSVGElement>>\n\t\t| ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;\n\tsize?: number | string;\n\tclassName?: string;\n\ticonProps?: Record<string, unknown>;\n};\n\nexport const ButtonIcon = ({ icon, size, className, iconProps, ...restProps }: ButtonIconProps) => {\n\tconst IconComp = icon;\n\tif (!IconComp) return null;\n\n\tconst mergedIconProps = { ...(iconProps ?? {}) } as Record<string, unknown>;\n\tconst mergedClassName = [iconClass, className].filter(Boolean).join(\" \");\n\tconst styleOverride: CSSProperties | undefined =\n\t\tsize != null ? { width: size, height: size } : undefined;\n\n\treturn (\n\t\t<IconComp\n\t\t\tdata-slot=\"icon\"\n\t\t\taria-hidden\n\t\t\tclassName={mergedClassName}\n\t\t\tstyle={styleOverride}\n\t\t\t{...mergedIconProps}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n};\n\nButtonIcon.displayName = \"Button.Icon\";\n","import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport 'src/components/spinner/Button.Spinner.css.ts.vanilla.css?source=QGtleWZyYW1lcyBhcHltbncwIHsKICBmcm9tIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICB0byB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQouYXB5bW53MSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGFuaW1hdGlvbjogYXB5bW53MCAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB3aWR0aDogdmFyKC0tanZ3czk4MCk7CiAgaGVpZ2h0OiB2YXIoLS1qdndzOTgwKTsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var spinner = _7a468({defaultClassName:'apymnw1',variantClassNames:{},defaultVariants:{},compoundVariants:[]});","import { LoaderCircle } from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\nimport { spinner } from \"./Button.Spinner.css.ts\";\n\nexport type ButtonSpinnerProps = ComponentProps<typeof LoaderCircle>;\n\nexport const ButtonSpinner = ({ className, ...props }: ButtonSpinnerProps) => {\n\tconst mergedClassName = [spinner(), className].filter(Boolean).join(\" \");\n\n\treturn <LoaderCircle data-slot=\"spinner\" className={mergedClassName} aria-hidden {...props} />;\n};\n\nButtonSpinner.displayName = \"Button.Spinner\";\n","import type { ButtonHTMLAttributes, ReactNode } from \"react\";\n\nexport type ButtonValueProps = ButtonHTMLAttributes<HTMLSpanElement> & {\n\tchildren?: ReactNode;\n};\n\nexport const ButtonValue = ({ children, ...props }: ButtonValueProps) => (\n\t<span data-slot=\"value\" {...props}>\n\t\t{children}\n\t</span>\n);\n\nButtonValue.displayName = \"Button.Value\";\n","import type { ButtonHTMLAttributes, ReactNode } from \"react\";\nimport { isValidElement } from \"react\";\nimport { button } from \"./button.css\";\nimport { ButtonIcon } from \"./components/Icon/Button.Icon\";\nimport { ButtonSpinner } from \"./components/spinner/Button.Spinner\";\nimport { ButtonValue } from \"./components/Value/Button.Value\";\n\nexport type ButtonSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport type ButtonVariant =\n\t| \"primary\"\n\t| \"secondary\"\n\t| \"tertiary\"\n\t| \"secondaryGhost\"\n\t| \"tertiaryGhost\"\n\t| \"danger\";\n\ntype ButtonRenderProps = {\n\tisLoading: boolean;\n};\n\nexport interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n\tchildren?: ReactNode | ((props: ButtonRenderProps) => ReactNode);\n\tisLoading?: boolean;\n\tisFull?: boolean;\n\tsize?: ButtonSize;\n\tvariant?: ButtonVariant;\n}\n\nconst ButtonBase = ({\n\tclassName,\n\ttype = \"button\",\n\tchildren,\n\tisLoading = false,\n\tisFull = false,\n\tsize = \"md\",\n\tvariant = \"primary\",\n\t...props\n}: ButtonProps) => {\n\tconst mergedClassName = [button({ full: isFull ? true : undefined, size, variant }), className]\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n\tconst isDisabled = Boolean(props.disabled) || isLoading;\n\n\tconst isRenderProp = typeof children === \"function\";\n\tconst childList = Array.isArray(children) ? children : [children];\n\tconst hasCustomSpinner =\n\t\t!isRenderProp && childList.some((c) => isValidElement(c) && c.type === ButtonSpinner);\n\n\tconst content: ReactNode = isRenderProp ? (\n\t\t(children as (p: ButtonRenderProps) => ReactNode)({ isLoading })\n\t) : isLoading ? (\n\t\thasCustomSpinner ? (\n\t\t\tchildren\n\t\t) : (\n\t\t\t<Button.Spinner />\n\t\t)\n\t) : (\n\t\tchildren\n\t);\n\n\treturn (\n\t\t<button\n\t\t\t{...props}\n\t\t\tclassName={mergedClassName}\n\t\t\ttype={type}\n\t\t\tdisabled={isDisabled}\n\t\t\taria-busy={isLoading || undefined}\n\t\t>\n\t\t\t{content}\n\t\t</button>\n\t);\n};\n\nButtonBase.displayName = \"Button\";\n\nexport const Button = {\n\tRoot: ButtonBase,\n\tIcon: ButtonIcon,\n\tValue: ButtonValue,\n\tSpinner: ButtonSpinner,\n} as const;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/button.css.ts","../src/components/Icon/Button.Icon.css.ts","../src/components/Icon/Button.Icon.tsx","../src/components/spinner/Button.Spinner.css.ts","../src/components/spinner/Button.Spinner.tsx","../src/components/Value/Button.Value.tsx","../src/Button.tsx"],"names":["button","_7a468","icon","ButtonIcon","size","className","iconProps","IconComp","mergedIconProps","mergedClassName","styleOverride","jsx","spinner","ButtonSpinner","props","LoaderCircle","ButtonValue","children","ButtonBase","type","isLoading","isFull","variant","isDisabled","hasCustomSpinner","c","isValidElement","content","Button"],"mappings":"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","file":"index.js","sourcesContent":["import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var button = _7a468({defaultClassName:'jvws981 _4zefg30',variantClassNames:{variant:{primary:'jvws982',danger:'jvws983',secondary:'jvws984',secondaryGhost:'jvws985',tertiary:'jvws986',tertiaryGhost:'jvws987'},size:{xs:'jvws988',sm:'jvws989',md:'jvws98a',lg:'jvws98b',xl:'jvws98c'},full:{true:'jvws98d'}},defaultVariants:{variant:'primary',size:'md'},compoundVariants:[]});\nexport var iconSizeVar = 'var(--jvws980)';","import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport 'src/components/Icon/Button.Icon.css.ts.vanilla.css?source=LmV0OG02ZTAgewogIHdpZHRoOiB2YXIoLS1qdndzOTgwKTsKICBoZWlnaHQ6IHZhcigtLWp2d3M5ODApOwp9';\nexport var icon = 'et8m6e0';","import type {\n\tComponentType,\n\tCSSProperties,\n\tElementType,\n\tForwardRefExoticComponent,\n\tSVGProps,\n} from \"react\";\nimport { icon as iconClass } from \"./Button.Icon.css.ts\";\n\nexport type IconComponent =\n\t| ElementType\n\t| ComponentType<SVGProps<SVGSVGElement>>\n\t| ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;\n\nexport type ButtonIconProps = {\n\ticon:\n\t\t| ElementType\n\t\t| ComponentType<SVGProps<SVGSVGElement>>\n\t\t| ForwardRefExoticComponent<SVGProps<SVGSVGElement>>;\n\tsize?: number | string;\n\tclassName?: string;\n\ticonProps?: Record<string, unknown>;\n};\n\nexport const ButtonIcon = ({ icon, size, className, iconProps }: ButtonIconProps) => {\n\tconst IconComp = icon;\n\tif (!IconComp) return null;\n\n\tconst mergedIconProps = { ...(iconProps ?? {}) } as Record<string, unknown>;\n\tconst mergedClassName = [iconClass, className].filter(Boolean).join(\" \");\n\tconst styleOverride: CSSProperties | undefined =\n\t\tsize != null ? { width: size, height: size } : undefined;\n\n\treturn (\n\t\t<IconComp\n\t\t\tdata-slot=\"icon\"\n\t\t\taria-hidden\n\t\t\tclassName={mergedClassName}\n\t\t\tstyle={styleOverride}\n\t\t\t{...mergedIconProps}\n\t\t/>\n\t);\n};\n\nButtonIcon.displayName = \"Button.Icon\";\n","import 'src/button.reset.css.ts.vanilla.css?source=#H4sIAAAAAAAAA51Uy44bIRC871dw8yWsHCUnVvmSaLVqoGemZUyPoPEr2n+PYD3xeGcsJTl2Ff0qCp7fvl+w679t1a8npSyfdKYLxd4oy8lj0pZPL42pkVGRI95incBTyUZtK8ZFAkWcHQK36xOX6Ncw7ThwMkoSxDxCwigv0wwDeD7ekmAcERJENyuuj2h3JHqV2/Nlleg4ilEUB0wkE6A72FM4L/FMF1yiR6R+uK9S19bDEr9uOEMET6I9Ok4gxPE2WSOaFB2n/SccAvXRKIdRMFX0gEnIQZgYCxnrEK1pSbl2HZmm4yVj0hkDOlkKuE5WBR8w+QFxrScw6oH6IVQ5Hlzyn7Nc3KAdhMBlVspTHgO0G2nS2sBuV4kjeRmMgiJcw0nyKeYDpi5U5xwokw0fCtbWNFf7/el5sr3p2JXczL+078KJ88ShNvufRHBCB/zbzOv8c1PMi3nKYAP6j3IjOJKzUV/nPvDYQQlyn2faBbflNcV43WR65e05j+B9+wm2d6k/5Tzij40tIhw3r1/UZyYXuydZYxJmlM1ra/VvT/r9N1bx6MKoBAAA';\nimport 'src/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAA8VY226jMBB9z1fwslIj7VS9JWnpl+zjgA1Ma2xkm1y66r+vMJACLQlQss1DlMBczsw5Hlu+ftnuzNPjrfd34XmB0oxr0MgoN763RX0FwEjy6OAeEoh4+ewM92DojWTs106B2hdvGJlM4MH3SAqSHCLB3XMUFEsgy1PjeyGXluvi8UtuLEUHCJW0XNrmqxizDgSTYUgyBpM6EJGSFnac4sR2DO0hU7HGLDlAwwhSzihv+EaYkjic8S2NgApYztWVlZxJ2zACW3w71zDXRmnfyxTVVVqN0pAlJX0vwPA11iqXDEIllG5HT1VhBSzX6H5EaOzySxOOxrXJomSo2fK3t/CaH8degkztLpVB5dZ14KJlXLhHTtUXzeG4j5RO50rwvHhfXFcL2mdkMBCcuZVdK08qCyiE2nFWqE8VK8p2l0D1FOoI7bgYWtpyF/VYgF/+FGj5n6vbbP8xJJzMirySN6LcleOmo/cODPfMQKBRsnL59BtJnluNAkKUWzRV+oLBz6n9RG25HgsAnNeyFajRiTGReJolaMi0g0UqzA1syVAgypjVIvK9u2zvGSWIDQv6sfxUFBnenVL1FN23ANyPKIOhjKthOAsl96MpKREAhsV20SpjPClVrK9YuZ/Oyueok2h5GFFIb8OHOJlcRxhyMHlgBW8674jZpOPcfAUJki7qajoZexDcL/vz3Oxah/qH0dR3ALeaNZ783vIbQSdroA5O8nUy/+0xPldRqzlkVZPZz+5qTnZXl2B39aPsrmZgd+gYtnxvIc1teztfX3q+DNq9P4z+x8xZTzwB1CpC0dpy1lPPAU0CBzayvZ9MOmmsv3vSqA9CkxS/nqL4k+3ffE/BI1R5ft5t5lXWZg5lTRLJ5kdFspldJI8uEED576aLgt64AQqVLIF4XoaMucuNPrTnLyaKoGeuFgqTTulPQ4FWqU4DNWkP0JSNB+oyHoHiUKBVqtNAU9YDtLpvGgU0be1wwVCgVarTQEXcA3QvxgN1GY9Aw8EaFUM0KnqA3k1B6nyOSMtlWe3Rtzc3v1oXf+WN3/s/JGFvqVkUAAA=';\nimport 'src/components/spinner/Button.Spinner.css.ts.vanilla.css?source=QGtleWZyYW1lcyBhcHltbncwIHsKICBmcm9tIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICB0byB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogIH0KfQouYXB5bW53MSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGFuaW1hdGlvbjogYXB5bW53MCAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsKICB3aWR0aDogdmFyKC0tanZ3czk4MCk7CiAgaGVpZ2h0OiB2YXIoLS1qdndzOTgwKTsKfQ==';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var spinner = _7a468({defaultClassName:'apymnw1',variantClassNames:{},defaultVariants:{},compoundVariants:[]});","import { LoaderCircle } from \"lucide-react\";\nimport type { ComponentProps } from \"react\";\nimport { spinner } from \"./Button.Spinner.css.ts\";\n\nexport type ButtonSpinnerProps = ComponentProps<typeof LoaderCircle>;\n\nexport const ButtonSpinner = ({ className, ...props }: ButtonSpinnerProps) => {\n\tconst mergedClassName = [spinner(), className].filter(Boolean).join(\" \");\n\n\treturn <LoaderCircle data-slot=\"spinner\" className={mergedClassName} aria-hidden {...props} />;\n};\n\nButtonSpinner.displayName = \"Button.Spinner\";\n","import type { ButtonHTMLAttributes, ReactNode } from \"react\";\n\nexport type ButtonValueProps = ButtonHTMLAttributes<HTMLSpanElement> & {\n\tchildren?: ReactNode;\n};\n\nexport const ButtonValue = ({ children, ...props }: ButtonValueProps) => (\n\t<span data-slot=\"value\" {...props}>\n\t\t{children}\n\t</span>\n);\n\nButtonValue.displayName = \"Button.Value\";\n","import type { ButtonHTMLAttributes, FC, ReactNode } from \"react\";\nimport { isValidElement } from \"react\";\nimport { button } from \"./button.css\";\nimport { ButtonIcon } from \"./components/Icon/Button.Icon\";\nimport { ButtonSpinner } from \"./components/spinner/Button.Spinner\";\nimport { ButtonValue } from \"./components/Value/Button.Value\";\n\nexport type ButtonSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport type ButtonVariant =\n\t| \"primary\"\n\t| \"secondary\"\n\t| \"tertiary\"\n\t| \"secondaryGhost\"\n\t| \"tertiaryGhost\"\n\t| \"danger\";\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n\tisLoading?: boolean;\n\tisFull?: boolean;\n\tsize?: ButtonSize;\n\tvariant?: ButtonVariant;\n}\n\nconst ButtonBase: FC<ButtonProps> = ({\n\tclassName,\n\ttype = \"button\",\n\tchildren,\n\tisLoading = false,\n\tisFull = false,\n\tsize = \"md\",\n\tvariant = \"primary\",\n\t...props\n}: ButtonProps) => {\n\tconst mergedClassName = [button({ full: isFull ? true : undefined, size, variant }), className]\n\t\t.filter(Boolean)\n\t\t.join(\" \");\n\tconst isDisabled = Boolean(props.disabled) || isLoading;\n\n\tconst childList = Array.isArray(children) ? children : [children];\n\tconst hasCustomSpinner = childList.some((c) => isValidElement(c) && c.type === ButtonSpinner);\n\n\tconst content: ReactNode = isLoading ? (\n\t\thasCustomSpinner ? (\n\t\t\tchildren\n\t\t) : (\n\t\t\t<Button.Spinner />\n\t\t)\n\t) : (\n\t\tchildren\n\t);\n\n\treturn (\n\t\t<button\n\t\t\t{...props}\n\t\t\tclassName={mergedClassName}\n\t\t\ttype={type}\n\t\t\tdisabled={isDisabled}\n\t\t\taria-busy={isLoading || undefined}\n\t\t>\n\t\t\t{content}\n\t\t</button>\n\t);\n};\n\nButtonBase.displayName = \"Button.Root\";\n\nexport const Button = {\n\tRoot: ButtonBase,\n\tIcon: ButtonIcon,\n\tValue: ButtonValue,\n\tSpinner: ButtonSpinner,\n};\n"]}
|