@dinefy/react-button 1.2.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 +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +37 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.mjs +2 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +23 -23
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"]}
|
package/dist/index.d.cts
ADDED
@@ -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.d.ts
ADDED
@@ -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
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
}
|