@dinefy/react-button 1.3.0 → 1.4.0

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 ADDED
@@ -0,0 +1,2 @@
1
+ 'use strict';var lucideReact=require('lucide-react');require('src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE82XTW/iSBCG7/MrSvKBHcmg/vBnzQkc0M5ld7XR/AAghpgYTAwEktX+91E1mx1XtZFymMO4OT16/XZ1dXdRxrZpjvDPJ4Dh8Hy+pMu1QgiUe750qEYIojsaXWoQgtQ9XWoRgoml0aURQnCX0+jSGCGYzmh0aYIQzNzTpSlFVmSTGYshc/GmCdfmCIEpsng66dI5QjCO7yKuXSAExXgqHJbkYIyN2doeEII8L3KuLSk72SROoi5duciKgmdy7WKYzYq4Sx/diqW2Ijqd2YLFsHHaaBqz2Z4ov1ruW03aZGzGpku3RCM7i6ddunO+41SxyBoEtb90yR5Bc/KMYDhpESJODp7P0dOcEDJOXhC0sD4j6ISjC0Ke5zmHrwgsFW8IiTjUCiEXSNOEghkEHduEMeu7ReTG9kTH5BZxWYKgI8FShDTeHhjLXCQC5rR4CecIRkm4QDCZhEsE673+gLA8LarlcFG+VWX7mxqZEJT76c9MWX5YuZLKG7q152ivMk/5KLZTVwhqJPK9cSxj7ImYZudf18QMf3dLzPJ3d8T4xjcImoG9d7C1fx+0fyH0wTvt+ugfd33yz7t+QTDS7tx3CfQFYdfsSsboZtAVpiChXS/mP7ZHjVTC8/72LrY9Yv05/LiVUWQV7S+Q3LQim+gDVtpFpfYX0PFNs1tTqZibGTIzZGZum10nU312EbezZEfj/4yZOA5Ba/3fC1YsJurZDzdGKuPKGP0cXZVacWXynuvMUxquTElJKp14UrGyzAVK8xs/ALGo3D/KZu4fZUN1Stwfs/SPt3lAsNKv7GErhEj6rREicdXMI70rhZWr6gJuXF0X8Ola2QWtr7Vd0K1XIczOKwem8cqB2ffk67knN21PHg49eTgiDCbNuV68wp+7Eu6LQQiH18Ox3A5PVQjD+X5fl8MrCWFwX66bEr59HYTwd7Nojk0Iv5f1S3mslvMQxm01r0MY/NEcG7if7w6DEAZjcoCiqZsWpttmUw06Pj3k/nW7aGoKY747DA9lW61YxCeEr7tj2YZwqoY/ND8h7J8d6QvC4K/Toq6W78n41SM+059bGrflluEL4cznrwhasjcEPdJGaq0i7mNqrkYepfaqZ0JrEUyPSYRgJYvdfAxRmzViXyA2ddMzRE3WiH+9UOEasY8UO6e7xLoPu0CIBVp6LaF9QEgFKhGGaqSMWMHqirXAawQl0KPrcaTw2g1J1w3CkHUr9km0UZZKlvhosFsErQXb+Y2xpV7ICkY1SybrmRpowVrXyaovn/79Dk11e3yEDgAA'),require('src/button/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAE42UwW7bMAyG73kKHRtgKpIUaxv3sjcZaIuyucikIcmxvSHvPlhJY8fNsNws//xIgvylHwccrIcag/q572XYwlb9WSllvdTpQ6nogYMVX2fKS4SITxuD5fpjpdRppVSUf8a9vM4iT6vnS4VNAnIoDqWXlo0uxInP1BH8k9Zd178V5Vui7givScjFG/SZYmGcztqDoTbcAtt4IXod6DdxmX1G59KPSgPGpN9zatckygrHEcOFOiTVUGgcDJkidsSorcOUERyVrCliHTJVIEf04+9fbYhkB10IR+Q4l0poFhVkqt8hlVW81V/ySbdQkxsWfJv01FZ1j/9+HnDrwzjhRuizlbRGiiScfdnR7WD369uzWX87j7kCI93/Y6WNqb+HUn/MDZRVckT/gI32Cw6KSEd8AHxfgFaKNugjBcrdmb90n6ld06sgjsyXBNcgLdYGXKxgx4sahgLkDs0D7eU322OJGpyTDs084y4l6sjEalEZEn7PFxdp6ezcSXFI1maq4WyO63uxeX4PyWngFbElppguZUfO6aICLjGbXoerx8aDFk8l8XQVTn8BUFMLi5EEAAA=');var createRuntimeFn=require('@vanilla-extract/recipes/createRuntimeFn'),jsxRuntime=require('react/jsx-runtime');var m=createRuntimeFn.createRuntimeFn({defaultClassName:"_9xoy1a0",variantClassNames:{},defaultVariants:{},compoundVariants:[]}),i="_9xoy1a2";var s=({icon:t,icons:e,size:r,iconProps:o,...n})=>{let a=typeof t=="string"?e==null?void 0:e[t]:t;if(!a)return null;let p={...o!=null?o:{},...r!=null?{size:r}:{}};return jsxRuntime.jsx(a,{"data-slot":"icon","aria-hidden":true,...p,...n})};s.displayName="Button.Icon";var u=({value:t,children:e})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:t!=null?t:e});u.displayName="Button.Value";var l=({className:t,type:e="button",children:r,isLoading:o=false,...n})=>{let a=[m(),t].filter(Boolean).join(" "),p=!!n.disabled||o,d=n["aria-label"];return jsxRuntime.jsxs("button",{...n,className:a,type:e,disabled:p,"aria-busy":o||void 0,"aria-label":d,children:[o&&jsxRuntime.jsx(lucideReact.LoaderCircle,{"data-slot":"spinner",className:i,"aria-hidden":true}),!o&&r]})};l.displayName="Button";var N=Object.assign(l,{Icon:s,Value:u});exports.Button=N;//# sourceMappingURL=index.cjs.map
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../button.css.ts","../components/ButtonIcon.tsx","../components/ButtonValue.tsx","../Button.tsx"],"names":["button","_7a468","spinner","ButtonIcon","icon","icons","size","iconProps","restProps","IconComp","mergedIconProps","jsx","ButtonValue","value","children","Fragment","ButtonBase","className","type","isLoading","props","mergedClassName","isDisabled","computedAriaLabel","jsxs","LoaderCircle","Button"],"mappings":"mnEAGO,IAAIA,CAAAA,CAASC,+BAAAA,CAAO,CAAC,gBAAA,CAAiB,UAAA,CAAW,iBAAA,CAAkB,EAAC,CAAE,eAAA,CAAgB,EAAC,CAAE,gBAAA,CAAiB,EAAE,CAAC,CAAA,CACzGC,CAAAA,CAAU,UAAA,CCOd,IAAMC,CAAAA,CAAa,CAAC,CAAE,IAAA,CAAAC,CAAAA,CAAM,MAAAC,CAAAA,CAAO,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAU,CAAA,GAAuB,CAC9F,IAAMC,CAAAA,CAAsC,OAAOL,CAAAA,EAAS,SAAWC,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAQD,CAAAA,CAAAA,CAAQA,CAAAA,CACvF,GAAI,CAACK,CAAAA,CAAU,OAAO,IAAA,CACtB,IAAMC,CAAAA,CAAkB,CAAE,GAAIH,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAa,EAAC,CAAI,GAAID,GAAQ,IAAA,CAAO,CAAE,IAAA,CAAAA,CAAK,CAAA,CAAI,EAAI,CAAA,CAClF,OAAOK,cAAAA,CAACF,CAAAA,CAAA,CAAS,WAAA,CAAU,OAAO,aAAA,CAAW,IAAA,CAAE,GAAGC,CAAAA,CAAkB,GAAGF,CAAAA,CAAW,CACnF,CAAA,CAEAL,CAAAA,CAAW,WAAA,CAAc,aAAA,CCdlB,IAAMS,CAAAA,CAAc,CAAC,CAAE,MAAAC,CAAAA,CAAO,QAAA,CAAAC,CAAS,CAAA,GAAwBH,cAAAA,CAAAI,oBAAA,CAAG,QAAA,CAAAF,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAS,EAE3FF,CAAAA,CAAY,WAAA,CAAc,cAAA,CCK1B,IAAMI,CAAAA,CAAa,CAAC,CACnB,UAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,QAAA,CACP,QAAA,CAAAJ,CAAAA,CACA,UAAAK,CAAAA,CAAY,KAAA,CACZ,GAAGC,CACJ,CAAA,GAAmB,CAClB,IAAMC,CAAAA,CAAkB,CAACrB,CAAAA,EAAO,CAAGiB,CAAS,CAAA,CAAE,OAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,CAChEK,CAAAA,CAAa,EAAQF,CAAAA,CAAM,QAAA,EAAaD,CAAAA,CACxCI,CAAAA,CAAoBH,CAAAA,CAAM,YAAY,EAE5C,OACCI,eAAAA,CAAC,QAAA,CAAA,CACC,GAAGJ,CAAAA,CACJ,SAAA,CAAWC,EACX,IAAA,CAAMH,CAAAA,CACN,QAAA,CAAUI,CAAAA,CACV,WAAA,CAAWH,CAAAA,EAAa,OACxB,YAAA,CAAYI,CAAAA,CAEX,QAAA,CAAA,CAAAJ,CAAAA,EAAaR,cAAAA,CAACc,wBAAAA,CAAA,CAAa,WAAA,CAAU,SAAA,CAAU,SAAA,CAAWvB,CAAAA,CAAS,aAAA,CAAW,IAAA,CAAC,EAC/E,CAACiB,CAAAA,EAAaL,CAAAA,CAAAA,CAChB,CAEF,CAAA,CAEAE,CAAAA,CAAW,YAAc,QAAA,CAElB,IAAMU,CAAAA,CAAS,MAAA,CAAO,MAAA,CAAOV,CAAAA,CAAY,CAC/C,IAAA,CAAMb,CAAAA,CACN,KAAA,CAAOS,CACR,CAAC","file":"index.cjs","sourcesContent":["import 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE82XTW/iSBCG7/MrSvKBHcmg/vBnzQkc0M5ld7XR/AAghpgYTAwEktX+91E1mx1XtZFymMO4OT16/XZ1dXdRxrZpjvDPJ4Dh8Hy+pMu1QgiUe750qEYIojsaXWoQgtQ9XWoRgoml0aURQnCX0+jSGCGYzmh0aYIQzNzTpSlFVmSTGYshc/GmCdfmCIEpsng66dI5QjCO7yKuXSAExXgqHJbkYIyN2doeEII8L3KuLSk72SROoi5duciKgmdy7WKYzYq4Sx/diqW2Ijqd2YLFsHHaaBqz2Z4ov1ruW03aZGzGpku3RCM7i6ddunO+41SxyBoEtb90yR5Bc/KMYDhpESJODp7P0dOcEDJOXhC0sD4j6ISjC0Ke5zmHrwgsFW8IiTjUCiEXSNOEghkEHduEMeu7ReTG9kTH5BZxWYKgI8FShDTeHhjLXCQC5rR4CecIRkm4QDCZhEsE673+gLA8LarlcFG+VWX7mxqZEJT76c9MWX5YuZLKG7q152ivMk/5KLZTVwhqJPK9cSxj7ImYZudf18QMf3dLzPJ3d8T4xjcImoG9d7C1fx+0fyH0wTvt+ugfd33yz7t+QTDS7tx3CfQFYdfsSsboZtAVpiChXS/mP7ZHjVTC8/72LrY9Yv05/LiVUWQV7S+Q3LQim+gDVtpFpfYX0PFNs1tTqZibGTIzZGZum10nU312EbezZEfj/4yZOA5Ba/3fC1YsJurZDzdGKuPKGP0cXZVacWXynuvMUxquTElJKp14UrGyzAVK8xs/ALGo3D/KZu4fZUN1Stwfs/SPt3lAsNKv7GErhEj6rREicdXMI70rhZWr6gJuXF0X8Ola2QWtr7Vd0K1XIczOKwem8cqB2ffk67knN21PHg49eTgiDCbNuV68wp+7Eu6LQQiH18Ox3A5PVQjD+X5fl8MrCWFwX66bEr59HYTwd7Nojk0Iv5f1S3mslvMQxm01r0MY/NEcG7if7w6DEAZjcoCiqZsWpttmUw06Pj3k/nW7aGoKY747DA9lW61YxCeEr7tj2YZwqoY/ND8h7J8d6QvC4K/Toq6W78n41SM+059bGrflluEL4cznrwhasjcEPdJGaq0i7mNqrkYepfaqZ0JrEUyPSYRgJYvdfAxRmzViXyA2ddMzRE3WiH+9UOEasY8UO6e7xLoPu0CIBVp6LaF9QEgFKhGGaqSMWMHqirXAawQl0KPrcaTw2g1J1w3CkHUr9km0UZZKlvhosFsErQXb+Y2xpV7ICkY1SybrmRpowVrXyaovn/79Dk11e3yEDgAA';\nimport 'src/button/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAE42UwW7bMAyG73kKHRtgKpIUaxv3sjcZaIuyucikIcmxvSHvPlhJY8fNsNws//xIgvylHwccrIcag/q572XYwlb9WSllvdTpQ6nogYMVX2fKS4SITxuD5fpjpdRppVSUf8a9vM4iT6vnS4VNAnIoDqWXlo0uxInP1BH8k9Zd178V5Vui7givScjFG/SZYmGcztqDoTbcAtt4IXod6DdxmX1G59KPSgPGpN9zatckygrHEcOFOiTVUGgcDJkidsSorcOUERyVrCliHTJVIEf04+9fbYhkB10IR+Q4l0poFhVkqt8hlVW81V/ySbdQkxsWfJv01FZ1j/9+HnDrwzjhRuizlbRGiiScfdnR7WD369uzWX87j7kCI93/Y6WNqb+HUn/MDZRVckT/gI32Cw6KSEd8AHxfgFaKNugjBcrdmb90n6ld06sgjsyXBNcgLdYGXKxgx4sahgLkDs0D7eU322OJGpyTDs084y4l6sjEalEZEn7PFxdp6ezcSXFI1maq4WyO63uxeX4PyWngFbElppguZUfO6aICLjGbXoerx8aDFk8l8XQVTn8BUFMLi5EEAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var button = _7a468({defaultClassName:'_9xoy1a0',variantClassNames:{},defaultVariants:{},compoundVariants:[]});\nexport var spinner = '_9xoy1a2';","import type { ComponentType } from \"react\";\n\nexport type IconComponent = ComponentType<{ size?: number }>;\n\nexport type ButtonIconProps = Record<string, unknown> & {\n\ticon: IconComponent | string;\n\ticons?: Record<string, IconComponent>;\n\tsize?: number;\n\ticonProps?: Record<string, unknown>;\n};\n\nexport const ButtonIcon = ({ icon, icons, size, iconProps, ...restProps }: ButtonIconProps) => {\n\tconst IconComp: IconComponent | undefined = typeof icon === \"string\" ? icons?.[icon] : icon;\n\tif (!IconComp) return null;\n\tconst mergedIconProps = { ...(iconProps ?? {}), ...(size != null ? { size } : {}) };\n\treturn <IconComp data-slot=\"icon\" aria-hidden {...mergedIconProps} {...restProps} />;\n};\n\nButtonIcon.displayName = \"Button.Icon\";\n","import type { ReactNode } from \"react\";\n\nexport type ButtonValueProps = { value?: ReactNode; children?: ReactNode };\n\nexport const ButtonValue = ({ value, children }: ButtonValueProps) => <>{value ?? children}</>;\n\nButtonValue.displayName = \"Button.Value\";\n","import { LoaderCircle } from \"lucide-react\";\nimport type { ButtonHTMLAttributes, ReactNode } from \"react\";\nimport { button, spinner } from \"./button.css\";\nimport { ButtonIcon } from \"./components/ButtonIcon\";\nimport { ButtonValue } from \"./components/ButtonValue\";\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n\tchildren?: ReactNode;\n\tisLoading?: boolean;\n}\n\nconst ButtonBase = ({\n\tclassName,\n\ttype = \"button\",\n\tchildren,\n\tisLoading = false,\n\t...props\n}: ButtonProps) => {\n\tconst mergedClassName = [button(), className].filter(Boolean).join(\" \");\n\tconst isDisabled = Boolean(props.disabled) || isLoading;\n\tconst computedAriaLabel = props[\"aria-label\"];\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\taria-label={computedAriaLabel}\n\t\t>\n\t\t\t{isLoading && <LoaderCircle data-slot=\"spinner\" className={spinner} aria-hidden />}\n\t\t\t{!isLoading && children}\n\t\t</button>\n\t);\n};\n\nButtonBase.displayName = \"Button\";\n\nexport const Button = Object.assign(ButtonBase, {\n\tIcon: ButtonIcon,\n\tValue: ButtonValue,\n});\n"]}
@@ -0,0 +1,37 @@
1
+ import { ReactNode, ComponentType, ButtonHTMLAttributes } from 'react';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+
4
+ type ButtonValueProps = {
5
+ value?: ReactNode;
6
+ children?: ReactNode;
7
+ };
8
+
9
+ type IconComponent = ComponentType<{
10
+ size?: number;
11
+ }>;
12
+ type ButtonIconProps = Record<string, unknown> & {
13
+ icon: IconComponent | string;
14
+ icons?: Record<string, IconComponent>;
15
+ size?: number;
16
+ iconProps?: Record<string, unknown>;
17
+ };
18
+
19
+ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
20
+ children?: ReactNode;
21
+ isLoading?: boolean;
22
+ }
23
+ declare const Button: {
24
+ ({ className, type, children, isLoading, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
25
+ displayName: string;
26
+ } & {
27
+ Icon: {
28
+ ({ icon, icons, size, iconProps, ...restProps }: ButtonIconProps): react_jsx_runtime.JSX.Element | null;
29
+ displayName: string;
30
+ };
31
+ Value: {
32
+ ({ value, children }: ButtonValueProps): react_jsx_runtime.JSX.Element;
33
+ displayName: string;
34
+ };
35
+ };
36
+
37
+ export { Button };
@@ -0,0 +1,37 @@
1
+ import { ReactNode, ComponentType, ButtonHTMLAttributes } from 'react';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+
4
+ type ButtonValueProps = {
5
+ value?: ReactNode;
6
+ children?: ReactNode;
7
+ };
8
+
9
+ type IconComponent = ComponentType<{
10
+ size?: number;
11
+ }>;
12
+ type ButtonIconProps = Record<string, unknown> & {
13
+ icon: IconComponent | string;
14
+ icons?: Record<string, IconComponent>;
15
+ size?: number;
16
+ iconProps?: Record<string, unknown>;
17
+ };
18
+
19
+ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
20
+ children?: ReactNode;
21
+ isLoading?: boolean;
22
+ }
23
+ declare const Button: {
24
+ ({ className, type, children, isLoading, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
25
+ displayName: string;
26
+ } & {
27
+ Icon: {
28
+ ({ icon, icons, size, iconProps, ...restProps }: ButtonIconProps): react_jsx_runtime.JSX.Element | null;
29
+ displayName: string;
30
+ };
31
+ Value: {
32
+ ({ value, children }: ButtonValueProps): react_jsx_runtime.JSX.Element;
33
+ displayName: string;
34
+ };
35
+ };
36
+
37
+ export { Button };
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import {LoaderCircle}from'lucide-react';import'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE82XTW/iSBCG7/MrSvKBHcmg/vBnzQkc0M5ld7XR/AAghpgYTAwEktX+91E1mx1XtZFymMO4OT16/XZ1dXdRxrZpjvDPJ4Dh8Hy+pMu1QgiUe750qEYIojsaXWoQgtQ9XWoRgoml0aURQnCX0+jSGCGYzmh0aYIQzNzTpSlFVmSTGYshc/GmCdfmCIEpsng66dI5QjCO7yKuXSAExXgqHJbkYIyN2doeEII8L3KuLSk72SROoi5duciKgmdy7WKYzYq4Sx/diqW2Ijqd2YLFsHHaaBqz2Z4ov1ruW03aZGzGpku3RCM7i6ddunO+41SxyBoEtb90yR5Bc/KMYDhpESJODp7P0dOcEDJOXhC0sD4j6ISjC0Ke5zmHrwgsFW8IiTjUCiEXSNOEghkEHduEMeu7ReTG9kTH5BZxWYKgI8FShDTeHhjLXCQC5rR4CecIRkm4QDCZhEsE673+gLA8LarlcFG+VWX7mxqZEJT76c9MWX5YuZLKG7q152ivMk/5KLZTVwhqJPK9cSxj7ImYZudf18QMf3dLzPJ3d8T4xjcImoG9d7C1fx+0fyH0wTvt+ugfd33yz7t+QTDS7tx3CfQFYdfsSsboZtAVpiChXS/mP7ZHjVTC8/72LrY9Yv05/LiVUWQV7S+Q3LQim+gDVtpFpfYX0PFNs1tTqZibGTIzZGZum10nU312EbezZEfj/4yZOA5Ba/3fC1YsJurZDzdGKuPKGP0cXZVacWXynuvMUxquTElJKp14UrGyzAVK8xs/ALGo3D/KZu4fZUN1Stwfs/SPt3lAsNKv7GErhEj6rREicdXMI70rhZWr6gJuXF0X8Ola2QWtr7Vd0K1XIczOKwem8cqB2ffk67knN21PHg49eTgiDCbNuV68wp+7Eu6LQQiH18Ox3A5PVQjD+X5fl8MrCWFwX66bEr59HYTwd7Nojk0Iv5f1S3mslvMQxm01r0MY/NEcG7if7w6DEAZjcoCiqZsWpttmUw06Pj3k/nW7aGoKY747DA9lW61YxCeEr7tj2YZwqoY/ND8h7J8d6QvC4K/Toq6W78n41SM+059bGrflluEL4cznrwhasjcEPdJGaq0i7mNqrkYepfaqZ0JrEUyPSYRgJYvdfAxRmzViXyA2ddMzRE3WiH+9UOEasY8UO6e7xLoPu0CIBVp6LaF9QEgFKhGGaqSMWMHqirXAawQl0KPrcaTw2g1J1w3CkHUr9km0UZZKlvhosFsErQXb+Y2xpV7ICkY1SybrmRpowVrXyaovn/79Dk11e3yEDgAA';import'src/button/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAE42UwW7bMAyG73kKHRtgKpIUaxv3sjcZaIuyucikIcmxvSHvPlhJY8fNsNws//xIgvylHwccrIcag/q572XYwlb9WSllvdTpQ6nogYMVX2fKS4SITxuD5fpjpdRppVSUf8a9vM4iT6vnS4VNAnIoDqWXlo0uxInP1BH8k9Zd178V5Vui7givScjFG/SZYmGcztqDoTbcAtt4IXod6DdxmX1G59KPSgPGpN9zatckygrHEcOFOiTVUGgcDJkidsSorcOUERyVrCliHTJVIEf04+9fbYhkB10IR+Q4l0poFhVkqt8hlVW81V/ySbdQkxsWfJv01FZ1j/9+HnDrwzjhRuizlbRGiiScfdnR7WD369uzWX87j7kCI93/Y6WNqb+HUn/MDZRVckT/gI32Cw6KSEd8AHxfgFaKNugjBcrdmb90n6ld06sgjsyXBNcgLdYGXKxgx4sahgLkDs0D7eU322OJGpyTDs084y4l6sjEalEZEn7PFxdp6ezcSXFI1maq4WyO63uxeX4PyWngFbElppguZUfO6aICLjGbXoerx8aDFk8l8XQVTn8BUFMLi5EEAAA=';import {createRuntimeFn}from'@vanilla-extract/recipes/createRuntimeFn';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var m=createRuntimeFn({defaultClassName:"_9xoy1a0",variantClassNames:{},defaultVariants:{},compoundVariants:[]}),i="_9xoy1a2";var s=({icon:t,icons:e,size:r,iconProps:o,...n})=>{let a=typeof t=="string"?e==null?void 0:e[t]:t;if(!a)return null;let p={...o!=null?o:{},...r!=null?{size:r}:{}};return jsx(a,{"data-slot":"icon","aria-hidden":true,...p,...n})};s.displayName="Button.Icon";var u=({value:t,children:e})=>jsx(Fragment,{children:t!=null?t:e});u.displayName="Button.Value";var l=({className:t,type:e="button",children:r,isLoading:o=false,...n})=>{let a=[m(),t].filter(Boolean).join(" "),p=!!n.disabled||o,d=n["aria-label"];return jsxs("button",{...n,className:a,type:e,disabled:p,"aria-busy":o||void 0,"aria-label":d,children:[o&&jsx(LoaderCircle,{"data-slot":"spinner",className:i,"aria-hidden":true}),!o&&r]})};l.displayName="Button";var N=Object.assign(l,{Icon:s,Value:u});export{N as Button};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../button.css.ts","../components/ButtonIcon.tsx","../components/ButtonValue.tsx","../Button.tsx"],"names":["button","_7a468","spinner","ButtonIcon","icon","icons","size","iconProps","restProps","IconComp","mergedIconProps","jsx","ButtonValue","value","children","Fragment","ButtonBase","className","type","isLoading","props","mergedClassName","isDisabled","computedAriaLabel","jsxs","LoaderCircle","Button"],"mappings":"ymEAGO,IAAIA,CAAAA,CAASC,eAAAA,CAAO,CAAC,gBAAA,CAAiB,UAAA,CAAW,iBAAA,CAAkB,EAAC,CAAE,eAAA,CAAgB,EAAC,CAAE,gBAAA,CAAiB,EAAE,CAAC,CAAA,CACzGC,CAAAA,CAAU,UAAA,CCOd,IAAMC,CAAAA,CAAa,CAAC,CAAE,IAAA,CAAAC,CAAAA,CAAM,MAAAC,CAAAA,CAAO,IAAA,CAAAC,CAAAA,CAAM,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAU,CAAA,GAAuB,CAC9F,IAAMC,CAAAA,CAAsC,OAAOL,CAAAA,EAAS,SAAWC,CAAAA,EAAA,IAAA,CAAA,MAAA,CAAAA,CAAAA,CAAQD,CAAAA,CAAAA,CAAQA,CAAAA,CACvF,GAAI,CAACK,CAAAA,CAAU,OAAO,IAAA,CACtB,IAAMC,CAAAA,CAAkB,CAAE,GAAIH,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAAa,EAAC,CAAI,GAAID,GAAQ,IAAA,CAAO,CAAE,IAAA,CAAAA,CAAK,CAAA,CAAI,EAAI,CAAA,CAClF,OAAOK,GAAAA,CAACF,CAAAA,CAAA,CAAS,WAAA,CAAU,OAAO,aAAA,CAAW,IAAA,CAAE,GAAGC,CAAAA,CAAkB,GAAGF,CAAAA,CAAW,CACnF,CAAA,CAEAL,CAAAA,CAAW,WAAA,CAAc,aAAA,CCdlB,IAAMS,CAAAA,CAAc,CAAC,CAAE,MAAAC,CAAAA,CAAO,QAAA,CAAAC,CAAS,CAAA,GAAwBH,GAAAA,CAAAI,SAAA,CAAG,QAAA,CAAAF,CAAAA,EAAA,IAAA,CAAAA,CAAAA,CAASC,CAAAA,CAAS,EAE3FF,CAAAA,CAAY,WAAA,CAAc,cAAA,CCK1B,IAAMI,CAAAA,CAAa,CAAC,CACnB,UAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CAAO,QAAA,CACP,QAAA,CAAAJ,CAAAA,CACA,UAAAK,CAAAA,CAAY,KAAA,CACZ,GAAGC,CACJ,CAAA,GAAmB,CAClB,IAAMC,CAAAA,CAAkB,CAACrB,CAAAA,EAAO,CAAGiB,CAAS,CAAA,CAAE,OAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,CAChEK,CAAAA,CAAa,EAAQF,CAAAA,CAAM,QAAA,EAAaD,CAAAA,CACxCI,CAAAA,CAAoBH,CAAAA,CAAM,YAAY,EAE5C,OACCI,IAAAA,CAAC,QAAA,CAAA,CACC,GAAGJ,CAAAA,CACJ,SAAA,CAAWC,EACX,IAAA,CAAMH,CAAAA,CACN,QAAA,CAAUI,CAAAA,CACV,WAAA,CAAWH,CAAAA,EAAa,OACxB,YAAA,CAAYI,CAAAA,CAEX,QAAA,CAAA,CAAAJ,CAAAA,EAAaR,GAAAA,CAACc,YAAAA,CAAA,CAAa,WAAA,CAAU,SAAA,CAAU,SAAA,CAAWvB,CAAAA,CAAS,aAAA,CAAW,IAAA,CAAC,EAC/E,CAACiB,CAAAA,EAAaL,CAAAA,CAAAA,CAChB,CAEF,CAAA,CAEAE,CAAAA,CAAW,YAAc,QAAA,CAElB,IAAMU,CAAAA,CAAS,MAAA,CAAO,MAAA,CAAOV,CAAAA,CAAY,CAC/C,IAAA,CAAMb,CAAAA,CACN,KAAA,CAAOS,CACR,CAAC","file":"index.mjs","sourcesContent":["import 'src/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAE82XTW/iSBCG7/MrSvKBHcmg/vBnzQkc0M5ld7XR/AAghpgYTAwEktX+91E1mx1XtZFymMO4OT16/XZ1dXdRxrZpjvDPJ4Dh8Hy+pMu1QgiUe750qEYIojsaXWoQgtQ9XWoRgoml0aURQnCX0+jSGCGYzmh0aYIQzNzTpSlFVmSTGYshc/GmCdfmCIEpsng66dI5QjCO7yKuXSAExXgqHJbkYIyN2doeEII8L3KuLSk72SROoi5duciKgmdy7WKYzYq4Sx/diqW2Ijqd2YLFsHHaaBqz2Z4ov1ruW03aZGzGpku3RCM7i6ddunO+41SxyBoEtb90yR5Bc/KMYDhpESJODp7P0dOcEDJOXhC0sD4j6ISjC0Ke5zmHrwgsFW8IiTjUCiEXSNOEghkEHduEMeu7ReTG9kTH5BZxWYKgI8FShDTeHhjLXCQC5rR4CecIRkm4QDCZhEsE673+gLA8LarlcFG+VWX7mxqZEJT76c9MWX5YuZLKG7q152ivMk/5KLZTVwhqJPK9cSxj7ImYZudf18QMf3dLzPJ3d8T4xjcImoG9d7C1fx+0fyH0wTvt+ugfd33yz7t+QTDS7tx3CfQFYdfsSsboZtAVpiChXS/mP7ZHjVTC8/72LrY9Yv05/LiVUWQV7S+Q3LQim+gDVtpFpfYX0PFNs1tTqZibGTIzZGZum10nU312EbezZEfj/4yZOA5Ba/3fC1YsJurZDzdGKuPKGP0cXZVacWXynuvMUxquTElJKp14UrGyzAVK8xs/ALGo3D/KZu4fZUN1Stwfs/SPt3lAsNKv7GErhEj6rREicdXMI70rhZWr6gJuXF0X8Ola2QWtr7Vd0K1XIczOKwem8cqB2ffk67knN21PHg49eTgiDCbNuV68wp+7Eu6LQQiH18Ox3A5PVQjD+X5fl8MrCWFwX66bEr59HYTwd7Nojk0Iv5f1S3mslvMQxm01r0MY/NEcG7if7w6DEAZjcoCiqZsWpttmUw06Pj3k/nW7aGoKY747DA9lW61YxCeEr7tj2YZwqoY/ND8h7J8d6QvC4K/Toq6W78n41SM+059bGrflluEL4cznrwhasjcEPdJGaq0i7mNqrkYepfaqZ0JrEUyPSYRgJYvdfAxRmzViXyA2ddMzRE3WiH+9UOEasY8UO6e7xLoPu0CIBVp6LaF9QEgFKhGGaqSMWMHqirXAawQl0KPrcaTw2g1J1w3CkHUr9km0UZZKlvhosFsErQXb+Y2xpV7ICkY1SybrmRpowVrXyaovn/79Dk11e3yEDgAA';\nimport 'src/button/button.css.ts.vanilla.css?source=#H4sIAAAAAAAAE42UwW7bMAyG73kKHRtgKpIUaxv3sjcZaIuyucikIcmxvSHvPlhJY8fNsNws//xIgvylHwccrIcag/q572XYwlb9WSllvdTpQ6nogYMVX2fKS4SITxuD5fpjpdRppVSUf8a9vM4iT6vnS4VNAnIoDqWXlo0uxInP1BH8k9Zd178V5Vui7givScjFG/SZYmGcztqDoTbcAtt4IXod6DdxmX1G59KPSgPGpN9zatckygrHEcOFOiTVUGgcDJkidsSorcOUERyVrCliHTJVIEf04+9fbYhkB10IR+Q4l0poFhVkqt8hlVW81V/ySbdQkxsWfJv01FZ1j/9+HnDrwzjhRuizlbRGiiScfdnR7WD369uzWX87j7kCI93/Y6WNqb+HUn/MDZRVckT/gI32Cw6KSEd8AHxfgFaKNugjBcrdmb90n6ld06sgjsyXBNcgLdYGXKxgx4sahgLkDs0D7eU322OJGpyTDs084y4l6sjEalEZEn7PFxdp6ezcSXFI1maq4WyO63uxeX4PyWngFbElppguZUfO6aICLjGbXoerx8aDFk8l8XQVTn8BUFMLi5EEAAA=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var button = _7a468({defaultClassName:'_9xoy1a0',variantClassNames:{},defaultVariants:{},compoundVariants:[]});\nexport var spinner = '_9xoy1a2';","import type { ComponentType } from \"react\";\n\nexport type IconComponent = ComponentType<{ size?: number }>;\n\nexport type ButtonIconProps = Record<string, unknown> & {\n\ticon: IconComponent | string;\n\ticons?: Record<string, IconComponent>;\n\tsize?: number;\n\ticonProps?: Record<string, unknown>;\n};\n\nexport const ButtonIcon = ({ icon, icons, size, iconProps, ...restProps }: ButtonIconProps) => {\n\tconst IconComp: IconComponent | undefined = typeof icon === \"string\" ? icons?.[icon] : icon;\n\tif (!IconComp) return null;\n\tconst mergedIconProps = { ...(iconProps ?? {}), ...(size != null ? { size } : {}) };\n\treturn <IconComp data-slot=\"icon\" aria-hidden {...mergedIconProps} {...restProps} />;\n};\n\nButtonIcon.displayName = \"Button.Icon\";\n","import type { ReactNode } from \"react\";\n\nexport type ButtonValueProps = { value?: ReactNode; children?: ReactNode };\n\nexport const ButtonValue = ({ value, children }: ButtonValueProps) => <>{value ?? children}</>;\n\nButtonValue.displayName = \"Button.Value\";\n","import { LoaderCircle } from \"lucide-react\";\nimport type { ButtonHTMLAttributes, ReactNode } from \"react\";\nimport { button, spinner } from \"./button.css\";\nimport { ButtonIcon } from \"./components/ButtonIcon\";\nimport { ButtonValue } from \"./components/ButtonValue\";\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n\tchildren?: ReactNode;\n\tisLoading?: boolean;\n}\n\nconst ButtonBase = ({\n\tclassName,\n\ttype = \"button\",\n\tchildren,\n\tisLoading = false,\n\t...props\n}: ButtonProps) => {\n\tconst mergedClassName = [button(), className].filter(Boolean).join(\" \");\n\tconst isDisabled = Boolean(props.disabled) || isLoading;\n\tconst computedAriaLabel = props[\"aria-label\"];\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\taria-label={computedAriaLabel}\n\t\t>\n\t\t\t{isLoading && <LoaderCircle data-slot=\"spinner\" className={spinner} aria-hidden />}\n\t\t\t{!isLoading && children}\n\t\t</button>\n\t);\n};\n\nButtonBase.displayName = \"Button\";\n\nexport const Button = Object.assign(ButtonBase, {\n\tIcon: ButtonIcon,\n\tValue: ButtonValue,\n});\n"]}
package/package.json CHANGED
@@ -1,25 +1,25 @@
1
1
  {
2
- "$schema": "https://json.schemastore.org/package",
3
- "name": "@dinefy/react-button",
4
- "version": "1.3.0",
5
- "description": "Dinefy React Web UI - Button component",
6
- "type": "module",
7
- "private": false,
8
- "main": "./index.cjs",
9
- "module": "./index.mjs",
10
- "types": "./index.d.ts",
11
- "files": [
12
- "."
13
- ],
14
- "sideEffects": [
15
- "*.css.ts",
16
- "*.css"
17
- ],
18
- "peerDependencies": {
19
- "react": ">=19",
20
- "react-dom": ">=19"
21
- },
22
- "publishConfig": {
23
- "access": "public"
24
- }
2
+ "$schema": "https://json.schemastore.org/package",
3
+ "name": "@dinefy/react-button",
4
+ "version": "1.4.0",
5
+ "description": "Dinefy React Web UI - Button component",
6
+ "type": "module",
7
+ "private": false,
8
+ "main": "./dist/index.cjs",
9
+ "module": "./dist/index.mjs",
10
+ "types": "./dist/index.d.ts",
11
+ "files": [
12
+ "dist/**"
13
+ ],
14
+ "sideEffects": [
15
+ "*.css.ts",
16
+ "*.css"
17
+ ],
18
+ "peerDependencies": {
19
+ "react": ">=19",
20
+ "react-dom": ">=19"
21
+ },
22
+ "publishConfig": {
23
+ "access": "public"
24
+ }
25
25
  }