@dinefy/react-button 2.0.10 → 2.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/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 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
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
@@ -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","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"]}
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.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 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
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","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"]}
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"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@dinefy/react-button",
4
- "version": "2.0.10",
4
+ "version": "2.0.11",
5
5
  "description": "Dinefy React Web UI - Button component",
6
6
  "type": "module",
7
7
  "private": false,